@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
contents
****************************************************************************************************/
#contents {
	width: 1200px;
	margin: auto;
	/* 2024/12/6変更 */
	padding: 80px 0 120px 0;
	/* padding: 90px 0 120px 0; */
}



/****************************************************************************************************
main
****************************************************************************************************/
#main {
	display: none;
	position: relative;
}
#main > figure img {
	object-fit: cover;
	width: 100%;
	height: 100vh;
	min-height: 900px;
}
#main-text {
	/* 2026/08/03変更 */
	/* position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	margin-left: 1.25vw;
	margin-top: 1.25vw;
	mix-blend-mode: multiply; */
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  justify-items: flex-start;
  width: 88vw;
  max-width: 1200px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-top: 1.25vw;
}
/* .main-text1,
.main-text1-2,
.main-text2 {
	display: none;
	position: absolute;
	left: 0; */
	/* 2024/12/6変更 */
	/* top: -85px; */
	/* top: 0; */
	/* mix-blend-mode: multiply;
} */
 /* 2026/08/03追加 */
 #main-text .main-hero-title {
  mix-blend-mode: multiply;
}
.get-access {
  opacity: 0;
  mix-blend-mode: normal;
}
.get-access.is-loaded {
  opacity: 1;
  transition: opacity 1s linear;
}
#main-text h1 {
  font-weight: normal;
  font-size: 2.5rem;
  line-height: 1.3;
  text-align: left;
  font-family:
    "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho",
    "Times New Roman", serif;
}
.main-hero-title .char {
  display: inline-block;
  opacity: 0;
}
.main-hero-title .char.is-visible {
  opacity: 1;
  transition: opacity 1.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .main-hero-title .char {
    opacity: 1;
  }
  .main-hero-title .char.is-visible {
    transition: none;
  }
  .get-access {
    opacity: 1;
  }
}
.main-logo {
	display: none;
	mix-blend-mode: multiply;
}
#main-btn {
	display: none;
	/* 2026/08/03削除 */
	/* position: absolute;
	left: 3px;
	bottom: 50px;
	mix-blend-mode: multiply; */
}
/* 2026/08/03削除 */
/* #main-btn1 {
	display: none;
	position: absolute;
	left: 3px;
	bottom: -40px;
	mix-blend-mode: multiply;
} */
	/* 2024/12/6追加 */
#main-btn2 {
	display: none;
}
#main-btn2 .pl-btn{
	/* 2026/08/03変更 */
	/* display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	left: 3px;
	bottom: 140px;
	gap:10px; */
	display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}	

#scroll {
	position: absolute;
	left: 50%;
	bottom: 60px;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-size: 0.8rem;
	line-height: 1.0;
	letter-spacing: 1px;
}
#scroll a {
	display: block;
}
#scroll a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 50px;
	margin-top: 0.8em;
	margin-left: 6px;
	border-bottom: 1px solid #238C00;
	border-left: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(0, -45deg);
	transform: translate(0, 0) skew(0, -45deg);
}

/****************************************************************************************************
top-banner   2024/12/6追加
****************************************************************************************************/

#top-banner.top-flex{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap:20px;
}
/* バナーが4つ以上の場合に有効 */
#top-banner.top-flex.wrap{
	-ms-flex-wrap:wrap;
	    flex-wrap:wrap;
}

#top-banner .container.wide1 {
	width: 600px;
	/* width: 100%; */
	height: auto;
}

#top-banner .container-block{
	width:400px;
	height: auto;
}
#top-banner .col-box img{
	width:350px;
	height: 160px;
}
#top-banner .col-box iframe{
	width:350px;
	height: 160px;
}
#top-banner .top-youtube .container-block{
	height: 275px;
}
.top-youtube .container-block .col-ttl h3.base{
	font-size: 0.9rem;
}
.top-youtube .col-ttl + .col-box{
	margin-top: 1rem;
}

/* 下記は常に必要 */
#top-banner .col-box + .col-box{
	margin-top:0;
}
#top-banner .col-ttl + .col-ttl{
	margin-top: 1rem;
}
#top-banner .container.pd40{
	padding:20px 10px;
}


/****************************************************************************************************
menu
****************************************************************************************************/
/* 2024/12/6追加 */
#top-menu{
	margin-top: 60px;
}

#top-menu .container a.bg {
	/* 2026/08/03変更 */
	/* display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
	width: 100%;
	left: 0;
	top: 0;
	background: #1A6600; */
	display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  left: 0;
  top: 0;
  background: #1a6600;
}
#top-menu .container a.bg::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	right: 20px;
	bottom: 18px;
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
}
#top-menu h3 {
	color: #FFF;
}
#top-menu p {
	color: #FFFFBC;
	line-height: 1.6;
}
#top-menu .container > div + div {
	margin-top: 20px;
}
	/* 2024/12/6追加 */
#top-menu .container a.bgYd9a {
	background: #00a99d;
}
#top-menu .container a.bgYb28 {
	background: #dd756b;
}

/****************************************************************************************************
kazokuso 2025/08/06追加
****************************************************************************************************/
#kazokuso {
	margin-top: 80px;
}
#kazokuso .bg {
	background: #FFFFE7 url(../img/top/kazokuso-bg.jpg) no-repeat right center;
	background-size: cover;
}
#kazokuso p.xxlarge {
	font-size: 1.466rem;
}

/* 2026/08/03追加 */
#kazokuso > .col-box p {
  font-size: 1.111rem;
  line-height: 1.8;
}
#kazokuso > .col-box p .huge {
  font-size: 2rem;
  line-height: 1.2;
  vertical-align: bottom;
}
#kazokuso .top-voice__viewport {
  max-width: 1160px;
  margin: 0 auto;
  overflow: hidden;
}
#kazokuso .top-voice__track {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
}
#kazokuso .top-voice__card {
  position: relative;
  flex-shrink: 0;
  display: block;
  padding: 20px;
  color: inherit;
  text-align: left;
  text-decoration: none;
  background-color: #faf8f0;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 100%;
  overflow: hidden;
}
#kazokuso .top-voice__card:hover {
  opacity: 0.92;
}
#kazokuso .top-voice__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 22px 22px 0 0;
  border-color: #006600 transparent transparent transparent;
}
#kazokuso .top-voice__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    #faf8f0 0%,
    #faf8f0 46%,
    rgba(250, 248, 240, 0.92) 58%,
    rgba(250, 248, 240, 0.35) 78%,
    rgba(250, 248, 240, 0) 100%
  );
  pointer-events: none;
}
#kazokuso .top-voice__card > * {
  position: relative;
  z-index: 3;
}
#kazokuso .top-voice__card--a {
  background-image: url(../img/top/voice_a.webp);
}
#kazokuso .top-voice__card--b {
  background-image: url(../img/top/voice_b.webp);
}
#kazokuso .top-voice__card--c {
  background-image: url(../img/top/voice_c.webp);
}
#kazokuso p.top-voice__meta {
  font-size: 0.866rem;
  line-height: 1.4;
}
#kazokuso p.top-voice__text {
  font-size: 1.111rem;
  font-weight: bold;
}

/****************************************************************************************************
section divider　2026/08/03追加
****************************************************************************************************/
#contents > .top-section-hr {
  display: block;
  width: 100%;
  max-width: 1200px;
  height: 0;
  margin: 80px auto 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}
/****************************************************************************************************
reason
****************************************************************************************************/
#reason {
	margin-top: 80px;
}
#reason .container {
	padding: 40px 50px 30px 50px;
}
#reason .container ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0 0;
	font-size: 1.466rem;
	font-weight: bold;
	line-height: 1.8;
}
/* 2026/08/03削除 */
/* #reason .container ul li {
	width: 18.1em;
} */
 /* 2026/08/03追加 */
#reason .reason-points {
  max-width: calc(100% - 300px);
  text-align: left;
}
#reason .reason-points__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
#reason .reason-points__row + .reason-points__row {
  margin-top: 0.5rem;
}
#reason .reason-points__title {
  flex-shrink: 0;
  width: 7.5em;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.8;
}
#reason .reason-points__title p {
  margin: 0;
}
#reason .reason-points__body {
  flex: 1;
  font-size: 1rem;
  line-height: 1.8;
}
#reason .reason-points__body ul {
  display: block;
  font-size: inherit;
  font-weight: normal;
}
#reason .reason-points__body li {
  width: auto;
  font-weight: normal;
}
#reason .container figure {
  position: absolute;
  right: 25px;
  bottom: 0;
}

/****************************************************************************************************
ceremony-plan 2026/07/31追加
****************************************************************************************************/
#ceremony-plan {
  margin-top: 80px;
}
#ceremony-plan .top-plan-grid.container-block {
  display: grid;
  grid-template-columns: repeat(3, calc(1160px / 3));
  grid-template-rows: repeat(2, auto);
  column-gap: 12px;
  row-gap: 20px;
  justify-content: center;
  align-items: stretch;
}
.top-plan-card {
  border: 1px solid #bbb;
  background: #fff;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.top-plan-card__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: #fff;
  color: #000;
  text-align: left;
}
#ceremony-plan .top-plan-card.container.column {
  display: flex;
  flex-direction: column;
}
.top-plan-card__link:hover {
  opacity: 1;
}
.top-plan-card__title {
  margin: 0;
  padding: 0.55em 0.5em;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
.top-plan-card__title--funeral-hall {
  background: #777777;
}
.top-plan-card__title--hall-only {
  background: #006adc;
}
.top-plan-card__title--family {
  background: #009b6a;
}
.top-plan-card__title--location {
  background: #664c00;
}
.top-plan-card__title--corporate {
  background: #5a5a5a;
}
/* 2026/08/03追加 */
.top-plan-card__title--direct {
  background: #777777;
}
.top-plan-card__title--oneday {
  background: #006adc;
}
.top-plan-card__title--family {
  background: #009b6a;
}
.top-plan-card__title--location {
  background: #664c00;
}
.top-plan-card__title--corporate {
  background: #5a5a5a;
}
.top-plan-card__title--welfare {
  background: transparent;
  color: #000;
  border-bottom: none;
}
#plan-welfare .top-plan-card__link {
  justify-content: center;
  align-items: center;
  min-height: 100%;
  text-align: center;
}
#plan-welfare .top-plan-card__title--welfare {
  width: 100%;
  padding: 0 0.5em;
}
.top-plan-card__figure {
  margin: 0;
  height: 160px;
  background: #ececec;
  overflow: hidden;
}
.top-plan-card__figure img {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
}
#plan-location .top-plan-card__figure img {
  object-position: center 10%;
}
.top-plan-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: flex-start;
  padding: 1rem;
}
/* 2026/07/31追加 */
.top-plan-card__body.text-only {
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1em;
}
.top-plan-card__price-row {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.25em;
  line-height: 1.2;
  text-align: center;
}
/* 2026/07/31追加 */
.top-plan-card__body.text-only .top-plan-card__price-row {
  /* justify-content: center;
  align-items: center;
  gap: 1.2em; */
  /* 2026/08/04追加 */
  display: grid;
  grid-template-columns: 4em 1fr;
  align-items: center;
  column-gap: 0.8em;
  justify-self: start;
  width: 100%;
  max-width: 690px;
  margin: 0 auto;
  line-height: 1.2;
  text-align: center;
}
.top-plan-card__price-label {
  flex-shrink: 0;
  font-size: 0.85rem;
  line-height: 1.35;
  text-align: right;
}
/* 2026/07/31追加 */
.top-plan-card__body.text-only .top-plan-card__price-label {
  font-size: 1rem;
  /* 2026/08/04追加 */
   margin: 0;
  line-height: 1.35;
  text-align: right;
}
.top-plan-card__price {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
}
.top-plan-card__amount {
  font-size: 2.5rem;
  line-height: 1;
}
.top-plan-card__suffix {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
  margin-left: 0.1em;
  padding-bottom: 0.15em;
  line-height: 1.1;
}
.top-plan-card__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  line-height: 1.1;
}
.top-plan-card__price > .top-plan-card__unit {
  margin-left: 0.1em;
  padding-bottom: 0.15em;
}
.top-plan-card__tax {
  font-size: 0.65rem;
  line-height: 1;
  white-space: nowrap;
}
.top-plan-card__yen {
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
}
.top-plan-card__range {
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
  margin-left: 0.05em;
}
.top-plan-card__price-standard {
  margin: 0;
  font-size: 0.85rem;
  color: #555;
  text-align: center;
}
.top-plan-card__price-standard .top-plan-card__range{
  font-size: 0.85rem;
}
.top-plan-card__price-standard-amount {
  font-size: 1.5rem;
}
.top-plan-card__text {
  text-align: center;
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
}
.top-plan-card__link.cover.arrow::after {
  right: 16px;
  bottom: 14px;
}
.top-plan-lead p + p {
  margin-top: 0.6em;
}
.top-plan-lead__note {
  margin-top: 0.8em;
  font-size: 0.8rem;
  line-height: 1.6;
}
#ceremony-plan .top-plan-grid + .col-box.mt25rem {
  margin-top: 2.5rem;
}




/****************************************************************************************************
service
****************************************************************************************************/
#service {
	margin-top: 80px;
}
/* #service .container {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
#service .container a.bg {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #FFFFEC;
	z-index: 0;
}
#service .container a.bg::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 30px;
	height: 7px;
	right: 20px;
	bottom: 18px;
	border-bottom: 1px solid #238C00;
	border-right: 1px solid #238C00;
	-webkit-transform: translate(0, 0) skew(45deg, 0);
	transform: translate(0, 0) skew(45deg, 0);
}
#service .container .col-ttl {
	position: relative;
	z-index: 10;
	pointer-events: none;
	margin-left: -2px;
}
#service .container .col-box {
	position: relative;
	z-index: 10;
	line-height: 1.7;
	margin-left: -2px;
} */

/* 2026/08/03追加 */
.top-onestop-lead {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}
.top-onestop__row {
  display: grid;
  grid-template-columns: 118px 1fr 200px;
  gap: 0.5rem;
  background: #fff;
  align-items: stretch;
  min-height: 180px;
}
.top-onestop__row + .top-onestop__row {
  margin-top: 12px;
}
.top-onestop__head {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}
.top-onestop__row--preparation .top-onestop__head {
  background: #00b200;
}
.top-onestop__row--ceremony .top-onestop__head {
  background: #96712a;
}
.top-onestop__row--after .top-onestop__head {
  background: #006633;
}
.top-onestop__head-link {
  display: block;
  color: #fff;
  font-size: 1.15rem;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
}
.top-onestop__head-link:hover {
  opacity: 0.85;
}
.top-onestop__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  background: transparent;
  align-items: stretch;
  min-height: 100%;
}
.top-onestop__grid--ceremony {
  grid-template-columns: repeat(4, 1fr);
}
.top-onestop__col {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  background: transparent;
  min-width: 0;
  min-height: 100%;
}
.top-onestop__cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  height: 100%;
  padding: 0.5rem;
  background: #f9f5f3;
  color: #000;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
}
.top-onestop__cell:hover {
  opacity: 0.7;
}
.top-onestop__cell.col1:not(.top-onestop__cell--stack):not(
    .top-onestop__cell--banner
  ) {
  color: #060;
}
.top-onestop__cell--banner {
  padding: 0.5rem;
}
.top-onestop__banner-img {
  display: block;
  max-width: 100%;
  max-height: 2.75em;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
.top-onestop__grid--ceremony .top-onestop__cell,
.top-onestop__grid--ceremony .top-onestop__cell-sub {
  color: #96712a;
}
.top-onestop__grid.top-onestop__grid--ceremony > a {
  background: #fcf8f2; /* モック下段の薄い黄土色（上段 #f9f5f3 は .top-onestop__cell） */
}
.top-onestop__grid--ceremony .top-onestop__cell {
  padding: 0.5rem;
}
.top-onestop__cell--banner-stack .top-onestop__banner-img {
  max-height: 2.25em;
}
.top-onestop__cell-sub {
  display: block;
  margin-top: 0.65em;
  color: #000;
  font-size: 0.85rem;
  font-weight: bold;
}
.top-onestop__photo {
  margin: 0;
  overflow: hidden;
  height: 220px;
}
.top-onestop__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-onestop__row--ceremony .top-onestop__photo img {
  transform: scale(1.5);
  object-position: center bottom;
  transform-origin: center bottom;
}
.top-onestop__row--after .top-onestop__photo img {
  object-position: 15% center;
}

/****************************************************************************************************
banner
****************************************************************************************************/
#banner {
	/* 2025/06/02変更 */	
	/* margin-top: 95px; */
	margin-top: 50px;
}
#banner ul {
	/* 2026/08/03変更 */
	/* display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex; */
	/* 2024/05/14 変更 */
	/* -webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center; */
	/* -webkit-box-pack: left;
	-webkit-justify-content: left;
	-ms-flex-pack: left;
	justify-content: left;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 20px; */
	/* 2024/05/14 追加 */
  /* margin:10px 0; */
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin: 10px 0;
}
/* 2025/06/02追加 */
#banner ul.download{
	justify-content: center;
	margin-bottom: 50px;
}
/* 2026/08/03追加 */
#banner a.top-download-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: #96712a;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
}
#banner a.top-download-link:hover {
  opacity: 0.75;
}
#banner a.top-download-link::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 28px;
  height: 7px;
  margin-bottom: 0.15em;
  border-bottom: 1px solid #060;
  border-right: 1px solid #060;
  transform: skew(45deg, 0);
}
/******************/



/****************************************************************************************************
News
****************************************************************************************************/
#news {
	margin-top: 90px;
}
#news-list {
	/* 2026/08/03削除 */
	/* border-top: 1px solid #999;
	border-bottom: 1px solid #999; */
	text-align: left;
	/* padding: 0.6em 0; 2026/08/03変更 */
	
}
#news-list dl {
	/* 2026/08/03削除 */
	/* display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox; */
	display: flex;
	/* padding： 1.4em 120px；2026/08/03変更 */
	padding: 0.5rem 120px;
}
/* 2026/08/03削除 */
/* #news-list dl + dl {
	border-top: 1px dotted #CCC;
} */
#news-list dl dt {
	color: #008C00;
	font-weight: bold;
	white-space: nowrap;
}
#news-list dl dd {
	margin-left: 2.5em;
	/* 2026/08/03削除 */
	/* -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1; */
    flex:1;
}
#news-list dl dd a {
	display: block;
	text-decoration: underline;
	margin-left: 110px;
}
#news-list dl dd .category {
	float: left;
	display: block;
	width: 100px;
	margin-top: 4px;
	padding: 5px 0 4px 0;
	background: #00B200;
	color: #FFF;
	font-size: 0.866rem;
	line-height: 1.0;
	text-align: center;
}
#news-list dl dd .category.info {
	background: #00B200;
}
#news-list dl dd .category.seminar {
	background: #00A3D9;
}
#news-list dl dd .category.seminar-bk {
	background: #004C66;
}
#news-list dl dd .category.event {
	background: #006600;
}


@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {



	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#contents {
		width: 92vw;
		margin: auto;
		padding: 10vw 0 12vw 0;
	}
	.top-youtube{
		margin-bottom: 10px;
	}
	.top-youtube iframe{
		width: 100%;
		height: 100%;
	}
	#top-banner .top-youtube .container-block{
		height: initial;
	}
	
	/****************************************************************************************************
	main
	****************************************************************************************************/
	#main > figure img {
		object-position: 35% 50%;
		min-height: initial;
		min-height: auto;
	}
	#main-text {
		/* width: 88vw; */
		/* 2024/12/6変更 */
		/* top:26%; */
		/* 2026/08/03変更 */
		top: 36%;
		/* top: 44%; */
		/* top: 34%; */
		margin-left: 0;
		margin-top: 0;
		mix-blend-mode: normal;
	}
	/* 2026/08/03追加 */
	#main-text h1 {
    font-size: 1.5rem;
    line-height: 1.35;
  }
  /* 2026/08/03削除 */
	/* .main-text1, 
	.main-text1-2, 
	.main-text2{
		position: absolute;
    left: 0;
    top: 0;
		mix-blend-mode: multiply;
	} */
	 /* 2026/08/03追加 */
	 .main-text1 {
    width: 88vw;
    top: 0;
    margin-left: 0;
    margin-top: 0;
    mix-blend-mode: normal;
  }
  .main-text2 {
    width: 88vw;
    top: 0;
    margin-left: 0;
    margin-top: 0;
    mix-blend-mode: normal;
  }
  /* 2026/08/03削除 */
	/* #main-btn {
		position: absolute;
		left: 0; */
		/* 2024/12/6変更 */		
		/* bottom: -34vw; */
		/* bottom: -18vw; */
		/* width: 88vw; */
		/* mix-blend-mode: multiply;
	} */
	/* #main-btn1 {
		position: absolute;
		left: 0; */
		/* 2024/12/6変更 */		
		/* bottom: -48vw; */
		/* bottom: -32vw; */
		/* width: 88vw; */
		/* mix-blend-mode: multiply;
	} */
		/* 2024/12/6追加 */
	#main-btn2 .pl-btn{
		position: absolute;
		left: 0;
		bottom: -19vw;
		/* bottom: -2vw; */
		width: 88vw;
	}					
	#scroll {
		/* 2024/04/19 変更 bottom: 10vw; */
		bottom: 30vw;
		font-size: 0.666rem;
		letter-spacing: 0;
	}
	/* 2026/08/03追加 */
	 @media screen and (min-width: 540px) {
    #scroll {
      bottom: 18vw;
    }
  }
	#scroll a::after {
		width: calc(1vw * 1.5);
		height: calc(5vw * 1.5);
		margin-top: 0.5em;
		margin-left: 2px;
	}
	
	/****************************************************************************************************
	top-banner   2024/12/6追加
	****************************************************************************************************/

	#top-banner.top-flex{
		display: block;
	}
	#top-banner .container.wide1{
		height: auto;
	}
		
	#top-banner .container-block{
		width:100%;
		height: auto;
	}
	#top-banner .col-box{
		width:100%;
	}
	#top-banner .col-box img{
		width: 90%;
    height: auto;
	}
	#top-banner .col-box iframe{
		width: 90%;
  	height: 100%;
	}
	#top-banner .col-box + .col-box{
		margin-top:10px;
	}
	#top-banner .container.pd40{
		padding: 10px;
	}
	
	
	/****************************************************************************************************
	menu
	****************************************************************************************************/
	/* 2024/12/6追加 */
	#top-menu {
		margin-top: 35px;
	}

	#top-menu .container {
		min-height: 40vw;
	}
	#top-menu .container a.bg::after {
		width: calc(3vw * 1.5);
		height: calc(0.7vw * 1.5);
		right: 3.5vw;
		bottom: 3vw;
	}
	#top-menu p {
		font-size: 0.8rem;
	}
	#top-menu .container > div + div {
		margin-top: 2vw;
	}
	/* 2026/08/03追加 */
	 #contents > .top-section-hr {
    margin-top: 10vw;
  }
	
	/****************************************************************************************************
	reason
	****************************************************************************************************/
	#reason {
		margin-top: 10vw;
		font-size: 0.8rem;
	}
	#reason .container {
		/* 24/04/24変更padding: 5vw; */
		/* padding-top: 0vw;　2026/08/03変更 */
		padding-top: 7vw;
	    padding-right: 7vw;
	    padding-bottom:7vw;
		padding-left: 2vw;
	}
	/* #reason .container ul {
		font-size: 1.0rem;/* 24/04/24変更 1.2rem; */
	/* }
	#reason .container ul li {
		width: auto;
	}  */
	/* 2026/08/03追加 */
	#reason .reason-points {
    max-width: 100%;
    width: 100%;
  }
  #reason .reason-points__row {
    flex-direction: column;
    gap: 1vw;
    width: 100%;
    max-width: 100%;
  }
  #reason .reason-points__row:last-child {
    width: 50vw;
    max-width: 50vw;
  }
  #reason .reason-points__row + .reason-points__row {
    margin-top: 4vw;
  }
  #reason .reason-points__title {
    width: 100%;
    font-size: 1rem;
  }
  #reason .reason-points__body {
    width: 100%;
    font-size: 0.933rem;
  }
  #reason .container figure {
    width: 42vw;
    right: -2vw;
  }
	#reason .container figure {
		width: 42vw;
		right: -2vw;
	}
	
	/****************************************************************************************************
	ceremony-plan 2026/07/31追加
	****************************************************************************************************/
  #ceremony-plan {
    margin-top: 10vw;
  }
  #ceremony-plan .top-plan-grid.container-block {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 4vw;
    column-gap: 0;
  }
  .top-plan-card__body.text-only .top-plan-card__price-row{
	  /* gap: 0.5em; 2026/08/04削除 */
  }
  .top-plan-card__title {
    font-size: 1rem;
    padding: 0.65em 0.5em;
  }
  .top-plan-card__body {
    padding: 3vw;
  }
  .top-plan-card__tax {
    font-size: 0.55rem;
  }
  .top-plan-card__yen,
  .top-plan-card__range {
    font-size: 1.2rem;
  }
  .top-plan-card__text {
    font-size: 0.933rem;
  }
  #ceremony-plan .top-plan-grid + .col-box:not(.mt25rem) {
    margin-top: 1rem;
  }
  #ceremony-plan .top-plan-grid + .col-box.mt25rem {
    margin-top: calc(2.5rem * 0.5);
  }

	 /****************************************************************************************************
	kazokuso 2026/08/03追加
****************************************************************************************************/
	 
#kazokuso {
    margin-top: 10vw;
  }
  #kazokuso .bg {
    background: #ffffe7 url(../img/top/kazokuso-bg.jpg) no-repeat right bottom;
    background-size: auto 42vw;
    padding-bottom: 46vw;
  }
  #kazokuso p.xxlarge {
    font-size: 1.2rem;
  }
  #kazokuso > .col-box p {
    font-size: 0.866rem;
  }
  #kazokuso > .col-box p .huge {
    font-size: 1.6rem;
  }
  #kazokuso .top-voice__track {
    gap: 3vw;
  }
  #kazokuso .top-voice__card {
    padding: 5vw 4vw 4vw 4vw;
  }
  #kazokuso .top-voice__card::before {
    border-width: 4vw 4vw 0 0;
  }
  #kazokuso .top-voice__meta {
    font-size: 0.8rem;
  }
  #kazokuso .top-voice__text {
    font-size: 0.933rem;
  }

	/****************************************************************************************************
	service
	****************************************************************************************************/
	#service {
		margin-top: 10vw;
	}
	/* 2026/08/03削除 */
	/* #service .container {
		padding: 5vw 0;
	}
	#service .container.full-img {
		padding: 0;
	}
	#service .container a.bg::after {
		width: calc(3vw * 1.5);
		height: calc(0.7vw * 1.5);
		right: 3.5vw;
		bottom: 3vw;
	}
	#service .container .col-ttl {
		margin-left: 0;
	} */
	/* #service .container .col-box { */
		/* font-size: 0.7rem; 24/04/24変更font-size: 0.8rem;
		line-height: 1.8;
		margin-left: 0; */
	/* } */
	/* 2026/08/03変更 */
	.top-onestop-lead {
    font-size: 0.866rem;
    line-height: 1.7;
  }
  .top-onestop__row {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .top-onestop__head {
    padding: 0.5rem;
  }
  .top-onestop__head-link {
    font-size: 1rem;
  }
  .top-onestop__head-link br {
    display: none;
  }
  .top-onestop__grid,
  .top-onestop__grid--ceremony {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .top-onestop__col {
    grid-column: span 1;
  }
  .top-onestop__cell {
    font-size: 0.75rem;
    padding: 0.5rem;
  }
  .top-onestop__banner-img {
    max-height: 2.25em;
  }
  .top-onestop__col {
    gap: 0.5rem;
  }
  .top-onestop__cell--stack {
    font-size: 0.9rem;
  }
  .top-onestop__photo {
    min-height: 40vw;
    height: 40vw; /* 画像幅差による縦ブレ防止 */
    width: 50%;
    margin: 0 auto;
  }
  .top-onestop__photo img {
    min-height: 0;
    height: 100%;
  }
  .top-onestop__row--ceremony .top-onestop__photo img {
    transform: scale(1.5);
  }
  .top-onestop__row--after .top-onestop__photo img {
    object-position: center center;
  }
	
	
	/****************************************************************************************************
	banner
	****************************************************************************************************/
	#banner {
		margin-top: 10vw;
	}
	#banner ul {
		gap: 2vw;
	}
	#banner ul li {
		width: 45vw;
	}
	/* 2025/06/02追加 */
	#banner ul.download{
		margin-bottom: 30px;
	}
	/* 2026/08/03削除 */
	/* #banner ul.download li {
		width: 100vw;
	} */
	 /* 2026/08/03追加 */
	 #banner ul.download li {
    width: auto;
    text-align: center;
  }
  #banner a.top-download-link {
    font-size: 1rem;
  }
  #banner a.top-download-link::after {
    width: 22px;
    height: 6px;
  }
	/******************/

	
	
	/****************************************************************************************************
	News
	****************************************************************************************************/
	#news {
		margin-top: 10vw;
		font-size: 0.8rem;
	}
	#news-list dl {
		/* 2026/08/03削除 */
		/* -webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		-ms-flex-direction:column; */
		flex-direction:column;
		padding: 1.4em 0;
	}
	#news-list dl dd {
		margin-left: 0;
	}
	#news-list dl dd a {
		margin-left: 22vw;
	}
	#news-list dl dd .category {
		width: 20vw;
		margin-top: 0.3em;
		padding: 0.4em 0 0.4em 0;
		font-size: 0.8rem;
	}
	
}