@import url(sphone_layout.css);
* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
html {
	overflow-x: hidden;
	padding:0;
	margin:0;
	line-height: 0;
	box-sizing:border-box;
	scroll-behavior: smooth!important;
}
body {
	font-size: 14px;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	background: #ddd;
	color: #3c1c00;
	height: 100%;
	scroll-behavior: smooth!important;
	box-sizing: border-box;
}
div,p,span,h1,h2,h3,h4,h5,h6,li,ul,dl,dd,dt,a,img,form {
	margin: 0px;
	padding: 0px;
	border: 0px;
}
br.clear {
	clear: both;
}
a {
	color: #202020;
	text-decoration: none;
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all	0.8s ease;
}
a:hover {
	color: #37aad9;
	text-decoration: none;
}
a span {
	display: none;
}
img {
	width: 100%;
	height: auto;
}
.hr_line {
	display: block;
	width: auto;
	height: 20px;
	background: rgba(255,255,255,0) url(../site_img/all/hr_line.png); 
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	
}
/* Background */
.oct_bg {
	background: rgba(161,160,156);
}
.wingbg1 {
	background: 
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.wingbg2 {
	background: 
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.wingbg3 {
	background: 
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.bg_snow {
	background: #fff;
}
.bg_pink {
	background: #fff5f6 url(../site_img/all/bg_pink.gif);
	background-position: top left;
	background-repeat: repeat;
	background-size: 150px 150px;
}
.bg_yellow {
	background: #faf7f2 url(../site_img/all/bg_yellow.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
}
.bg_purple {
	background: #bdbcc6 url(../site_img/all/bg_purple.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
}
.bg_green {
	background: #d4d9c5 url(../site_img/all/bg_green.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
}
.bg_white {
	background: #fff url(../site_img/all/bg_white.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
}
/* Title */
.menu_title {
    width: 100%;
    box-sizing: border-box;
    padding: 6px;
    text-align: center;
    margin: 2px 0;
    
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 18px;
    
    /* 「金→白金→金」のグラデーション */
    background: linear-gradient(to right, #b29457, #fbf7c8, #b29457);
    color: #080b6c; /* 文字は濃い青にして引き締める */
    
    /* 上下に細いゴールドの境界線を足してクッキリさせる */
    border-top: 2px solid #635842;
    border-bottom: 2px solid #635842;
}
.pagettl {
	display: block;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
	margin-bottom: 30px;
        background: rgba(0,0,0,0.1) url(../site_img/soul_garden/tltle_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border: 5px inset #f7e49a;
	box-sizing: border-box;
}
.pagettl h2 {
	font-size: 18px;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	color: #FFFFFF;
	text-shadow:
		#000 1px 1px 2px, #000 -1px 1px 2px,
		#000 1px -1px 2px, #000 -1px -1px 2px;
	margin: 0;
	padding: 10% 10px;
	background-color: rgba(0,0,0,0.1);
	/*background-image: url(../site_img/all/ttl_line.png), url(../site_img/all/ttl_line.png);
	background-position: center top 10px, center bottom 10px;
	background-size: 90% auto, 90% auto;
	background-repeat: no-repeat, no-repeat;*/
	box-sizing: border-box;
}
/*h3 {
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
	color: #5d4903;
	background-image: url(../site_img/Etoile/h3bg.png);
	background-position: center left 5px;
	background-size: 20px auto;
	background-repeat: no-repeat;
	padding: 0 0 0 35px;
	margin: 20px 0 0;
	box-sizing: border-box;
}*/
h3 {
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
	color: #5d4903;
	border-left: 5px solid #bdbcb9;
	border-bottom: 2px solid #525d37;
	padding: 5px 5px 5px 10px;
	margin: 20px 0 10px;
	box-sizing: border-box;
}
h4 {
	font-size: 15px;
	font-weight: bold;
	font-family: 'Noto Serif JP', serif;
	padding: 5px;
	margin: 30px 0 10px;
	border-bottom: 1px solid #3c1c00;
	box-sizing: border-box;
}
/* height */
.ht40 {
	display: block;
	width: auto;
	height: 40px;
}
.ht60 {
	display: block;
	width: auto;
	height: 60px;
}
.ht80 {
	display: block;
	width: auto;
	height: 60px;
}
/* text-align */
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
/* header */

header {
	height: 50px;
}
header.beforehead {
	display: block;
	width: auto;
	max-width: 375px;
	height: 10px;
	position: relative;
	z-index: 50;
	margin: 0 auto;
	background: 
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	overflow: hidden!important;
	border-bottom: 1px solid #3f2200;
	box-sizing: border-box;
}
header.indexhead {
	display: table;
	width: 100%;
	max-width: 375px;
	height: 50px;
	position: fixed;/*relative*/
	z-index: 50;
	margin: 0 auto;
	background:
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	overflow: hidden!important;
	border-bottom: 1px solid #3f2200;
	box-sizing: border-box;
}
header.indexhead .headL {
	display: table-cell;
	width: 50%;
	padding: 5px;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
}
header.indexhead .headR {
	display: table-cell;
	width: 50%;
	padding: 5px;
	text-align: right;
	vertical-align: middle;
	box-sizing: border-box;
}
header.indexhead .headL img,
header.indexhead .headR img {
	display: block;
	width: auto;
	height: 44px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
header.indexhead .headC {
	display: table-cell;
	width: 20%;
	padding: 0;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
}
header.indexhead .headC img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* Nav */
.btn-menu {
	cursor: pointer;
	border: none;
	background: rgba(255,255,255,0);
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
nav {
	display: block;
	height: 100vh;
	background: rgba(161,160,156) url(../site_img/Etoile/shine_bg.png); 
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	position: fixed;
	z-index: 10;
	top: 54px;
	overflow-x: hidden;
	text-align: left;
	width: 0;
	padding: 0;
	box-sizing: border-box;
}
nav.open-menu {
	width: 100%;
	max-width: 375px;
	left: 50%;
	transform: translate(-50%, 0);
	padding: 0;
	position: fixed;
	z-index: 10000;
	box-sizing: border-box;
}
nav.open-menu ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0;
	margin: 0 auto;
	box-sizing: border-box;
}
nav.open-menu ul li{
	width: 50%;
	height: auto;
	display: inline-block;
	line-height: 0;
	padding: 0;
	margin: 0!important;
	box-sizing: border-box;
}
nav.open-menu ul li img{
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
/* Footer */
/* ==================================================
   フッターメニュー全体（親要素）
   ================================================== */
ul.footer_menu {
    width: 100%;
    display: flex;       /* 左右に並べるための必須設定 */
    flex-wrap: wrap;     /* 4つのボタンを2行×2列にする設定 */
    justify-content: space-between; /* 左右の端にピタッと吸い付くように並べる */
    
    padding: 1px 0;    /* 上下に15pxの余白、左右は0にして画面いっぱいに広げる */
    margin: 0 auto;
    box-sizing: border-box;
    list-style: none;    /* 左側の黒い点（丸ぽっち）を完全に消去 */
    padding-left: 0;     /* ブラウザの初期標準余白をリセット */
}

/* ==================================================
   各ボタンの枠組み（子要素・左と右の2列に固定）
   ================================================== */
ul.footer_menu li {
    /* 左右ピッタリ画面いっぱいに広げるため、49%に設定。
       残りの2%分が真ん中の絶妙な隙間（余白）になります */
    width: 49.8%; 
    height: auto;
    margin: 0 0 4px 0 !important; /* ボタンの「下側」にだけ10pxの間隔を空ける */
    padding: 0;
    box-sizing: border-box;
}

/* ==================================================
   ボタン本体（リンク・デザインの装飾）
   ================================================== */
ul.footer_menu li a {
    display: block;
    width: 100%;
    
    /* ボタンの高さを50pxに完全固定（文字サイズで変化しなくなります） */
    height: 35px; 
    line-height: 35px; /* 文字を上下のド真ん中に配置 */
    padding: 0 2px;    /* 左右にだけ少しセーフティな余白を確保 */
    
    text-align: center;
    text-decoration: none; /* リンクの下線を消す */
    
    /* フォント設定 */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 15px; 
    
    /* 文字色：白 ＋ 全方位の綺麗な黒フチ取り */
    color: #fff; 
    text-shadow: 
        1px  1px 0px #000, -1px  1px 0px #000,
        1px -1px 0px #000, -1px -1px 0px #000,
        0px  1px 0px #000,  0px -1px 0px #000,
        1px  0px 0px #000, -1px  0px 0px #000;

    /* 背景：メインカラー（#525d37）をベースにした立体グラデーション */
    background: linear-gradient(to bottom, #697746, #525d37, #3d4629);
    
    /* 上下のフチに豪華なゴールドの極細ライン */
    border-top: 1px solid #b29457;
    border-bottom: 1px solid #b29457;
    
    /* 形状と影の装飾 */
    border-radius: 4px;
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.15) inset; /* 内側の微かな光 */
    filter: drop-shadow(0px 2px 3px #1a1e11); /* 全体を引き締める影 */
    
    box-sizing: border-box;
    transition: opacity 0.2s; /* 触れたときの動きを滑らかに */
}

/* ボタンが押されたとき（スマホでタップされたとき）の演出 */
ul.footer_menu li a:active,
ul.footer_menu li a:hover {
    opacity: 0.8;
}
/* index */
#before_contents {
	display: block;
	width: 100%;
	max-width: 375px;
	height: 100%;
	background: #fff url(../site_img/all/bg_yellow.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow-x: hidden;
	box-sizing: border-box;
}
#main_contents {
	display: block;
	width: 100%;
	max-width: 375px;
	height: 100%;
	background: #fff url(../site_img/all/bg_yellow.gif);
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow-x: hidden;
	box-sizing: border-box;
}
.before_wrap {
	background: #fff;
	padding: 0;
	box-sizing: border-box;
}
.index_wrap {
	background: #fff; 
	padding: 52px 0 0;
	box-sizing: border-box;
}
.before_wrap img,
.index_wrap img{
	width: 100%;
	height: auto;
	box-sizing: border-box;
}
.before_wrap p,
.index_wrap p {
	padding: 10px;
	box-sizing: border-box;
}
.inner {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 20px 15px;
	box-sizing: border-box;
}
.inners {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 10px 15px;
	box-sizing: border-box;
}
/* Top Login */
.login_table {
	display: table;
	width: 100%;
	background: -moz-linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457); 
	background: -webkit-linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457); 
	background: linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457);
	border-collapse: separate;
	border-spacing: 5px;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	filter: drop-shadow(0 0 3px #635842);
	margin: 0 auto 10px;
	box-sizing: border-box;
}
.login_th {
	display: table-cell;
	font-family: "Kaisei Tokumin", serif;
	font-weight: bold;
	text-align: center;
	color: #fff;
	width: 40%;
	background: #080b6c url(../site_img/soul_garden/th_bg.png);
	background-position: left center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	border-top-left-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
	border-bottom-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	padding: 10px 5px;
	box-shadow: 0px 0px 8px 1px #433e3a inset;
	box-sizing: border-box;
}
.login_td {
	display: table-cell;
	text-align: center;
	width: 60%;
	padding: 0;
	box-sizing: border-box;
}
.login_td input[type="text"]{
	width: 100%;
	height: 100%;
	padding: 15px 10px;
	border-top-right-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	border-bottom-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	-moz-border-radius-bottomright: 4px;
	box-shadow: 0px 0px 8px 1px #433e3a inset;
	box-sizing: border-box;
}
input[type="submit"].inBtn {
	width: 100%;
	height: 80px;
	display: block;
	background:  url(../site_img/soul_garden/login_btn.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* TOP About */
.top_melbox {
	display: block;
	width: auto;
	background: #fff;
	padding: 10px;
	margin: 10px auto;
	text-align: left;
	border: 2px solid #b6aa83;
	filter: drop-shadow(0 0 3px #635842);
}
.top_aboutbox {
	display: block;
	width: auto;
	background: rgba(255,255,255,0.5);
	padding: 10px;
	margin: 30px auto;
	text-align: left;
}
.top_aboutbox p {
	color: #3c1c00;
	padding: 0 5px;
	margin: 0;
	box-sizing: border-box;
}
/* Entry */
.rdo_usersex {
	display: block;
	width: auto;
	margin: 0 auto;
	text-lign: center;
	box-sizing: border-box;
}
.rdo_usersex input {
	display: none;
}
.rdo_usersex label{
	display: inline-block;
	cursor: pointer;
	width: 45%;
	margin: 0;
	padding: 10px 5px;
	background: #bdc3c7;
	color: #869198;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	transition: .2s;
	box-sizing: border-box;
}
.rdo_usersex label:first-of-type{
	border-radius: 3px;
}
.rdo_usersex label:last-of-type{
	border-radius: 3px;
}
.rdo_usersex input[type="radio"]:checked + .switch-on {
	background-color: #e67168;
	color: #fff;
}
.rdo_usersex input[type="radio"]:checked + .switch-off {
	background-color: #688fe6;
	color: #fff;
}
#members_login {
    position: relative;
    display: block;
    top: -55px;
}
.index_wrap .entrySendBtn {
    /* ボタンの基本サイズと配置 */
    display: block;
    width: 90%;
    /* 高さを固定せず、上下のpadding（27px）で合計約80pxになるよう調整 */
    padding: 12px 0; 
    margin: 0 auto 10px;
    box-sizing: border-box;
    cursor: pointer; /* マウスを乗せたときに指マークにする */

    /* ブラウザ標準のボタンデザインをリセット */
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* フォント・テキスト周りのデザイン */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #fff; /* 透明から白文字に変更 */

    /* 背景画像と色 */
    background:  url(../site_img/soul_garden/3th_bg.png);
    background-position: left center;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* 形状と装飾（角丸、内側の影、改善した外側の影） */
    border-radius: 4px;
    box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
    filter: drop-shadow(0px 2px 1px #635842); /* ぼやけない影 */
} 
#prof_tbl {
	display: table;
	width: 100%;
	padding: 0;
	margin: 0 auto 10px;
	box-sizing: border-box;
}
#prof_tbl .th {
	display: table-cell;
	width: 35%;
	padding: 10px;
	font-weight: bold;
	box-sizing: border-box;
}
#prof_tbl .td {
	display: table-cell;
	width: 65%;
	padding: 10px 0;
	box-sizing: border-box;
}
#prof_tbl .td input[type="text"],
#prof_tbl .td input[type="password"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
select {
	background: rgba(255,255,255,0) url(../site_img/all/select_arrow.png);
	background-size: 8px;
	background-position: right 5px center;
	background-repeat: no-repeat;
	padding: 5px 5px 5px 5px;
	position: relative;
	appearance: none;
	margin: 0 5px 0 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	position: relative;
	box-sizing: border-box;
}
#prof_tbl .td select#gender {
	width: 100%;
}
/* --------------------
	Contct
 -------------------- */
.infoform input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.infoform textarea {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.infoform .sendBtn  {
    /* ボタンの基本サイズと配置 */
    display: block;
    width: 90%;
    /* 高さを固定せず、上下のpadding（27px）で合計約80pxになるよう調整 */
    padding: 12px 0; 
    margin: 0 auto 10px;
    box-sizing: border-box;
    cursor: pointer; /* マウスを乗せたときに指マークにする */

    /* ブラウザ標準のボタンデザインをリセット */
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* フォント・テキスト周りのデザイン */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #fff; /* 透明から白文字に変更 */

    /* 背景画像と色 */
    background:  url(../site_img/soul_garden/3th_bg.png);
    background-position: left center;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* 形状と装飾（角丸、内側の影、改善した外側の影） */
    border-radius: 4px;
    box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
    filter: drop-shadow(0px 2px 1px #635842); /* ぼやけない影 */
} 
/* 会社概要 */
.filterbox {
	display: block;
	width: auto;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.filterbox h3,
.filterbox p {
	position: relative;
	z-index: 0;
	box-sizing: border-box;
}
.filterbox img {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	box-sizing: border-box;
}
/* --------------------
	ログイン後
 -------------------- */
/* Guest Data */
.data_table {
	display: table;
	width: 100%;
	background: -moz-linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457); 
	background: -webkit-linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457); 
	background: linear-gradient(to bottom,#b29457,#fbf7c8,50%,#b29457);
	border-collapse: separate;
	border-spacing: 5px;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	filter: drop-shadow(0 0 3px #635842);
	margin: 0 auto 10px;
	box-sizing: border-box;
}
.data_th {
	display: table-cell;
	font-family: "Kaisei Tokumin", serif;
	font-weight: bold;
	font-size: 15px;
	text-align: center;
	color: #fff;
	width: 40%;
	background: #080b6c url(../site_img/soul_garden/th_bg.png);
	background-position: left center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	border-top-left-radius: 4px;
	-webkit-border-top-left-radius: 4px;
	-moz-border-radius-topleft: 4px;
	border-bottom-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	padding: 10px 5px;
	box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
	box-sizing: border-box;
}
.data_td {
	display: table-cell;
	font-family: "Kaisei Tokumin", serif;
	font-weight: bold;
	font-size: 15px;
	text-align: center;
	width: 60%;
	padding: 5px;
	background-color: #fff;
	border-top-right-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	-moz-border-radius-topright: 4px;
	border-bottom-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	-moz-border-radius-bottomright: 4px;
	box-shadow: 0px 0px 8px 1px #d4d6d9 inset;
	box-sizing: border-box;
}
.data_a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}
/* Message Menu */
ul.msg_menus {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	box-sizing: border-box;
}
ul.msg_menus li{
	display: inline-block;
	width: 32%;
	text-align: center;
	padding: 0;
	position: relative;
	box-sizing: border-box;
}
ul.msg_menus li img{
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0;
	position: relative;
	z-index: 0;
	box-sizing: border-box;
}
ul.msg_menus li span{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	background-color: #f03748;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	padding: 0;
	position: absolute;
	left: 5px;
	top: 5px;
	z-index: 1;
	border-radius: 300px;
	-webkit-border-radius: 300px;
	-moz-border-radius: 300px;
	box-sizing: border-box;
}
ul.msg_menus2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	box-sizing: border-box;
}
ul.msg_menus2 li{
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: 0;
	position: relative;
	box-sizing: border-box;
}
ul.msg_menus2 li img{
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0;
	position: relative;
	z-index: 0;
	box-sizing: border-box;
}
ul.msg_menus2 li span{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	background-color: #f03748;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	padding: 0;
	position: absolute;
	left: 65px;
	top: 10px;
	z-index: 1;
	border-radius: 300px;
	-webkit-border-radius: 300px;
	-moz-border-radius: 300px;
	box-sizing: border-box;
}

/* Appraisal Menu */
ul.app_menus {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}
ul.app_menus li{
	display: inline-block;
	width: 48%;
	text-align: center;
	padding: 0;
	box-sizing: border-box;
}
ul.app_menus li img{
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0;
	box-sizing: border-box;
}
/* Contct */
.HelpSend input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.HelpSend textarea {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.HelpSend .sendBtn  {
    /* ボタンの基本サイズと配置 */
    display: block;
    width: 90%;
    /* 高さを固定せず、上下のpadding（27px）で合計約80pxになるよう調整 */
    padding: 12px 0; 
    margin: 0 auto 10px;
    box-sizing: border-box;
    cursor: pointer; /* マウスを乗せたときに指マークにする */

    /* ブラウザ標準のボタンデザインをリセット */
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* フォント・テキスト周りのデザイン */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #fff; /* 透明から白文字に変更 */

    /* 背景画像と色 */
    background:  url(../site_img/soul_garden/3th_bg.png);
    background-position: left center;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* 形状と装飾（角丸、内側の影、改善した外側の影） */
    border-radius: 4px;
    box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
    filter: drop-shadow(0px 2px 1px #635842); /* ぼやけない影 */
} 
/* MailChange */
.MailChange input[type="text"],
.MailChange input[type="password"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.MailChange .changeBtn {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/send_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* RegistMail */
.RegistMail input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.RegistMail .registBtn {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/mailregist_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* メールボックス画面 */
ul.mailbox {
	list-style: none;
	box-sizing: border-box;
}
/* 相談フォーム */
.LuckSend input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.LuckSend textarea {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.LuckSend .sendBtn  {
    /* ボタンの基本サイズと配置 */
    display: block;
    width: 90%;
    /* 高さを固定せず、上下のpadding（27px）で合計約80pxになるよう調整 */
    padding: 12px 0; 
    margin: 0 auto 10px;
    box-sizing: border-box;
    cursor: pointer; /* マウスを乗せたときに指マークにする */

    /* ブラウザ標準のボタンデザインをリセット */
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* フォント・テキスト周りのデザイン */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    color: #fff; /* 透明から白文字に変更 */

    /* 背景画像と色 */
    background:  url(../site_img/soul_garden/3th_bg.png);
    background-position: left center;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* 形状と装飾（角丸、内側の影、改善した外側の影） */
    border-radius: 4px;
    box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
    filter: drop-shadow(0px 2px 1px #635842); /* ぼやけない影 */
} 
/* 購入フォーム */
.tdc select,
.PointBuy select {
	width: 100%;
	background: rgba(255,255,255,0) url(../site_img/all/select_arrow.png);
	background-size: 8px;
	background-position: right 5px center;
	background-repeat: no-repeat;
	padding: 5px 20px 5px 5px;
	position: relative;
	appearance: none;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	position: relative;
	box-sizing: border-box;
}
.buyBtn .btn,
.PointBuy .buyBtn {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/buy_button.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0 auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
.buyBtn input[type="submit"]{
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/buy_button.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0 auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* レンタルフォーム */
.PointRent select#sel_rental_apply_money {
	background: rgba(255,255,255,0) url(../site_img/all/select_arrow.png);
	background-size: 8px;
	background-position: right 5px center;
	background-repeat: no-repeat;
	padding: 5px 20px 5px 5px;
	position: relative;
	appearance: none;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	position: relative;
	box-sizing: border-box;
}
.PointRent .rentBtn {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/rent_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* Chat */
.chat_wrap {
	display: block;
	width: auto;
	height: 100%;
	min-height: 99vh;
	/*background: #b2b0fd;*/
	background: #faf7f2 url(../site_img/all/bg_yellow.gif);
	background-position: top left;
	background-repeat:	repeat;
	background-size: 150px 150px;
	padding: 51px 0 0;
	position: relative;
	overflow-x: hidden;
	z-index: 0;
	box-sizing: border-box;
}
/* ==================================================
   ヘッダーメニュー全体（親要素）
   ================================================== */
ul.header_menu {
    width: 100%;
    height: 50px;        /* メニュー全体の高さを50pxに固定（画像の高さに合わせて調整してください） */
    display: flex;       /* 5つの項目を横一列に並べる */
    flex-wrap: nowrap;   /* 折り返さず必ず1行に収める */
    
    /* 【変更】もともとあったヘッダーの背景画像を設定します */
    background: url(../site_img/soul_garden/header_bg.png) no-repeat center center;
    background-size: 100% 100%; /* 画像をメニュー全体のサイズにぴったり合わせる */
    
    /* 下にあるロゴとピタッとくっつけるための設定 */
    margin: 0 auto 0 auto !important; 
    padding: 0 !important;
    box-sizing: border-box;
    list-style: none !important; /* 黒い点を消去 */
    padding-left: 0 !important;
}

/* ==================================================
   各メニューの枠組み（子要素・5等分）
   ================================================== */
ul.header_menu li {
    width: 25%;          /* 100% を 5等分して均等に配置 */
    height: 50px;        /* 高さを全体の高さに合わせる */
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
    position: relative;  /* 区切り線の基準位置用 */
}

/* ==================================================
   各項目の間の「白い区切り線」（不要ならこのブロックごと削除してください）
   ================================================== */
ul.header_menu li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;            /* 枠の右端に配置 */
    top: 25%;            /* 上下中央に見えるように配置 */
    width: 1px;          /* 線の太さ */
    height: 50%;         /* 線の長さ（ボタンの高さの半分） */
    background: rgba(255, 255, 255, 0.4); /* ほんのり透ける上品な白線 */
}

/* ==================================================
   ボタン本体（リンク・テキスト）
   ================================================== */
ul.header_menu li a {
    display: block;
    width: 100%;
    height: 50px; 
    line-height: 50px;   /* 文字を上下中央に配置 */
    text-align: center;
    text-decoration: none;
    
    /* フォント設定 */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 15px; 
    
    /* 文字色：白 ＋ 全方位の綺麗な黒フチ取り */
    color: #fff; 
    text-shadow: 
        1px  1px 0px #000, -1px  1px 0px #000,
        1px -1px 0px #000, -1px -1px 0px #000,
        0px  1px 0px #000,  0px -1px 0px #000,
        1px  0px 0px #000, -1px  0px 0px #000;
    
    box-sizing: border-box;
    transition: opacity 0.2s;
}

/* タップ・ホバー時の演出（背景画像の上でほんのり明るくなります） */
ul.header_menu li a:active,
ul.header_menu li a:hover {
    background: rgba(255, 255, 255, 0.1);
}
.chat_wrap footer{
	display: none;
}
.footer_parts {
	display: table;
	background: #cac19f url(../site_img/Etoile/header_bg.png);
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	overflow: hidden!important;
	border-top: 1px solid #3f2200;
	width: 100%;
	max-width: 375px;
	padding: 0;
	margin: auto;
	position: fixed;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: 10;
	box-sizing: border-box;
}
.footer_parts .partsL{
	display: table-cell;
	width: 85%;
	vertical-align: middle;
	text-align: left;
	padding: 5px 10px;
	padding-right: 0;
	box-sizing: border-box;
}
.footer_parts .partsR{
	display: table-cell;
	width: 15%;
	vertical-align: middle;
	text-align: center;
	padding: 5px;
	box-sizing: border-box;
}
.footer_parts .partsR img{
	display: inline-block;
	width: auto;
	height: 40px;
	vertical-align: middle;
	box-sizing: border-box;
}
.ChatSend textarea {
	width: 100%!important;
	height: 3.0rem;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.ChatSend input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.chat_inner {
	display: block;
	width: auto;
	height: 100%;

	background-color: rgba(255,255,255,0);/*#b2b0fd*/
	/*background: #ccc9fa url(../site_img/all/bg_white.gif);
	background-position: left top;
	background-repeat: repeat;
	background-size: 150px 150px;*/
	margin: 0 auto;
	padding: 20px 5px 100px;
	overflow-x: hidden;
	overflow-y: scroll;
	-ms-overflow-style: none!important;
	scrollbar-width: none!important;
	box-sizing: border-box;
}
.chat_inner::-webkit-scrollbar {
	display: none!important;
}
.ChatSend input[type="submit"] {
	display: inline-block;
	background: rgba(255,255,255,0) url(../site_img/all/footer_send.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 95%;
	width: 40px;
	height: 40px;
	color: rgba(255,255,255,0);
	vertical-align: middle;
	box-sizing: border-box;
	border: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	text-decoration: none;
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all	0.8s ease;
	box-sizing: border-box;
}
.ChatSend input[type="submit"]:hover {
	filter: brightness(150%);
}
/* Chat In */
.chat_box {
	display: block;
	width: auto;
	margin: 0 auto 10px;
	box-sizing: border-box;
}
.chat_box h3{
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: normal;
	padding: 0;
	margin: 0;
	display: none;
	box-sizing: border-box;
}
.chat_box p{
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: normal;
	font-size: 14px;
	white-space: pre-wrap;
	overflow-wrap: break-word;
	word-wrap: break-word;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
.chat_box p.days{
	font-size: 12px;
	padding: 0;/*10px 0 0*/
	margin: 0;
	margin-bottom: 20px;/*top*/
	box-sizing: border-box;
}
.free_user {
	width: 100%;
	display: table;
	box-sizing: border-box;
}
.free_user .User_Img{
	width: 10%;
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}
.free_user .User_Msg{
	width: 80%;
	display: table-cell;
	background: rgba(255,255,255,0) url(../site_img/all/free_user_bg.png);
	background-repeat: no-repeat;
	background-size: auto 20px;
	background-position: top 20px left 5px;
	vertical-align: top;
	padding: 0 20px 10px;
	text-align: left;
	box-sizing: border-box;
}
.free_user .User_Msg .User_Interior{
	width: auto;
	display: block;
	font-size: 13px;
	background-color: #fff;
	padding: 20px;
	text-align: left;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-sizing: border-box;
}
.free_user img.user_img_i{
	width: 40px;
	height: 40px;
	display: inline-block;
	object-fit: cover;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}
.user {
	width: 100%;
	display: table;
	box-sizing: border-box;
}
.user .User_Img{
	width: 10%;
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}
.user .User_Msg{
	width: 80%;
	display: table-cell;
	background: rgba(255,255,255,0) url(../site_img/all/user_bg.png);
	background-repeat: no-repeat;
	background-size: auto 20px;
	background-position: top 20px right 5px;
	vertical-align: top;
	padding: 0 20px 10px;
	text-align: left;
	box-sizing: border-box;
}
.user .User_Msg .User_Interior{
	width: auto;
	display: block;
	font-size: 13px;
	background-color: #ffd700;
	padding: 20px;
	text-align: left;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-sizing: border-box;
}
.user img.user_img_i{
	width: 40px;
	height: 40px;
	display: none;
	object-fit: cover;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}
.htauto {
	height: auto!important;
	overflow: visible!important;
}
/* チャット一覧 */
.mail_Group {
	display: block;
	width: auto;
	padding: 10px 0;
	margin: 0 auto 20px;
	font-size: 13px;
	border-bottom: 1px solid #191919;
	box-sizing: border-box;
}
.mail_Group .box_table1{
	display: table;
	width: 100%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
.mail_Group .box_table1 .box1_L{
	display: table-cell;
	width: 60%;
	text-align: left;
	padding: 5px;
	margin: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.mail_Group .box_table1 .box1_R{
	display: table-cell;
	width: 40%;
	text-align: right;
	padding: 5px;
	margin: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.mail_Group .box_table2{
	display: table;
	width: 100%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
.mail_Group .box_table2 .box2_L{
	display: table-cell;
	width: 70%;
	text-align: left;
	padding: 5px;
	margin: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.mail_Group .box_table2 .box2_R{
	display: table-cell;
	width: 30%;
	text-align: right;
	padding: 5px;
	margin: 0;
	color: #ff0000;
	vertical-align: top;
	box-sizing: border-box;
}
.mail_Group .read_link{
	display: block;
	width: auto;
	text-align: right;
	padding: 5px;
	box-sizing: border-box;
}
.mail_Group .read_link a{
	display: inline-block;
	width: 15%;
	height: 30px;
	background: #5f96dc url(../site_img/all/read_yomu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-align: center;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
.campaign_link{
	display: block;
	width: auto;
	text-align: right;
	padding: 5px 5px 10px;
	box-sizing: border-box;
}
.campaign_link a{
	display: inline-block;
	width: 15%;
	height: 30px;
	background: #5f96dc url(../site_img/all/read_yomu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-align: center;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
.back_link{
	display: block;
	width: auto;
	text-align: left;
	padding: 5px 5px 10px;
	box-sizing: border-box;
}
.back_link a{
	display: inline-block;
	color: #fff;
	background-color: #525d37;
	padding: 5px 10px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
/* 退会フォーム */
.Taikai input[type="submit"] {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/Etoile/taikai_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
.Kaijo input[type="submit"] {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/Etoile/kaijo_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* キャンペーン */
p.backbtn a{
	display: inline-block;
	color: #fff;
	background-color: #525d37;
	padding: 5px 10px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
ul.campaign_list {
	width: 100%;
	list-style: none;
	border-top: 1px solid #191919;
	box-sizing: border-box;
}
ul.campaign_list li{
	display: block;
	width: auto;
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	border-bottom: 1px solid #191919;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_days{
	display: block;
	width: auto;
	text-align: right;
	padding: 5px;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_detail{
	display: block;
	width: auto;
	text-align: left;
	padding: 5px;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_detail span{
	display: inline-block;
	color: #e32626;
	text-align: center;
	margin-right: 10px;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_contents{
	display: block;
	width: auto;
	text-align: left;
	padding: 5px 5px 10px;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_link{
	display: block;
	width: auto;
	text-align: right;
	padding: 5px 5px 10px;
	box-sizing: border-box;
}
ul.campaign_list li .campaign_link a{
	display: inline-block;
	width: 25%;
	height: 30px;
	background: #133d71 url(../site_img/all/read_yomu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-align: center;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
/* お気に入り */
.Favorite input[type="text"] {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.Favorite textarea {
	width: 100%;
	padding: 5px 10px;
	margin: 0;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
	box-sizing: border-box;
}
.Favorite .registBtn {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/soul_garden/mailregist_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
.Favorite input[type="submit"] {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/Etoile/favoritein_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
/* お気に入り */
.FavoriteList .delete {
	width: 100%;
	height: 80px;
	display: block;
	background: rgba(255,255,255,0) url(../site_img/Etoile/favorite_button.png);
	background-position: center;
	background-repeat:	no-repeat;
	background-size: 100% auto;
	color: rgba(255,255,255,0);
	border: none;
	padding: 0;
	margin: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
}
.favorite_table {
	display: table;
	width: 100%;
	padding-bottom: 15px;
	border-bottom: 1px solid #191919;
	margin: 0;
	margin-bottom: 20px;
	box-sizing: border-box;
}
.favorite_table .favorite_check{
	display: table-cell;
	width: 10%;
	padding: 0;
	padding-top: 15px;
	vertical-align: top;
	box-sizing: border-box;
}
.favorite_table .favorite_name{
	display: table-cell;
	width: 45%;
	font-size: 14px;
	padding: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.favorite_table .favorite_nickname{
	display: table-cell;
	width: 45%;
	font-size: 14px;
	text-align: right;
	padding: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.favorite_memo {
	display: block;
	width: auto;
	font-size: 14px;
	padding: 0;
	padding-left: 10%;
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 1px solid #191919;
	box-sizing: border-box;
}
.favorite_link {
	display: block;
	width: auto;
	font-size: 14px;
	text-align: right;
	padding: 0;
	padding-left: 10%;
	padding-bottom: 5px;
	margin-bottom: 10px;
	/*border-bottom: 1px solid #191919;*/
	box-sizing: border-box;
}
.favorite_nickname a,
.favorite_link a{
	display: inline-block;
	width: 40%;
	height: 30px;
	font-size: 1px;
	background: #5f96dc url(../site_img/all/read_yomu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-align: center;
	color: rgba(255,255,255,0);
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
/* 掲示板 */
.prof_view {
	display: table;
	width: 100%;
	margin: 20px auto;
	box-sizing: border-box;
}
.prof_view .prof_photo{
	display: table-cell;
	width: 40%;
	font-size: 14px;
	padding: 0 5px;
	text-align: center;
	vertical-align: top;
	box-sizing: border-box;
}
.prof_view .prof_photo img{
	width: 100%;
	height: auto;
	max-height: 160px;
	object-fit: cover;
	box-sizing: border-box;
}
.prof_view .prof_skill{
	display: table-cell;
	background-color: #eee;
	width: 60%;
	font-size: 14px;
	padding: 5px;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
}
.prof_view .prof_link{
	display: table-cell;
	width: 50%;
	font-size: 14px;
	padding: 30px 0 10px;
	vertical-align: top;
	box-sizing: border-box;
}
/* ソート */
ul.sort_list {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 20px;
	background-color: #ededed;
	list-style: none;
	box-sizing: border-box;
}
ul.sort_list li{
	display: inline-block;
	width: 33.3333333%;
	width: calc(100%/3);
	text-align: center;
	padding: 10px 5px;
	box-sizing: border-box;
}
ul.sort_list li:nth-child(2) {
	border-left: 1px solid #cfcfcf;
	border-right: 1px solid #cfcfcf;
}
/* 続きを読む */
.free_user .msg_inner{
    position: relative;
    box-sizing: border-box;
    height: auto;
    max-height: 6em;
    overflow: hidden;
}
.free_user .msg_inner .chat_more{
    display: block;
    width: 100%;
    color: #3c1c00;
    font-weight: bold;
    background: linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 85px,#fff 85px,#fff 100%);
    /*background: -moz-linear-gradient(top, rgba(255,255,255,0) 3em, #FFF);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 3em, #FFF);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 3em, #FFF);*/
    padding: 6em 10px 0;
    text-align: center;
    border: 0px solid #3c1c00;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    box-sizing: border-box;
}
.free_user .msg_inner .chat_more span{
    display: inline-block;
    width: auto;
    color: #3c1c00;
    font-size: 13px;
    font-weight: bold;
    background: #ffd700;
    margin-top: 10px;
    padding: 3px 10px;
    cursor: pointer;
    text-align: center;
    border: 2px solid #3c1c00;
    position: relative;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    box-sizing: border-box;
}
.free_user .msg_active{
    position: relative;
    box-sizing: border-box;
    height: auto;
    max-height: 100%;
    overflow: visible;
}
.free_user .msg_active .chat_more,
.user .msg_inner .chat_more{
    display: none;
    visibility: hidden;
}
.user .msg_inner,
.user .msg_active{
    position: relative;
    box-sizing: border-box;
    height: auto;
    max-height: 100%;
    overflow: visible;
}
.textbox {
    margin: 0.2em 0;
    background: linear-gradient(0deg, ##f5f7f7, #ffffff);
　　padding: 2px 2px 2px 2px; /*padding: 20px;と同じ*/
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
    border-radius: 8px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	box-sizing: border-box;
}
.textbox .box-title {
    font-size: 0.8em;
    background: linear-gradient(0deg, #cccaca, #ffffff);
    padding: 4px;
    text-align: center;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.05em;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
    border-radius: 12px 12px 0 0;
    -webkit-border-radius: 12px 12px 0 0;
    -moz-border-radius: 12px 12px 0 0;
	box-sizing: border-box;
}
.textbox p {
    padding: 15px 20px;
    margin: 0;
}

.textbox a{
	display: inline-block;
	width: fit-content;
	hight: fit-content;
	background: #8e59aa 
        url(..
/site_img/Luminous/zenbun_yomu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-align: center;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	box-sizing: border-box;
}
.textbox .read_link{
	display: block;
	width: auto;
	text-align: center;
	padding: ;
	box-sizing: border-box;
}
.textbox .read_link a{
	display: inline-block;
	width: 40%;
	height: 30px;
	background: #e0b5f7 url(../site_img/Luminous/honbun_susumu.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 60% auto;
	text-align: center;
	color: #fff;
	padding: 5px 15px;
	border: 1px solid #605d6e;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	box-sizing: border-box;
}
.textbox .box_table2 .box2_L{
	display: table-cell;
	width: 60%;
	text-align: left;
	padding: 5px;
	margin: 0;
	vertical-align: top;
	box-sizing: border-box;
}
.textbox .box_table2 .box2_R{
	display: table-cell;
	width: 40%;
	text-align: right;
	padding: 5px;
	margin: 0;
	color: #ff0000;
	vertical-align: top;
	box-sizing: border-box;
}
.campaign2_link a{
    display: block;
    width: 130px;
     background: linear-gradient(0deg, #95a371,#525d37);
    color: #fff;
    padding: 3px;
    border-radius: 15px;
    text-align: center;
    margin-left: auto;
    box-shadow: #545454 0px 1px 2px 0px;
}
.contact_link a{
    display: block;
 float: left;
    width: 120px;
    background: linear-gradient(0deg, #95a371, #ffffff);
    color: #000;
    padding: 5px;
    border-radius: 15px;
    text-align: center;
    margin-left: auto;
    box-shadow: #545454 0px 1px 2px 0px;
}
.pttuika_link a{
    display: block;
    width: 120px;
    background: linear-gradient(0deg, #ffb217, #ffffff);
    color: #000;
    padding: 5px;
    border-radius: 15px;
    text-align: center;
    margin-left: auto;
    box-shadow: #545454 0px 1px 2px 0px;
}
.text_kantei {
	font-size: 18px;
        padding: 0;	
}
.data_th_single {
    /* 1枚の横長ボックスとして表示（幅は100%やautoなど状況に合わせて調整） */
    display: block; 
    width: 90%; 
    flex: 0 0 90%;       /* 「絶対に大きくならず、小さくもならず、90%を死守せよ」という命令 */
    box-sizing: border-box; /* 念のため、余白で膨らむのを防ぐ設定 */    
    /* フォント・テキスト周り（元コードを継承） */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    color: #fff;
    padding: 10px 5px;
    box-sizing: border-box;

    /* 背景画像と色（元コードを継承） */
    background:  url(../site_img/soul_garden/3th_bg.png);
    background-position: left center;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* 角丸（4角すべてを均等に丸める形に変更） */
    border-radius: 4px;

    /* 内側のシャドウ（元コードを継承） */
    box-shadow: 0px 0px 2px 1px #d4d6d9 inset;
    
    /* 必要に応じて、元のテーブルにあった外側の影や余白を追加 */
    filter: drop-shadow(0px 2px 1px #635842);
    margin: 0 auto 3px;
}

.data_th_single span{
	display: inline-block;
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	background-color: #f03748;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	padding: 0;
	position: absolute;
	left: 35px;
	top: 10px;
	z-index: 1;
	border-radius: 300px;
	-webkit-border-radius: 300px;
	-moz-border-radius: 300px;
	box-sizing: border-box;
}
/* ==================================================
   Garden調 ユーザー情報ボックス（外枠のカード）
   ================================================== */
.user_status_box {
    width: calc(100% - 20px);
    max-width: 355px;
    margin: 18px auto;
    padding: 18px;
    box-sizing: border-box;
    
    /* 背景：ハーブが香る庭園をイメージした、ごく薄いナチュラルグリーン */
    background: #f4f6f0; 
    
    /* 枠線：メインカラーの細線に加え、四隅を少し「植物の楕円」を意識した柔らかな角丸に */
    border: 1px solid #525d37;
    border-radius: 12px 4px 12px 4px; /* 対角線上に丸みを変えてスタイリッシュに */
    
    /* 大自然の柔らかな光をイメージした、淡いシャドウ */
    box-shadow: 0 4px 12px rgba(82, 93, 55, 0.08);
}

/* ==================================================
   各行のレイアウト
   ================================================== */
.user_status_box dl {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 12px 0;
    box-sizing: border-box;
}

/* 行と行の間の「区切り線」を、庭の小道を連想させる繊細なドット線に */
.user_status_box dl:not(:last-child) {
    border-bottom: 1px dotted rgba(82, 93, 55, 0.4); 
}

/* ==================================================
   左側：見出し（&#127793; 双葉のアイコン付き）
   ================================================== */
.user_status_box dt {
    width: 35%;
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 15px;
    color: #525d37;
    position: relative;
    padding-left: 18px; /* 双葉が入るスペース */
    margin: 0;
}

/* 【Garden装飾】CSSの曲線だけで描く「小さな双葉（植物の芽）」 */
.user_status_box dt::before,
.user_status_box dt::after {
    content: "";
    position: absolute;
    bottom: 50%;
    width: 5px;
    height: 7px;
    background: #b29457; /* 輝くゴールドの葉っぱ */
    /* 綺麗な葉っぱの形にするための曲線設定 */
    border-radius: 0 100% 0 100%; 
}

/* 左側の葉っぱ（少し左に傾ける） */
.user_status_box dt::before {
    left: 0;
    transform: rotate(-35deg) translateY(2px);
}

/* 右側の葉っぱ（少し右に傾け、色をメインの緑にして瑞々しく） */
.user_status_box dt::after {
    left: 5px;
    background: #525d37; 
    border-radius: 100% 0 100% 0; /* 逆向きの葉っぱ */
    transform: rotate(35deg) translateY(4px);
}

/* ==================================================
   右側：データ内容
   ================================================== */
.user_status_box dd {
    width: 65%;
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 16px;
    color: #2c321e; /* 焦げ茶に近い、深いウッドアースカラー */
    margin: 0;
    padding-left: 10px;
}

/* 保有pt：木の実や果実が実ったような、深みと輝きのあるゴールド */
.user_status_box dd.highlight_pt {
    color: #2c321ec;
    font-size: 17px;
    letter-spacing: 0.5px;
}

/* 「pt」単位 */
.user_status_box dd .unit {
    font-size: 11px;
    color: #707a5d; /* 葉っぱの影のようなオリーブグレー */
    margin-left: 3px;
}

/* ==================================================
   サンクスページ全体の外枠（コンテナ）
   ================================================== */
.thanks_container {
    width: 92%;
    max-width: 400px;
    margin: 30px auto;
    padding: 25px 15px;
    box-sizing: border-box;
    
    /* 背景：ハーブ園をイメージした淡いナチュラルグリーン */
    background: #f4f6f0;
    
    /* 枠線：メインカラーにアシンメトリーな丸みをつけてGardenらしさを */
    border: 1px solid #525d37;
    border-radius: 16px 4px 16px 4px;
    
    /* 上品で柔らかな影 */
    box-shadow: 0 8px 24px rgba(82, 93, 55, 0.12);
    text-align: center;
}

/* ==================================================
   ヘッダー部分（タイトル周り）
   ================================================== */
.thanks_header {
    margin-bottom: 20px;
}

/* 英語のサブタイトル */
.thanks_header .en_title {
    display: block;
    font-family: "Kaisei Tokumin", serif;
    font-size: 11px;
    font-weight: bold;
    color: #b29457; /* 格式高いゴールド */
    letter-spacing: 2px;
    margin-bottom: 4px;
}

/* メインタイトル：「ご登録完了」 */
.thanks_header h1 {
    margin: 0;
    font-family: "Kaisei Tokumin", serif;
    font-size: 17px;
    font-weight: bold;
    color: #525d37; /* メインカラー */
    position: relative;
    display: inline-block;
    padding: 0 25px;
}

/* タイトルの左側につく金色の葉っぱアイコン（CSS描画） */
.thanks_header h1::before,
.thanks_header h1::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 8px;
    height: 12px;
    background: #b29457;
    border-radius: 0 100% 0 100%;
}
.thanks_header h1::before {
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
}
.thanks_header h1::after {
    right: 0;
    border-radius: 100% 0 100% 0;
    transform: translateY(-50%) rotate(45deg);
}

/* ==================================================
   文章エリア
   ================================================== */
.thanks_body {
    margin-bottom: 25px;
}

.thanks_body .main_lead {
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 15px;
    color: #2c321e;
    margin: 0 0 8px 0;
}

.thanks_body .sub_lead {
    font-size: 12px;
    color: #697355;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

/* ==================================================
   【埋め込み】ユーザー情報ボックス（Gardenスタイル内包用）
   ================================================== */
.thanks_container .user_status_box {
    width: 100%; /* 親の幅いっぱいに広げる */
    margin: 15px 0;
    padding: 15px 12px;
    background: #fff; /* コンテナ背景と差をつけるため白に変更 */
    border: 1px dashed #525d37; /* 軽やかな点線枠に */
    border-radius: 8px;
    box-shadow: none;
}
.thanks_container .user_status_box dl {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 8px 0;
}
.thanks_container .user_status_box dl:not(:last-child) {
    border-bottom: 1px dotted rgba(82, 93, 55, 0.3);
}
.thanks_container .user_status_box dt {
    width: 35%;
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 12px;
    color: #525d37;
    text-align: left;
    margin: 0;
}
.thanks_container .user_status_box dd {
    width: 65%;
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 14px;
    color: #2c321e;
    text-align: left;
    margin: 0;
    padding-left: 5px;
}
.thanks_container .user_status_box dd.highlight_pt {
    color: #b29457;
    font-size: 16px;
}
.thanks_container .user_status_box dd .unit {
    font-size: 11px;
    color: #707a5d;
}

/* ==================================================
   下部ボタンエリア（絶対にサイズを崩さない設計）
   ================================================== */
.thanks_action {
    width: 100%;
    display: block;
}

.primary_btn {
    display: block;
    width: 90%;          /* ご希望の90%幅 */
    max-width: 280px;
    margin: 0 auto;
    height: 50px;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
    
    /* 他の要素とぶつかっても絶対にサイズ変更・肥大化させない強力な盾 */
    flex: 0 0 90% !important; 
    
    /* フォント設定 */
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 14px;
    
    /* 文字色：白 ＋ 黒フチ取り */
    color: #fff;
    text-shadow: 
        1px  1px 0px #000, -1px  1px 0px #000,
        1px -1px 0px #000, -1px -1px 0px #000;
        
    /* 背景：メインカラー（#525d37）ベースの立体グラデーション */
    background: linear-gradient(to bottom, #697746, #525d37, #3d4629);
    
    /* 上下のゴールド極細ライン */
    border-top: 1px solid #b29457;
    border-bottom: 1px solid #b29457;
    border-left: none;
    border-right: none;
    
    border-radius: 4px;
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.15) inset;
    filter: drop-shadow(0px 2px 3px #1a1e11);
    
    box-sizing: border-box;
    transition: all 0.2s;
}

/* タップ時演出：1px沈み込む */
.primary_btn:active,
.primary_btn:hover {
    opacity: 0.85;
    transform: translateY(1px);
    filter: drop-shadow(0px 1px 1px #1a1e11);
}
/* ==================================================
   鑑定師紹介カード（外枠）
   ================================================== */
.fortune_teller_card {
    width: calc(100% - 20px);
    max-width: 360px;
    margin: 20px auto;
    padding: 18px;
    box-sizing: border-box;
    
    /* 背景：淡い新緑ハーブグリーン（サンクスページ等と統一） */
    background: #f4f6f0; 
    
    /* 枠線：オリーブグリーン ＆ アシンメトリーな丸みでGarden調に */
    border: 1px solid #525d37;
    border-radius: 14px 4px 14px 4px;
    
    box-shadow: 0 4px 12px rgba(82, 93, 55, 0.1);
    position: relative;
    overflow: hidden;
}

/* ==================================================
   上部レイアウト（写真 ＋ 右側情報）
   ================================================== */
.card_main_info {
    display: flex;
    align-items: flex-start; /* 上揃え */
    justify-content: space-between;
    width: 100%;
    margin-bottom: 15px;
}

/* 鑑定師の丸写真枠 */
.teller_thumb {
    width: 85px;
    height: 85px;
    flex-shrink: 0; /* 他の要素に押し潰されないように固定 */
    border: 2px solid #b29457; /* 格式高いゴールドのフチ */
    border-radius: 50%; /* 綺麗な真ん丸にする */
    overflow: hidden;
    background: #e2e4dc; /* 画像が読み込まれる前の仮背景色 */
}

.teller_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 縦横比を崩さず枠いっぱいに表示 */
}

/* 右側テキストエリア */
.teller_meta {
    width: calc(100% - 100px); /* 写真の横幅を引いた残りの100% */
    padding-left: 10px;
    box-sizing: border-box;
}

/* 鑑定師のランクバッジ（プレミアム・ゴールド等） */
.teller_rank {
    display: inline-block;
    font-size: 10px;
    font-weight: bold;
    color: #fff;
    background: #b29457; /* ゴールド背景 */
    padding: 2px 8px;
    border-radius: 3px;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

/* 鑑定師の名前 */
.teller_name {
    margin: 0 0 8px 0;
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 18px;
    color: #525d37; /* メインカラー */
}
.teller_name .honorific {
    font-size: 12px;
    color: #697355;
    font-weight: normal;
    margin-left: 2px;
}

/* ==================================================
   占術タグエリア（はみ出し徹底ブロック設定）
   ================================================== */
.teller_tags {
    width: 100%;
    display: flex;
    flex-wrap: wrap; /* 画面幅に合わせて綺麗に自動折り返し */
    gap: 4px;        /* タグ同士の絶妙な隙間 */
}

.tag_title {
    display: block;
    width: 100%; /* タイトルは1行独立 */
    font-size: 10px;
    font-weight: bold;
    color: #707a5d;
    margin-bottom: 2px;
}

.tag_item {
    font-size: 10px;
    font-weight: bold;
    color: #525d37;
    background: #fff; /* 白い背景でスッキリ見せる */
    border: 1px solid rgba(82, 93, 55, 0.4);
    padding: 2px 6px;
    border-radius: 12px;
    
    /* 文字が右に突き抜けるのを絶対に防ぐ安心命令 */
    white-space: normal;
    word-break: break-all;
}

/* ==================================================
   中央：プロフィール・紹介文
   ================================================== */
.card_profile_info {
    border-top: 1px dotted rgba(82, 93, 55, 0.4); /* 庭の小道風ドット線 */
    padding-top: 12px;
    margin-bottom: 15px;
    text-align: left;
}

.card_profile_info h3 {
    margin: 0 0 6px 0;
    font-family: "Kaisei Tokumin", serif;
    font-size: 12px;
    color: #b29457; /* 見出しはゴールド */
    font-weight: bold;
    position: relative;
    padding-left: 12px;
}

/* 見出しの左につく小さな双葉の芽（ユーザー情報ボックスと統一） */
.card_profile_info h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 6px;
    background: #525d37;
    border-radius: 0 100% 0 100%;
    transform: translateY(-50%) rotate(-30deg);
}

.card_profile_info p {
    margin: 0;
    font-size: 12px;
    color: #2c321e; /* ウッドブラウン */
    line-height: 1.6;
    
    /* 長文でも右側にはみ出させない改行設定 */
    white-space: normal;
    word-break: break-all;
}

/* ==================================================
   下部：相談するボタン（サイズ絶対死守設計）
   ================================================== */
.card_action {
    width: 100%;
    display: block;
}

.fortune_action_btn {
    display: block;
    width: 90%; /* 理想の90%幅 */
    margin: 0 auto;
    height: 44px;
    line-height: 44px;
    text-align: center;
    text-decoration: none;
    
    /* 他の要素とぶつかっても絶対にサイズ変更・肥大化させない盾 */
    flex: 0 0 90% !important; 
    
    font-family: "Kaisei Tokumin", serif;
    font-weight: bold;
    font-size: 13px;
    
    /* 文字色：白 ＋ クッキリ黒フチ取り */
    color: #fff;
    text-shadow: 
        1px  1px 0px #000, -1px  1px 0px #000,
        1px -1px 0px #000, -1px -1px 0px #000;
        
    /* 背景：メインカラー（#525d37）の高級立体グラデーション */
    background: linear-gradient(to bottom, #697746, #525d37, #3d4629);
    
    /* 上下のゴールド極細ライン */
    border-top: 1px solid #b29457;
    border-bottom: 1px solid #b29457;
    border-left: none;
    border-right: none;
    
    border-radius: 4px;
    box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.15) inset;
    filter: drop-shadow(0px 2px 3px #1a1e11);
    
    box-sizing: border-box;
    transition: all 0.2s;
}

/* タップ時演出 */
.fortune_action_btn:active,
.fortune_action_btn:hover {
    opacity: 0.85;
    transform: translateY(1px);
    filter: drop-shadow(0px 1px 1px #1a1e11);
}