@charset "UTF-8";

body {
  color: #46465a;
}

.more a {
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #3c5aa0;
	width: 14.375rem;
	text-align: center;
	border: 1px solid #3c5aa0;
	border-radius: 100px;
	padding: 11px 0;
	margin-top: 1.875rem;
	transition: .3s;
}
@media screen and (max-width: 767px) {
  .more a {
    font-size: 0.875rem;
    width: 11.5rem;
    padding: 10px 0;
    text-decoration: none;
    margin-top: 1.5625rem;
  }
}
@media screen and (min-width: 768px) {
.more a:hover {
	color: #fff;
	background-color: #3c5aa0;
  text-decoration: none;
}
}

.fadein {
  opacity: 0; 
  visibility: hidden;

  transition: all 1.8s;
}
.fadein.is-show {
  opacity: 1;
  visibility: visible;
}
.fadeup {
  opacity: 0; 
  visibility: hidden;
  transform: translateY(30px);
  transition: all 1.8s;
}
.fadeup.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}
.fadein_l {
  opacity: 0; 
  visibility: hidden;
  transform: translateX(-30px);
  transition: all 1.8s;
}
.fadein_l.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0px);
}
.fadein_r {
  opacity: 0; 
  visibility: hidden;
  transform: translateX(30px);
  transition: all 1.8s;
}
.fadein_r.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateX(0px);
}



.mvArea {
	position: relative;
	height: auto;
	margin-bottom: 5.9375rem;
}
@media screen and (max-width: 767px) {
  .mvArea {
    margin-top: 2.6875rem;
    margin-bottom: 0;
  }
}
.mvArea [data-slidearea01] {
  padding: 0 4%;
}
@media screen and (max-width: 1240px) {
  .mvArea [data-slidearea01] {
    padding: 0;
  }
}
.mvArea [data-slidearea01] .slidearea01_link .txtarea,
.mvArea [data-slidearea01] .slidearea01_link .subtxtarea {
	position: absolute;
	bottom: 40px;
	left: 45px;
}
@media screen and (max-width: 767px) {
  .mvArea [data-slidearea01] .slidearea01_link .txtarea,
  .mvArea [data-slidearea01] .slidearea01_link .subtxtarea {
    bottom: 30px;
    left: 25px;
  }
}
.mvArea [data-slidearea01] .slidearea01_link .txtarea .eigo {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.875rem;
	line-height: 1px;
	color: #fff;
	letter-spacing: 0.12em;
	opacity: .99;
}
@media screen and (max-width: 767px) {
  .mvArea [data-slidearea01] .slidearea01_link .txtarea .eigo {
    font-size: 0.9375rem;
    font-weight: 600;
  }
}
.mvArea [data-slidearea01] .slidearea01_link .txtarea .eigo span {
	font-family: 'Cormorant Garamond', serif;
	font-size: 5.625rem;
	color: #fff;
	letter-spacing: 0.04em;
	opacity: .99;
}
@media screen and (max-width: 767px) {
  .mvArea [data-slidearea01] .slidearea01_link .txtarea .eigo span {
    font-size: 2.8125rem;
    font-weight: 400;
  }
}
.mvArea [data-slidearea01] .slidearea01_link .txtarea .nihongo,
.mvArea [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
	font-family:source-han-serif-japanese,serif;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .mvArea [data-slidearea01] .slidearea01_link .txtarea .nihongo,
  .mvArea [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
    font-size: 0.9375rem;
    font-weight: 500;
  }
}


[data-slidearea01] {
  padding: 0 3%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  [data-slidearea01] {
    padding: 0;
  }
}
/* [data-slidearea01][data-slidearea01-slidelimit] .slidearea01_link.dammy {
  opacity: 0;
} */
[data-slidearea01] .slidearea01_wrap {
  max-width: 161vh;
  width: 100%;
  margin: auto;
  position: relative;
}

[data-slidearea01] .slidearea01_wrapin.type01 {
  padding: 0;
}

[data-slidearea01] .slidearea01_btns button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: transparent;
  border: none;
}
@media print, screen and (min-width: 641px) {
  [data-slidearea01] .slidearea01_btns button {
    width: 70px;
    height: 70px;
  }
}
@media screen and (max-width: 640px) {
  [data-slidearea01] .slidearea01_btns button {
    width: 60px;
    height: 90px;
  }
}
[data-slidearea01] .slidearea01_btns button:before, [data-slidearea01] .slidearea01_btns button:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
[data-slidearea01] .slidearea01_btns button:before {
  width: 40px;
  height: 40px;
}
[data-slidearea01] .slidearea01_btns button:after {
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
}
@media screen and (max-width: 640px) {
  [data-slidearea01] .slidearea01_btns button:after {
    width: 15px;
    height: 15px;
  }
}
@media print, screen and (min-width: 641px) {
  [data-slidearea01] .slidearea01_btns button.next {
    right: 15px;
  }
  .mvArea [data-slidearea01] .slidearea01_btns button.next {
    right: 0;
  }
}
@media screen and (max-width: 640px) {
  [data-slidearea01] .slidearea01_btns button.next {
    right: -8px;
  }
}
[data-slidearea01] .slidearea01_btns button.next:after {
  border-bottom: #fff !important;
  border-left: #fff !important;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  right: 3px;
}
@media print, screen and (min-width: 641px) {
  .mvArea [data-slidearea01] .slidearea01_btns button.prev {
    left: 0;
  }
  [data-slidearea01] .slidearea01_btns button.prev {
    left: 15px;
  }
}
@media screen and (max-width: 640px) {
  [data-slidearea01] .slidearea01_btns button.prev {
    left: -8px;
  }
}
[data-slidearea01] .slidearea01_btns button.prev:after {
  border-bottom: #fff !important;
  border-right: #fff !important;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  right: -3px;
}
[data-slidearea01] .slidearea01_btns button.disabled {
  pointer-events: none;
  opacity: 0.3;
}
[data-slidearea01] .slidearea01_wrapin.type01 .slidearea01_link div {
  margin: 0;
}
@media screen and (min-width: 768px) {
  [data-slidearea01] .slidearea01_wrapin .slidearea01_link div img {
    aspect-ratio: 16 / 9;
    height: auto;
  }
  [data-slidearea01] .slidearea01_wrapin .slidearea01_link div img.active {
    height: calc(100vh - 65px);
  }
}
@media screen and (max-width: 767px) {
  [data-slidearea01] .slidearea01_wrapin.type01 .slidearea01_link div img {
    height: auto;
  }
}
[data-slidearea01] .slidearea01_content {
  position: relative;
  display: table;
}
[data-slidearea01] .slidearea01_content.disableTrs {
  -webkit-transition: none !important;
  transition: none !important;
}
[data-slidearea01] .slidearea01_link {
  display: table-cell;
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
}
[data-slidearea01] .slidearea01_link div img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
[data-slidearea01] .slidearea01_pager {
	position: absolute;
  text-align: center;
	bottom: 5px;
	right: 40px;
}
@media screen and (max-width: 767px) {
  [data-slidearea01] .slidearea01_pager {
    right: 0;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
  }
}
[data-slidearea01] .slidearea01_pager button {
  width: 40px;
  height: 3px;
  position: relative;
  display: inline-block;
  vertical-align: top;
	border: none;
	background-color: transparent;
  margin: 0 3px;
}
@media screen and (max-width: 767px) {
  [data-slidearea01] .slidearea01_pager button {
    width: 26px;
    height: 2px;
    margin: 0 1px;
  }
}
[data-slidearea01] .slidearea01_pager button:after, [data-slidearea01] .slidearea01_pager button:before {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
	opacity: .5;
}
@media screen and (max-width: 767px) {
  [data-slidearea01] .slidearea01_pager button:after, [data-slidearea01] .slidearea01_pager button:before {
    width: 33px;
    height: 2px;
  }
}
@media screen and (max-width: 767px) {
  [data-slidearea01] .slidearea01_pager button:after, [data-slidearea01] .slidearea01_pager button:before {
    width: 22.5px;
    height: 2px;
  }
}
[data-slidearea01] .slidearea01_pager button:after {
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}
.no-touchevents [data-slidearea01] .slidearea01_pager button:hover:after, [data-slidearea01] .slidearea01_pager button.active:after {
  background-color: #fff;
	opacity: 1;
}
[data-slidearea01] .slidearea01_pager button.active {
  cursor: default;
  pointer-events: none;
}

/* チャペルリニューアル記念プランバナー追加 */
.plan_banner{
  position: absolute;
  top: 0;
  right: 50%;
  transform: translate(50%, 0);
  max-width: 161vh;
  width: 100%;
  height: 100%;
  margin: auto;
}
.banner_wrap{
  position: relative;
  width: 100%;
  height: 100%;
}
.banner_link{
  position: absolute;
  bottom: 60px;
  right: 40px;
  opacity: 1;
  transition: opacity 0.3s;
}
.banner_link:hover {
	opacity: .8;
}
.plan_banner .cover{
  display: block;
  font-size: 0;
}
.plan_banner .cover .img{
  width: 100%;
  height: auto;
  aspect-ratio: 250 /180;
}

@media screen and (max-width: 767px) {
  .plan_banner{
    position: static;
    width: 91.66%;
    max-width: 82.5rem;
    transform: translate(0,0);
    margin: 2rem auto 0.6rem;
  }
  .banner_wrap{
    position: static;
    height: auto;
  }
  .banner_link{
    position: static;
  }
  .plan_banner .cover .img{
    aspect-ratio: 640 /240;
  }
}

/*コロナ対策用*/
.ex_info {
	background-color: #fff;
	position: absolute;
	right: 0;
	bottom: 125px;
}
.ex_info a {
	position: relative;
	display: block;
	font-family: source-han-serif-japanese,serif;
	max-width: 900px;
	font-size: 1rem;
	font-weight: 600;
	color: #46465a;
	padding: 10px 45px 10px 15px;
	text-decoration:none;
	margin: 0 auto;
  transition: .3s;
}
.ex_info a::after {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/ex_info_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 5.4px;
	width: 30px;
	top: 43%;
	right: 3px;
}
.ex_info a:hover {
	opacity: .8;
}
.ex_info_sp{
	background-color: #fff;
	border-bottom: 1px solid #6e81a9;
}
.ex_info_sp a {
	display: block;
	font-family: "source-han-serif-japanese",serif;
	padding: 5px 0;
	margin: 0 auto;
	max-width: 900px;
	color: #46465a;
	font-size: 0.875rem;
	padding: 10px 60px 10px 20px;
	position: relative;
	text-decoration:none;
}
.ex_info_sp a:after {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/ex_info_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 5.4px;
	width: 30px;
	top: 43%;
	right: 3px;
}
.ex_info.faq{
	bottom: 75px;
}


.mod_under_ttl02 {
  text-align: center;
	margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .mod_under_ttl02 {
    margin-bottom: 1.875rem;
  }
}
.mod_under_ttl02 .en_ttl {
	font-family: 'Cormorant Garamond', serif;
  color: #3c5aa0;
  font-size: 3.125rem;
  letter-spacing: 0.12em;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
  .mod_under_ttl02 .en_ttl {
    font-size: 1.875rem;
  }
}
.mod_under_ttl02 .jp_ttl {
	font-family: "source-han-serif-japanese",serif;
  font-size: 1.25rem;
  letter-spacing: 0.36em;
}
@media screen and (max-width: 767px) {
  .mod_under_ttl02 .jp_ttl {
    font-size: 0.8125rem;
  }
}
.mod_under_ttl02 .sub_ttl {
	font-family: "source-han-serif-japanese",serif;
  font-size: 1.5rem;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .mod_under_ttl02 .sub_ttl {
    font-size: 0.875rem;
    letter-spacing: 0.06em;
  }
}


/* ----------------
トピックス
------------------- */
.sec_slidefair {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .sec_slidefair {
    margin: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01] {
    padding: 0;
  }
}
.sec_slidefair [data-slidearea01] .slidearea01_wrap {
  width: 91.66%;
  max-width: 82.5rem;
}
.sec_slidefair [data-slidearea01] .slidearea01_wrapin {
  position: relative;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01] .slidearea01_wrapin {
    padding: 0 80% 0 0;
  }
  .sec_slidefair [data-slidearea01][data-slidearea01-noslide] .slidearea01_wrapin {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .slidearea01_content {
    display: block;
    width: 100%!important;
    left: auto!important;
    transition: none!important;
    overflow: hidden!important;
    margin: 0.625rem 0;
  }
}
@media print, screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01][data-slidearea01-noslide] .slidearea01_content {
    display: flex!important;
    justify-content: center;
  }
}
.sec_slidefair [data-slidearea01] .link {
	position: relative;
	top: 0;
	left: 0;
	height: 100%;
}
@media screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01] .link {
    display: table-cell!important;
  }
  .sec_slidefair [data-slidearea01][data-slidearea01-noslide] .link {
    display: block;
    width: 264px!important;
  }
}
@media screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01] .link {
    display: table-cell!important;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link {
    display: block;
    width: auto!important;
    pointer-events: none;
    opacity: 0;
    padding: 0;
    top: 0;
    height: auto!important;
    margin: 18px 0;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link.dammy {
    display: none!important;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link.view ,
  .sec_slidefair [data-slidearea01] .link[data-slide-num="0"] ,
  .sec_slidefair [data-slidearea01] .link[data-slide-num="1"] ,
  .sec_slidefair [data-slidearea01] .link[data-slide-num="2"] ,
  .sec_slidefair [data-slidearea01] .link[data-slide-num="3"] , 
  .sec_slidefair [data-slidearea01] .link[data-slide-num="4"] , 
  .sec_slidefair [data-slidearea01] .link[data-slide-num="5"] {
    transition: 0.6s;
    pointer-events: auto;
    opacity: 1;
    position: relative;
    top: auto;
  }
}
/* @media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link.dammy {
    display: none!important;
  }
} */

.no-touchevents .sec_slidefair [data-slidearea01] .link .in .img {
  transition: .3s;
}
.no-touchevents .sec_slidefair [data-slidearea01] .link:hover>.in .img {
	opacity: .8;
}
.sec_slidefair [data-slidearea01] .link>.in {
	position: relative;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in {
    display: flex;
    padding: 0;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .linkarea {
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 10;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .linkarea {
    display: flex;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .linkarea .img {
  height: 10.625rem;
  background-size: cover;
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .linkarea .img {
    width: 65%;
    height: auto;
    background-position: center;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .img {
    width: 38%;
    max-width: 236px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .info {
    width: 100%;
    margin-left: 20px;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .info>p {
	height: 45px;
	padding: 0;
  display: flex;
  justify-content: space-between;
	margin-bottom: 3px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .info>p {
    height: 30px;
    white-space: nowrap;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .info>p .genre {
  font-family: 'Cormorant Garamond', serif;
	font-size: 1.25rem;
	display: inline-block;
	vertical-align: middle;
  line-height: 2.4;
	letter-spacing: 0.05em;
	position: relative;
	color: #3c5aa0;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .info>p .genre {
    line-height: 1.4;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .info>p .date {
  font-family: 'Cormorant Garamond', serif;
	display: inline-block;
	vertical-align: middle;
	text-align: right;
	font-size: 1.125rem;
  font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 2.4;
	position: relative;
  color: #3c5aa0;
	bottom: -3px;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .info>p .date {
    text-align: left;
    line-height: 1.4;
    margin-left: 10px;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .info>p .date.blog {
	font-size: 1.6rem;
	line-height: 3;
	color: #3c5aa0;
}
.sec_slidefair [data-slidearea01] .link>.in .info>p .week {
  font-family:source-han-serif-japanese,serif;	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
  color: #3c5aa0;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .info>p .week {
    font-size: 0.75rem;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .detail {
    font-size: 1.3rem;
    letter-spacing: .05em;
    line-height: 1.8;
	text-align: left;
  color: #3c5aa0;
  text-decoration: none;
}
.sec_slidefair [data-slidearea01] .link>.in .detail dt {
	font-weight: 700;
  font-size: 0.875rem;
  color: #46465a;
  line-height: 1.71;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .detail dt {
    font-size: 0.75rem;
  }
}
.sec_slidefair [data-slidearea01] .link>.in .detail dd {
  font-size: 0.8125rem;
  color: #46465a;
  line-height: 1.53;
  letter-spacing: 0.05em;
	margin-top: 6px;
}
@media screen and (max-width: 767px) {
  .sec_slidefair [data-slidearea01] .link>.in .detail dd {
    font-size: 0.71875rem;
  }
}




.sec_slidefair [data-slidearea01] {
  padding: 0;
}

.sec_slidefair [data-slidearea01] .slidearea01_btns {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .sec_slidefair [data-slidearea01][data-slidearea01-noslide] .slidearea01_btns {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .sec_slidefair [data-slidearea01] .slidearea01_btns {
    display: none;
  }
}
.sec_slidefair [data-slidearea01] .slidearea01_btns button {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
@media print, screen and (min-width: 1025px) {
  .sec_slidefair [data-slidearea01] .slidearea01_btns button {
    width: 70px;
    height: 70px;
  }
}
@media screen and (max-width: 1024px) {
  .sec_slidefair [data-slidearea01] .slidearea01_btns button {
    width: 60px;
    height: 90px;
  }
}
.sec_slidefair [data-slidearea01] .slidearea01_btns button.next {
  background-image: url(/shared/img/top2023/fair_arrow_r.png);
  background-size: 40%;
  background-position: center;
  background-repeat: no-repeat;
  right: -50px;
  top: -165px;
}
@media screen and (max-width: 1024px) {
  .sec_slidefair [data-slidearea01] .slidearea01_btns button.next {
    right: -20px;
  }
}
.sec_slidefair [data-slidearea01] .slidearea01_btns button.next:after,
.sec_slidefair [data-slidearea01] .slidearea01_btns button.prev:after {
  border: none;
}

.sec_slidefair [data-slidearea01] .slidearea01_btns button.prev {
  background-image: url(/shared/img/top2023/fair_arrow_l.png);
  background-size: 40%;
  background-position: center;
  background-repeat: no-repeat;
  left: -50px;
  top: -165px;
}
@media screen and (max-width: 1024px) {
  .sec_slidefair [data-slidearea01] .slidearea01_btns button.prev {
    left: -20px;
  }
}
.sec_slidefair [data-slidearea01] .slidearea01_btns button.disabled {
  pointer-events: none;
  opacity: 0.3;
}

@media screen and (min-width: 768px) {
  .sec_slidefair .slidearea01_content .link.quo:before {
    content: '';
    position: absolute;
    top: 0;
    right: 11px;
    z-index: 1;
    display: block;
    width: 85px;
    height: 85px;
    background-image: url(/img/index/gift5000_pc.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
  }
}


.sec_slidefair .more a {
  font-family: "source-han-sans-japanese", sans-serif;
  font-size: 0.71875rem;
  margin: 1.5625rem auto 0;
  width: 88%;
  max-width: 26.25rem;
}




/* ----------------
コロナ対策
------------------- */
.covid_wrap {
  width:57.5625rem;
  margin:auto;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .covid_wrap {
    width: 90%;
  }
}
.covid_wrap .covid_box {
  position:relative;
  width:100%;
  height:18.125rem;
  background-color:#f3f2ee;
  margin:auto;
  padding:2.5rem 2.5rem 2rem;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  z-index: -10;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box {
    height:auto;
    max-width: 26.25rem;
    padding:2.5rem 2rem 2rem;
  }
}
.covid_wrap .covid_box:before {
  content:"";
  position:absolute;
  z-index:0;
  top:.375rem;
  bottom:.375rem;
  left:.375rem;
  right:.375rem;
  border:1px solid #fff;
  pointer-events:none;
}
.covid_wrap .covid_box .trigger{
  position:relative;
  font-family:source-han-serif-japanese,serif;
  font-style:normal;
  font-weight:600;
  text-align: center;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:1.25rem;
  letter-spacing:.14em;
  line-height:1;
  color:#3c5aa0;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .trigger{
    font-size:1.0625rem;
    line-height: 1.47;
  }
}
.covid_wrap .covid_box .detail{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  padding:1.875rem 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .detail{
    display: block;
    padding:1.875rem 0 0;
  }
}
.covid_wrap .covid_box .item{
  position: relative;
  height:2.7rem;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item{
    max-width: 17.09375rem;
    height:auto;
    margin: 0 auto 30px;
  }
  .covid_wrap .covid_box .item:last-child {
    margin-bottom: 0;
  }
}
.covid_wrap .covid_box .item.topics01{
  width:31.15%;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics01{
    width:100%;
  }
}
.covid_wrap .covid_box .item.topics01 dd{
	margin-left: 7%;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics01 dd{
    text-align: center;
    margin: 1.25rem auto;
  }
}
.covid_wrap .covid_box .item.topics02{
  width:38.76%;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics02{
    width:100%;
  }
}
.covid_wrap .covid_box .item.topics02::before{
  position: absolute;
  content: "";
  width: 1px;
  height: 166px;
  background-color: #3c5aa0;
  top: 0;
  left: -30px;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics02::before{
    width: 105%;
    height: 1px;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    opacity: .5;
  }
}
.covid_wrap .covid_box .item.topics03{
  width:30.09%;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics03{
    width:100%;
  }
}
.covid_wrap .covid_box .item.topics03::before{
  position: absolute;
  content: "";
  width: 1px;
  height: 166px;
  background-color: #3c5aa0;
  top: 0;
  left: -30px;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics03::before{
    width: 110%;
    height: 1px;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    opacity: .5;
  }
}
.covid_wrap .covid_box .item.topics03 dd{
	margin-left: 61px;
}
@media screen and (max-width: 767px) {
  .covid_wrap .covid_box .item.topics03 dd{
    margin-left: 0;
  }
}

.covid_wrap .covid_box .item .label{
  position: relative;
  font-family:source-han-serif-japanese,serif;
  font-style:normal;
  font-weight:600;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:.8125rem;
  text-align: center;
  line-height:1.5;
  color:#3c5aa0;
  margin-right:1.25rem;
}
.covid_wrap .covid_box .item .label::before{
  position: absolute;
  content: "";
  width: 2.1875rem;
  height: 2.1875rem;
  background-color: #eae8e1;
  transform: rotate(45deg);
  z-index: -1;
}

.covid_wrap .covid_box .item .label>em{
  font-family:source-han-serif-japanese,serif;
  font-size:1.25rem;
  font-style:normal;
}
.covid_wrap .covid_box .item .title{
  font-family:source-han-serif-japanese,serif;
  font-style:normal;
  font-weight:600;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:1rem;
  line-height:1.4;
  letter-spacing:.14em;
  text-align:left;
}
  .covid_wrap .covid_box .item>dt{
    position:relative;
    display:flex;
    align-items:center;
  }
  .covid_wrap .covid_box .item>dd{
    margin-top:1.25rem;
  }
  .covid_wrap .covid_box .item.topics01 img{
    width:10.375rem;
    height: auto;
  }
  @media screen and (max-width: 767px) {
    .covid_wrap .covid_box .item.topics01 img{
      width:11.71875rem;
    }
  }
  .covid_wrap .covid_box .item.topics02 img{
    width:16.4375rem;
    height: auto;
  }
  @media screen and (max-width: 767px) {
    .covid_wrap .covid_box .item.topics02 img{
      width:15.5625rem;
    }
    .covid_wrap .covid_box .item.topics02 dd{
      text-align: center;
    }
  }
  .covid_wrap .covid_box .item.topics03 img{
    width:11.6875rem;
    height: auto;
  }
  @media screen and (max-width: 767px) {
    .covid_wrap .covid_box .item.topics03 img{
      width:100%;
    }
  }

  .wedding {
    position: relative;
    margin-top: 6.875rem;
  }
  @media screen and (max-width: 767px) {
    .wedding {
      max-width: 37.5rem;
      margin: 3.75rem auto 0;
    }
  }
  .wedding>.mv{
    width:91.66%;
    max-width: 82.5rem;
    margin: 0 auto;
  }
  @media screen and (min-width: 1951px) {
    .wedding>.mv{
      width: 66.4%;
      max-width: 120rem;
    }
  }
  .wedding>.mv .img{
    position: relative;
    width: 100%;
  }
  .wedding>.mv .img::before{
  content:"";
  position:absolute;
  z-index:0;
  top:.375rem;
  bottom:.375rem;
  left:.375rem;
  right:.375rem;
  border:1px solid #fff;
  pointer-events:none;
}
  .wedding .wedding_bg {
    position: absolute;
    width: 100%;
    max-width: 90rem;
    height: auto;
    bottom: 4.6875rem;
    left: 50%;
    transform: translateX(-50%);
  }
  @media screen and (min-width: 1951px) {
    .wedding .wedding_bg {
      width: 72.31%;
      max-width: 130rem;
    }
  }
  @media screen and (min-width: 768px) and (max-width: 1099px) {
    .wedding .wedding_bg {
      bottom: -0.3125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .wedding .wedding_bg {
      bottom: 2.1875rem;
    }
  }
  .wedding_description{
    position: absolute;
    width: 57.5rem;
    text-align:left;
    color:#fff;
  }
  @media screen and (min-width: 3001px) {
    .wedding_description{
      top: 39%;
      left: 50%;
      width: 100%;
      transform: translateX(-700px);
    }
  }
  @media screen and (min-width: 1951px) and (max-width: 3000px) {
    .wedding_description{
      top: 39%;
      left: 25%;
      width: 100%;
      transform: none;
    }
  }
  @media screen and (min-width: 1100px) and (max-width: 1950px) {
    .wedding_description{
      top: 39%;
      left: 50%;
      transform: translateX(-51.5%);
    }
  }
  @media screen and (min-width: 768px) and (max-width: 1099px) {
    .wedding_description{
      top: 39%;
      left: 50%;
      transform: translateX(-36.5%);
    }
  }
  @media screen and (max-width: 767px) {
    .wedding_description{
      top: 31%;
      margin-left: 10%;
    }
  }
  .wedding_description .en_title{
		font-family: 'Cormorant Garamond', serif;
    font-size:clamp(12px, 2vw, 25px);
    font-style:normal;
    font-weight:500;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    color:#fff;
  }
  @media screen and (min-width: 1951px) {
    .wedding_description .en_title{
      font-size:clamp(25px, 1.3vw, 37px);
    }
  }
  @media screen and (max-width: 767px) {
    .wedding_description .en_title{
      font-size:min(3.3vw,18px);
      line-height: 1.2;
    }
    .os-iOS .wedding_description .en_title,
    .os-android .wedding_description .en_title {
      font-size:min(2.3vw,18px);
    }
  }
  .wedding_description .title{
    font-family:source-han-serif-japanese,serif;
    font-size:clamp(18px, 2.1vw, 30px);
    font-style:normal;
    font-weight:600;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.66;
    letter-spacing:.11em;
    margin-top:2.3125rem
  }
  @media screen and (min-width: 1951px) {
    .wedding_description .title{
      font-size:clamp(30px, 1.5vw, 44px);
    }
  }
  @media screen and (max-width: 767px) {
    .wedding_description .title{
      font-size: min(4.2vw,22px);
      line-height: 1.5625;
      margin-top:1.25rem
    }
    .os-iOS .wedding_description .title,
    .os-android .wedding_description .title {
      font-size:min(2.5vw,18px);
    }
  }
  .wedding_description .text{
		font-family:source-han-serif-japanese,serif;
    font-size:clamp(14px, 1.1vw, 16px);
    line-height:1.875;
    letter-spacing:.08em;
    margin-top: 0.9375rem;
  }
  @media screen and (min-width: 1951px) {
    .wedding_description .text{
      font-size:clamp(16px, 0.8vw, 24px);
    }
  }
  @media screen and (max-width: 767px) {
    .wedding_description .text{
      font-size: min(3.2vw,16px);
      line-height: 1.75;
    }
    .os-iOS .wedding_description .text,
    .os-android .wedding_description .text {
      font-size:min(2vw,18px);
    }
  }


/* ----------------
挙式
------------------- */
.sec_ceremony {
	text-align: center;
	margin-top: 7.1875rem;
}
@media screen and (max-width: 767px) {
	.sec_ceremony {
    padding: 0 25px;
    margin-top: 3.75rem;
	}
}
@media screen and (max-width: 767px) {
  .sec_ceremony .ceremony_slide {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.sec_ceremony [data-slidearea01] .slidearea01_wrap {
	max-width: 1123px;
}
.sec_ceremony [data-slidearea01] .slidearea01_link {
	padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .sec_ceremony [data-slidearea01] .slidearea01_link {
    padding: 0;
  }
}
.sec_ceremony [data-slidearea01] .slidearea01_link .subtxtarea {
	position: absolute;
	left: 50px;
	bottom: 30px;
}
@media screen and (max-width: 767px) {
  .sec_ceremony [data-slidearea01] .slidearea01_link .subtxtarea {
    left: 15px;
    bottom: 25px;
    text-align: left;
  }
}
.sec_ceremony [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
	font-family:source-han-serif-japanese,serif;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .sec_ceremony [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
    font-size: 0.71875rem;
    letter-spacing: 0.05em;
  }
}
.sec_ceremony [data-slidearea01] .slidearea01_wrapin.type01 .slidearea01_link div img {
  aspect-ratio: 1123 / 630;
  height: auto;
}
@media screen and (max-width: 767px) {
  .sec_ceremony [data-slidearea01] .slidearea01_wrapin.type01 .slidearea01_link div img {
    aspect-ratio: 720 / 540;
  }
}
.sec_ceremony .infowrap {
	max-width: 76rem;
	width: 100%;
	margin: 11.4375rem auto 0;
	text-align: left;
}
.sec_ceremony .infowrap:after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (max-width: 767px) {
	.sec_ceremony .infowrap {
		margin-top: 6.25rem;
	}
}
.sec_ceremony .infowrap .info {
	position: relative;
	width: 48%;
	float: left;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
  .sec_ceremony .infowrap .info {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .info {
    width: 100%;
    max-width: 26.3125rem;
  }
}
.sec_ceremony .infowrap .info::before {
	position: absolute;
	content: "SKY CHAPEL";
	font-family: 'Cormorant Garamond', serif;
	color: #9daccf;
	font-size: 6.875rem;
	white-space: nowrap;
	top: -165px;
	left: -85px;
	letter-spacing: 0.02em;
	opacity: .2;
	z-index: -1;
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .info::before {
    font-size: 3.4375rem;
    top: -100px;
    left: -10px;
  }
}
.sec_ceremony .infowrap .lead,
.sec_party .infowrap .lead,
.original .infowrap .lead,
.sec_support .infowrap .lead,
.chapel_renew .infowrap .lead {
	font-family: source-han-serif-japanese,serif;
	font-size: 1.25rem;
	color: #3c5aa0;
	font-weight: 600;
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .lead,
  .sec_party .infowrap .lead,
  .original .infowrap .lead,
  .sec_support .infowrap .lead,
  .chapel_renew .infowrap .lead {
    font-size: 0.9375rem;
    letter-spacing: 0.14em;
  }
}
.sec_support .infowrap .lead {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5rem;
	letter-spacing: 0.14em;
	font-weight: 600;
}
.sec_ceremony .infowrap .tit,
.sec_shinto .infowrap .tit,
.sec_party .infowrap .tit,
.original .infowrap .tit,
.sec_cuisine .infowrap .tit,
.sec_support .infowrap .tit,
.chapel_renew .infowrap .tit {
  font-family:source-han-serif-japanese,serif;
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 2px;
	padding-top: 20px;
}
.chapel_renew .infowrap .tit {
	padding-top: 0;
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .tit,
	.sec_shinto .infowrap .tit,
  .sec_party .infowrap .tit,
  .original .infowrap .tit,
  .sec_cuisine .infowrap .tit,
  .sec_support .infowrap .tit,
  .chapel_renew .infowrap .tit {
    font-size: 0.9375rem;
    text-align: left;
    letter-spacing: 0.06em;
    padding-top: 15px;
  }
  .chapel_renew .infowrap .tit {
    padding-top: 0;
  }
}
.sec_ceremony .infowrap .cap,
.sec_shinto .infowrap .cap,
.sec_party .infowrap .cap,
.original .infowrap .cap,
.sec_cuisine .infowrap .cap,
.sec_support .infowrap .cap,
.chapel_renew .infowrap .cap {
	font-size: 0.875rem;
	line-height: 1.8571;
	margin-top: 1.25rem;
	letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .cap,
	.sec_shinto .infowrap .cap,
  .sec_party .infowrap .cap,
  .original .infowrap .cap,
  .sec_cuisine .infowrap .cap,
  .sec_support .infowrap .cap,
  .chapel_renew .infowrap .cap {
		font-size: 0.75rem;
    line-height: 1.75;
    letter-spacing: 0.04em;
    margin-top: 0.9375rem;
	}
}
.sec_ceremony .infowrap .ph {
	width: 48.598%;
	float: left;
	margin-top: -5.1875rem;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
  .sec_ceremony .infowrap .ph {
    width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .sec_ceremony .infowrap .ph {
    width: 87%;
    margin-top: 1.875rem;
  }
}
.sec_ceremony .infowrap .ph:last-child {
	float: right;
}



/* ----------------
神道
------------------- */
.sec_shinto {
	background-image: url(/shared/img/top2023/shinto_bg.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	max-width: 50rem;
	margin: 4.875rem auto 0;
}
@media screen and (max-width: 767px) {
  .sec_shinto {
    background-image:none;
    position: relative;
    max-width: 31.25rem;
  }
  .sec_shinto .bg {
    width: 100%;
  }
}
.sec_shinto .infowrap {
  padding: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_shinto .infowrap {
    position: absolute;
    top: 0;
    text-align: center;
    padding: 2.6562rem 2rem;
  }
}
.sec_shinto .infowrap .ph {
	width: 15.3125rem;
}
@media screen and (max-width: 767px) {
  .sec_shinto .infowrap .ph {
	  width: 11.25rem;
  }
}
.sec_shinto .infowrap .tit {
	font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .sec_shinto .infowrap .tit {
    text-align: center;
    font-size: 0.9375rem;
    line-height: 1.66;
    letter-spacing: 0.06em;
  }
}
.sec_shinto .infowrap .cap {
	font-size: 0.7829rem;
	line-height: 1.7142;
	margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .sec_shinto .infowrap .cap {
    font-size: 0.75rem;
    line-height: 1.66;
    letter-spacing: 0.04em;
    margin-top: 1.5625rem;
  }
}
.more_jp a {
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	width: 12.5rem;
	text-align: center;
	border-radius: 100px;
	background-color: #fff;
  color: #46465a;
  text-decoration: none;
	padding: 11px 0;
	margin: 1.5625rem auto 0;
  transition: .2s;
}
@media screen and (min-width: 768px) {
.more_jp a:hover {
  background-color: #46465a;
  color: #fff;
}
}
@media screen and (max-width: 767px) {
  .more_jp a {
    font-size: 0.75rem;
    width: 11.5rem;
  }
}


/* ----------------
披露宴
------------------- */
.sec_party {
	text-align: center;
	padding: 0 4.375rem 10rem;
	margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
	.sec_party {
		padding: 0 25px;
    margin-top: 3.90625rem;
	}
}
.sec_party .mod_under_ttl02 {
	margin-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_party .mod_under_ttl02 {
    margin-bottom: 1.5625rem;
  }
}
.sec_party .mod_under_ttl02 .sub_ttl {
	margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .sec_party .mod_under_ttl02 .sub_ttl {
    margin-top: 1.875rem;
  }
}
.sec_party [data-slidearea01] .slidearea01_wrap {
	max-width: 2000px;
  width: 68.35%;
	overflow: hidden;
}
@media screen and (max-width: 1900px) {
  .sec_party [data-slidearea01] .slidearea01_wrap {
    max-width: 1123px;
    width: 100%;
  }
}
.sec_party [data-slidearea01] .slidearea01_link {
	padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .sec_party [data-slidearea01] .slidearea01_link {
    padding: 0;
  }
}
.sec_party [data-slidearea01] .slidearea01_wrapin .slidearea01_link div img {
  aspect-ratio: 16 / 9;
  height: auto;
}
@media screen and (max-width: 767px) {
  .sec_party [data-slidearea01] .slidearea01_wrapin .slidearea01_link div img {
    aspect-ratio: 720 / 540;
  }
}
.sec_party [data-slidearea01] .slidearea01_link .subtxtarea {
	position: absolute;
	left: 50px;
	bottom: 30px;
}
@media screen and (max-width: 767px) {
  .sec_party [data-slidearea01] .slidearea01_link .subtxtarea {
    left: 15px;
    bottom: 25px;
    text-align: left;
  }
}
.sec_party [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
	font-family:source-han-serif-japanese,serif;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .sec_party [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
    font-size: 0.71875rem;
    letter-spacing: 0.05em;
  }
}
.sec_party .infowrap {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 3.75rem auto 0;
	text-align: left;
}
@media screen and (max-width: 767px) {
	.sec_party .infowrap {
    display: block;
    padding: 2.1875rem 1.5625rem;
		margin-top: -5px;
    box-sizing: border-box;
	}
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap_cover {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.sec_party .infowrap_cover.type01 .infowrap::before {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/party01_bg.jpg);
  background-size: cover;
	width: 91.66%;
	height: 36.875rem;
	right: 0;
	top: -12rem;
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap_cover.type01 .infowrap::before {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap_cover.type01 .infowrap::before {
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(/shared/img/top2023/party01_bg_sp.jpg);
    background-size: cover;
  }
}
.sec_party .infowrap_cover.type02 {
	margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap_cover.type02 {
    margin-top: 3.125rem;
  }
}
.sec_party .infowrap_cover.type02 .infowrap::before {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/party02_bg.jpg);
  background-size: cover;
	width: 91.66%;
	height: 36.875rem;
	left: 0;
	top: -12rem;
	margin: 0 calc(50% - 50vw);
	z-index: -1;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap_cover.type02 .infowrap::before {
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap_cover.type02 .infowrap::before {
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(/shared/img/top2023/party02_bg_sp.jpg);
    background-size: cover;
  }
}
.sec_party .infowrap .info:nth-child(2):before {
	position: absolute;
	content: "PREMIERE HALL";
	font-family: 'Cormorant Garamond', serif;
	color: #9daccf;
	font-size: 6.25rem;
	text-align: right;
	width: 500px;
	bottom: 0;
	right: -110px;
	line-height: 0.8;
	letter-spacing: 0.02em;
	opacity: .2;
	z-index: -1;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap .info:nth-child(2):before {
    top: 360px;
    right: 0;
    left: 100px;
  }
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap .info:nth-child(2):before {
    font-size: 3.4375rem;
    writing-mode: vertical-rl;
    top: 1.25rem;
    bottom: auto;
    right: 10px;
    white-space: nowrap;
  }
}
.sec_party .infowrap .info:nth-child(1):before {
	position: absolute;
	content: "SKY BANQUET";
	font-family: 'Cormorant Garamond', serif;
	color: #9daccf;
	font-size: 6.25rem;
	width: 500px;
	bottom: 0;
	left: -110px;
	line-height: 0.8;
	letter-spacing: 0.02em;
	opacity: .2;
	z-index: -1;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap .info:nth-child(1):before {
    top: 350px;
  }
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap .info:nth-child(1):before {
    font-size: 3.4375rem;
    writing-mode: vertical-rl;
    width: 100%;
    top: 1.25rem;
    left: 0;
    right: 10px;
    white-space: nowrap;
  }
}
.sec_party .infowrap .info {
  position: relative;
	width: 47%;
	max-width: 26.3125rem;
}
@media screen and (max-width: 767px) {
	.sec_party .infowrap .info {
		width: 100%;
	}
}
.sec_party .infowrap_cover.type01 .infowrap .info {
	margin-left: 2.5rem;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap_cover.type01 .infowrap .info {
    margin-left: -1.5rem;
    padding-right: 5rem;
  }
}
@media screen and (max-width: 420px) {
  .sec_party .infowrap_cover.type01 .infowrap .info {
    margin-left: 0;
  }
}
.sec_party .infowrap_cover.type02 .infowrap .info {
	margin-right: 2.5rem;
}
.sec_party .infowrap .ph {
	width: 70%;
	max-width: 39.8125rem;
}
@media screen and (min-width: 1900px) {
  .sec_party .infowrap .ph {
    width: 50%;
    max-width: 800px;
  }
}
.sec_party .infowrap_cover.type01 .infowrap .ph {
	margin-left: -11.5625rem;
}
@media screen and (max-width: 767px) {
  .sec_party .infowrap_cover.type01 .infowrap .ph {
    margin-left: 0;
  }
  .sec_party .infowrap .ph {
    width: 100%;
    margin-top: 2.3125rem;
  }
}
.sec_party .infowrap_cover.type02 .infowrap .ph {
	margin-right: -11.5625rem;
}



.original {
	max-width: 68.75rem;
	padding-right: 5.3125rem;
	margin: 0 auto 8.75rem;
}
@media screen and (max-width: 1200px) {
  .original {
    padding: 0 1.25rem;
    margin: 3.75rem auto 3.75rem;
  }
}
.original .infowrap {
	position: relative;
	display: flex;
	border: 1px solid #3c5aa0;
	padding: 3.75rem 3.625rem 3rem;
}
@media screen and (max-width: 1200px) {
  .original .infowrap {
    display: block;
    max-width: 26.25rem;
    padding: 10% 10% 5%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1200px) {
  .original .infowrap .info .lead {
    text-align: center;
  }
  .original .infowrap .info .tit {
    text-align: center;
  }
}
.original .infowrap .info .deco{
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.8125rem;
	letter-spacing: 0.06em;
	color: #3c5aa0;
	opacity: .2;
	margin-top: 1.25rem;
}
@media screen and (max-width: 1200px) {
  .original .infowrap .info .deco{
    font-size: 2.5rem;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.02em;
    margin-top: 0.9375rem;
  }
}
.original .infowrap .ph {
	position: absolute;
	max-width: 37.5rem;
	top: -2.5rem;
	right: -5.3125rem;
}
@media screen and (max-width: 1200px) {
  .original .infowrap .ph {
    position: relative;
    top: 0;
    right: 0;
    margin: 20px calc(50% - 50vw) 0;
    width: 100vw;
  }
}
@media screen and (min-width: 600px) and (max-width: 1200px) {
  .original .infowrap .ph {
    margin: 20px auto 0;
    width: 100%;
  }
}



/* ----------------
　料理
------------------- */
.sec_cuisine {
	text-align: center;
	padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
	.sec_cuisine {
		padding: 0 1.5625rem 3.75rem;
	}
}
@media screen and (max-width: 767px) {
  .sec_cuisine [data-slidearea01] {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.sec_cuisine [data-slidearea01] .slidearea01_wrap {
	max-width: 1123px;
}
.sec_cuisine [data-slidearea01] .slidearea01_link {
	padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .sec_cuisine [data-slidearea01] .slidearea01_link {
    padding: 0;
}
}
.sec_cuisine [data-slidearea01] .slidearea01_link .subtxtarea {
	position: absolute;
	left: -50px;
	bottom: 30px;
}
@media screen and (max-width: 767px) {
  .sec_cuisine [data-slidearea01] .slidearea01_link .subtxtarea {
    left: 15px;
    bottom: 25px;
    text-align: left;
  }
}
.sec_cuisine [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
	font-family:source-han-serif-japanese,serif;
	color: #fff;
	font-size: 1rem;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .sec_cuisine [data-slidearea01] .slidearea01_link .subtxtarea .nihongo {
    font-size: 0.71875rem;
    letter-spacing: 0.05em;
  }
}
.sec_cuisine [data-slidearea01] .slidearea01_wrapin.type01 .slidearea01_link div img {
  aspect-ratio: 1123 / 630;
	height: auto;
}
@media screen and (max-width: 767px) {
  .sec_cuisine [data-slidearea01] .slidearea01_wrapin .slidearea01_link div img {
    aspect-ratio: 720 / 540 !important;
  }
}
.sec_cuisine .infowrap {
	max-width: 74.6875rem;
	width: 100%;
	margin: 8.4375rem auto 0;
	text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_cuisine .infowrap {
    margin: 1.875rem auto 0;
  }
}
.sec_cuisine .infowrap:after {
	content: "";
	display: block;
	clear: both;
}
.sec_cuisine .infowrap .info {
	width: 48%;
	float: left;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
	.sec_cuisine .infowrap .info {
    padding: 0 1.25rem;
  }
}
@media screen and (max-width: 767px) {
	.sec_cuisine .infowrap .info {
		width: 100%;
    max-width: 24.375rem;
    margin: 0 auto;
	}
}
.sec_cuisine .infowrap .ph {
	width: 52%;
	max-width: 38.75rem;
	margin-top: -3.75rem;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
  .sec_cuisine .infowrap .ph {
    width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .sec_cuisine .infowrap .ph {
    position: relative;
    width: 90%;
    max-width: 26.25rem;
    margin-top: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) {
  .sec_cuisine .infowrap .ph:last-child {
    float: right;
  }
}


/* ----------------
ホテル
------------------- */
.sec_hotel {

}
.sec_hotel .ph {
	width: 100%;
}
@media screen and (max-width: 767px) {
  .sec_hotel .ph {
    position: relative;
    width: 138%;
    left: 50%;
    transform: translateX(-49%);
  }
}
.sec_hotel .content_wrap {
	position: relative;
	background-color: #f3f2ee;
	max-width: 68.75rem;
	padding: 4.375rem 6.25rem 6.25rem;
	margin: -6.25rem auto 0;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap {
    width: 88.88%;
    max-width: 34.375rem;
    box-sizing: border-box;
    padding: 2.1875rem 1.5625rem;
    margin-top: -2.1875rem;
  }
}
.sec_hotel .content_wrap::before {
  content:"";
  position:absolute;
  z-index:0;
  top:.625rem;
  bottom:.625rem;
  left:.625rem;
  right:.625rem;
  border:1px solid #3c5aa0;
  pointer-events:none;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap::before {
    top:.3125rem;
    bottom:.3125rem;
    left:.3125rem;
    right:.3125rem;
  }
}

.sec_hotel .content_wrap .ttl_wrap {
	text-align: center;
}
.sec_hotel .content_wrap .ttl_wrap .img {
	max-width: 15.3125rem;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .ttl_wrap .img {
    max-width: 10.125rem;
  }
}
.sec_hotel .content_wrap .ttl_wrap .ttl {
	font-family:source-han-serif-japanese,serif;
	font-size: 1.875rem;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.14em;
	color: #3c5aa0;
	margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .ttl_wrap .ttl {
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin-top: 1.25rem;
  }
}
.sec_hotel .content_wrap .content {
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .content {
    display: block;
    margin-top: 1.25rem;
  }
}
.sec_hotel .content_wrap .content .item {
	width: 31.52%;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .content .item {
    width: 100%;
    display: flex;
    margin-bottom: 1.875rem;
  }
  .sec_hotel .content_wrap .content .item:last-child {
    margin-bottom: 0;
  }
}
.sec_hotel .content_wrap .content .item .hotel_ph {
	width: 100%;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .content .item .hotel_ph {
    width: 40%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    max-width: 8.125rem;
  }
}
.sec_hotel .content_wrap .content .item .lead {
	font-family:source-han-serif-japanese,serif;
	font-size: 1.125rem;
	text-align: center;
	font-weight: 600;
	line-height: 1.77;
	padding: 1.25rem 1.25rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .content {
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.08em;
  }
  .sec_hotel .content_wrap .content .lead {
    font-family:source-han-serif-japanese,serif;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    font-weight: 600;
  }
}
.sec_hotel .content_wrap .content .item .txt {
	font-size: 0.875rem;
	line-height: 1.857;
	letter-spacing: 0.08em;
	padding: 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .sec_hotel .content_wrap .content .item .txt {
    font-size: 0.7187rem;
    line-height: 1.739;
    padding: 0 0 0 1.25rem;
    letter-spacing: 0;
  }
}

/* ----------------
サポート
------------------- */
.sec_support {
	margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .sec_support {
    margin-top: 3.75rem;
  }
}
.sec_support .mod_under_ttl02 .sub_ttl {
	margin-top: 2.1875rem;
}
.sec_support .infowrap {
	max-width: 67.5rem;
	width: 100%;
	text-align: left;
	display: flex;
	justify-content: space-between;
	margin: 6.5625rem auto 0;
}
@media screen and (max-width: 767px) {
  .sec_support .infowrap {
    display: block;
  }
}
.sec_support .infowrap.type01 {
	background-image: url(/shared/img/top2023/support_bg_01.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .sec_support .infowrap.type01 {
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .sec_support .infowrap.type01 {
    background-image: url(/shared/img/top2023/support_bg_01_sp.jpg);
    background-position: center;
    margin-top: 5rem;
  }
}
.sec_support .infowrap.type02 {
	background-image: url(/shared/img/top2023/support_bg_02.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .sec_support .infowrap.type02 {
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .sec_support .infowrap.type02 {
    background-image: url(/shared/img/top2023/support_bg_02_sp.jpg);
    background-position: center;
  }
}
.sec_support .infowrap .info {
	width: 48%;
	max-width: 21.25rem;
	padding: 4.375rem 5rem 3.75rem;
}
@media screen and (max-width: 767px) {
	.sec_support .infowrap .info {
		width: 88.88%;
    padding: 1.875rem 2.1875rem 2.8125rem;
    box-sizing: border-box;
    margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
  .sec_support .infowrap .lead {
    text-align: center;
  }
  .sec_support .infowrap .tit {
    text-align: center;
  }
  .sec_support .infowrap .info .more a{
    margin: 1.5625rem auto 0;
  }
}
.sec_support .infowrap .ph {
	width: 100%;
	max-width: 37.5rem;
	height: 100%;
	margin-top: -3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_support .infowrap .ph {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}


/* ----------------
ブライダルフェア
------------------- */
.sec_fair {
	background-image: url(/shared/img/top2023/fair_bg.jpg);
	background-size: cover;
	min-height: 48.75rem;
	padding-top: 5rem;
	margin-top: 7.5rem;
}
@media screen and (max-width: 999px) {
  .sec_fair {
    padding: 2.1875rem 1.5rem 3.125rem;
    margin-top: 3.7rem;
  }
}
.sec_fair .tit + p {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 4rem;
}

.sec_fair .inner {
  max-width: 1240px;
  margin: 0 auto;
}

.sec_fair .inner div {
  float: left;
  position: relative;
  width: 69%;
  min-height: 28.18remm;
  background-color: #fff;
  padding: 2.8125rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 999px) {
  .sec_fair .inner div {
    float: none;
    width: 100%;
    max-width: 26.25rem;
    min-height: 0;
    padding: 2rem 1.5rem;
    margin: 0 auto 1.5rem;
  }
}

.sec_fair .inner div iframe:nth-child(1) {
  width: 67%;
  float: left;
}

@media screen and (max-width: 999px) {
  .sec_fair .inner div iframe:nth-child(1) {
    float: none;
    width: 100%;
    margin: auto;
    display: block;
    margin-bottom: 1.8rem;
  }
}

.sec_fair .inner div iframe:nth-child(2) {
  width: 29%;
  float: right;
}

@media screen and (max-width: 999px) {
  .sec_fair .inner div iframe:nth-child(2) {
    float: none;
    width: 205px;
    margin: auto;
    display: block;
  }
}

.sec_fair .inner section {
  float: right;
  width: 28%;
  padding: 3.125rem 3.125rem 1.875rem;
  background-color: #3c5aa0;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 999px) {
  .sec_fair .inner section {
    float: none;
    width: 100%;
    max-width: 26.25rem;
    padding: 3rem 1.8rem;
    margin: 0 auto;
  }
}

.sec_fair .inner section .tit {
  font-size: 2.1875rem;
	font-family: 'Cormorant Garamond', serif;
  text-align: center;
  display: block;
  color: #fff;
  margin-bottom: 1.875rem;
  line-height: 1;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 999px) {
  .sec_fair .inner section .tit {
    font-size: 1.875rem;
  }
}

.sec_fair .inner section .tit:before, .sec_fair .inner section .tit:after {
  content: none;
}

.sec_fair .inner section .tit + p {
  font-size: 0.875rem;
  line-height: 1.857;
	letter-spacing: 0.12em;
  color: #fff;
  margin-bottom: 1.875rem;
}

@media (max-width: 999px) {
  .sec_fair .inner section .tit + p {
    font-size: 0.75rem;
    line-height: 1.75;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-width: 999px) {
  .sec_fair .inner section ul {
    max-width: 15.625rem;
    margin: 0 auto;
  }
}
.sec_fair .inner section ul li {
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 999px) {
  .sec_fair .inner section ul li {
    margin-bottom: 0.9375rem;
  }
}
.sec_fair .inner section ul li a {
  display: block;
  position: relative;
  max-width: 100%;
  font-size: 0.875rem;
	text-align: left;
  letter-spacing: 0.12em;
  color: #fff;
	border: 1px solid #fff;
	border-radius: 100px;
  transition: 0.2s;
  line-height: 1;
  text-decoration: none;
  padding: 1.25rem;
}
.sec_fair .inner section ul li a:hover {
  text-decoration: none;
  opacity: .6;
}
@media screen and (max-width: 999px) {
  .sec_fair .inner section ul li a {
    font-size: 0.75rem;
    text-decoration: none;
    padding: 0.9375rem 1.25rem;
  }
}
.sec_fair .inner section ul li a::after {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 5.4px;
	width: 30px;
	top: 43%;
	right: 25px;
}
.sec_fair .inner section ul li a img {
	width: 16px;
	height: 12px;
	margin-left: 5px;
}

.no-touchevents .sec_fair .inner section ul li a:hover {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}

.sec_fair .inner section ul + p a span:before {
  content: "\e942";
  font-family: "icomoon";
  color: #fff;
  font-size: 22px;
}



.sec_access {
	background-image: url(/shared/img/top2023/access_map_l.png);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: 80% bottom;
	height: 45rem;
  padding: 0 1.25rem;
}
@media screen and (min-width: 2500px) {
  .sec_access {
    background-position: 65% bottom;
  }
}
@media screen and (min-width: 1240px) {
	.sec_access {
		background-size: 620px;
	}
}
@media screen and (max-width: 767px) {
	.sec_access {
		background-image: none;
    padding: 0 1.25rem;
    height: auto;
	}
}
.sec_access .mod_under_ttl02 {
	margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .sec_access .mod_under_ttl02 {
    margin-top: 3.75rem;
  }
}
.sec_access .access_time {
	margin: 1.875rem auto 0;
	max-width: 57.5rem;
}
@media screen and (max-width: 767px) {
  .sec_access .access_time {
    text-align: center;
  }
}
.sec_access .access_time .lead {
	font-family:source-han-serif-japanese,serif;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.14em;
	color: #3c5aa0;
}
@media screen and (max-width: 767px) {
  .sec_access .access_time .lead {
    font-size: 0.9375rem;
    text-align: center;
    letter-spacing: 0.12em;
  }
}
.sec_access .access_time ul {
	width: 17.5625rem;
	margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .sec_access .access_time ul {
    margin: 1.5625rem auto 0;
  }
}
.sec_access .access_time ul li {
	display: flex;
	justify-content: space-between;
	font-size: 0.8125rem;
	line-height: 1.615;
	letter-spacing: 0.12em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .sec_access .access_time ul li {
    font-size: 0.75rem;
  }
}
.sec_access .access_time ul li span {
	color: #3c5aa0;
	letter-spacing: 0.12em;
}
.sec_access .access_time ul li .dot {
    background-image : linear-gradient(to right, #3c5aa0 2px, transparent 2px);
    background-size: 5px 2px;
    background-repeat: repeat-x;
    background-position: left center;
    width: 50%;
    margin: 0 8px;
}
.sec_access .access_time .access_map_s {
	width: 19.625rem;
	margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .sec_access .access_time .access_map_s {
    width: 100%;
    max-width: 26.25rem;
  }
  .sec_access .access_time .access_map_l {
    position: relative;
    width: 100%;
    max-width: 26.25rem;
    margin-top: -30px;
  }
}




/* mod_footer */
.mod_footer {
  background-image : url(/shared/img/top2023/footer_bg.jpg);
  background-size: cover;
  text-align: center;
  box-sizing: border-box;
	color: #fff;
  height: auto;
	padding-top: 5rem;
}

@media screen and (max-width: 767px) {
  .mod_footer {
    padding-top: 3.5rem;
  }
}
.mod_footer .footcontents {
	padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents {
    padding-bottom: 0;
  }
}
.mod_footer .footcontents .mod_under_ttl02 {
	color: #fff;
}
.mod_footer .footcontents .mod_under_ttl02 .en_ttl {
	color: #fff;
}
.mod_footer .footcontents .tel_container .tel {
  display: inline-block;
  vertical-align: top;
}
.mod_footer .footcontents .tel_container .tel p {
	font-size: 0.875rem;
	line-height: 2.1428;
  color: #fff;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents .tel_container .tel p {
    font-size: 0.75rem;
    line-height: 1.7;
    }
}
.mod_footer .footcontents .tel + .tel {
  margin-left: 5%;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents .tel + .tel {
    margin-left: 0;
  }
}
.mod_footer .footcontents .tel .time {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents .tel .time {
    font-size: 0.7187rem;
    margin-bottom: 1.5625rem;
  }
}
.mod_footer .footcontents [data-tel] {
	font-family: 'EB Garamond', serif;
	font-size: 2.875rem;
  display: block;
  letter-spacing: 0.12em;
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents [data-tel] {
    font-size: 1.875rem;
    line-height: 1.5;
  }
}
.mod_footer .footcontents [data-tel] span {
  font-family: 'EB Garamond', serif;
	font-size: 2.125rem;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents [data-tel] span {
    font-size: 1.40625rem;
  }
}

.mod_footer .footcontents .container {
  max-width: 60rem;
  margin: auto;
  padding-top: 2.8125rem;
}

@media screen and (max-width: 767px) {
  .mod_footer .footcontents .container {
    padding-top: 1.8rem;
    padding-bottom: 3.125rem;
  }
}

@media screen and (max-width: 767px) {
  .mod_footer .footcontents .container .cf {
    display: block;
    padding: 0 3.2rem;
    max-width: 15.625rem;
    margin: 0 auto;
  }
}

.mod_footer .footcontents .container .cf:after {
  content: "";
  display: block;
  clear: both;
}

.mod_footer .footcontents .container .cf li {
  width: 23%;
  float: left;
  margin-left: 1.9%;
}

.mod_footer .footcontents .container .cf li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .mod_footer .footcontents .container .cf li {
    width: 100%;
    margin-bottom: 1rem;
    margin-left: 0 !important;
  }
}

.mod_footer .footcontents .container .cf li a {
  display: block;
  position: relative;
  max-width: 100%;
  padding: 22px 25px;
  background-color: #142878;
  font-size: 0.875rem;
	text-align: left;
	line-height: 1;
  letter-spacing: 0.12em;
  color: #fff;
	border-radius: 100px;
  text-decoration: none;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents .container .cf li a {
    font-size: 0.75rem;
    padding: 15px 35px;
  }
}
.mod_footer .footcontents .container .cf li a::after {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 5.4px;
	width: 30px;
	top: 43%;
	right: 25px;
}
.mod_footer .footcontents .container .cf li a img {
	width: 16px;
	height: 12px;
	margin-left: 5px;
}
@media screen and (max-width: 767px) {
  .mod_footer .footcontents .container .cf li a img {
    width: 13px;
    height: 9px;
  }
}
.no-touchevents .mod_footer .footcontents .container .cf li a:hover {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}
.mod_footer .footer_link {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #fff;
	padding: 0.9375rem 0px;
}
@media screen and (max-width: 767px) {
  .mod_footer .footer_link {
    display: block;
    padding: 0.3125rem 0px 4rem;
  }
}
.mod_footer .footer_link ul {
	display: flex;
	margin-left: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .mod_footer .footer_link ul {
    margin-left: 0;
    justify-content: center;
  }
}
.mod_footer .footer_link ul li {
	margin-right: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .mod_footer .footer_link ul li {
    line-height: 1;
    padding: 0 0.625rem;
    margin-right: 0;
  }
}
.mod_footer .footer_link ul li a {
	color: #fff;
}
@media screen and (max-width: 767px) {
  .mod_footer .footer_link ul li a {
    font-size: 0.625rem;
  }
}
.mod_footer .footer_link ul li a img {
	width: 16px;
	height: 12px;
	margin-left: 5px;
}
@media screen and (max-width: 767px) {
  .mod_footer .footer_link ul li a img {
    width: 13px;
    height: 9px;
  }
}
.mod_footer .footer_link .copy {
  font-size: 0.875rem;
	letter-spacing: 0.12em;
  display: block;
	margin-right: 6.25rem;
}

@media screen and (max-width: 767px) {
	.mod_footer .footer_link .copy {
    font-size: 0.625rem;
    text-align: center;
    border-top: 1px solid #fff;
    padding-top: 0.625rem;
    margin-top: 0.625rem;
    margin-right: 0;
  }
}

.mod_footer .totop {
  position: fixed;
  bottom: 3.2rem;
  right: 3.2rem;
  background-color: #142878;
  -webkit-transition: 1s;
  transition: 1s;
  width: 40px;
  height: 40px;
  opacity: 0;
  z-index: 9999;
}
.mod_footer .totop.active {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .mod_footer .totop {
    bottom: 4rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
  }
  .mod_footer .totop.type01 {
    bottom: 8rem;
  }
}

.no-touchevents .mod_footer .totop:hover {
  opacity: 0.6;
}

.mod_footer .totop:before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 1rem;
  right: 0.8rem;
  transform: rotate(-45deg);
  -webkit-transition: 1s;
  transition: 1s;
}

@media screen and (max-width: 767px) {
  .mod_footer .totop:before {
    width: 0.6rem;
    height: 0.6rem;
    top: 1.1rem;
    right: 1.1rem;
  }
}

/* チャペルリニューアル記念プラン */
.chapel_renew {
	max-width: 68.75rem;
	padding-right: 5.3125rem;
	margin: 10rem auto 8.75rem;
}
@media screen and (max-width: 1200px) {
  .chapel_renew {
    padding: 0 1.25rem;
    margin: 3.75rem auto 3.75rem;
  }
}
.chapel_renew .infowrap {
	position: relative;
	display: flex;
	border: 1px solid #3c5aa0;
	padding: 2.8rem 3.625rem 2.4rem;
}
.chapel_renew .cap {
  letter-spacing: 0 !important;
}
@media screen and (max-width: 1200px) {
  .chapel_renew .infowrap {
    display: block;
    max-width: 26.25rem;
    padding: 10% 10% 5%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1200px) {
  .chapel_renew .infowrap .info .lead {
    text-align: center;
  }
  .chapel_renew .infowrap .info .tit {
    text-align: center;
  }
}
.chapel_renew .infowrap .info .deco{
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.8125rem;
	letter-spacing: 0.06em;
	color: #3c5aa0;
	opacity: .2;
	margin-top: 1.25rem;
}
@media screen and (max-width: 1200px) {
  .chapel_renew .infowrap .info .deco{
    font-size: 2.5rem;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.02em;
    margin-top: 0.9375rem;
  }
}
.chapel_renew .infowrap .ph {
	position: absolute;
	max-width: 37.5rem;
	top: -2.5rem;
	right: -5.3125rem;
}
@media screen and (max-width: 1200px) {
  .chapel_renew .infowrap .ph {
    position: relative;
    top: 0;
    right: 0;
    margin: 20px calc(50% - 50vw) 0;
    width: 100vw;
  }
}
@media screen and (min-width: 600px) and (max-width: 1200px) {
  .chapel_renew .infowrap .ph {
    margin: 20px auto 0;
    width: 100%;
  }
}
.more_chapel_renew a {
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	width: 12.5rem;
	text-align: center;
	border-radius: 100px;
	background-color: #fff;
  color: #46465a;
  text-decoration: none;
	padding: 11px 0;
	margin: 1.5625rem 0 0;
  transition: .2s;
  border: 1px solid #3c5aa0;
}
@media screen and (min-width: 768px) {
.more_chapel_renew a:hover {
  background-color: #3c5aa0;
  color: #fff;
}
}
@media screen and (max-width: 767px) {
  .more_chapel_renew a {
    font-size: 0.75rem;
    width: 11.5rem;
    margin: 1.5625rem auto 0;
  }
}


/*sec_happycampaign 202602追加*/
.sec_happy_campaign {
	padding-bottom: 112px;
}
.sec_happy_campaign .in {
	position: relative;
	width: 990px;
	margin: 0 auto;
	padding: 24px;
	background-color: #F3F2EE;
	box-sizing: border-box;
	font-feature-settings: normal;
	overflow: hidden;
}
.sec_happy_campaign .in::before,
.sec_happy_campaign .in::after {
	content: "";
	position: absolute;
	width: 120px;
	height: 19px;
	background: #142878;
	transform: rotate(45deg);
	transform-origin: center;
	pointer-events: none;
	z-index: 2;
}
.sec_happy_campaign .in::before {
	top: 18px;
	right: -24px;
}
.sec_happy_campaign .in::after {
	bottom: 18px;
	left: -26px;
}
.sec_happy_campaign .wrap {
	display: flex;
	align-items: center;
}
.sec_happy_campaign .ph {
	width: 460px;
	height: 317px;
}
.sec_happy_campaign .ph img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: auto;
}
.sec_happy_campaign .texwrap {
	margin-left: 60px;
}
.sec_happy_campaign .title {
	font-family:source-han-serif-japanese,serif;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1;
	color: #3C5AA0;
}
.sec_happy_campaign .title span {
  font-family:source-han-serif-japanese,serif;
	display: inline-block;
	padding-top: 10px;
	font-size: 26px;
	letter-spacing: 0.08em;
	color: #3C5AA0;
}
.sec_happy_campaign .txt {
	margin-top: 24px;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 2;
}
.sec_happy_campaign .link {
	display: block;
	width: fit-content;
	margin-top: 24px;
	text-decoration: none;
	transition: 0.4s;
}
.sec_happy_campaign .link span {
  position: relative;
  box-sizing: border-box;
	width: 284px;
	height: 54px;
  padding-left: 20px;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1;
	color: #fff;
	background-color: #142878;
	border-radius: 100px;
	display: flex;
	align-items: center;
}
.sec_happy_campaign .link span::after {
	position: absolute;
	content: "";
	background-image: url(/shared/img/top2023/arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 5.4px;
	width: 30px;
	top: 43%;
	right: 25px;
}

@media screen and (min-width:768px) {
	.sec_happy_campaign .link:hover {
		text-decoration: none;
		opacity: 0.7;
	}
}

@media screen and (max-width:767px) {
	.sec_happy_campaign {
		padding: 0 21px 80px;
	}
	.sec_happy_campaign .in {
		width: 100%;
		padding: 0;
	}
	.sec_happy_campaign .in::before,
	.sec_happy_campaign .in::after {
		height: 14px;
	}
	.sec_happy_campaign .in::before {
		top: 18px;
		right: -38px;
	}
	.sec_happy_campaign .in::after {
		bottom: 18px;
		left: -42px;
	}
	.sec_happy_campaign .wrap {
		flex-direction: column;
	}
	.sec_happy_campaign .ph {
		width: 100%;
		height: auto;
	}
	.sec_happy_campaign img {
	}
	.sec_happy_campaign .texwrap {
		margin-left: 0;
		padding: 40px 24px 40px;
	}
	.sec_happy_campaign .title {
		font-size: 16px;
	}
	.sec_happy_campaign .title span {
		padding-top: 8px;
		font-size: 20px;
		letter-spacing: 0.02em;
	}
	.sec_happy_campaign .txt {
		margin-top: 20px;
		font-size: 14px;
	}
	.sec_happy_campaign .link {
		margin: 32px auto 0;
	}
	.sec_happy_campaign .link span {
		width: 231px;
		height: 44px;
		font-size: 12px;
	}
  .sec_happy_campaign .link span::after {
    width: 22px;
    right: 13px;
  }
}