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

@font-face {
	font-family: 'LINE';
	src: url('../fonts/LINESeedSans_W_XBd.woff2') format('woff');
}

 @font-face {
font-family: digital;
src: url(../fonts/digital_mono.woff) format('woff');
}


/* ルートレベルで変数を定義 */ :root {
  /* フォントサイズ */
  --base-font-size: 16px;
  --small-font-size: 12px;
  --little-font-size: 14px;	
  --tablet-font-size: 1.2rem;
  --retina-font-size: 16px;
--hundred-font-size: 100px;	
  --4k-font-size: 18px;
  /* カラー */
  --text-color: #333;
  --link-color: #333;
  --contents-link-color: red;
  --base-color: #690009;
  --red: red;
	--orange:#ee7800;
	--gold: #ad7c1e;
  --gray: #abb8c3;
--violet: #a40b5d;	
  --brown: #663300;
  --white: white;
--yellow:#ffff00;	
  --black: #333;	
  --white-translucent-bg; rgba(255,255,255,.50);
  --base-bg: #690009;
  --brown-bg: #663309;
  --line-bg: #41c006;
  --gold-bg: #ad7c1e;
  --black-bg: #333333;
  --gray-bg: #eaeaea;
  --orange-bg: #e83818;
  --lemon-bg: #fffde5;
  --light-orange-bg: #fadaa3;
  --moss-green:#d7d7bd;
	--gray:#cccccc;
--pale-gray:#e0e0e0;
	--light-hover-gray:#d0cece;
	--pink:#FFC0CB;
	--lemon: #fffde5;
  /* SNSカラー */
  --fb-color: #1877f2;
  --x-color: #0f1419;
  --insta-color: #CF2E92;
  --yt-color: #DA1725;
  --line-color: #00B900;
	
	/* 背景画像 */
	--hurry-bg-image: url("../images/hurry-bg.webp") no-repeat center/cover;
	--orange-bg-image: url("../images/orange-bg.webp") no-repeat center/cover;
	--auto-omitsumori-bg-image: url("../images/auto-omitsumori-bg.webp") no-repeat center/cover;
  /* 間隔 */
  --space-10: 10px;
  --space-20: 20px;
  --space-30: 30px;	
  --space-40: 40px;
  --space-60: 60px;
	
	/* %幅サイズ*/
  --space-10p: 10%;
  --space-20p: 20%;
  --space-30p: 30%;	
  --space-40p: 40%;
  --space-46p: 46%;
 --space-50p: 50%;	
  --space-60p: 60%;
	
	
  /* コンテンツ幅とパディング */
  --max-content-width: 1200px;
  --content-padding-small: 20px;
  --content-padding-medium: clamp(1.25rem, -0.179rem + 7.14vw, 2.5rem);
  --content-padding-large: 40px;
  --content-padding-xlarge: 60px;
  /* カラム間隔 */
  --gap-2: 2%;
  --gap-5: 5%;
  /* トランジション */
  --transition-fast: 0.25s;
  --transition-slow: 0.5s;
}
/* リセットと基本設定 */
* {
  margin: 0;
  padding: 0;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  color: var(--text-color);
  font-size: var(--base-font-size);
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
	
}

body{
 font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
	font-feature-settings:“palt”;
		 scroll-behavior: smooth;
	
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}




blockquote {
	quotes: none;
}

blockquote:before, blockquote:after {
	content: '';
	content: none;
}

del {
	text-decoration: line-through;
}


table {
	border-collapse: collapse;
	border-spacing: 0;
}

address{
	font-style: normal;
}


address p{
	text-decoration: none;
}




article{
	overflow-x: hidden;
}


/* a設定 */
a img {
  border: none;
}
a img:hover {
  opacity: 0.7;
  transition: var(--transition-slow);
}
a {
  color: var(--link-color);
  text-decoration: none;
  transition: var(--transition-fast);
}
.contents a {
  color: var(--contents-link-color);
}

/* 数字フォント*/

.num-Bebas{
	font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
	line-height: 1em;
}

/* 文字詰め設定 */
.txt-c {
  text-align: center;
}
.txt-r {
  text-align: right;
}

.pc--c-tbsp--l{
	text-align: center!important;
}

@media only screen and (max-width: 980px)  {
	.pc--c-tbsp--l{
	text-align: left!important;
}
}


/* 文字カラー設定 */
.txt-color{
  color: var(--txt-color)!important;
}
.base-color {
  color: var(--base-color);
}
.red {
  color: var(--red);
}
.violet {
  color: var(--violet);
}

.yellow{
	color: var(--yellow);
}
.gray {
  color: var(--gray);
}

.gold {
  color: var(--gold);
}

.brown {
  color: var(--brown);
}
.white {
  color: var(--white);
}

.lemon{
	color: var(--lemon);
}

.pink {
  color: var(--pink);
}
/* 背景カラー設定 */
.base-bg {
  background-color: var(--base-bg);
}
.brown-bg {
  background-color: var(--brown-bg);
}
.line-bg {
  background-color: var(--line-bg);
}
.gold-bg {
  background: var(--gold-bg);
}
.black-bg {
  background: var(--black-bg);
}
.gray-bg {
  background: var(--gray)!important;
}


.pale-gray-bg {
	background: var(--pale-gray);
}

.violet-bg{
	background: var(--violet);
}


.lemon-bg{
	background: var(--lemon-bg);
}

.moss-green-bg{
	background: var(--moss-green);
}

/* デバイス表示設定 */
.pc-only, .pc-tb-only {
  display: block;
}
.tb-sp-only, .sp-only {
  display: none;
}
/* マージン */
.mt10 {
  margin-top: var(--space-10);
}
.mt20 {
  margin-top: var(--space-20);
}
.mt40 {
  margin-top: var(--space-40);
}
.mt60 {
  margin-top: var(--space-60);
}
.mb10 {
  margin-bottom: var(--space-10)!important;
}
.mb20 {
  margin-bottom: var(--space-20)!important;
}

.mb30 {
  margin-bottom: var(--space-30)!important;
}

.mb40 {
  margin-bottom: var(--space-40)!important;
}
.mb60 {
  margin-bottom: var(--space-60)!important;
}
/* パディング */
.p60 {
  padding: var(--space-60) 0;
}
.p40 {
  padding: var(--space-40) 0;
}

.p20 {
  padding: var(--space-20) 0;
}
.p10 {
  padding: var(--space-10) 0;
}



.pt10 {
  padding-top: var(--space-10);
}
.pt20 {
  padding-top: var(--space-20);
}
.pt40 {
  padding-top: var(--space-40);
}
.pt60 {
  padding-top: var(--space-60);
}
.pb10 {
  padding-bottom: var(--space-10);
}
.pb20 {
  padding-bottom: var(--space-20);
}
.pb40 {
  padding-bottom: var(--space-40);
}
.pb60 {
  padding-bottom: var(--space-60);
}

/* ボタン */

.contents-btn a {
    background: var(--gray-bg);
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto auto 0;
    max-width: 300px;
    padding: 10px 25px;
    color: var(--base-color);
    transition: 0.3s ease-in-out;
    font-weight: 500;
	font-weight: bold;
}
.contents-btn a:hover {
    background: var(--base-color);
    color: #FFF;
}
.contents-btn a:after {
   content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 20px;
	 transform: translateY(-50%);
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.contents-btn a:hover:after {
    border-color: #FFF;
}


.contents-btn-nolink {
    background: var(--base-color);
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto auto 0;
    max-width: 260px;
    padding: 10px 25px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	font-weight: bold;
}
.contents-btn-nolink:hover {
    background: var(--red);
    color: #FFF;
}
.contents-btn-nolink:after {
   content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 20px;
	 transform: translateY(-50%);
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.contents-btn-nolink:hover:after {
    border-color: #FFF;
}




.btn-two-column{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:10%;
}




.red-btn-wrapper{
	text-align: center;
	font-weight: bold;
    line-height: 0.8;
}


.red-btn {
	display: inline-block;
  padding: 0.8em 80px 0.8em 60px;
  background-color: red; /* 背景色 */
  box-shadow: 0 5px 0 #ca1c30; /* 影の太さ・色 */
  border-radius: 10px;
  color: #fff!important;
  cursor: pointer;
  text-decoration: none; 
	font-size: 28px;
	position: relative;
	height: 120px;
	
}





.red-btn::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "\f35a";
    top: 40%;
    right: 20px;
    color: white;
    font-size: 32px;
}


.red-btn:hover {
  box-shadow: none;
  transform: translateY(5px);
}

.red-btn-inner {
	width: 100%;
    margin: 0 auto 17px;
    padding: 5px 1em;
    border-radius: 10px;
    background: white;
    color: var(--base-color);
    text-align: center;
    line-height: 1em;
	font-size: 18px;
}


.line-btn-wrapper{
	text-align: center;
	font-weight: bold;
    line-height: 0.8;
}


.line-btn {
    align-items: center;
    padding: 0.8em 80px 0.8em 30px;
    background: var(--line-bg);
    box-shadow: 0 5px 0 #308d05;
    border-radius: 10px;
    color: #fff!important;
    cursor: pointer;
    text-decoration: none;
    position: relative;
	font-size: 28px;
	display: inline-block;
	height: 120px;

}

.line-btn i {
  font-size: 36px;
}

.line-btn .line {
  font-size: 36px;
}

.line-btn-inner {
	width: 100%;
    margin: 0 auto 10px;
    padding: 5px 1em;
    border-radius: 10px;
    background: white;
    color: var(--line-bg);
    text-align: center;
    line-height: 1em;
	font-size: 18px;
}


.line-btn:hover {
  box-shadow: none;
  transform: translateY(5px);
}


.line-btn::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "\f35a";
    top: 40%;
    right: 20px;
    color: white;
    font-size: 32px;
}

@media only screen and (max-width: 1199px)  {
.btn-two-column{
	flex-direction: column;
}
	
	.btn-two-column .red-btn-wrapper{
		margin-bottom: 40px;
}


}

@media only screen and (max-width: 480px)  {
	
	.btn-two-column{
	flex-direction: column;
}
	
		.btn-two-column .red-btn-wrapper{
		margin-bottom: 20px;
}
	
		.btn-two-column .red-btn-wrapper,.btn-two-column .line-btn-wrapper{
		width: 100%;
}
	
	.red-btn {
	display: block;	
    padding: 0.8em 50px 0.8em 20px;
    font-size: clamp(1rem, 5vw, 1.5rem);
		height: auto;
  
}
	
	.red-btn-inner {
	font-size: clamp(0.75rem, 3.75vw, 1.125rem);
}
	
	.red-btn::after {
    right: 12px;
        font-size: 26px;
}
	
		.line-btn {
	display: block;	
    padding: 0.8em 50px 0.8em 20px;
    font-size: clamp(1rem, 5vw, 1.5rem);
			height: auto;
  
}
	
	.line-btn-inner {
	font-size: clamp(0.75rem, 3.75vw, 1.125rem);
}
	
	.line-btn::after {
    right: 12px;
        font-size: 26px;
}
	
}


@media only screen and (max-width: 350px)  {
	
	.red-btn-inner {
		margin: 0 auto 10px;
}
	
	.line-btn .line {
    font-size: 24px;
}
}

/* コンテンツ*/
.full-size-wrapper{
	max-width: 1160px;
  width: 95%;
	margin: 0 auto;
}

/* イメージ配置 */
.full-image {
  display: block;
  width: 100%;
  height: auto;
}

/* QRコード */

.qr-image {
  display: block;
  width: 30%;
  height: auto;
  margin: 0 auto;
}


@media only screen and (max-width: 1199px)  {
.qr-image {
  display: block;
  width: 50%;
   margin: 0 auto;
}
}

@media only screen and (max-width: 480px)  {
.qr-image {
  display: block;
  width: 100%;
  height: auto;
}
}

/* 半透明 */
.translucent-area{
  background-color: white;
  opacity: 0.5;
}

/* SNSカラー */
.fb-c {
  color: var(--fb-color);
}
.x-c {
  color: var(--x-color);
}
.insta-c {
  color: var(--insta-color);
}
.yt-c {
  color: var(--yt-color);
}
.line-c {
  color: var(--line-color);
}

/* 文字改行*/
.line-break{
	display: block;
}

/* 共用ブロック*/
.gold-block{
	border: 1px solid var(--gold);
	width: 70%;
	margin: 20px auto;
	padding: 20px;
}

/* 共通タイトル*/
.section-title{
	text-align: center;
	font-size: 28px;
    line-height: 1.2em;
    color: var(--black);
	font-weight: bold;
	
}


.section-title h2{
    line-height: 1;
    color: var(--base-color);
	font-size: clamp(1.75rem, 1.6rem + 0.75vw, 2.5rem);
	line-height: 1.2em;
}


@media only screen and (max-width: 600px)  {
	.section-title{
	font-size: clamp(1.5rem, 1.214rem + 1.43vw, 1.75rem);
	
}



	
}


.description-txt{
	font-weight: bold;
	text-align: center;
	font-size: clamp(1.125rem, 1.05rem + 0.38vw, 1.5rem);
}


/* ヘッダー */

.header{
	height: calc(5vw + 30px);
	position: fixed;
	z-index: 1000;
	width: 100%;
	background: white;
}

.header-inner{
	
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


@media only screen and (max-width: 1199px)  {
	
	.header{
	height: 60px;
}
	
	.header-inner{
	padding: 0;
	width: 100%;
	height: 60px;
	position:relative;
		

}

}

/* ヘッダーロゴ */

.header-logo-area{
	display: flex;
	justify-content: center;
	align-items: center;
	
}


.header-logo-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	
}

.header-logo-wrapper img{
	width: 3.7vw;
	height: auto;
	display: block;
	margin-right: 10px;
	
}

.header-logo{
	text-align: center;
}

.site-title{
	font-size: 1.7vw;
	  line-height: 1em;
	padding-top: 0.25em;
	font-weight: bold;
	
}


.site-subtitle{
	font-size: 0.8vw;
	padding-top: 0.25em;
}


h2.catch-phrase{
	font-size: 0.8vw;
	line-height: 1.5em;
	font-weight: normal;
	margin-left: 2em;
}

h2.catch-phrase strong{
	font-weight: normal;
}


@media only screen and (max-width: 1199px)  {
	
	.header-logo-area {
    position: absolute;
    top: 10px;
    left: 15px;
		z-index: 2000;
}
	
	.header-logo-wrapper img{
	width: 42px;
	
}
	
	.site-title {
    font-size: 22px;
    line-height: 0.7;
    padding-top: 0.25em;
}
	
	.site-subtitle {
    font-size: 10px;
    padding-top: 0.25em;
}

	h2.catch-phrase {
    font-size: 10px;
}
	
}


@media only screen and (min-width: 481px) and (max-width: 767px) {
	
	h2.catch-phrase {
    font-size: clamp(0.5rem, 0.29rem + 0.7vw, 0.625rem);
}
}


@media only screen and  (max-width: 480px) {
	
	h2.catch-phrase {
		display: none;
}
}

/* PCナビゲーション */

.pc-nav{
	
}

.pc-nav-other {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 7px;
	gap: 20px; /* 要素間に余白 */
}

/* 供花のご注文ボタン */
a.pc-nav-kyouka {
	display: block;
	padding: 0.25em 1em;
	border-radius: 1em;
	border: 1px solid var(--brown);
	background: var(--brown);
	color: var(--white);
	font-weight: bold;
	font-size: 0.75vw;
	text-decoration: none;
	transition: background 0.3s;
}

a.pc-nav-kyouka:hover {
	background: var(--red);
}

/* 会館ナビゲーション */
.pc-nav-hall-wrapper {
	display: flex;
	align-items: center;
	margin: 0 20px;
	font-weight: bold;
}

.pc-nav-hall {
	padding: 0.25em 1em;
	margin-right: 10px;
	border: 1px solid var(--brown);
	border-radius: 1em;
	color: var(--brown);
	font-size: 0.7vw;
	background: transparent;
}

.pc-nav-hall-wrapper ul {
	display: flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.pc-nav-hall-wrapper ul li {
	margin: 0;
	font-size: 0.85vw;
}


.pc-nav-hall-wrapper ul li a:hover{
	color: var(--red);
}

.pc-nav-hall-wrapper ul li:first-child::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 1em;
	background-color: #999;
	margin: 0 0.5em;
	vertical-align: middle;
}

/* 電話ナビゲーション */
.pc-nav-tel-wrapper {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pc-nav-timedate {
	display: inline-block;
	padding: 0.25em 1em;
	border: 1px solid var(--brown);
	border-radius: 0.5em;
	color: var(--brown);
	font-size: 0.5vw;
	line-height: 1.2;
	text-align: center;
}

.pc-nav-tel {
	display: inline-flex;
	align-items: center;
	font-family: "Bebas Neue", sans-serif;
	font-size: 2vw;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--base-color);
	text-decoration: none;
	transition: color 0.3s;
}

.pc-nav-tel:hover {
	color: var(--red);
}

.pc-nav-tel::before {
	content: "";
	display: inline-block;
	width: 50px;
	height: 22px;
	background: url('../images/free-dial.svg') no-repeat center;
	background-size: contain;
	margin-right: 5px;
}


/* PCサブメニュー */

.pc-nav-menu ul{
		display: flex;
    justify-content: space-around;
    align-items: center;
    font-weight: bold;
    font-size: 120%;
}


.pc-nav-menu ul li{
	margin-right: 1.5em;
}

.pc-nav-menu ul li:last-child{
	margin-right: 0;
}


.pc-nav-menu ul li a{
	display: block;
}



.pc-nav-menu ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-weight: bold;
  font-size: 1.03vw;
}

.pc-nav-menu ul li {
  margin-right: 1.5em;
}

.pc-nav-menu ul li:last-child {
  margin-right: 0;
	
}

.pc-nav-menu ul li a {
  display: block;
  padding: 0.5em 0;
  transition: color 0.3s ease;
  text-decoration: none;
  color: #000;
position: relative;	
}

.pc-nav-menu ul li:last-child a{
  color: var(--white);
	background: var(--red);
	padding: 0.25em 1.25em;
	display: block;
	border: 2px solid var(--red);
	transition: all 0.3s 0s ease;
	 box-shadow: 0 3px 0 var(--base-color);
}


.pc-nav-menu ul li:last-child a:hover{
  color: var(--red);
	background: none;
	border: 2px solid var(--red);
	transition: all 0.3s 0s ease;
	box-shadow: 0 1px 0 var(--base-color);
}


.pc-nav-menu ul li:hover > a {
  color: red;
}

.pc-nav-menu ul li:hover > a::after {
  width: 100%;
}


.fukidashi-line  {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    z-index: 20;
	width: 3840px;
	height: 18px;
	background-image: url("../images/fukidashi-line.svg");
	background-repeat: no-repeat;
}


.pc-nav-menu ul li:hover .fukidashi-line {
  opacity: 1;
  visibility: visible; /* <a>タグにホバー時に表示 */
}



.submenu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100vw; /* ← デバイス幅100% */
  background-color: #fff;
  display: flex;
  justify-content: center;
  padding: 1em 0;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  opacity: 0;
  visibility: hidden;
  z-index: 10;
	  transition: opacity 0.3s ease, visibility 0s 0.3s;
}

.pc-nav-menu ul li:hover .submenu {
  opacity: 1;
  visibility: visible;
	transition: opacity 0.3s ease, visibility 0s 0s; /* ホバー時はすぐに表示 */
}

.subitem-wrapper {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
	
}

.subitem-title-wrapper{
	display: flex;
	align-items: center;
	font-weight: bold;
	
}


.subitem-title h2{
	font-size: clamp(1.5rem, 0.25rem + 1.67vw, 2.25rem);
	color:var(--base-color);
	
}


.subitem-title h3{
	font-size: clamp(0.875rem, 0.146rem + 0.97vw, 1.313rem);
	
}

.subitem {
  text-align: center;
width: clamp(11.25rem, 3.958rem + 9.72vw, 15.625rem);
  text-decoration: none;
  color: inherit;
	transition: transform 0.3s ease!important;
  
}

.subitem:hover {
  transform: scale(1.05);
}

.subitem img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}

.subitem p {
  margin-top: 0.5em;
  font-size: 75%;
}

@media only screen and (max-width: 1199px)  {
	
	.pc-nav{
		position: absolute;
		right: 75px;
	}
	
	.pc-nav-menu{
		display: none;
	}
	
	.pc-nav-tel-wrapper{
		display: none;
	}
	
	
	.pc-nav-other {
    margin-bottom: 0px;
    gap: 0px;
}
	
	a.pc-nav-kyouka {
    font-size: 12px;
}
	
	
	.pc-nav-hall {
    font-size: 12px;
}
	
	.pc-nav-hall-wrapper ul li {
    font-size: 14px;
}
}


@media only screen and (max-width: 980px) {
	
	    .pc-nav {
        position: absolute;
        right: auto;
        top: 60px;
        height: 50px;
        width: 100%;
        background-color: aliceblue;
			display: flex;
			justify-content: center;
			align-items: center;
			
    }
	
	
	.pc-nav-hall-wrapper {
    margin: 0 1.5vw;
}
	
		a.pc-nav-kyouka{
    font-size: clamp(0.625rem, 0.564rem + 0.3vw, 0.75rem);
}
	
		.pc-nav-hall{
    font-size: clamp(0.594rem, 0.518rem + 0.38vw, 0.75rem);
}
	
	.pc-nav-hall-wrapper ul li {
        font-size: clamp(0.625rem, 0.564rem + 0.3vw, 0.75rem);
    }
	
}

/* フッター */

.footer-inner {
  max-width: 1150px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.footer-logoarea {
  max-width: 300px;
  width: 100%;
}

.footer-logoarea a {
  color: white;
}



.footer-logoarea a p{
  font-size: var(--little-font-size);
	text-align: center;
	margin-bottom: var(--space-10);
}

.logo-wrapper {
  display: block;
  width: 300px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
	margin: 0 auto;
}

.footer-navarea {
  max-width: 750px;
  width: 100%;
}

.footer-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-logo img {
  height: auto;
}

.footer-logo img:first-child {
  width: 55px;
}

.footer-logo img:last-child {
  width: 200px;
  margin-left: 10px;
}

ul.footer-branch,
ul.footer-sns {
  margin-top: 50px;
  margin-left: 20px;
}

ul.footer-branch li,
ul.footer-sns li {
  margin-bottom: 15px;
}

ul.footer-branch li a {
  font-size: 1.2em;
  font-weight: bold;
}

ul.footer-branch li address a {
  font-size: 1em!important;
  font-weight: normal!important;
}

ul.footer-sns {
  width: 200px;
  display: flex;
  justify-content: space-between;
}

ul.footer-sns li {
  font-size: 25px;
}

ul.footer-sns li a:hover {
  color: yellow;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 20px;
  padding: 0;
  margin-bottom: var(--space-40);
  list-style: none;
}

/* 3列レイアウト */
.footer-nav > li {
  flex: 1 1 calc(33.333% - 20px);
}

/* 最初のli > a（メイン項目） */
.footer-nav > li > a {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1em;
  display: inline-block;
  color: white;
}

/* サブメニューのul */
.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* サブメニューのリンク */
.footer-nav li ul li a {
  font-weight: bold;
  margin-bottom: 0.5em;
  display: inline-block;
  color: white;
font-size: var(--little-font-size);
}
.copyright{
	display: block;
	font-size: var(--little-font-size);
	text-align: right;
}

@media only screen and (max-width: 1199px) {
	footer{
		padding-bottom:160px;
	}
}


@media only screen and (max-width: 767px) {
	.footer-inner {
		flex-direction: column;
		
}
	.footer-logoarea {
    margin: 0 auto;
}
	
	ul.footer-branch, ul.footer-sns {
    margin-left: 50px;
}
	
	
	ul.footer-nav {
  display: none;
}
	
	.copyright{
	text-align: center;
}
	
}

@media only screen and (min-width: 768px) and (max-width: 980px) {
		.footer-inner {
		flex-direction: column;
		padding: 0 40px;	
		
}
	
	.footer-logoarea {
		max-width: inherit;
}
	
	ul.footer-branch{
		display: flex;
		flex-wrap: wrap;
		width: 70%;
		margin: 50px auto 0;
	}
	
	ul.footer-branch li{
		width: 50%;
	}
	
	ul.footer-sns {
    margin: 20px auto 50px;
}
	.footer-navarea {
		margin: 0 auto;
		padding-left: 60px;
}
	
}


@media only screen and (min-width: 981px) and (max-width: 1199px) {
		.footer-inner {
		flex-direction: column;
		padding: 0 40px;	
		
}
	
	.footer-logoarea {
		max-width: inherit;
}
	
	ul.footer-branch{
		display: flex;
		flex-wrap: wrap;
		width: 60%;
		margin: 50px auto 0;
	}
	
	ul.footer-branch li{
		width: 50%;
	}
	
	
	ul.footer-sns {
    margin: 20px auto 50px;
}
	
		.footer-navarea {
		margin: 0 auto;
			padding-left: 70px;
}
	
}


/* メイン */
.top-padding{
	padding-top: calc(5vw + 30px);
}


@media only screen and (max-width: 1199px)  {
	.top-padding{
	padding-top: 60px;
}

}


@media only screen and (max-width: 980px)  {
	.top-padding{
	padding-top: 110px;
}

}

/* コンテンツ */
.contents-wrapper {
  max-width: var(--max-content-width);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--content-padding-xlarge);
	 line-height: 2em;
}
.contents {
  width: 95%;
	margin: 0 auto;
 
}










/* 1カラム設定 */




.one-column li a{
	position: relative;
	 width: 95%;
	margin: 0 auto;
	display: block;
}


.one-column li:last-child{
	margin-bottom: 0;
}


/* 2カラム設定 */
.two-column {
  display: flex;
  flex-wrap: wrap;
	 align-items: stretch;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0 var(--gap-5);
}
.two-column li {
  flex: 0 0 47.5%;
  margin-bottom: var(--space-40);
  box-sizing: border-box;
position: relative;
	display: flex;
	flex-direction: column;
}
.two-column li > * {
  width: 100%;
}
.two-column li:last-child, .two-column li:nth-last-child(2):nth-child(odd) {
  margin-bottom: 0;
}
/* 3カラム設定 */
.three-column {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0 var(--gap-2);
  justify-content: flex-start;
}
.three-column li {
  flex: 0 0 32%;
  margin-bottom: var(--space-40);
  box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
.three-column li > * {
  width: 100%;
}


.three-column li h4{
	font-size: 18px;
}
/* 4カラム設定 */
.four-column {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0 var(--gap-2);
  justify-content: flex-start;
}
.four-column li {
  flex: 0 0 23.5%;
  margin-bottom: var(--space-20);
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
	display: flex;
	flex-direction: column;
}
.four-column li > * {
  width: 100%;
  height: 100%;
}
.four-column li:nth-last-child(-n + 4):nth-child(4n + 1), .four-column li:nth-last-child(-n + 3):nth-child(4n + 2), .four-column li:nth-last-child(-n + 2):nth-child(4n + 3), .four-column li:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .four-column li {
    flex: 0 0 48%;
    margin-bottom: var(--space-20);
  }

  .four-column li:nth-last-child(-n + 2):nth-child(2n + 1),
  .four-column li:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 480px) {
  .two-column li,
  .three-column li,
  .four-column li {
    flex: 0 0 100%;
    margin-bottom: var(--space-20);
  }

  .two-column li:last-child,
  .three-column li:last-child,
  .four-column li:last-child {
    margin-bottom: 0;
  }
	
	.two-column li:last-child, .two-column li:nth-last-child(2):nth-child(odd) {
  margin-bottom: var(--space-20);
}
}


/* 4/3カラム設定 */
.four-three-column {
  display: flex;
  flex-wrap: wrap;
	 align-items: stretch;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0 var(--gap-5);
}





/* メディアクエリ */
/* 超小型スマートフォン (〜320px) */
@media only screen and (max-width: 319px) {
  body {
    font-size: calc(var(--base-font-size) + 0.5vw);
  }
  .pc-only, .pc-tb-only, .tb-sp-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .contents-wrapper {
    padding: 0 var(--content-padding-small);
  }
  .two-column, .three-column {
    gap: 0;
  }
  .two-column li, .three-column li {
    flex: 0 0 100%;
    margin-bottom: var(--space-20);
  }
  .two-column li:last-child, .three-column li:last-child {
    margin-bottom: 0;
  }
  .four-column li {
    flex: 0 0 49%;
  }
  .four-column li:nth-last-child(-n + 2):nth-child(2n + 1), .four-column li:last-child {
    margin-bottom: 0;
  }
}
/* 小型スマートフォン (321px〜480px) */
@media only screen and (min-width: 320px) and (max-width: 480px) {
  body {
    font-size: calc(var(--base-font-size) + 0.5vw);
  }
  .pc-only, .pc-tb-only, .tb-sp-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .contents-wrapper {
    padding: 0 var(--content-padding-medium);
  }
  .two-column, .three-column {
    gap: 0;
  }
  .two-column li, .three-column li {
    flex: 0 0 100%;
    margin-bottom: var(--space-20);
  }
  .two-column li:last-child, .three-column li:last-child {
    margin-bottom: 0;
  }
  .four-column li {
    flex: 0 0 49%;
  }
  .four-column li:nth-last-child(-n + 2):nth-child(2n + 1), .four-column li:last-child {
    margin-bottom: 0;
  }
}
/* 中型スマートフォン (481px〜767px) */
@media only screen and (min-width: 481px) and (max-width: 767px) {
  body {
    font-size: calc(var(--base-font-size) + 0.5vw);
  }
  .pc-only, .pc-tb-only, .sp-only {
    display: none;
  }
  .tb-sp-only {
    display: block;
  }
  .contents-wrapper {
    padding: 0 var(--content-padding-large);
  }
  .two-column li {
    flex: 0 0 100%;
    margin-bottom: var(--space-20);
  }
  .two-column li:last-child {
    margin-bottom: 0;
  }
  .two-column li:nth-child(n):nth-last-child(-n + 2) {
    margin-bottom: var(--space-20);
  }
  .three-column li {
    flex: 0 0 49%;
  }
  .three-column li:nth-last-child(-n + 2):nth-child(2n + 1), .three-column li:last-child {
    margin-bottom: 0;
  }
}


/* 横並びカラム */
.box-container{
	display: flex;
  justify-content: space-between;
  gap: 0 var(--gap-5);
}

.box55 {
  width: 55%;
}



.box50 {
  width: 50%;
}

.box45 {
  width: 45%;
}

.box43 {
  width: 45%;
}

/* タブレット縦 (768px〜991px) */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  body {
    font-size: var(--tablet-font-size);
  }
  .pc-only, .tb-sp-only, .sp-only {
    display: none;
  }
  .pc-tb-only {
    display: block;
  }
}
/* タブレット横 / 小型PC (992px〜1199px) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  body {
    font-size: var(--tablet-font-size);
  }
  .pc-tb-only {
    display: block;
  }
}
/* 中型PC (1200px〜1439px) */
@media only screen and (min-width: 1200px) and (max-width: 1439px) {
  body {
    font-size: var(--tablet-font-size);
  }
  .pc-only {
    display: block;
  }
}
/* 大型PC / ワイドスクリーン (1440px〜) */
@media only screen and (min-width: 1440px) {
  body {
    font-size: var(--tablet-font-size);
  }
  .pc-only {
    display: block;
  }
}
/* Retinaディスプレイ */
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  body {
    font-size: var(--retina-font-size);
  }
}
/* 4K対応 */
@media only screen and (-webkit-min-device-pixel-ratio: 3), (min-resolution: 288dpi) {
  body {
    font-size: var(--4k-font-size);
  }
}




/* ページヘッダー */

.page-title-area{
	 width: 100%;
		height: 300px;
		position: relative;
		overflow: hidden;
}


.page-title-area img{
	 width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}


.page-title-mask{
	    width: 100%;
		height: 100%;
	position: absolute;
	z-index: 2;
background-image: linear-gradient(117deg, #ffffffe6 10%, #ffffff73 45%, transparent 90%);
}



.page-image-wrapper {
  max-width: var(--max-content-width);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--content-padding-xlarge);
}


.page-title-wrapper{
	max-width: 1160px;
	width: 90%;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 2;
	height: 100%;
	display: flex;
		align-items: center;
}
	
	

	
	.page-title h1 {
   font-size: clamp(1.875rem, 1.75rem + 0.63vw, 2.5rem);
    line-height: 1;
    margin-bottom: 0.25em;
    letter-spacing: 0.15em;
		color: var(--base-color);
}

	
	.page-title h2 {
    font-size: clamp(1rem, 0.938rem + 0.31vw, 1.313rem);
    letter-spacing: 0.25em;
}



.contents-h2-title {
	font-size: clamp(1.313rem, 1.225rem + 0.44vw, 1.75rem);
  border-bottom: solid 3px var(--gray);
  position: relative;
	padding-bottom: 0.5em;
}

.contents-h2-title:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px var(--base-color);
  bottom: -3px;
  width: 15%;
}


@media only screen and (max-width: 1199px)  {
	
	.page-image-wrapper {
  padding: 0;
}

		
	}

/* リスト */

ul.item-list {
		margin: 1.5em;
		list-style: none;
		padding-left: 1.5em;
		font-size: 0.95em;
	}
	ul.item-list li {
		margin-bottom: 0.5em;
		border: none;
		width: 100% !important;
		position: relative;
		padding-left: 1em;
		list-style: none;
	}
	ul.item-list li::before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f058";
		position: absolute;
		left: -1.5em;
		top: 0;
	}
	@media only screen and (max-width: 980px) {
		ul.item-list {
			margin: 1em 0;
			list-style: none;
			padding-left: 1em;
		}
		ul.item-list li::before {
			left: -0.5em;
		}
	}



/* dl dt dd*/

dl.information dt{
	font-size: clamp(1.125rem, 1.087rem + 0.19vw, 1.313rem);
	padding: 0.25em;
	margin-bottom: 0.5em;
	border-bottom: dotted var(--gray) 1px;
	line-height: 1.5em;
	padding-left: 1.5em;
  text-indent: -1.4em;
	font-weight: bold;
}


dl.information dd{
	margin-bottom:30px;
}

dl.information dd a{
	color: var(--text-color);
}

	
dl.information dd:last-child{
	margin-bottom:0;
}



/* パーツ*/

/* パンくずリスト*/
.breadcrumb{
	
	font-size: var(--small-font-size);
	padding: 0.5em 0;

}

/* ページ用会員登録バナー*/
.page-members-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  line-height: 1.2em;
  gap: 15px;
}

.page-members-text-area {
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-members-free-wrapper {
  background: var(--light-orange-bg);
  padding: 5px 0;
  color: var(--black);
  text-align: center;
}

.page-members-free {
  font-size: 28px;
  letter-spacing: 21px;
  text-indent: 21px;
  line-height: 1em;
}

.page-members-txt-wrapper {
  text-align: center;
  color: var(--white);
}

.page-members-txt {
  font-size: 21px;
}

.page-members-banner-regist-wrapper {
  position: relative;
}

.page-members-banner-regist-wrapper img {
  width: 130px;
  height: auto;
  display: block;
  transform: rotate(-5deg) rotateX(5deg);
  position: absolute;
  left: 0;
  bottom: -10px;
}

.page-members-banner-regist-wrapper img:hover {
  opacity: 1;
}

.page-members-banner-regist {
  background: var(--white);
  color: var(--base-color);
  font-size: 24px;
  padding: 10px 1em;
  margin-left: 120px;
}

.page-members-banner-regist::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f35a";
}



@media screen and (max-width: 980px) {
	
	.page-members-banner-regist-wrapper img{
	width: 110px;
}
	
.page-members-banner-regist {
    margin-left: 90px;
}
}


@media screen and (max-width: 767px) {
	
	.page-members-banner {
    flex-direction: column;
}
	
	.page-members-free-wrapper {
    padding: 5px 0.25em;
}
	
	.page-members-free {
    font-size: clamp(1.313rem, 1.098rem + 1.07vw, 1.5rem);
}

	.page-members-banner-regist {
    font-size: clamp(1.125rem, 0.696rem + 2.14vw, 1.5rem);
}

	.page-members-banner-regist-wrapper img{
        width: clamp(6.25rem, 5.536rem + 3.57vw, 6.875rem);
	bottom: -20px;
}


}

/* 会員様割引価格*/

.discount-price{
	width:150px;
	height: 150px;
	border-radius: 50%;
	background: var(--orange-bg);
	font-weight: bold;
	color: var(--white);
	position: relative;
	font-size: 30px;
	border: solid white 2px;
	line-height: 1.2em;
}


.discount-price::after{
	position: absolute;
	content: "会員様\A割引価格";
	white-space: pre;
	text-align: center;
	top: 50%;
    left: 50%;
	width: 100%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	text-shadow:2px 2px 0 #f39800, -2px -2px 0 #f39800,
              -2px 2px 0 #f39800, 2px -2px 0 #f39800,
              0px 2px 0 #f39800,  0 -2px 0 #f39800,
              -2px 0 0 #f39800, 2px 0 0 #f39800;
}


/* 付帯品アイコン*/

.futai-item{
	width:130px;
	height: 130px;
	border-radius: 50%;
	background: var(--light-orange-bg);
	font-weight: bold;
	position: relative;
	border: solid white 1px;
}

.futai-word{
	position: absolute;
	text-align: center;
	top: 50%;
    left: 50%;
	width: 100%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	font-size: 18px;
}

.futai-strong-word{
	font-size: 110%;
	color: red;
}


@media screen and (max-width: 1199px) {
	
	.futai-item{
	width:clamp(5.625rem, 1.17rem + 9.28vw, 8.125rem);
	height: clamp(5.625rem, 1.17rem + 9.28vw, 8.125rem);

}
	
	
	.futai-word{
	font-size: clamp(0.813rem, 0.256rem + 1.16vw, 1.125rem);
}
}



@media screen and (max-width: 767px) {
	
	.futai-item{
	width:clamp(4.688rem, 2.902rem + 8.93vw, 6.25rem);
	height:clamp(4.688rem, 2.902rem + 8.93vw, 6.25rem);

}
	
	
	.futai-word{
	font-size:clamp(0.625rem, 0.339rem + 1.43vw, 0.875rem);
}
}


/* 家族葬プラン*/

.sougi-plan{
	font-weight: bold;
	line-height: 1em;
	    padding: 2em 1.8em;
    border-radius: 10px;
	background: var(--white);
	border:2px solid var(--base-color);
	position: relative;
	
}

.sougi-plan-catch{
	position: absolute;
	display: inline-block;
	top:-1em;
	font-size: 21px;
	background: var(--gold);
	color: white;
	text-align: center;
	padding: 0.5em 1em;
	left: 50%;
	width: 95%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	line-height: 1.2em;
	border-radius: 10px;
}


.sougi-plan h3{
	font-size: 36px;
    text-align: center;
    margin-bottom: 30px !important;
    color: var(--base-color);
}

.sougi-plan p{
	font-weight: normal;
    text-align: center;
    line-height: 1.5em;

	
}

.sougi-plan-price-teika-num, .sougi-price-person-num,
.sougi-price-num, .sougi-plan-zeikomi-num, .sougi-plan-price-subtitle_num{
 font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
	
}




.sougi-plan-price-subtitle{
	border: 1px solid var(--black);
    padding: 0.5em 1em;
    margin-bottom: 20px;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sougi-plan-price-subtitle_num{
	font-size: 40px;
    padding: 0 0.1em;
    color: var(--red);
	
}

.sougi-plan-price-teika{
	margin-bottom: 20px;
    font-size: 21px;
    text-align: center;
	line-height: 1em;
}


.sougi-plan-price-teika-num{
	font-size: 30px;
	padding: 0 0.1em;
	line-height: 1em;
}

.sougi-plan-price-wrapper{
	
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
	margin-bottom: 10px;
}


.sougi-plan-price-person-wrapper{
  background: var(--base-bg);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    border-radius: 10px;
    gap: 2px;
    padding: 0.1em 0.75em;
	
}



.sougi-price-person-num{
    font-size: 60px;
    padding-top: 5px;
    line-height: 1em;
}



.sougi-plan-price-circle {
    background: var(--base-bg);
    position: relative;
    color: white;
    border-radius: 50%;
	width: 80px; /* 任意のサイズ */
    height: 80px;
    text-align: center;
    overflow: hidden;
}

.sougi-plan-price-circle::after {
    content: "割引\A価格"; /* \A で改行 */
    white-space: pre; /* \A を改行として扱う */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 24px; /* 必要に応じて調整 */
    line-height: 1em;
    pointer-events: none;
	color:var(--base-white);
}

.sougi-plan-price{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 42px;
	color: var(--orange);
}

.sougi-price-num{
	font-size: 120px;
	line-height: 0.75em;
}


.sougi-plan-price-zeikomi-wrapper{
	display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
    font-size: 24px;
    padding-right: 1em;
}



.sougi-plan-price-zeikomi{
	padding: 0.25em;
    text-align: center;
    border: solid 1px #690009;
    border-radius: 0.5em;
    background: var(--white-translucent-bg);
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
    font-size: 16px;
}

.sougi-plan-zeikomi-num{
   font-size: 40px;
    line-height: 1em;

}

.sougi-plan-description{
	font-weight: normal;
	line-height: 1.5em;
}
	
@media screen and (max-width: 1199px) {
	
	.sougi-plan{
	padding: 1.5em 1em;
}
	
	.sougi-plan-price-subtitle{
    font-size: clamp(0.875rem, 0.098rem + 1.62vw, 1.313rem);
}
	
	.sougi-plan-price-person-wrapper {
    padding: 0.1em 0.5em;
}
	
	.sougi-price-person-num {
    font-size: clamp(2.25rem, 1.806rem + 0.93vw, 2.5rem);

}
	
	.sougi-plan-price {
    font-size: clamp(1.75rem, 0.862rem + 1.85vw, 2.25rem);
}
	
	.sougi-price-num {
   font-size: clamp(3.75rem, 1.531rem + 4.63vw, 5rem);
}
	
	.sougi-plan-price-subtitle {
    padding: 1em;
 
}
}

	


/* 直葬プランのアイコン*/


.chokusou-icon{
  width: 100px;
	height: 60px;
	background: var(--base-bg);
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: white;
	border-radius: 0.5em;
	
}


.chokusou-subtitle{
	font-size: 18px;
	line-height: 1.2em;
	
}

.chokusou-title{
	font-size: 30px;
	line-height: 1em;
	letter-spacing: 0.25em;
	text-align: center;
	padding-left: 0.25em;
	
}


/* 会員無料のアイコン*/
.members-free-wrapper{
  display: inline-block;
  width: 200px;
  height: 65px;
  background: #e83818;
  clip-path: polygon(0 -57.1%, 87.5% -57.1%, 87.5% 0, 100% 50%, 87.5% 100%, 87.5% 157.1%, 0 157.1%);
	position: relative;
}

.members-free{
  display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: white;
	width: 180px;
	margin-top: 10px;
}

.members-free-word{
	font-size: 18px;
	line-height: 1.2em;
	margin-right: 1em;
	text-align: center;
  
}

.members-free-title{
	font-size: 40px;
	line-height: 1em;
	letter-spacing: 0.25em;
	
}


/* SNS共有*/
ul.sns-share {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
  justify-content: flex-end;
}

ul.sns-share li {
  display: flex;
  align-items: center;
}

ul.sns-share .sns_link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: clamp(1.75rem, 1.542rem + 0.28vw, 1.875rem);
  height: clamp(1.75rem, 1.542rem + 0.28vw, 1.875rem);
  border-radius: 50%;
  color: #fff;
  font-size: clamp(1.125rem, 0.917rem + 0.28vw, 1.25rem);
  text-decoration: none;
  transition: transform 0.3s ease;
}

/* 各SNSアイコンに応じた背景色 */
.line-bg {
  background-color: #06C755;
}

.fb-bg {
  background-color: #1877F2;
}

.x-bg {
  background-color: #000;
}

/* ホバー時のアニメーション */
ul.sns-share .sns_link:hover {
  transform: scale(1.1);
}

/* シェアタイトルも調整（オプション） */
.sns-share-title {
  font-weight: bold;
  font-size: 24px;
    margin-right: 14px;
}

/* レスポンシブ対応（スマホサイズで中央寄せ＆やや小さめに） */
@media screen and (max-width: 480px) {
  ul.sns-share .sns_link {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }

  ul.sns-share {
    gap: 8px;
  }
}





/*葬儀プラン*/
.page-sougi-plan-bg{
	background: url("../images/plan-bg.webp");
	background-repeat: no-repeat;
	background-position: center;
	border-top: solid 3px var(--base-color);
	border-bottom: solid 3px var(--base-color);
	background-size: cover;
	
}

.page-sougi-plan-wrapper{
	  display: flex;
  flex-wrap: wrap;
}

.page-sougi-plan-left{
	width: 45%;
	overflow: hidden;
}




.page-sougi-plan-left img{
	width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.page-sougi-plan-right{
	width: 55%;
	text-align: center;
	font-size: 36px;
    font-weight: bold;
}


.page-sougi-plan-right h2{
    text-align: center;
    background-color: var(--base-color);
    padding: 0.5em 1.5em;
    font-size: 21px;
    color: white;
    border-radius: 50px;
	display: inline-block;
}

.page-sougi-plan-inner{
display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
}

.page-sougi-plan-inner h1{
	font-size: 130px;
    line-height: 1em;
    padding-bottom: 10px;
	color: var(--violet);
	
}

.page-sougi-plan-list{
	gap: 20px;
    display: flex;
    font-size: 18px;
	line-height: 1em;
	
}


.page-sougi-plan-list li{
	padding: 0.5em 0.5em;
    background: var(--black-bg);
    border-radius: 10px;
    color: var(--white);
    
}



@media screen and (max-width: 1199px) {
	
	.page-sougi-plan-inner h1{
	font-size: clamp(5rem, 1.659rem + 6.96vw, 6.875rem);
	
}
	
	.page-sougi-plan-right {
    padding: 0 0.5em;
}
	
	.page-sougi-plan-right .page-sougi-company{
    font-size: clamp(1.875rem, 1.207rem + 1.39vw, 2.25rem);
}
	
	.page-sougi-plan-right h2 {
    padding: 0.5em 1em;
    font-size: clamp(1.125rem, 0.791rem + 0.7vw, 1.313rem);
 
}
	
	.page-sougi-plan-list{
    font-size: clamp(1rem, 0.777rem + 0.46vw, 1.125rem);
	
}

	
}



@media screen and (max-width: 767px) {
	
	
.page-sougi-plan-bg {
    background-size: cover;
}	

.page-sougi-plan-wrapper{
	flex-direction: column;
}

.page-sougi-plan-left{
	width: 100%;
	overflow: hidden;
}



.page-sougi-plan-right{
	width: 100%;
	padding: 0 20px;
}
	
	.page-sougi-plan-right h2 {
    font-size: clamp(1rem, 0.643rem + 1.79vw, 1.313rem);
 
}	
	
	.page-sougi-plan-right .page-sougi-company{
    font-size: clamp(1.5rem, 0.643rem + 4.29vw, 2.25rem);
}
	
	.page-sougi-plan-inner h1{
	font-size: clamp(4rem, 1.786rem + 11.07vw, 5.938rem);
	
}

}

@media screen and (max-width: 399px) {
.page-sougi-plan-list{
	gap: 10px;
    font-size: clamp(0.875rem, 0.589rem + 1.43vw, 1.125rem);
	
}
}

/*供花*/

.fa-magnifying-glass-plus {
    position: absolute;
    top: 15px;
    right: 5px;
    font-size: 1.2em;
}

.kyouka-charge-wrapper{
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}

.kyouka-num{
    font-weight: bold;
	font-size: 120%;
	padding-left: 1em;
}

.kyouka-charge{
	font-size: 180%;
	margin-right: 0.2em;
}


.kyouka-charge-tax{
	font-size: 90%;
	padding-top: 0.5em;
}



.kyouka-which-order{
	width: 80%;
	margin: 40px auto;
	text-align: center;
}




.kyouka-which-order ul.two-column li a{
	width: 100%;
	display: block;
	border: 1px solid var(--base-color);
	padding: 1em;
	background: rgba(103,16,21,0.05);
	color: var(--txt-color);
	border-radius: 10px;
}


.kyouka-which-order ul.two-column li a p{
	font-size: 150%;
    line-height: 1.2;
	font-weight: bold;
}


/*よくあるご質問*/
.accordion_list:not(:first-child) {
margin-top: 10px;
}

.accordion_title {
background:#eaeaea;
cursor: pointer;
font-size: 110%;
padding: 20px 40px 20px 60px;
position: relative;
	margin-bottom: 20px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: bold;
}

.accordion_title::before {
	position: absolute;
	display: block;
	text-align: center;
content: 'Q';
	width: 40px;
	height: 40px;
	font-size: 110%;
	font-weight: bold;
	border-radius: 50%;
	color: white;
	background: #ad7c1e;
	z-index: 3;
	left: 10px;
	top:15px;
}


.accordion_title:after {
position: absolute;
display: block;
content: '';
top: 35%;
right: 22px;
width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
transform: rotate(135deg);
transition: all .3s ease-in-out;
}

.accordion_title.open:after {
transform: rotate(-45deg);
top: 45%;
}

.accordion_text {
display: none;
padding: 0 10px 20px;
	line-height: 1.8;
}


/*サイトマップ*/

.sitemap-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

/* 各メイン項目（親 li） */
.sitemap-nav > li {
  flex: 1 1 calc(33.333% - 2em); /* 3列レイアウト */
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
}

.sitemap-nav > li a{
  color: var(--base-color);
}


/* 子リストのスタイル */
.sitemap-nav > li ul {
  margin-top: 0.5em;
  list-style: none;
}


.sitemap-nav > li ul li {
  font-weight: normal;
	font-size: 14px;
     margin-bottom: 0.5em;
    line-height: 1.5em;
}


.sitemap-nav > li ul li a {
  font-weight: normal;
  margin-bottom: 0.5em;
	color: var(--text-color);
}


@media screen and (max-width: 480px) {
	
	.sitemap-nav {
 flex-direction: column;
}
	
}


/*お客様の声*/

#epilogue-voice {
	background: #ffe3dd;
}

.voice-title{
	font-size: 21px;
	color: var(--base-color);
}

.border-box-gold-wrapper{
text-align: center;
    margin-top: 30px;
    margin-bottom: 40px;
	
}


.border-box-gold{
	display: inline-block;
    border: 1px solid var(--gold);
    padding: 1.5em 1em 0.75em;
    border-radius: 10px;
    line-height: 1.5em;
    position: relative;
	font-weight: bold;
	
}


.digital-no-date {
    background: var(--base-color);
    padding: 0.5em 1em;
    top: -1.4em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    text-align: center;
    position: absolute;
    color: white;
    font-weight: bold;
    border-radius: 0.5em;
    line-height: 1em;
	word-break: keep-all;
}

.digital-no{
	font-family: digital;
	font-size: 48px;
	font-weight: normal;
}

.voice-bubble-wrapper {
	padding: 0 40px;
    margin-top: 17px;
}

.voice-bubble {
  position: relative;
  display: inline-block;
  margin-left: 30px;
  padding: 16px;
  border: 1px solid var(--gold);
  border-radius: 10px;
  text-align: left;
  font-weight: 400;
  line-height: 1.5;
 
}

.voice-bubble::before {
  content: "";
  position: absolute;
  top: 37%;
  left: 0;
  border-style: solid;
  border-width: 0 30px 30px 0;
  border-color: transparent var(--gold) transparent transparent;
  translate: -100% -50%;
  transform: skew(0, 14deg);
  transform-origin: right;
}

.voice-bubble::after {
  content: "";
  position: absolute;
  top: 37%;
  left: 0;
  border-style: solid;
   border-width: 0 27.6px 27.6px 0;
  border-color: transparent white transparent transparent;
  translate: -100% calc(-50% - 0.4px);
  transform: skew(0, 14deg);
  transform-origin: right;
}

.voice-comments{
	position: absolute;
    padding: 0.25em 1em;
    background: var(--base-color);
    text-align: center;
    color: white;
    font-size: 14px;
    left: 30px;
    top: -17px;
    border-radius: 5px;
}

.voice-detail{
	display: flex;
	align-items: center;
	gap:10px;
	margin-bottom: 20px;
}

.voice-detail li{
	display: flex;
	align-items: center;
	gap:5px;
}


.voice-detail li img{
	width: 30px;
	display: block;
	height: auto;
}

.voice-detail li a{
	width: auto;
}


@media screen and (max-width: 480px) {
	.voice-detail{
		flex-direction: column;
		text-align: left;
}
}

/*お急ぎの方へ*/
.hurry-bg{
	background: url("../images/hurry-bg.webp");
	background-repeat: no-repeat;
	background-position: center;
	border-top: solid 3px var(--base-color);
	border-bottom: solid 3px var(--base-color);
	padding: 10px 0;
	background-size: cover;
	
}




.hurry-title{
	text-align: center;
	font-size: clamp(1.5rem, 0.875rem + 0.8333vw, 1.875rem);
    line-height: 1;
    color: var(--base-color);
	
}


.hurry-subtitle{
	text-align: center;
}

.hurry-subtitle h2 {
  position: relative;
  display: inline-block;
  padding-bottom: 0.2em;
}

.hurry-subtitle h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em; /* 少し上に配置して半分だけ下にかかる */
  width: 100%;
  height: 0.5em; /* マジックペン風の太さ */
  background-color: rgba(255, 230, 0, 0.6); /* 薄い黄色のマーカー風 */
}



.hurry-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}

.hurry-left,
.hurry-right {
  flex: 1 1 auto;
}

.hurry-inner {
  display: flex;
  flex-wrap: wrap;
}


.hurry-inner-left {
	width: 73%;
}


.hurry-inner-left h3{
	line-height: 1.5;
    font-size: 24px;
}



.hurry-inner-right {
 width: 25%;
	position: relative;
}


.hurry-inner-right img{
 width: 130%;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
}





.hurry-tel-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.hurry-timedate {
	display: inline-block;
	padding: 0.25em 1em;
	border: 1px solid var(--brown);
	border-radius: 0.5em;
	color: var(--brown);
	font-size: 12px;
	line-height: 1.2;
	text-align: center;
}

.hurry-tel {
	display: inline-flex;
	align-items: center;
	font-family: "Bebas Neue", sans-serif;
	font-size: 48px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--base-color);
	text-decoration: none;
	transition: color 0.3s;
}

.hurry-tel:hover {
	color: var(--red);
}

.hurry-tel::before {
	content: "";
	display: inline-block;
	width: 66px;
	height: 26.4px;
	background: url('../images/free-dial.svg') no-repeat center;
	background-size: contain;
	margin-right: 5px;
}


.hurry-tap {
    color: red;
	margin-left: 1em;
	margin-right: 1em;
    padding: 5px 1em;
    font-weight: bold;
    font-size: 21px;
    border-top: solid 2px var(--base-color);
    border-bottom: solid 2px var(--base-color);
	text-align: center;
}

.hurry-circle-wrapper{
	 display: flex;
  flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.hurry-circle {
 background-color: red;
  color: white;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  font-size: 21px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
  padding: 2px;
}


.hurry-circle-wrapper h3{
	text-align: center;
    line-height: 1.5;
    font-size: 21px;
}

.hurry-board-wrapper{
	padding-top: 40px;
	width: 60%;
	margin: 0 auto;
}

.hurry-board {
    padding: 25px 1em 10px;
    border: solid 2px var(--base-color);
	position: relative;
	background-image: url("../images/various-bg.webp");
	background-size: cover;
	border-radius: 10px;
	
  
}


.hurry-board-title{
   width: 90%;
    padding: 10px 0.5em;
    border-radius: 10px;
    text-align: center;
    line-height: 1.1em;
    background: red;
    color: white;
    font-weight: bold;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}


.hurry-board ul li {
  font-weight: bold;
  line-height: 1.8;
  list-style: none; /* ブラウザデフォルトのマーカーを無効化 */
  position: relative;
  padding-left: 30px; /* アイコン分のスペースを確保 */
}

.hurry-board ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em; /* テキストとアイコンの縦位置調整 */
  width: 20px;
  height: 18px;
  background-image: url("../images/check-box.webp");
  background-repeat: no-repeat;
  background-size: contain;
}


@media only screen and (max-width: 1199px)  {
	
	.hurry-bg{
		background-size: cover;
	
}
	
	.hurry-subtitle {
    width: 70%;
}
	
	.hurry-inner-left {
    width: 70%;
}
	
	
	.hurry-circle {

    width: 9.765625vw;
    height: 9.765625vw;
    font-size: 2.9296875vw;
}
	
	
	.hurry-circle-wrapper h3 {
    font-size: 3.515625vw;
		line-height: 1.3;
}
	
	
	.hurry-board-title {
    font-size: 1.7578125vw;
}




	
.hurry-board {
    width: 65vw;
    margin: 0 auto;
}
	
	
	.hurry-board ul {
    display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 2%;
}
	
	
	
	.hurry-board ul li {
    width: 48%;
    padding-left: 2.9296875vw;
    font-size: 1.5625vw;
		margin-bottom: 0.25em;
}
	
	.hurry-board ul li::before {

    width: 1.953125vw;
    height: 1.7578125vw;
    
}
	
}



@media only screen and (max-width: 980px)  {
    .hurry-subtitle {
        width: 100%;
    }
	
	
	.hurry-inner-right img {
    width: 125%;
}
	
	
	.hurry-board-wrapper{

	width: 80%;
}
}
	
	
	

	

@media only screen and (max-width: 767px)  {
	
	
	
.hurry-title {
    font-size: clamp(1.5rem, 0.875rem + 0.8333vw, 1.875rem);
    line-height: 1.3;
}
	
	.hurry-subtitle h2 {
    font-size: clamp(1.313rem, 1.098rem + 1.07vw, 1.5rem);
}
	
	.hurry-circle {

    width: clamp(3.125rem, 1.696rem + 7.14vw, 4.375rem);
    height: clamp(3.125rem, 1.696rem + 7.14vw, 4.375rem);
    font-size: clamp(1.125rem, 0.696rem + 2.14vw, 1.5rem);
}
	
	.hurry-tap {
    padding: 5px 0;
    font-size: clamp(1.063rem, 0.563rem + 2.5vw, 1.5rem);
}
	
	.hurry-inner-left h3 {
    font-size: clamp(1.25rem, 0.964rem + 1.43vw, 1.5rem);
	}
	
	.hurry-circle-wrapper h3 {
        font-size: clamp(1.125rem, 0.696rem + 2.14vw, 1.5rem);
    }
	
	
	.hurry-board-title {
		font-size:clamp(0.75rem, 0.464rem + 1.43vw, 1rem);
	}
	
	
	.hurry-inner-left {
    width: 100%;
}
	
	.hurry-inner-right {
		display: none;
}
	
	.hurry-board-wrapper{

	width: 100%;
}
	
	.hurry-board {
    width: 100%;
}
	
	
	.hurry-board ul {
        flex-direction: column;
}

	.hurry-board ul li {
        width: 100%;
        font-size: clamp(0.75rem, 0.607rem + 0.71vw, 0.875rem);
		padding-left: 2em;
  
    }
	
	
	.hurry-board ul li::before {
 
    top: 0.4em;
    width: clamp(1.125rem, 0.982rem + 0.71vw, 1.25rem);
    height: clamp(1rem, 0.857rem + 0.71vw, 1.125rem);
   
}

	
}

@media only screen and (min-width: 1199px) {
	
	


	
  .hurry-wrapper {
    flex-wrap: nowrap;
  }

  .hurry-left {
    flex-basis: 58%;
  }

  .hurry-right {
    flex-basis: 40%;
  }
}




/* オプション：ボックスの見た目 */
.hurry-left {
  padding: 20px;
}

.hurry-right {
  padding: 20px;
line-height: 0;
}


@media only screen and (max-width: 1199px) {
	
	.hurry-wrapper {
  display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
}
	
.hurry-right {
    width: clamp(26.25rem, 22.909rem + 6.96vw, 28.125rem);
    margin: 0 auto;
}
}


@media only screen and (max-width: 980px) {


  .hurry-left {
	  padding: 0;
  }

  .hurry-right {
    padding: 20px 0;
  }
}


@media only screen and (max-width: 480px) {
.hurry-tel-wrapper {
    flex-direction: column;
}
	
.hurry-tel {
    font-size: clamp(2.5rem, 1rem + 7.5vw, 3.25rem);
}	
	
	.hurry-right {
    width: 90%;
}
	
	
}

.hurry-diagonal-title {
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: 24px;
	font-weight: bold;
}

.hurry-diagonal-title::before,
.hurry-diagonal-title::after {
    width: 4px;
    height: 40px;
    background-color: var(--base-color);
    content: '';
}

.hurry-diagonal-title::before {
    transform: rotate(-35deg);
    margin-right: 14px;
}

.hurry-diagonal-title::after {
    transform: rotate(35deg);
    margin-left: 14px;
}


@media only screen and (max-width: 480px) {
	.hurry-diagonal-title{
    position: relative;
	flex-direction: column;
	line-height:1.2em;
		margin-top: 20px;

}

.hurry-diagonal-title::before, .hurry-diagonal-title::after {
    position: absolute;
}


.hurry-diagonal-title::before {
    left: 1em;
}

.hurry-diagonal-title::after {
    right:1em;
}



}

.hurry-btn-wrapper{
	text-align: center;
    margin-bottom: 20px;
    font-weight: bold;
    line-height: 0.8;
}

.hurry-btn {
	display: block;
  padding: 0.8em 30px 0.8em 60px;
  background-color: red; /* 背景色 */
  box-shadow: 0 5px 0 #ca1c30; /* 影の太さ・色 */
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  text-decoration: none; 
	font-size: 21px;
	position: relative
	
}


.hurry-btn::before {
	position: absolute;
	content: "";
	width:84px;
	height: 100px;
	display: block;
	background-image: url("../images/watch.webp");
	background-repeat: no-repeat;
	background-size: contain;
    top: -15px;
    left: 10px;
}


.hurry-btn::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "\f35a";
    top: 40%;
    right: 20px;
    color: white;
    font-size: 32px;
}


.hurry-btn:hover {
  box-shadow: none;
  transform: translateY(5px);
}

.hurry-btn-inner {
	width: 50%;
    margin: 0 auto 10px;
    font-size: 14px;
    padding: 5px 1em;
    border-radius: 10px;
    background: white;
    color: red;
    text-align: center;
    line-height: 1em;
}



.hurry-line-btn {
 display: flex;
    align-items: center;
    padding: 22px 25px;
    background: var(--line-bg);
    box-shadow: 0 5px 0 #308d05;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    font-weight: bold;
    position: relative;
    gap: 10px;
    font-size: 21px;

}

.hurry-line-btn i {
  font-size: 36px;
}

.hurry-line-btn .hurry-line {
  font-size: 36px;
}




.hurry-line-btn:hover {
  box-shadow: none;
  transform: translateY(5px);
}


.hurry-line-btn::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "\f35a";
    top: 52%;
    right: 20px;
    color: white;
    font-size: 32px;
}



@media only screen and (max-width: 480px) {
	.hurry-line-btn {
    gap: 5px;

}
	
	.hurry-line-btn-inner{
	line-height: 1.2em;	
	text-align: center;
}
	
}


@media only screen and (max-width: 399px) {
	
	
	
	.hurry-btn {
    padding: 0.8em 30px 0.8em 15px;
}
	
	.hurry-btn::before {
        width: 60px;
        height: 70px;
        top: -20px;
        left: 10px;
    }
	
	.hurry-btn-inner {
    width: 65%;
    margin: 0 auto 10px;
 
}
	
	.hurry-btn::after {
    top: 20%;
    right: 20px;
}

	
		    .hurry-line-btn {
        font-size: 21px;
        flex-wrap: wrap;
        justify-content: center;
		padding: 15px 60px 15px 15px;
    }

	
	.hurry-line-btn-inner {
        line-height: 1em;
        width: 100%;
    }
	
	
}

/* 葬儀の流れ */

.flow-horizontal-wrap {
	width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 0 5% 0 3%;
}


.flow-horizontal-wrap .flow-horizontal-inner {
  position: relative;
  z-index: 1;
  margin-bottom: 25px;
}

.flow-horizontal-wrap::before {
  content: "";
  display: block;
  width: 879pt;
  height: 167px;
  margin-left: -50px;
  background: url( "../images/flow-horizontal-arrow-pc.webp") no-repeat left top;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  transform: translateY(-50%);
}

.flow-horizontal-wrap .flow-horizontal-inner ol {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 2%;
}

.flow-horizontal-wrap .flow-horizontal-inner ol li {
	width: 15%;
  line-height: 1.3;
  background-color: #fff;
  border-radius: 10px;
	border:solid 1px var(--gold);
  overflow: hidden;
}

.flow-horizontal-wrap .flow-num {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 62px;
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  background-color: var(--gold-bg);
}

.flow-horizontal-wrap .flow-box {
  align-items: center;
    width: 100%;
   padding: 15px 10px 15px;
    box-sizing: border-box;
	    font-size: 14px;
    line-height: 1.5em;
	

}

.flow-horizontal-wrap .flow-box h3 {
  font-size: 18px;
  font-weight: 700;
	margin-bottom: 1em;
	text-align: center;
}

.flow-horizontal-wrap .flow-gold {
  color: var(--gold);
}


@media screen and (max-width: 767px) {
	
	.flow-horizontal-wrap {
	width: 100%;
	margin: 0 auto;
}

	
  .flow-horizontal-wrap::before {
   content: "";
        display: block;
        width: 100%;
        height: 110%;
        margin-left: 0;
        background: url(../images/flow-horizontal-arrow-sp.webp) no-repeat center bottom;
        background-size: contain;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
        transform: translateY(-50%);
  }

  .flow-horizontal-wrap .flow-horizontal-inner ol {
    flex-direction: column;
    align-items: center;
  }
	
	.flow-horizontal-wrap .flow-num {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    background-color: var(--gold-bg);
}

  .flow-horizontal-wrap .flow-horizontal-inner ol li {
    width: 100%;
	text-align: left;
  }

  .flow-horizontal-wrap .flow-box {
    writing-mode: horizontal-tb;
    justify-content: center;
    padding: 15px;
  }
	
	.flow-horizontal-wrap .flow-box h3 {
  font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5em;
}

}



/* リピート割引*/

.repeat-bg {
background: url( "../images/repeat-bg.webp") no-repeat bottom center;
	background-size: cover;
}



.repeat-bg2 {
background: var(--orange-bg-image);
}

.repeat-wrapper{
	padding: 20px 500px 20px 0;
}


.repeat-wrapper h2{
	font-size: 48px;
}

.repeat-wrapper h3{
	padding: 0.5em 1em;
	background: white;
	border: 2px solid var(--base-color);
	border-radius: 20px;
	display: block;
	margin: 0 auto 20px;
	text-align: center;
	font-size: clamp(1rem, 0.792rem + 0.28vw, 1.125rem);
}

.maikai-goen{
	display: block;
	margin-bottom: 20px;
	text-align: center;
}

.saiteki-otoku-kakaku-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	margin-bottom: 20px;
}

.saiteki-wrapper{
	display: flex;
	font-weight: bold;
}

.saiteki-wrapper span{
	padding: 20px 10px;
	display: block;
	border-top:2px solid var(--base-color);
	border-left:2px solid var(--base-color);
	border-bottom:2px solid var(--base-color);
}


.saiteki-wrapper span:last-child{
	border:2px solid var(--base-color);
}



.otoku-kakaku-wrapper{
	display: flex;
	font-weight: bold;
	gap:5px;
}


.otoku-kakaku-wrapper span{
	padding: 20px 10px;
	display: block;
	border-top:2px solid var(--base-color);
	border-left:2px solid var(--base-color);
	border-bottom:2px solid var(--base-color);
	background:var(--base-color);
	color: white;
}



.otoku-kakaku-wrapper span:last-child{
	border:2px solid var(--base-color);
}



.repeat-wrapper img{
	width: 70%;
	height: auto;
	display: block;
	margin: 0 auto;
}



@media screen and (max-width: 1999px) {
	.repeat-bg {
	background-size: 2000px;
}
	
	.repeat-wrapper{
	padding: 20px clamp(21.875rem, 12.859rem + 14.72vw, 31.25rem) 20px 0;
}
}


@media screen and (max-width: 980px) {
	
		.repeat-bg {
	height: 1000px;
 background-position: 70% bottom;
}


	.repeat-wrapper{
	padding: 20px 0;
}
}


@media screen and (max-width: 767px) {
    .repeat-bg {
        height: 800px;
        background-position: 70% bottom;
		background-size: 1500px;
    }
}


@media screen and (max-width: 480px) {
    .repeat-bg {
        height: 950px;
    }
	
	.repeat-wrapper h3 {
    line-height: 1.5em;
}
	
	.repeat-wrapper h2 {
    font-size: 36px;
}
	
	.saiteki-otoku-kakaku-wrapper {
    flex-direction: column;
}
	
	.saiteki-wrapper span {
    padding: 10px 10px;

}
	
	.otoku-kakaku-wrapper span{
    padding: 10px 10px;

}
	
	.repeat-wrapper img {
    width: 100%;
}
	
}



.repeat-bg2 .contents-wrapper .contents .sp-image{
	display: none;
}

@media screen and (max-width: 600px) {
.repeat-bg2 .contents-wrapper .contents .pc-tab-image{
	display: none;
}
	
	.repeat-bg2 .contents-wrapper .contents .sp-image{
	display: block;
}

	
}




/* エピローグ会員入会*/

.saidai-waribiki {
  margin-top: 25px;
  position: relative;
}

.saidai-waribiki > span {
  position: absolute;
  display: inline-block;
  font-size: 28px;
  line-height: 48px;
  letter-spacing: 0.025em;
  background-color: var(--base-color);
  color: #fff;
  border-radius: 8px;
  padding: 0 20px;
  top: 0;
  right: 0;
}

.saidai-waribiki > p {
  display: flex;
  align-items: flex-end;
  gap: 3px;
}

.saidai-waribiki > p > span:nth-child(1) {
  display: grid;
  place-items: center;
  width: 123px;
  height: 123px;
  background-color: var(--base-color);
  border-radius: 50%;
  overflow: hidden;
  color: #fff;
  font-size: 42px;
  font-weight: bold;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 0.1);
}

.saidai-waribiki > p > span:nth-child(2) {
  display: block;
  color:var(--base-color);
  font-size: 60px;
  font-weight: bold;
}

.saidai-waribiki > p > span:nth-child(2) em {
  display: inline-block;
  line-height: 0.8em;
  font-size: 140px;
}





/*お寺様ご紹介パック*/

.gosyoukai_wrapper{
	width: 100%;
	max-width: 1340px;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.anshin{
	position: absolute;
	top: 20px;
    right: -60px;
    width: 150px;
	height: auto;
	display: block;
}


.monk_warpper{
	width: 25%;
}


.monk_warpper h2{
	font-weight: bold;
	font-size: 300%;
	line-height: 1.3em;
	display: block;
	text-align: center;
	color: #650e14;
	margin-bottom: 0.5em;
}


.monk_warpper img{
	width: 90%;
    margin: 0 auto;
    display: block;
    padding-right: 10%;
}

.gosyoukai_contents{
	width: 75%;
	
}


.gosyoukai_contents h2{
	color: #ff6631;
    text-align: center;
    font-size: 42px;
    margin-bottom: 0.75em;
    line-height: 1em;
	
	
}

ul.ofuse_wrapper{
	display: flex;
	justify-content: space-between;

}


ul.ofuse_wrapper li{
	width: 48%;
	padding: 1.25em 1.75em;
	border: 2px solid #650e14;
	border-radius: 1em;
	background: white;
	
}


ul.ofuse_wrapper_page{
	display: flex;
	justify-content: center;

}


ul.ofuse_wrapper_page li {
	width: 70%;
	padding: 1.25em 1.75em;
	border: 2px solid #650e14;
	border-radius: 1em;
	background: white;
	
}


.ofuse_title_wrapper{
	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}

.ofuse_title_wrapper div{
background: #f1de20;
    text-align: center;
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: 140%;
    line-height: 1em;
    min-width: 47%;
}

.ofuse_title_end{
	width: 100%!important;
}


.ofuse_contents{

	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}


.ofuse_contents li{
	text-align: left;
	font-weight: bold;
		-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	width:20%!important; 
	display: flex;
	font-size: 120%;
	padding: 0.5em 1.5em;
	border-radius: 0.5em!important;
	align-items: center;
	
	
}


.ofuse_contents li:nth-child(-n+3){
	letter-spacing: 0.5em;
	
	
}



.ofuse_contents li::before{
	content:'\f14a';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
	margin-bottom: 0.5em;
}

.ofuse_charge_wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 120%;
	
}

.ofuse{
	text-align: center;
    background: #650e14;
    color: white;
    line-height: 1em;
    font-size: 140%;
    font-weight: bold;
    padding: 0.5em 1em;
    margin-right: 0.5em;
    border-radius: 0.5em;
}

.ofuse_charge{
	font-size: 350%;
    line-height: 1em;
    font-weight: bold;
}

.ofuse_charge::after{
	content: "万円";
		font-size: 50%;
    margin-left: 0.25em;
}


.ofuse_remarks{
	text-align: center;
	font-size: 150%;
	font-weight: bold;
}


@media screen and (max-width: 1439px) {
	
	.gosyoukai_wrapper{
	width: 95%;
		max-width: inherit;
}

}


@media screen and (max-width: 1279px) {
	
	.gosyoukai_wrapper{
	flex-direction: column;
}

	.monk_warpper {
    width: 90%;
    display: flex;
    margin-bottom: 2em;
		align-items: flex-end;
}
	
	.monk_warpper h2 {
    font-size: 350%;
        width: 65%;
}
	
	.br_tablet_none{
		display: none;
	}
	
	.monk_warpper img {
            width: 35%;
        margin: 0 auto;
        display: block;
        padding-right: 0;
	}
	
	.anshin {
	        right: inherit;
        width: 130px;
        left: 55%;
}
	
	.gosyoukai_contents{
	width: 100%;
	
}
	
	.gosyoukai_contents h2 {
    font-size: 280%;
}

	.ofuse_remarks {
    font-size: 130%;

}

}


@media screen and (max-width: 980px) {
	
	.anshin {
        width: 120px;
        left: 55%;
        top: -20px;
    }
	
	    .monk_warpper h2 {
        font-size: 280%;
    }
	
	    .gosyoukai_contents h2 {
        font-size: 230%;
    }
	
	ul.ofuse_wrapper {
    flex-direction: column;
}
	
	ul.ofuse_wrapper li {
    width: 75%;
    margin: 0 auto 2em;
}
	
		ul.ofuse_wrapper li:last-child {
    width: 75%;
    margin: 0 auto 0;
}
	
	.ofuse_contents li{
	margin-bottom: 0 !important;
	
}

	
	
	    .ofuse_remarks {
        font-size: 110%;
    }
	
}


@media screen and (max-width: 600px) {
	
	    .monk_warpper {
        width: 90%;
        flex-direction: column;
	     margin-bottom: 1em;
    }
	
	    .monk_warpper h2 {
        font-size: 220%;
			width: 100%;
    }
	
	    .anshin {
        width: 100px;
        left: 70%;
        top: -100px;
    }
	
	.monk_warpper img {
        width: 70%;
        margin: 0 auto;
  
    }
	
	.gosyoukai_contents h2 {
        line-height: 1.3em;
    }
	
	
	ul.ofuse_wrapper li {
        width: 95%;
        padding: 0.5em;
    }
	
	.ofuse_title_wrapper div {
    font-size: 100%;
   
}
	
	ul.ofuse_wrapper_page li {
	width: 100%;
	padding: 1.25em 1.5em;
	
}
	
	    .ofuse_contents li {
        padding: 0.5em;
    }
	
	ul.ofuse_wrapper li:last-child {
        width: 95%;
    }
	
	.ofuse_charge_wrapper {
    font-size: 110%;
}
	
	.ofuse {
    font-size: 120%;
 
}
	
	.ofuse_charge {
    font-size: 300%;

}
	
	    .ofuse_remarks {
        font-size: 100%;
    }
	
}

@media screen and (max-width: 399px) {
	ul.ofuse_wrapper_page li {
	padding: 1.25em 1em!important;
	
}
}

@media screen and (max-width: 350px) {
	    .monk_warpper h2 {
        font-size: 180%;

    }
	
	    .gosyoukai_contents h2 {
        font-size: 200%;
    }
	
	.ofuse_contents li {
    font-size: 100%;
}
	
	.ofuse_charge_wrapper {
    font-size: 100%;
}
	
	.ofuse {
    font-size: 100%;
}
	
	.ofuse_charge {
    font-size: 280%;
}
	

	
	    .ofuse_remarks {
        font-size: 80%;
    }

}




/*直葬お寺様紹介*/

 .chokusou-monk-wrapper {
	 display: flex;
	 justify-content: center;
	 gap:5%;
    }


	


.chokusou-monk-sougi-plan-price-wrapper{
	
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
	margin-bottom: 10px;
}


.chokusou-monk-sougi-plan-price-person-wrapper{
  background: var(--base-bg);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    border-radius: 10px;
    gap: 2px;
    padding: 0.1em 0.75em;
	
}



.chokusou-monk-sougi-price-person-num{
    font-size: 60px;
    padding-top: 5px;
    line-height: 1em;
}



.chokusou-monk-sougi-plan-price-circle {
    background: var(--base-bg);
    position: relative;
    color: white;
    border-radius: 50%;
	width: 80px; /* 任意のサイズ */
    height: 80px;
    text-align: center;
    overflow: hidden;
}

.chokusou-monk-sougi-plan-price-circle::after {
    content: "安心\A価格"; /* \A で改行 */
    white-space: pre; /* \A を改行として扱う */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 24px; /* 必要に応じて調整 */
    line-height: 1em;
    pointer-events: none;
	color:var(--base-white);
}

.chokusou-monk-sougi-plan-price{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 42px;
	color: var(--orange);
}

.chokusou-monk-sougi-price-num{
	font-size: 120px;
	line-height: 0.75em;
}


@media screen and (max-width: 767px) {
	
 .chokusou-monk-wrapper {
	 flex-direction: column;
	 
    }
	
	.chokusou-monk-wrapper .block{
		width: 100%;
	}

.chokusou-monk-wrapper .block:first-child img{
	 width: 70%;
	display: block;
	margin: 0 auto 20px;
    }	
	
}



/* 付帯品一覧*/

.page-futai-wrapper {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  padding: 0;
  margin: 0;
}

.futai-object {
  width: 32%;
  box-sizing: border-box;
  position: relative;
  display: flex;
  min-height: 120px;
}




.futai-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  background: var(--pale-gray);
  padding: 0.75em;
  border-radius: 8px;
  width: 100%;
  transition: background 0.3s;
}

.futai-link:hover {
  background: var(--light-hover-gray);
}

.futai-link img {
  width: 35%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  margin-right: 1em;
  border-radius: 4px;
}

.futai-title {
  font-weight: bold;
  flex-grow: 1;
  display: flex;
  align-items: center;
	font-size: 18px;
}


.futai-link i.fa-plus {
  margin-left: 0.5em;
  background: white;
  color: var(--black);
  padding: 0.4em;
  border-radius: 50%;
  font-size: 0.9em;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 980px) {
	
	.futai-object {
  width: 48.7%;
}

}


@media screen and (max-width: 767px) {
	
	.futai-object {
  width: 100%;
}

}


/* 付帯品モーダル */
.futai-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  justify-content: center;
  align-items: center;
  animation: fadeIn 0.5s ease forwards;
}

.futai-modal-content {
   background: #fff;
  padding: 1em;
  width: 90%;
  max-width: 500px;
  border-radius: 5px;
  text-align: center;
  position: relative;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

.futai-modal-content img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 5px;
}

.futai-modal-content h3 {
  margin: 1em 0 0.5em;
 font-size: 18px;
	font-weight: bold;
}

.futai-modal-content p {
text-align: left;
	line-height: 1.5em;
}

	
.futai-modal-content.zoom-in {
  animation-name: zoomIn;
}

.futai-modal-content.zoom-out {
  animation-name: zoomOut;
}

/* 閉じるアイコン */
.futai-close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  cursor: pointer;
  font-size: 2.5em;
  color: #333;
}

/* 付帯品アニメーション定義 */
@keyframes zoomIn {
  0% {
    transform: scale(0.7);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

			@keyframes zoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.7);
    opacity: 0;
  }
}




/*かぞく別館バナー*/
.kazoku_wrapper{
	width: 700px;
	display: block;
	border: 1px solid var(--gold);
	margin: 0 auto;
	line-height: 1.5em;
	font-weight: bold;
	
}

.kazoku_wrapper .block_wrapper{
	display: flex;
	justify-content: center;
	align-items: stretch;
}


.kazoku_wrapper .block_wrapper .block{
	padding: 0.75em 1em;
	width: var(--space-50p);
	  display: flex;
	justify-content: center;
	align-items: center;
}


.kazoku_wrapper .block_wrapper .block:nth-child(1){
	
	background: var(--gold);
	color: white;
	font-size: 21px;
	line-height: 1.5em
	
}


.kazoku{
	display: flex;
	justify-content: center;
	align-items: stretch;
	
}


.kazoku h2{
	text-align: center;
	font-size: 21px;
}

.kazoku h2 p{
	font-size: 32px;
	margin-top: 0.25em;
}

.kazoku img{
	width: 70px;
	height: auto;
	display: block;
	margin-right: 0.5em;
}



@media screen and (max-width: 720px) {
	
	.kazoku_wrapper{
    width: auto;
    margin: 0 20px;
	
}

.kazoku_wrapper .block_wrapper{
	flex-direction: column;
}


.kazoku_wrapper .block_wrapper .block{
	padding: 0.75em 1em;
	width: 100%;
}


.kazoku_wrapper .block_wrapper .block:nth-child(1){

    font-size: 18px;
    line-height: 1.2em;
	
}


.kazoku{
	display: flex;
	justify-content: center;
	align-items: stretch;
	
}


.kazoku h2{
    font-size: 18px;
}

.kazoku h2 p{
	font-size: 28px;
    margin-top: 0.25em;
}

.kazoku img{
	width: 60px;
}
	
}

	






/* 家族葬の特徴*/

							ul.feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: center;
}

ul.feature-list li {
  flex: 1 1 calc(50% - 20px); /* 2列用 */
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
	display: flex;
	flex-direction: column;
}



ul.feature-list img {
  max-width: 100%;
  height: auto;
  border-radius: 5px;
}

ul.feature-list h4 {
  font-size: 1.2em;
  margin-top: 15px;
  margin-bottom: 10px;
}

ul.feature-list p {
  text-align: left;
  line-height: 1.6;
	flex-grow: 1;
}

/* スマホ対応：1列表示 */
@media (max-width: 767px) {
  ul.feature-list li {
    flex: 1 1 100%;
  }
}


/* お見積り・事前相談*/


.omitsumori-bg {
background: url( "../images/omitsumori-bg.webp") no-repeat bottom center;
	background-size: cover;
}


.omitsumori-bg .omitsumori-wrapper{
padding:0 500px 0 20px;
}



.omitsumori-bg .omitsumori-wrapper h3{
    padding: 0.5em 1em;
    background: white;
    border: 2px solid var(--base-color);
    border-radius: 20px;
    display: block;
    margin: 0 auto 20px;
    text-align: center;
    font-size: clamp(1.2rem, 0.792rem + 0.28vw, 1.125rem);
	line-height: 1.5em;
}


.omitsumori-bg .omitsumori-wrapper .block {
	padding: 1em 1.5em;
	border-radius: 1em;
	background: rgba(255,255,255,0.50);
}


.omitsumori-bg .omitsumori-wrapper .block h1 {
    font-size: 40px;
	 text-align: center;
	margin: 0 auto 20px;
	line-height: 1.2em;
	color: var(--base-color);
}


.omitsumori-comments-wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:5%;
	margin: 0 auto 20px;
}


.omitsumori-comments-wrapper img{
	display: block;
	height: auto;
	width: 20%;
}

.omitsumori-detail{
	padding: 70px 1em 1em 1em;
	position: relative;
	
}


.omitsumori-detail .block{
	position: absolute;
	 left: 50%;
	top:-60px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 120px;
	aspect-ratio: 1 / 1;
	background: var(--violet);
	color:white;
	border-radius:50%;
	display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
	line-height: 1.2em;
	font-weight: bold;
	text-align: center;
	
}



@media screen and (max-width: 1999px) {
    .omitsumori-bg {
        background-size: 2000px;
		}
	
		.omitsumori-bg .omitsumori-wrapper{
	padding: 20px clamp(21.875rem, 12.859rem + 14.72vw, 31.25rem) 20px 0;
}
	}

	

@media screen and (max-width: 980px) {
	
		.omitsumori-bg  {
	height: 1000px;
 background-position: 70% bottom;
			background-size: 370%;
}


	.omitsumori-bg .omitsumori-wrapper{
	padding: 20px 0;
}
	
	.omitsumori-comments-wrapper img{
	width: 40%;
}

	
}


@media screen and (max-width: 767px) {
    .omitsumori-bg {
        height: 800px;
        background-position: 70% bottom;
		background-size: 1500px;
    }
	
		.omitsumori-bg .omitsumori-wrapper{
	padding:0;
}
	
	.omitsumori-bg .omitsumori-wrapper .block h1{
    font-size: 36px;
}
	
	.omitsumori-comments-wrapper{
flex-direction: column;
}


.omitsumori-comments-wrapper img{
	width: 70%;
	margin: 0 auto 20px;
}
	
}


@media screen and (max-width: 480px) {
    .omitsumori-bg {
        height: 950px;
    }
	
	.omitsumori-bg .omitsumori-wrapper .block {
	padding: 1em;
	border-radius: 1em;
}
	}
		

@media screen and (max-width: 350px) {
	
	.omitsumori-bg .omitsumori-wrapper .block h1{
    font-size: 30px;
}
}

	
	
/* エピローグ会員のご案内*/




.members-bg {
background: url( "../images/members-bg.webp") no-repeat bottom center;
	background-size: cover;
}


.members-bg .contents-wrapper .block-wrapper{
	display: flex;
	gap:5%;
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(1){
	width: 62%;
	font-weight: bold;
}

.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) h1{
	font-size: 40px;
	color:var(--base-color);
	text-align: center;
	    line-height: 1.2em;
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) h2{
	font-size: 28px;
	padding: 0.75em 1em;
	border-top:2px solid var(--base-color);
	border-bottom:2px solid var(--base-color);
	margin-left: auto;
    text-align: center;
    width: 60%;
    margin-right: auto;
	}
	

.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) img{
display: none;
	}
	

.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul{
	display: flex;
	justify-content: center;
	gap:40px;
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul li{
	width: 120px;
	aspect-ratio: 1 / 1;
	background: var(--violet);
	color:white;
	border-radius:50%;
	position: relative;
	
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul li .block{
	position: absolute;
	width: 100%;
	    top: 45%;
    left: 50%;
    transform: translate(-45%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-45%, -50%);
	font-size: 21px;
	text-align: center;
	line-height: 1.2em;
	
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul li .block p{
 font-size: 32px;
    margin-top: 0.25em;
	
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(2){
	width: 33%;
	display: flex;
	justify-content: center;
	align-items: center;
}


.members-bg .contents-wrapper .block-wrapper .block:nth-child(2) img{
	width: 100%;
	display: block;
	height: auto;
}


@media screen and (max-width: 980px) {
	
	.members-bg .contents-wrapper .block-wrapper{
	display: flex;
		flex-direction: column;
}
	
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(1){
	width: 100%;
}
	
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) img{
display: block;
		margin:0 auto 20px;
		width: clamp(15.625rem, 14.11rem + 7.58vw, 18.75rem);
	}
	
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(2){
		display: none;
}
}


@media screen and (max-width: 767px) {
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul{
	gap:20px;
}
	
		.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul li .block{
 font-size: clamp(0.875rem, 0.375rem + 2.5vw, 1.313rem);
	
}
	
	
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) ul li .block p{
 font-size: clamp(1.313rem, 0.527rem + 3.93vw, 2rem);
	
}

}



.contents .members-card-decription-wrapper{
	display: flex;
	gap:5%;
}


.contents .members-card-decription-wrapper .block:nth-child(1){
	width: 30%;
}

.contents .members-card-decription-wrapper .block:nth-child(1) img{
	width: 100%;
	height: auto;
	display: block;
}


.contents .members-card-decription-wrapper .block:nth-child(2){
	width: 65%;
	display: flex;
	justify-content: center;
	align-items: center;
}


@media screen and (max-width: 980px) {
	
	.contents .members-card-decription-wrapper {
   
    flex-direction: column;
}
	
	
	
.contents .members-card-decription-wrapper .block:nth-child(1) {
    width: 45%;
    margin: 0 auto 20px;
}
	
	
	.contents .members-card-decription-wrapper .block:nth-child(2) {
    width: 100%;
}
}


@media screen and (max-width: 767px) {
	

	
.contents .members-card-decription-wrapper .block:nth-child(1) {
    width: clamp(12.5rem, 0.357rem + 60.71vw, 23.125rem);
   
}
	

}



.members-detail-wrapper{
	margin-top: 80px;
}

.members-detail-wrapper li{
	border: 2px solid var(--base-color);
	border-radius: 10px;
}



.members-detail{
	padding: 70px 1em 1em 1em;
	position: relative;
	
}


.members-detail .block{
	position: absolute;
	 left: 50%;
	top:-60px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 120px;
	aspect-ratio: 1 / 1;
	background: var(--violet);
	color:white;
	border-radius:50%;
	font-size: 21px;
	text-align: center;
	line-height: 1.2em;
	font-weight: bold;
	padding-top: 12px;
}

.members-detail .block p{
 font-size: 32px;
    margin-top: 0.25em;
}


@media screen and (max-width: 767px) {


.members-detail-wrapper li:nth-child(3){
	margin-top: 80px;
}

	}


@media screen and (max-width: 480px) {


.members-detail-wrapper li:nth-child(2){
	margin-top: 80px;
}
	
	.members-bg .contents-wrapper .block-wrapper .block:nth-child(1) h2{
	font-size: 24px;
    width: 100%;
		padding: 0.5em 1em;
	}

	}


/* 選ばれる理由*/




.choice-bg {
background: url( "../images/choice-bg.webp") no-repeat bottom right;
	background-size: cover;
}


.choice-bg .contents-wrapper h3{
	font-size: 28px;
	font-weight: bold;
}


.choice-bg .contents-wrapper h2{
	font-size: font-size: clamp(1.75rem, 1.6rem + 0.75vw, 2.5rem);;
	font-weight: bold;
	color: var(--base-color);
	line-height: 1.2em;
}



.choice-bg .contents-wrapper .block-wrapper{
	display: flex;
	justify-content: center;
	gap:5%;
}


.choice-bg .contents-wrapper .block-wrapper .block:nth-child(1){
	width: 20%;
	display: flex;
	align-items: flex-end;
}


.choice-bg .contents-wrapper .block-wrapper .block:nth-child(1) img{
	width: 100%;
	height: auto;
	display: block;
	
}

.choice-bg .contents-wrapper .block-wrapper .block:nth-child(2){
	width: 45%;
	font-weight: bold;
    font-size: 18px;
	display: flex;
	align-items: center;
	padding-bottom: 1.5em;
}
	

@media screen and (max-width: 980px) {
	.choice-bg .contents-wrapper .block-wrapper{
	flex-direction: column;
}
	
	.choice-bg .contents-wrapper .block-wrapper .block:nth-child(1){
		width: 30%;
	margin: 0 auto;
		order: 2;
}
	
	
	.choice-bg .contents-wrapper .block-wrapper .block:nth-child(2){
	width: 100%;
		order: 1;
}
	

	}


@media screen and (max-width: 600px) {

	
	.choice-bg .contents-wrapper .block-wrapper .block:nth-child(1){
		width: clamp(12.25rem, 11.393rem + 4.29vw, 13rem);

}

	}

.p-textImgBox {
  margin-top: 60px;
  counter-increment: number 1;
}


.p-textImgBox__img {
	        border-radius: 1em;
        overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-textImgBox {
    margin-top: 62px;
  }
}




.p-textImgBox__inner {
  display: block;
}


@media screen and (min-width: 760px) {
  .p-textImgBox__inner {
    display: flex;
  }
}




.p-textImgBox__textBox {
  position: relative;
  background-color: var(--white);
  padding: 60px 88px 42px;
  width: 100%;
  z-index: 1;
}



  .p-textImgBox__textBox {
    padding: 60px 72px 48px;
    margin-top: 50px;


  }


@media screen and (max-width: 1199px) {
	
	 .p-textImgBox__textBox {
    padding: 60px 50px 48px;
    margin-top: 50px;


  }
		
	}



@media screen and (max-width: 980px) {
	
	 .p-textImgBox__textBox {
    padding: 60px 20px 48px;
    margin-top: 50px;


  }
		
	}

.p-textImgBox__textBox::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 53px;
  background-color: var(--white);
  top: -53px;
  left: 0;
  z-index: -1;
}




@media screen and (min-width: 601px) {
  .p-textImgBox__textBox::before {
    width: 150px;
    height: 100%;
    top: 0;
    left: -150px;
  }
}


.p-textImgBox__title {
  font-size: 24px;
    line-height: 1.2;
    text-align: left;
	font-weight: bold;
	color: var(--base-color);
}


@media screen and (min-width: 601px) {




.p-textImgBox__text {
  line-height: calc(27.2/16);
  font-weight: 400;
  margin-top: 1.5em;
}


.p-textImgBox__img {
  width: 100%;
  max-width: 500px;
  display: block;
  position: relative;
  z-index: 5;
  margin-right: auto;
  margin-left: auto;
	        border-radius: 10px;
        overflow: hidden;
}



}


.p-textImgBox__img img {
	width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
	border-radius: 1em;
}


.p-textImgBox__button {
  margin-top: 40px;
}




.p-textImgBox_main_title {
  position: absolute;
  font-size: 60px;
  line-height: calc(84/70);
  right: 25px;
  font-weight: bold;
  top: -30px;
	color: var(--gold);
	font-family: "Bebas Neue", "Noto Sans JP", sans-serif;
}

.p-textImgBox_main_title-little {
  position: absolute;
  font-size: 42px;
  line-height: calc(84/70);
  right: 25px;
  font-weight: bold;
  top: -20px;
	color: var(--gold);
	font-family: "Bebas Neue", "Noto Sans JP", sans-serif;
}


@media screen and (max-width: 980px) {
	.p-textImgBox_main_title {
  font-size: 550%;
}
	
}


@media screen and (max-width: 600px) {
	
	
		.p-textImgBox_main_title {
  font-size: 300%;
			 position: relative;
			right:inherit;
			top:inherit;
			display: block;
			padding: 0.5em 00;
			text-align: center;
			font-weight: bold;
}
	
	
			.p-textImgBox_main_title-little {
  font-size: 200%;
			 position: relative;
			right:inherit;
			top:inherit;
			display: block;
			padding: 0.5em 00;
			text-align: center;
			font-weight: bold;
}
	
	 .p-textImgBox__textBox {
    padding: 0px 1em 2em;
    margin-top: 00px;
		 border-radius: 0 0 1em 1em;


  }
	
	.p-textImgBox__img{
    border-radius: 1em 1em 0 0;
    overflow: hidden;
}
	
	.p-textImgBox__img img {
	border-radius: 1em 1em 0 0;
}
	
	
	.p-textImgBox__textBox::before {
		display: none;
}
	
	.p-textImgBox__title {
		margin-bottom: 1em;
}
	
	}



  .p-textImgBox:nth-child(even) .p-textImgBox__inner {
    flex-direction: row-reverse;
  }


  .p-textImgBox:nth-child(even) .p-textImgBox__textBox::before {
    left: initial;
    right: -150px;
  }


  .p-textImgBox:nth-child(even) .p-textImgBox_main_title {
    right: initial;
    left: 50px;
  }

@media screen and (max-width: 600px) {
	  .p-textImgBox:nth-child(even) .p-textImgBox_main_title {
    right: initial;
    left: 0px;
  }
	 }


/*ホールデータ*/

.hall-info {
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
	font-size: 90%;
	margin: 0 auto;
}
.hall-info th, .hall-info td {
  border: 2px solid #fff;
  background-color: #f6f2f2;
  padding: 1em;
}
.hall-info th {
  background-color: #c5afa6;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 25%;
  min-width: 4em;
}

.quarter{
	background-color: #c5afa6!important;
  color: #fff;
  font-weight: bold;
  text-align: center;
	width: 25%;
}


.g-map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.g-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 767px) {
	
.hall-info th {
        width: 100%;
        display: block;
    }

.hall-info th, .hall-info td {
    display: block;
    width: 100%;
}
	
	.g-map {
    padding-top: 75%

}
	
}


/* お葬式の基礎知識*/

.knowledge h3 {
	font-size: 21px;
  position: relative;
	color: var(--base-color);
}


.knowledge-single h3 {
	font-size: 21px;
  position: relative;
	color: var(--base-color);
	margin-top: 1.5em;
	margin-bottom: 0.25em;
}


.knowledge-single h3:first-child {
	margin-top: 0;
}

.knowledge img{
	border-radius: 10px;
}


.knowledge-single img{
	display: block;
	width: 75%;
	height: auto;
	margin: 1em auto;
	border-radius: 10px;
}



table.tableType01 {
  width: 90%;
  border-collapse: collapse;
  margin: 30px auto;

}

table.tableType01 th, table.tableType01 td {
  padding: 12px;
  text-align: left;
  border: 1px solid #ddd;
}

table.tableType01 th.lv01 {
  background-color: #f4f4f4;
  font-weight: bold;
}

table.tableType01 th.lv02 {
  background-color: #f9f9f9;
  font-size: 18px;
	color: var(--base-color);
}

table.tableType01 td {
  background-color: #fff;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  table.tableType01 {
    
  }

  /* テーブルを縦に表示 */
  table.tableType01, table.tableType01 thead, table.tableType01 tbody, table.tableType01 th, table.tableType01 td {
    display: block;
  }

  /* 表のヘッダーは上に固定 */
  table.tableType01 thead {
    display: none;
  }

  table.tableType01 tr {
    margin-bottom: 10px;
  }

  table.tableType01 td {
    position: relative;
    padding-left: 50%;
  }

  table.tableType01 td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 10px;
    font-weight: bold;
  }

  /* タイトル（列名）を表示 */
  table.tableType01 td:first-child::before {
    content: "宗派";
  }

  table.tableType01 td:nth-child(2)::before {
    content: "焼香の回数";
  }
}

@media (max-width: 480px) {
  /* スマホ用にさらにフォントサイズを調整 */
  
  /* 縦に並べたテーブルの間隔調整 */
  table.tableType01 td {
    padding-left: 40%;
  }
}



/* アフターサポート*/

.after-support-bg {
background: url( "../images/after-support-bg.webp") no-repeat bottom center;
	height: 550px;
	background-size: cover;
}


.after-support{
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
}


/* お墓そうじ*/

.ohaka-clean img{
	border-radius: 10px;
	width: 100%;
	height: auto;
	display: block;
}


.ohaka-clean-wrapper{
	width: 80%;
	margin: 0 auto 2em;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}


.ohaka-clean-before,.ohaka-clean-after{
	
	width: 40%;
}

.ohaka-clean-before ul li,.ohaka-clean-after ul li{
	margin-bottom: 1em;
}

.ohaka-clean-before ul li:last-child,.ohaka-clean-after ul li:last-child{
	margin-bottom: 0;
}


.ohaka-clean-wrapper h4{
	display: block;
	background: var(--base-color);
	color: white;
	text-align: center;
	padding: 0.25em 1em;
	font-size: 18px;
	margin-bottom: 20px;
}


.ohaka-clean-center{
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ohaka-clean-triangle{
	font-size: 1000%;
	transform: rotate(-90deg);
}






.ohaka-photo img{
	object-fit: cover;
	object-position: center center;
	width: 100%;
	aspect-ratio: 4 / 2;
	border-radius: 10px;
	
}

.ohaka-photo2 img{
	object-fit: cover;
	object-position: center center;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	
}


@media only screen and (max-width: 980px) {
	
	.ohaka-clean-wrapper{
	width: 100%;
}

}
	


@media only screen and (max-width: 600px) {
	
	
.ohaka-clean-wrapper{
	width: 100%;
	display: flex;
	flex-direction: column;
}


.ohaka-clean-before,.ohaka-clean-after{
	
	width: 100%;
}

	
	
	
	
	.ohaka-clean-center{
	width: 100%;
		flex-direction: column;
		line-height: 1;
}

.ohaka-clean-triangle{
	font-size: 1000%;
	transform: rotate(0deg);
}
}



/* 家族葬シュミレーション*/

.auto-omitsumori-bg{
	background: var(--auto-omitsumori-bg-image);
}


.auto-omitsumori-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    margin: 0 auto;
}

.auto-omitsumori-title{
	font-size: clamp(3.25rem, 3.042rem + 0.28vw, 3.375rem)!important;
}

.auto-omitsumori-wrapper img{
	display: block;
	width: 45%;
	height: auto;
}


.auto-omitsumori-description{
	line-height: 1.2em;
}

.over1200-only{
		display: block;
	}
	
	.under1199-only{
		display: none;
	}
	

.auto-omitsumori-red-btn-wrapper{
	text-align: center;
	font-weight: bold;
    line-height: 0.8;
}


.auto-omitsumori-red-btn {
	display: inline-block;
  padding: 0.8em 80px 0.8em 60px;
  background-color: red; /* 背景色 */
  box-shadow: 0 5px 0 #ca1c30; /* 影の太さ・色 */
  border-radius: 10px;
  color: #fff!important;
  cursor: pointer;
  text-decoration: none; 
	font-size: 28px;
	position: relative;
	height: 120px;
	
}





.auto-omitsumori-red-btn::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    content: "\f35a";
    top: 40%;
    right: 20px;
    color: white;
    font-size: 32px;
}


.auto-omitsumori-red-btn:hover {
  box-shadow: none;
  transform: translateY(5px);
}

.auto-omitsumori-red-btn-inner {
	width: 100%;
    margin: 0 auto 17px;
    padding: 5px 1em;
    border-radius: 10px;
    background: white;
    color: var(--base-color);
    text-align: center;
    line-height: 1em;
	font-size: 18px;
}

.under350-only{
	display: none;
}

@media only screen and (max-width: 1199px) {
	
	.over1200-only{
		display: none;
	}
	
	.under1199-only{
		display: block;
	}
	
	.auto-omitsumori-wrapper {
		flex-direction: column;
}
	
	.auto-omitsumori-wrapper img{
	display: block;
	width: 50%;
	height: auto;
		margin: 0 auto 20px;
}


}




.auto-omitsumori-diagonal-title {
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: clamp(1.875rem, 1.458rem + 0.56vw, 2.125rem);
	font-weight: bold;
}

.auto-omitsumori-diagonal-title::before,
.auto-omitsumori-diagonal-title::after {
    width: 4px;
    height: 40px;
    background-color: var(--base-color);
    content: '';
}

.auto-omitsumori-diagonal-title::before {
    transform: rotate(-35deg);
    margin-right: 14px;
}

.auto-omitsumori-diagonal-title::after {
    transform: rotate(35deg);
    margin-left: 14px;
}

@media only screen and (max-width: 980px) {
	.auto-omitsumori-wrapper img{
	display: block;
	width: 70%;
	height: auto;
		margin: 0 auto 20px;
}
}

@media only screen and (max-width: 700px) {
.auto-omitsumori-title{
	font-size: clamp(2.625rem, 1.125rem + 5vw, 3rem)!important;
}
	
	.auto-omitsumori-diagonal-title {
	font-size: clamp(1.125rem, 0.268rem + 4.29vw, 1.875rem);
}
	
	.auto-omitsumori-red-btn {
    display: inline-block;
    padding: 0.8em 60px 0.8em 30px;
    background-color: red;
    box-shadow: 0 5px 0 #ca1c30;
    border-radius: 10px;
    color: #fff !important;
    cursor: pointer;
    text-decoration: none;
    font-size: 28px;
    position: relative;
    height: 120px;
	
}
}

@media only screen and (max-width: 480px) {
	
		.auto-omitsumori-wrapper img{
	display: block;
	width: 90%;
	height: auto;
		margin: 0 auto 20px;
}

    .auto-omitsumori-red-btn {
        display: inline-block;
        padding: 0.75em 60px 0.75em 20px;
        background-color: red;
        box-shadow: 0 5px 0 #ca1c30;
        border-radius: 10px;
        color: #fff !important;
        cursor: pointer;
        text-decoration: none;
        font-size: clamp(1.313rem, 0.938rem + 1.88vw, 1.5rem);
        position: relative;
        height: 120px;
        line-height: 1.1;
	}
	
	    .auto-omitsumori-red-btn-inner {
        width: 100%;
        margin: 0 auto 0.5em;
        padding: 5px 1em;
        border-radius: 10px;
        background: white;
        color: var(--base-color);
        text-align: center;
        line-height: 1em;
        font-size: clamp(0.875rem, 0.25rem + 2.5vw, 1rem);
    }
	
	.auto-omitsumori-diagonal-title{
    position: relative;
	flex-direction: column;
	line-height:1.2em;
		margin-top: 20px;

}

.auto-omitsumori-diagonal-title::before, .auto-omitsumori-diagonal-title::after {
    position: absolute;
}


.auto-omitsumori-diagonal-title::before {
    left: 1em;
}

.auto-omitsumori-diagonal-title::after {
    right:1em;
}



}


@media only screen and (max-width: 399px) {
.auto-omitsumori-title{
	font-size: clamp(2rem, 1rem + 5vw, 2.25rem)!important;
}
	
}

@media only screen and (max-width: 350px) {
.under350-only{
		display: block;
	}
}




.top-omitsumori-banner-bg{
	 background-image: linear-gradient(to right, #FFD700, #B8860B, #FFD700);
	position: relative;
}



.top-omitsumori-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    line-height: 1.2em;
    gap: 15px;
	padding: 15px 1em;
	
}



.top-omitsumori-banner-bg::after {
	animation: 4s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
	width: 100%;
}

@keyframes shine {
	20% {
		left: 100%;
	}
	100% {
		left: 100%;
	}
}



.top-omitsumori-banner-simulation-wrapper {
  position: relative;
	
}

.top-omitsumori-free{
	position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
    font-weight: bold;
    color: var(--white);
    left: 6px;
    top: -6px;
    font-size: 16px;
    background: red;
    line-height: 1.2em;
    padding-top: 10px;
}

.top-omitsumori-banner-simulation {
  background: var(--white);
    color: var(--base-color);
    font-size: 28px;
    padding: 12px 1em;
    margin-left: 50px;

}

.top-omitsumori-banner-simulation br{
	display: none;

}


.top-omitsumori-banner-simulation:hover {
    color: var(--red);
	transition: 0.3s;

}

.top-omitsumori-banner-simulation::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f35a";
}



.top-omitsumori-banner-txt-wrapper{
	position: relative;
    padding-left: 90px;
	color: var(--white);
}


.top-omitsumori-banner-txt{
	font-size: 21px;
	line-height: 1.2em;
	
}

.top-omitsumori-banner-txt-wrapper img{
	width: 80px;
    height: auto;
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    z-index: 5;
}

.omitsumori-tap-icon{
	width: 80px!important;
	display: block;
    position: absolute;
    top: -15px;
    left: 0;
    z-index: 5;
	
}

@media only screen and (max-width: 980px) {
	.top-omitsumori-banner {
		flex-direction: column;
	
}
	.top-omitsumori-banner-txt-wrapper {
    padding-left: 70px;
}
	
	.top-omitsumori-banner-txt-wrapper img {
    width: 65px;
    top: -10px;
}
	
	
}



@media only screen and (max-width: 480px) {

	.top-omitsumori-banner-simulation {
    font-size: clamp(1.125rem, -0.214rem + 5.71vw, 1.5rem);
    margin-left: 50px;
}
	
	.top-omitsumori-banner-txt {
    font-size: clamp(1rem, -0.116rem + 4.76vw, 1.313rem);
 
}
	
	.top-omitsumori-banner-txt-wrapper img {
        width: clamp(3.125rem, 1.563rem + 6.67vw, 4.063rem);
    }
	
	
	.omitsumori-tap-icon{
	width: 70px!important;
    top: -15px;

	
}

.top-omitsumori-banner-simulation br{
	display: block;

}
	
}



@media only screen and (max-width: 374px) {
	    .top-omitsumori-banner-txt-wrapper {
        padding-left: 50px;
    }
	
	
	.top-omitsumori-banner-simulation{
		text-align: center;

}



	
	.top-omitsumori-free {
    width: 55px;
    height: 55px;
    left: 6px;
    top: 1px;
    font-size: 14px;
    line-height: 1.2em;
    padding-top: 12px;
}
	
	    .top-omitsumori-banner-txt-wrapper img {
        width: 45px;
    }
	
		.omitsumori-tap-icon{
    top: 0px;

	
}
	
}
