@charset "utf-8";

/* CSS Document */
@font-face {
	font-family: 'BAHNSCHRIFT';
	src: url(../BAHNSCHRIFT.TTF);
	font-weight: normal;
	font-style: normal;
}

* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	word-break: normal;
	word-wrap: break-word;
}

body {
	font-family: "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
	/*font-family: "Yu Mincho", "游明朝", "游明朝体", "	Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "MS Mincho", "ＭＳ 明朝", "	MS PMincho", "ＭＳ Ｐ明朝", "Sawarabi Mincho";*/
	/*font-family: 'Roboto', sans-serif;*/
	background-color: #000;
	color: #434d50;
	font-size: 16px;
	line-height: 1.6;
}

img {
	vertical-align: bottom;
	margin: 0;
	padding: 0;
	border: 0;
	max-width: 100%;
}

.clearfix:before,
.clearfix:after {
	display: table;
	content: " ";
}

.clearfix:after {
	clear: both;
}

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

td,
th {
	padding: 0;
}

table {
	background-color: transparent;
}

table col[class*="col-"] {
	position: static;
	display: table-column;
	float: none;
}

table td[class*="col-"],
table th[class*="col-"] {
	position: static;
	display: table-cell;
	float: none;
}

ul li {
	/*list-style:none;*/
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0px;
}

.os-animation {
	opacity: 0;
}

.os-animation.animated {
	opacity: 1;
}

/*
.fixedcontainer{
	width:1080px;
	margin:0 auto;
	padding:0px;
}*/
a {
	color: inherit;
}

a:visited,
a:link,
a:hover,
a:active,
a:focus {
	outline: none;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	transition: opacity 0.5s ease;
}

.red {
	color: #ed1c24;
}

.yellow {
	color: #ffed21;
}

.bkyellow {
	background-color: #fff100;
}

.bold {
	font-weight: bold;
}

.btline {
	text-decoration: underline;
}

.underline {
	text-decoration: underline;
}

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

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.visible-sp {
	display: none;
}

.hidden-sp {
	display: block;
}

.visible-xs {
	display: none;
}

.hidden-xs {
	display: block;
}

.visible-500 {
	display: none;
}

.hidden-500 {
	display: block;
}

.flex {
	display: -webkit-flex;
	display: -webkit-box;
	display: -moz-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

/* PC 768 px 超過	********************************************************************************	*/
.container {
	width: 100%;
	margin: 0;
}

.container_in {
	width: 100%;
	margin: 0;
	padding: 80px 0 40px;
	background-size: cover;
	/* 画像が要素全体に収まるように拡大縮小 */
	background-position: center;
	/* 画像を中央に配置 */
	background-repeat: no-repeat;
	/* 画像の繰り返しを防ぐ */
	overflow-x: hidden;
}

.top_section {
	width: 100%;
	height:100%;
	margin: 0;
	/* overflow-x: hidden; */
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%; /* HTMLとbodyを画面全体に拡張 */
}

.top_logo_text {
    max-width: 1440px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
}

.top_logo_text img {
	max-width: 100%;
}

.top_event {
	margin: 0 auto;
	padding: 192px 0 50%;
}

.top_event_flame {
	position: relative;
	max-width: 1024px;
	margin: 0 auto;
	padding: 0;
}

.top_event_image {
	position: absolute;
	top: -170px;
	right: 0;
	left: 0;
	margin: 0 auto;
}

.top_event_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* 横に2列 */
	grid-template-rows: repeat(2, 1fr);
	/* 縦に2行 */
	column-gap: 0px;
	row-gap: 20px;
	padding: 20px 0;
	padding-top: 64px;
	align-items: center;
	justify-items: center;
}

.top_event_item {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2em;
	width: 80%;
	/* グリッドアイテムがグリッドセルの幅に合わせる */
}

.top_limitedplan {
	margin: 0 auto;
	padding: 40px 0 80px;
}

.top_limitedplan_banner {
	margin: 20px auto;
}

.top_plan {
	margin: 0 auto;
	padding: 40px 0;
}

.top_plan_list {
	display: flex;
	flex-wrap: wrap;
	/* コンテンツがコンテナからはみ出すときに折り返す */
	gap: 40px;
	/* アイテム間のスペース（調整可能） */
	max-width: 1440px;
	/* コンテナの最大幅を設定 */
	margin: 0 auto;
	/* コンテナを中央に配置 */
	padding: 0 20px;
	/* コンテナの左右にパディングを追加（調整可能） */
}

.top_hit {
	margin: 0 auto;
	padding: 40px 0;
}

.top_hit_button {
	margin: 100px auto 0;
}

.top_contact {
	margin: 0 auto;
	padding: 40px 0;
}

.top_contact_text {
	margin: 3.0em auto 2.0em;
	color: #fff;
}

.plan_flame {
	position: relative;
	flex: 1 1 calc(50% - 20px);
	/* 2列で配置し、アイテム間の隙間を考慮する */
	box-sizing: border-box;
	/* パディングとボーダーのサイズを含める */
	background-color: #fff;
	/* 背景色（任意） */
	padding: 20px;
	/* 内側の余白（任意） */
	border: 2px solid #f7931e;
	/* ボーダー（任意） */
	border-radius: 20px;
	/* 角を丸くする */
	/* その他のスタイリングが必要なら追加 */
}

.plan_flame .plan_category {
	position: absolute;
	top: -10px;
	left: -10px;
	z-index: 2;
	padding: 10px 40px 10px 10px;
	color: #f7931e;
	font-size: 24px;
	font-style: italic;
	font-weight: bold;
}

.plan_flame .plan_flame_title {
	position: absolute;
	top: -20px;
	left: -30px;
	z-index: 1;
}

.plan_flame .plan_image {
	margin: 40px 0 0;
	padding: 0;
}

.plan_flame .plan_content {
	margin: 1.0em 0 0;
	padding: 0;
}

.plan_flame .plan_content dt {
	margin: 1.0em auto;
	font-size: 20px;
	font-weight: bold;
}

.plan_flame .plan_content dd {
	max-width: 256px;
	margin: 1.0em auto 2.0em;
	padding: 0;
	text-align: left;
}

.plan_flame .plan_content dd li {
	list-style-type: none;
}

.plan_flame .plan_button {
	width: 100%;
	margin: 0.5em auto;
}

.plan_flame.empty {
	flex: 1 1 calc(50% - 20px);
	/* 他のアイテムと同じ幅に設定 */
	box-sizing: border-box;
	background-color: transparent;
	;
	/* 背景色（任意） */
	padding: 20px;
	/* 内側の余白（任意） */
	border: 0px solid #ddd;
	/* ボーダー（任意） */
	border-radius: 20px;
	/* 角を丸くする */
	/* アイテム内にコンテンツがないように調整 */
}

#result_show_area {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	margin: 0 auto;
}

.result_ticket {
	height: 582px;
	position: relative;
	font-weight: bold;
	margin: 0;
	padding: 0;
}


@media (max-width: 768px) {
	#result_show_area {
		gap: 8px;
	}
}

@media (max-width: 480px) {
	#result_show_area {
		gap: 4px;
	}
}



.result_ticket .result_infoname {
	position: absolute;
	top: 78px;
	left: 249px;
	width: 440px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 1.4em;
	line-height: 2.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.result_ticket .result_content {
	position: absolute;
	top: 156px;
	left: 249px;
	width: 440px;
	margin: 0;
	padding: 0;
	font-size: 1.0em;
	line-height: 1.0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.result_ticket .result_content span {
	padding: 0 0.25em;
}

.result_ticket .result_amount {
	position: absolute;
	top: 195px;
	left: 249px;
	width: 440px;
	margin: 0;
	padding: 0;
	color: #ff573b;
	font-size: 4em;
	font-family: 'Bahnschrift';
	line-height: 1.0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white), 0 0 4px var(--white);
	white-space: nowrap;
}

.result_ticket .result_amount span {
	font-size: 0.5em;
}

.result_ticket .result_detail {
	position: absolute;
	top: 297px;
	left: 37px;
	width: 682px;
	margin: 0;
	padding: 0;
	text-align: center;
}

.result_ticket .result_detail h4 {
	color: #fff;
	font-size: 1.2em;
	margin: 1.5em auto 0.5em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/*-------------header----------------------*/
header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 1000;
	background-color: #000;
	height: 60px; /* ヘッダーの高さを指定 */
}

main {
	padding-top: 55px; /* ヘッダーの高さと同じ分を確保 */
}

.header_in {
	padding: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #000000;
}

.login-btn a {
	font-size: 18px;
	font-weight: bold;
	padding: 10px 30px;
	background-color: #fff;
	color: #46bb89;
	border-radius: 30px;
}

.fv {
	background: url(../img/lp-back1.png) no-repeat center bottom;
	background-size: cover;
	padding: 160px 0 220px;
	text-align: center;
}

.fv-img {
	margin-bottom: 30px;
}

.fv-ttl {
	font-size: 40px;
	color: #fff;
	letter-spacing: 2px;
	line-height: 1.3;
}

.fv-ttl span {
	font-size: 56px;
	font-family: 'Bahnschrift';
	color: #ffff00;
}

.banner {
	margin-top: -180px;
	background-color: #fff;
	border-radius: 24px;
	padding: 40px 60px;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.30);
	margin-bottom: 80px;
}

.banner-in {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.banner-content {
	text-align: right;
}

.banner-btn {
	margin-bottom: 30px;
}

.promise {
	background: url(../img/lp-back2.png) no-repeat center top;
	background-size: 100%;
	background-color: #434d50;
	padding: 10px 0 0;
}

.title {
	text-align: center;
	line-height: 1.2;
}

.title span {
	display: block;
}

.title-en {
	font-size: 48px;
	color: #fff;
	margin-top: 10px;
	font-family: 'Bahnschrift';
}

.title-jp {
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 2px;
}

.promise-txt1 {
	font-size: 36px;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.promise-txt2 {
	font-size: 80px;
	font-weight: 900;
	color: #fff;
	text-align: center;
	line-height: 1.2;
}

.promise-img {
	text-align: center;
}

.promise-img img {
	width: 100%;
}

.about {
	background-color: #e7edf2;
}

.about-ttl {
	text-align: center;
	font-size: 56px;
	font-weight: 900;
	color: #f7931e;
	margin-bottom: 50px;
}

.about-in {
	display: flex;
	flex-direction: row-reverse;
	align-items: start;
}

.about-img {
	width: 540px;
	border-radius: 20px;
	overflow: hidden;
}

.about-img img {
	object-fit: cover;
}

.about-content {
	width: 585px;
	margin-right: -45px;
	background-color: #fff;
	padding: 40px;
	border-radius: 20px;
	margin-top: 80px;
	position: relative;
}

.about-ttl-en {
	position: absolute;
	left: 40px;
	top: -40px;
	font-size: 54px;
	font-family: 'Bahnschrift';
}

.about-txt {
	font-size: 20px;
	font-weight: bold;
}

.about-txt span {
	color: #fff;
}

.result {
	background-color: #fff;
	overflow-x: hidden;
}

.sec {
	padding: 120px 0;
}

.slick-list {
	overflow: initial;
}

.slick-slide {
	width: 743px;
}

.result .banner2 {
	margin-top: 140px;
}

.banner2 {
	padding: 40px;
	background: #e7edf2;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.30);
	border-radius: 24px;
	text-align: center;
	position: relative;
}

.banner2-txt {
	margin-bottom: 30px;
}

.badge2 {
	position: absolute;
	top: 0;
	left: 100px;
}

.badge4 {
	position: absolute;
	top: -75px;
	right: 40px;
}

.reason {
	background-color: #e7edf2;
}

.title.title-black .title-en {
	color: #fff;
}

.title.title-black .title-jp {
	color: #434d50;
}

.reason-in {
	background: url(../img/back-horse.svg) no-repeat top center;
}

.reason-list {
	display: flex;
	justify-content: space-between;
}

.reason-one {
	width: 340px;
	background-color: #fff;
	border-radius: 15px;
	position: relative;
	padding: 50px 20px 30px;
}

.reason-num {
	font-size: 58px;
	font-family: 'Bahnschrift';
	color: #f7931e;
	position: absolute;
	top: -30px;
	text-align: center;
	width: 100%;
	left: 0;
	line-height: 1;
}

.reason-ttl {
	text-align: center;
	color: #fff;
	font-weight: bold;
	margin-bottom: 20px;
	font-size: 24px;
	line-height: 1.3;
}

.reason-img {
	text-align: center;
	margin-bottom: 30px;
}

.ai {
	background: url(../img/back1.png) no-repeat center center;
	background-size: cover;
}

.title3 {
	text-align: center;
	font-size: 56px;
	font-weight: bold;
	color: #fff;
	margin-bottom: 60px;
}

.ai-img {
	text-align: center;
	margin-bottom: 50px;
}

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

.greeting {
	background: url(../img/back2.png) no-repeat center center;
	background-size: cover;
}

.greeting-in {
	background-color: #fff;
	border-radius: 40px;
	border: 3px solid #fff;
	padding: 70px;
	text-align: center;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.30);
}

.greeting-in p {
	font-size: 20px;
	font-weight: bold;
}

.greeting-in p span {
	color: #fff;
}

.greeting-in h3 {
	margin: 15px 0;
	color: #f7931e;
	font-size: 36px;
}

.footer {
	width: 100%;
}
@media (max-width: 768px) {
	.footer {
		padding-bottom: 30px;
	}
}

.footer_in {
	background-color: #000;
	color: #fff;
}

.footer-in1 {
	width: 720px;
	margin: 0 auto;
	padding: 20px 0;
}

.footer-in1 li {
	font-size: 14px;
}

.footer-in1 div p{
	font-size:11px;
}

.footer-in2 {
	width: 90%;
	max-width: 1024px;
	min-width: 768px;
	margin: 0 auto;
	border-top: 1px solid #fff;
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-in2 ul {
	display: flex;
	font-size: 14px;
}

.footer-in2 li {
	list-style: none;
	margin-right: 1.0em;
}

.footer-logo {
	margin: 40px auto 0px;
	text-align: center;
}

.footer-logo img {
	width:200px;
}

.copyright {
	font-size: 12px;
}

.white_back {
	background-color: #fff;
}

.gray_back {
	background-color: #e7edf2;
}

.user_info {
	margin-right: 40px;
	color: #fff;
}

.user_txt {
	letter-spacing: 1px;
}

.user_txt span {
	font-size: 20px;
	font-weight: bold;
}

.user_tel {
	margin-right: 40px;
}

.header2 .header_in {
	padding: 0px;
}

.menu-trigger {
	position: relative;
	transition: all .4s;
	box-sizing: border-box;
	cursor: pointer;
	width: 80px;
	height: 80px;
	z-index: 5;
	background-color: #000;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.30);
}

.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	cursor: pointer;
	position: absolute;
	background: #fff;
	width: 30px;
	height: 2px;
	left: 0;
	right: 0;
	margin: auto;
}

.menu-trigger span:nth-of-type(1) {
	top: 30px;
}

.menu-trigger span:nth-of-type(2) {
	top: 0;
	bottom: 0;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 30px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}

.g-nav {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	width: 100vw;
	height: 100%;
	z-index: 3;
	padding: 30px;
}

.g-nav-title {
	width: 10em;
	margin: 20px auto 10px;
	padding: 0.25em 0;
	color: #fff;
	border: 1px solid white;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.25em;
}

.g-nav-content {
	max-width: 24em;
	margin: 0 auto;
}

ul.g-nav-list {
	width: 8em;
	margin: 1.0em auto 0;
	text-align: left;
	list-style: none;
	line-height: 2.0em;
	color: #fff;
}

/*
.g-nav .list {
	margin-top: 70px;
  padding: 20px;
	color: #fff;
}
.g-nav .list li{
	text-align: center;
	list-style: none;
}
.g-nav .list li a {
  display: inline-block;
  width: 228px;
  text-align: center;
  text-decoration: none;
  padding: 10px 0;
  font-weight: bold;
}
.g-nav .list li.contact_btn a{
	border: 3px solid #FF830E;
	border-radius: 6px;
	padding: 7px 0;
	color: #FF830E;
	background-color: #fff;
}
.g-nav .list li.order_btn a{
	color: #fff;
	background-color: #FF830E;
	border-radius: 6px;
}
*/

/*.header2{
	background-color: #fff;
}
*/
.header_logo {
	margin: 9px 0px 4px 5vw;
	padding: 0px;
	max-width: 20vw;
}

.header_right {}

dl.user-info {
	display: flex;
	align-items: center;
	/* 中央揃え（縦方向） */
	text-align: center;
	vertical-align: middle;
}

dl.user-info dt {
	position: relative;
	min-width: 6em;
	padding: 0.5em 2em 0.5em 4em;
	color: white;
	background-color: #705b00;
	margin-top: 10px;
	overflow: hidden;
}

.cut_dt {
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
	/* 左側を斜めにカット */
}

.cut_dt::before {
	content: '';
	position: absolute;
	top: 0;
	left: 14%;
	/* 黒い線を右側に少しずらして配置 */
	width: 2%;
	height: 150%;
	/* 高さを大きくして、線が切れないように */
	background-color: black;
	/* 黒い線を描画 */
	z-index: -1;
	/* 背景に表示 */
	transform: rotate(32deg);
	/* 45度回転 */
	transform-origin: top;
	/* 上端を回転の起点にする */
}

.cut_dt::after {
	content: '';
	position: absolute;
	top: 0;
	left: 20%;
	/* 2本目の線をさらに右側に配置 */
	width: 2%;
	height: 150%;
	/* 高さを大きくして、線が切れないように */
	background-color: black;
	/* 黒い線を描画 */
	z-index: -1;
	/* 背景に表示 */
	transform: rotate(32deg);
	/* 同じ角度で回転 */
	transform-origin: top;
	/* 上端を回転の起点にする */
}

.select_race_area {
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* 2列レイアウト */
	grid-auto-rows: auto;
	gap: 20px;
	/* アイテム間のスペース */
	justify-items: center;
	/* 中央揃え */
	margin: 100px 0 0 0;
}

.select_race,
.plan_list {
	text-align: center;
}

.select_race {
	color: #fff;
	border: 2px solid #fff;
	padding: 10px 20px;
	background-color: #000;
	width: 70%;
	margin: 0 auto;
}


.plan_list img {
	max-width: 100%;
	height: auto;
}

.plan_list_central,
.plan_list_local,
.plan_list_central_sp,
.plan_list_local_sp {
	margin-top: 50px;
	display: none;
	text-align:center;
}

.plan_list_central img,
.plan_list_local img,
.plan_list_central_sp img,
.plan_list_local_sp img {
	margin-top: 25px;
	max-width:300px;
}

.plan_list_under{
	margin-top:150px;
}

.select_race_area_sp {

}

.select_race_sp {
	color: #fff;
	font-size: 1rem;
	border: 2px solid #fff;
	padding: 10px;
	background-color: #000;
}

.select_race {
	cursor: pointer;
	font-size: 1.2rem;
	margin: 0 auto;
}

.arrow {
	margin-left: 10px;
}

.select_payment_area {
	margin: 100px 0;
}

.select_payment {
	margin-bottom: 50px;
	padding: 10px;
	width: 300px;
}

.select_payment label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	cursor: pointer;
}

.select_payment input[type="radio"] {
	position: absolute;
	opacity: 0;
}

.custom_checkbox {
	display: inline-block;
	width: 30px;
	height: 30px;
	background-color: #ac1c0d;
	border: 2px solid #fff;
	border-radius: 4px;
	position: relative;
	cursor: pointer;
}

.custom_checkbox::before {
	content: "";
	position: absolute;
	top: 30%;
	left: 10%;
	width: 15px;
	height: 25px;
	border-right: 8px solid white;
	border-bottom: 8px solid white;
	transform: rotate(45deg) translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.2s ease;
}

input[type="radio"]:checked+.custom_checkbox::before {
	opacity: 1;
}

.select_point_area {
	text-align: center;
}

.select_point {
	position: relative;
	width: 90vw;
	max-width: 800px;
	height: auto;
	margin: 0 auto;
}

.select_point_img {
	margin: 100px 0;
	max-width: 100%;
}

.select_point_box {
	margin-top: 30px;
	text-align: center;
	color: #fff;
	background-color: #000;
	border: 2px solid #fff;
	padding: 10px;
	border-radius: 10px;
	font-size: 1.5rem;
	width: 100%;
}

.gold_frame {
	font-size: 1.5rem;
	padding: 2rem 4rem;
	background-color: #302a2a;
	border: 10px solid;
	border-image: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	border-image-slice: 1;
	border-radius: 10px;
	color: #fff;
	margin: 0 auto;
	width: 90vw;
	max-width: 800px;
	box-sizing: border-box;
}

.purchase_btn {
	max-width: 100%;
	height: auto;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	.select_point {
		width: 100vw;
	}

	.gold_frame {
		padding: 1.5rem 2rem;
		font-size: 1rem;
	}

	.select_point_box {
		font-size: 1.2rem;
	}
}


.purchase_btn {
	margin-top: 100px;
}

.chat_text_area {
	background-color: #000;
	color: #fff;
}

dl.user-info dt img {
	position: absolute;
	top: -4px;
	left: 2px;
}

dl.user-info dd {
	padding: 0.5em 2em 0.5em 1em;
	color: #ffffff;
	background-color: #705b00;
	min-width: 8em;
	margin-top: 10px;
}

ul.g-nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	color: #ffffff;
	background-color: #000000;
}

ul.g-nav-menu li {
	margin: 0 1.0em;
	padding: 0.5em 0;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	content: none;
}

ul.g-nav-menu li:after {
	content: none;
}

.g-nav-menu li img {
	width: 20px;
	height: 20px;
	margin-right: 5px;
	/* 画像とテキストの間に余白を追加 */
}

/*
.plan-list{
	max-width: 760px;
	margin: 0 auto;
}
.plan-one{
	background-color: #fff;
	position: relative;
	margin-top: 40px;
}
.plan-one:first-child{
	margin-top: 0;
}
.plan-img{
	padding: 20px;
	background-color: #f2f2f2;
}
.plan-cat{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	padding: 10px 20px;
	border-bottom-right-radius: 10px;
	color: #fff;
	font-size: 20px;
}
.cat1{
	background-color: #f7931e;
}
.plan-content{
	padding: 30px;
	font-size: 18px;
}
.plan-txt span{
	color: #f15a24;
}
.plan-btns{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	column-gap: 40px;
}
	*/
.btn {
	padding: 10px 60px;
	display: inline-block;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
	border: none;
	outline: none;
}

.green-btn {
	background-color: #fff;
}

.green-btn:after {
	content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	margin-top: -9px;
	width: 18px;
	height: 18px;
	background: url(../img/btn2.svg) no-repeat;
	background-size: contain;
}

.action-btn {
	background-color: #000;
	border: 2px solid #fff;
}

.action-btn:after {
	content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	margin-top: -9px;
	width: 18px;
	height: 18px;
	background: url(../img/btn1.svg) no-repeat;
	background-size: contain;
}

.contact {
	background: url(../img/back1.png) no-repeat center center;
	background-size: cover;
}

.contact-btn {
	text-align: center;
	margin-bottom: 20px;
}

.contact-txt {
	width: 420px;
	margin: 0 auto;
	padding: 20px;
	color: #fff;
	text-align: center;
	background: rgba(67, 77, 80, 0.8);
}

.footer-links {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}

.footer-links li {
	margin: 0 10px;
	list-style: none;
}

.footer-links li a {
	color: #fff;
	padding: 5px 20px;
	text-align: center;
	background-color: #fff;
	border-radius: 20px;
}

.result-list {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.result-one {
	width: 360px;
	margin-right: 40px;
	margin-bottom: 40px;
	background-color: #fff;
}

.result-one:nth-child(2n) {
	margin-right: 0;
}

.result-content {
	padding: 20px;
	position: relative;
}

.result-ttl {
	color: #fff;
}

.result-price {
	font-size: 20px;
	color: #f15a24;
	font-weight: bold;
}

.result-price span {
	font-size: 36px;
	font-family: 'Bahnschrift';
}

.result-mark {
	position: absolute;
	right: 20px;
	bottom: 20px;
	width: 80px;
}

.pagination ul {
	display: flex;
	justify-content: center;
}

.pagination ul li {
	list-style: none;
	margin: 0 5px;
}

.pagination ul li span,
.pagination ul li a {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.pagination ul li span {
	background-color: #fff;
	color: #fff;
}

.g-nav .user_info {
	display: none;
}

.g-nav .user_tel {
	display: none;
}

/*
.detail-content{
	max-width: 760px;
	margin: 0 auto 60px;
	background-color: #fff;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.30);
}
.detail-content:last-child{
	margin-bottom: 0;
}
.detail-content-ttl{
	text-align: center;
	padding: 20px 0;
	color: #fff;
	background-color: #fff;
	letter-spacing: 2px;
	font-size: 24px;
}
.detail-content-in{
	padding: 40px;
}
.detail-ttl{
	font-size: 32px;
	color: #fff;
	margin-bottom: 20px;
}
.detail-img{
	margin-bottom: 20px;
}
.detail-content .result-one{
	width: 320px;
	background-color: #f2f2f2;
}
*/
.content-info {
	max-width: 640px;
	margin: 0 auto;
}

.content-info-in {
	display: flex;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #f2f2f2;
}

.content-info-in p:first-child {
	width: 240px;
	padding: 15px 10px;
	color: #fff;
}

.content-info-in p:last-child {
	width: calc(100% - 240px);
	padding: 10px;
}

.content-price {
	margin: 40px auto;
	max-width: 400px;
	background-color: #e7edf2;
	text-align: center;
	padding: 30px;
}

.content-price-ttl {
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	width: 160px;
	margin: 0 auto;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #fff;
	text-align: center;
}

.content-price-txt {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.btn-wrap {
	text-align: center;
}

.btn-wrap .btn {
	padding: 12px 48px 12px 24px;
}

.detail-price {
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}

.detail-price span {
	font-size: 24px;
	color: #f15a24;
}

.detail-point-txt {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}

.detail-point-txt span {
	color: #fff;
}

/*	MAIL BOX	********************	*/
.mailbox-section {
	margin: 0;
	padding: 1.0em 0;
}

.mailbox-list {
	max-width: 768px;
	width: 90%;
	margin: 0 auto;
}

.mailbox-box {
	padding: 0px;
	margin: 0 0 2.0em;
	background-color: #fff;
}

.mailbox-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0.5em 2.0em;
	color: #fff;
	background-color: #f7931e;
}

.mailbox-header span {
	position: relative;
	padding-left: 36px;
}

.mailbox-header img {
	position: absolute;
	top: -16px;
	left: -16px;
}

.mailbox-content {
	margin: 0;
	padding: 1.0em 2.0em;
}

.mailbox-content h3 {
	margin: 0 0 0.5em;
}

.mailbox-content div {
	text-align: center;
}

.mailbox-content div.mailbox-content {
	margin: 1.0em auto;
	text-align: left;
}

.mailbox-content a {
	text-decoration: none;
	border: 2px solid #fff;
	border-radius: 24px;
	padding: 4px 20px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	display: inline-flex;
	align-items: center;
}

.mailbox-content a:hover {
	color: #fff;
	background-color: #fff;
}

.mailbox-content a .icon {
	margin: 4px 0;
	fill: #fff;
	width: 24px;
	height: 24px;
}

.mailbox-content a:hover .icon {
	fill: #fff;
}

.mailbox-page {
	margin: 0;
	padding: 1.0em 0;
}

/*	CHAT	********************	*/
.chat-section {
	margin: 0;
	padding: 1.0em 0;
}

.chat-box {
	max-width: 768px;
	width: 90%;
	margin: 0 auto;
	padding: 0px;
	border: 2px solid #fff;
}

.chat-box .input-group {
	display: flex;
	justify-content: space-between;
}

.chat-box .input-group textarea.form-control {
	width: 672px;
	padding: 1.0em;
	outline: none;
	border: none;
	border-radius: 8px;
}

.chat-box .input-group .send-btn {
	width: 80px;
	outline: none;
	border: none;
	border-radius: 8px;
	background-color: #f7931e;
}

.chat-box .input-group .send-btn span {
	display: block;
	color: #fff;
	font-size: 16px;
}

.chat-message-box {
	max-width: 768px;
	width: 90%;
	height: calc(100vh - 256px);
	overflow-y: auto;
	margin: 0 auto;
	padding: 0px;
	border-radius: 8px;
	background: #fff;
}

.chat-message-row {
	display: flex;
	margin: 16px;
	border-radius: 8px;
}

.chat-message-row>div {
	max-width: 75%;
}

.chat-message-left {
	justify-content: flex-start;
}

.chat-message-right {
	justify-content: flex-end;
}

.chat-message__meta {
	font-size: 12px;
	color: #666;
	margin-bottom: 0.5em;
}

.chat-message-right .chat-message__meta {
	text-align: right;
}

.chat-message-left .chat-message__meta {
	margin-left: 80px;
}

.chat-message__meta span {
	margin-right: 0.5em;
}

.chat-message__flex {
	display: flex;
	align-items: flex-start;
	gap: 1.0em;
}

.chat-message__content {
	padding: 1.0em;
}

.chat-message-right .chat-message__content {
	border-radius: 8px 0 8px 8px;
	background-color: #e8f3ff;
}

.chat-message-left .chat-message__content {
	position: relative;
	border-radius: 0px 8px 8px 8px;
	background-color: #f2f2f2;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.chat-message-left .chat-message__content p {
	margin: 0;
}

.chat-message-left .chat-message__content .arrow {
	position: absolute;
	top: 24px;
	left: -16px;
	/* 吹き出しの左側に矢印を配置 */
	transform: translateY(-50%);
	/* 矢印を中央に配置 */
	width: 0;
	height: 0;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
	border-right: 16px solid #f2f2f2;
	/* 矢印の色を吹き出しの背景色と一致させる */
}

/*	POINT PURCHASE	********************	*/
.point-section {
	width: 16em;
	margin: 40px auto;
	padding: 0;
	text-align: center;
}

.point-header {
	margin: 0;
	padding: 0.5em 1.0em;
	color: #fff;
	background-color: #fff;
}

.point-content {
	margin: 0;
	padding: 0.5em 0;
	color: #000;
	background-color: #fff;
	font-size: 36px;
}

.point-list {
	max-width: 768px;
	width: 90%;
	margin: 0 auto;
}

.point-box {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 0 1.0em;
	padding: 0.5em 1.0em 0.5em 0em;
	font-size: 24px;
	font-weight: bold;
	background-color: #fff;
	border-radius: 8px;
}

.point-box p {
	position: relative;
	width: 24%;
	text-align: right;
}

.point-box p img {
	height: 38px;
}

.point-box span {
	font-size: 16px;
	margin-left: 0.25em;
}

.point-box a {
	text-decoration: none;
	border: 1px solid #f7931e;
	border-radius: 24px;
	padding: 4px 8px 4px 16px;
	color: #fff;
	background-color: #f7931e;
	font-size: 16px;
	font-weight: bold;
	display: inline-flex;
	align-items: center;
}

.point-box a:hover {
	color: #f15a24;

}

.point-box a .icon {
	margin: 4px 0;
	fill: #fff;
	width: 24px;
	height: 24px;
}

.point-box a:hover .icon {
	fill: #f15a24;
}

div.point-section {
	width: 100%;
	margin: 0;
	padding: 2.0em 0;
}

div.point-section .point-purchase {
	width: 768px;
	margin: 0 auto;
	padding: 1.0em 2.0em;
	background-color: #000;
	border-radius: 8px;
	color: #fff;
}

div.point-section .point-purchase .point-purchase-content {
	width: 512px;
	margin: 0 auto;
	padding: 1.0em;
	border: solid 2px #fff;
	border-radius: 8px;
}

div.point-section .point-purchase .point-purchase-content dl {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	width: 50%;
	margin: 0 auto;
	color: #fff;
	font-weight: bold;
}

div.point-section .point-purchase .point-purchase-content dt {
	width: 66.6%;
	text-align: left;
}

div.point-section .point-purchase .point-purchase-content dd {
	width: 33.3%;
	text-align: left;
}

div.point-section .point-purchase .point-purchase-box {
	margin: 2.0em auto;
	padding: 0 0 2.0em 1.0em;
	text-align: left;
	border-bottom: solid 1px #1db578;
}

div.point-section .point-purchase .point-purchase-box:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

div.point-section .point-purchase .point-purchase-box .btn-wrap {
	margin: 2.0em auto;
}

div.point-section .point-purchase .point-purchase-box ul.point-purchase-notes {
	margin: 0 auto;
	padding: 0 0;
}

div.point-section .point-purchase .point-purchase-box ul.point-purchase-notes li {
	list-style: none;
	margin: 1.0em 0;
	text-indent: -1.0em;
}

/*	PROGRAMS	********************	*/
.programs-section {
	margin: 0;
	padding: 2.0em 0;
}

.programs-read {
	color: #ffed21;
	text-align: center;
}

.programs-read strong {
	display: block;
}

.programs-box {
	max-width: 768px;
	margin: 24px auto;
	padding: 24px;
	border-radius: 8px;
	color:#fff;
}

.programs-flex {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	gap: 0px;
	width: 100%;
}

.programs-image {
	width: 48%;
	padding-top: 1.0em;
}

.programs-content {
	width: 48%;
	margin: 0;
	padding: 0;
}

.programs-content dt {
	margin: 1.0em 0;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

.programs-content dd {
	margin: 1.0em;
	padding: 0;
	text-align: left;
}

.programs-content dd li {
	list-style-type: none;
}

.programs-point {
	margin: 1.0em 0;
	font-size: 18px;
	font-weight: bold;
	color: #f15a24;
	text-align: center;
}

.programs-content .btn-wrap {
	text-align: left;
}

/*	DISCLOSURE	********************	*/
.disclosure-section {
	margin: 0;
	padding: 1.0em 0;
}

.disclosure-section .disclosure-box {
	max-width: 1024px;
	margin: 0 auto;
	padding: 1.0em 2.0em 2.0em;
	background-color: #000;
	border-radius: 8px;
	color: #fff;
}

.disclosure-section .disclosure-box dl {
	margin: 0 auto;
	padding: 0;
}

.disclosure-section .disclosure-box dt {
	padding: 1.0em;
	color: #fff;
	background-color: #000;
	border-radius: 8px;
	text-align: center;
	font-weight: bold;
}

.disclosure-section .disclosure-box dd {
	padding: 2.0em;
}

.disclosure-section .disclosure-box dd .disclosure-image {
	max-width: 512px;
	margin: 0 auto;
}

.disclosure-section .disclosure-box .disclosure-point {
	max-width: 512px;
	margin: 1.0em auto;
	padding: 1.0em;
	border: solid 2px #000;
	text-align: center;
	font-weight: bold;
	line-height: 2.0em;
}

.disclosure-section .disclosure-box .disclosure-point span {
	display: block;
	color: #1db578;
}

.disclosure-section .disclosure-box .disclosure-point span.point {
	color: #e8443b;
}

.disclosure-section .disclosure-box .disclosure-title {
	font-weight: bold;
	line-height: 2.0em;
}

.disclosure-section .disclosure-box .disclosure-title strong {
	font-size: 2.0em;
}

.disclosure-section .disclosure-box .disclosure-title span {
	display: block;
	text-align: center;
}

.disclosure-section .disclosure-box .disclosure-date {
	margin: 0.5em 0;
	line-height: 2.0em;
}

.disclosure-content {
	margin-top:40px;
}

.disclosure-section .disclosure-box .disclosure-content p.notes {
	margin: 0.5em 0;
	line-height: 2.0em;
}

.disclosure-section .disclosure-box .disclosure-content .content {
	white-space: pre-line;
	padding: 1.0em;
	border: 1px solid #999;
}

.disclosure-read {
	margin: 0 auto 2.0em;
	text-align: center;
}

/*	PLAN DETAIL	********************	*/
.detail-section {
	margin: 0;
	padding: 1.0em 0;
}

.detail-section .detail-box {
	max-width: 1024px;
	margin: 0 auto;
	padding: 1.0em 2.0em 2.0em;
	border-radius: 8px;
}

.detail-section .detail-box dl {
	margin: 0 auto 2.0em;
	padding: 0;
}

.detail-section .detail-box dt, .plan_detail_frame{
	padding: 0.5em;
	color: #fff;
	background-color: #302a2a;
	border-radius: 8px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	border: 2px solid;
	border-image: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	border-image-slice: 1;
}

.plan_detail_area {
	display: flex;
	padding-top: 30px;
}

@media (max-width: 768px) {
	.plan_detail_area {
	display: block;
	}
}

.detail-section .detail-box dd {
	padding: 1.0em 0;
}

.detail-section .detail-box dd table {
	width: 100%;
	margin: 0 auto 2.0em;
}

.detail-section .detail-box dd table th {
	width: 32%;
	padding: 1.0em 0 1.0em 2.0em;
	text-align: left;
	border: solid 1px #ccc;
	color: #fff;
	background-color: #1db578;
}

.detail-section .detail-box dd table td {
	width: 64%;
	padding: 1.0em 0 1.0em 2.0em;
	text-align: left;
	border: solid 1px #ccc;
}

.detail-section .detail-box dd .detail-image {
	max-width: 512px;
	margin: 0 auto;
}

.detail-section .detail-box dd h3 {
	margin: 1.0em auto;
	padding: 0.5em 0;
	text-align: center;
	color: #1db578;
	font-size: 20px;
	border-top: solid 1px #1db578;
	border-bottom: solid 1px #1db578;
}

.detail-section .detail-box dd .detail-point {
	margin: 0 0 2.0em;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

.detail-section .detail-box dd ul {
	margin: 0 auto;
	padding: 0;
}

.detail-section .detail-box dd li {
	list-style: none;
	text-align: center;
}

.detail-section .detail-box dd li.red {
	margin-top: 1.0em;
}

.detail-section .detail-box .detail-one {
	max-width: 564px;
	position: relative;
	margin: 16px 16px 0;
	padding: 16px 32px;
}

.detail-section .detail-box .detail-one .detail-image {
	text-align: center;
}

.detail-section .detail-box .detail-one .detail-image img {
	display: block;
	max-height: 256px;
	margin: 0 auto;
}

.detail-section .detail-box .detail-one .detail-content {
	max-width: 500px;
	margin: 16px auto;
}

.detail-section .detail-box .detail-one .detail-content dt {
	padding: 0.5em;
}

.detail-section .detail-box .detail-one .detail-content dd {
	padding: 0.5em;
	text-align: center;
}

.detail-section .detail-box .detail-one .detail-content dd strong {
	color: #e9572d;
	font-size: 64px;
}

.detail-section .detail-box .detail-one .detail-content dd span {
	color: #e9572d;
	font-size: 32px;
}

.plan_detail_text_area{
	margin-left: 60px;
	padding:30px;
	color: #fff;
	background-color: #302a2a;
	border-radius: 8px;
	font-size: 16px;
	border: 2px solid;
	border-image: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	border-image-slice: 1;
}

.plan_detail_text_area {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.plan_detail_text_label {
	display: inline-block;
	letter-spacing: 0.3em;
	white-space: nowrap;
}

.plan_detail_text_row {
	display: grid;
	grid-template-columns: 150px 30px auto;
	align-items: center;
}

.plan_detail_text_separator {
	text-align: center;
}

.plan_detail_text_value {
	text-align: left;
}

.plan_detail_text_area {
	margin-left: 60px;
	padding: 30px;
	color: #fff;
	background-color: #302a2a;
	border-radius: 8px;
	font-size: 16px;
	border: 2px solid;
	border-image: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	border-image-slice: 1;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.plan_detail_text_label {
	display: inline-block;
	letter-spacing: 0.3em;
	white-space: nowrap;
}

.plan_detail_text_row {
	display: grid;
	grid-template-columns: 150px 30px auto;
	align-items: center;
}

.plan_detail_text_separator {
	text-align: center;
}

.plan_detail_text_value {
	text-align: left;
}

  /* スマホサイズの画面で調整 */
@media (max-width: 768px) {
	.plan_detail_text_area {
	margin-left: 20px;
	padding: 15px;
	font-size: 14px;
	}

	.plan_detail_text_row {
	  grid-template-columns: 120px 20px auto; /* スマホで列幅も調整 */
	}

	.plan_detail_text_label {
	  letter-spacing: 0.15em; /* スマホで文字間隔を少し縮める */
	}
}


/*	RESULTS	********************	*/
.results-section {
	margin: 0;
	padding: 1.0em 0;
}

.results-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/* 3列のグリッドを作成 */
	gap: 20px;
	/* アイテム間のスペース */
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 20px;
}

.results-box {
	background-color: #fff;
	border-radius: 20px;
	box-sizing: border-box;
	text-align: center;
	padding-top: 5px;
}

.race_date {
	color: #fff;
}

.result_price {
	color: #fff;
	font-weight: bold;
	margin-top: 140px;
	margin-left: -45px;
}

.race_date_detail {
	padding-top:10px;
	color: #fff;
}

.result_price_detail {
	color: #fff;
	margin-top: 215px;
	font-weight: bold;
	font-size: 1.5rem;
}

.results-box .results-image {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.results-box .results-content {
	position: relative;
	width: 100%;
	margin: 1.0em 0 0;
	padding: 0;
}

.results-box .results-content dl {
	width: 75%;
	margin: 0;
	padding: 0;
}

.results-box .results-content dt {
	padding: 0.5em;
	color: #fff;
	background-color: #1db578;
	border-radius: 8px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

.results-box .results-content dd.results-title {
	padding: 0.5em 0 1.5em;
	color: #1db578;
	font-size: 20px;
	font-weight: bold;
}

.results-box .results-content dd.results-price {
	padding: 0;
	color: #e9572d;
	text-align: right;
}

.results-box .results-content dd.results-price strong {
	font-size: 48px;
}

.results-box .results-content dd.results-price span {
	font-size: 32px;
}

.results-box .results-content ul {
	width: 75%;
	margin: 1.0em 0 0;
	padding: 0;
}

.results-box .results-content li {
	list-style-type: none;
}

.results-box .results-content .results-mark {
	position: absolute;
	width: 20%;
	margin: 0;
	padding: 0;
	right: 0;
	bottom: 24%;
}

.results-page {
	margin: 0;
	padding: 1.0em 0;
}

/*	FORCAST	********************	*/
.forecast-section {
	margin: 0;
	padding: 1.0em 0;
}

.forecast-box {
	max-width: 768px;
	color: white;
	margin: 24px auto;
	padding: 24px;
	background-color: #302a2a;
	border: 10px solid;
	border-image: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	border-image-slice: 1;
	border-radius: 10px;
}

.forecast-box .forecast-title {
	padding: 0.5em;
	color: #fff;
	border-radius: 8px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

.forecast-box .forecast-flex {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	gap: 0px;
	width: 100%;
	margin: 1.0em 0 2.0em;
}

.forecast-box .forecast-flex .forecast-image {
	width: 48%;
	padding-top: 1.0em;
}

.forecast-box .forecast-flex .forecast-content {
	width: 48%;
	margin: 0;
	padding: 0;
}

.forecast-box .forecast-flex .forecast-content dt {
	margin: 1.0em 0;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

.forecast-box .forecast-flex .forecast-content dd {
	margin: 1.0em;
	padding: 0;
	text-align: left;
}

.forecast-box .forecast-flex .forecast-content dd li {
	list-style-type: none;
}

.forecast-box .forecast-flex .forecast-content .btn-wrap {
	text-align: left;
}

/*	REVIEWS	********************	*/
.reviews-section {
	margin: 0 0 2.0em;
	padding: 1.0em 0;
}

.reviews-section h3 {
	margin: 1.0em auto;
	color: #fff;
	text-align: center;
}

.reviews-section .reviews-radius {
	max-width: 768px;
	margin: 0 auto;
	padding: 8px;
	border-radius: 8px;
	background-color: #065b3a;
}

.reviews-section table {
	width: 100%;
	margin: 0 auto;
	padding: 0.25em;
	border-radius: 8px;
	background-color: #065b3a;
}

.reviews-section table th {
	color: #fff;
	text-align: left;
}

.reviews-section table td {
	color: #065b3a;
	background-color: #fff;
	text-align: center;
}

.reviews-section table th,
.reviews-section table td {
	padding: 0.5em 1.0em;
	border-bottom: 1px solid #e4e4e4;
}

.reviews-section table td.c {
	border-left: 1px solid #065b3a;
	border-right: 1px solid #065b3a;
}

.reviews-section table thead td {
	background-color: #aae6cd;
}

.reviews-section table thead tr:first-child td.l {
	border-radius: 8px 0 0 0;
}

.reviews-section table thead tr:first-child td.r {
	border-radius: 0 8px 0 0;
}

.reviews-section table tbody tr:last-child th,
.reviews-section table tbody tr:last-child td {
	border-bottom: none;
}

.reviews-section table tbody tr:last-child td.l {
	border-radius: 0 0 0 8px;
}

.reviews-section table tbody tr:last-child td.r {
	border-radius: 0 0 8px 0;
}

.reviews-section .reviews-list {
	max-width: 768px;
	margin: 0 auto;
}

.reviews-section .reviews-list .reviews-box {
	margin: 1.0em;
	padding: 1.0em;
	border-radius: 8px;
	background-color: #fff;
}

.reviews-section .reviews-list .reviews-box .reviews-header {
	display: flex;
	justify-content: space-between;
	padding-bottom: 0.5em;
	border-bottom: solid 1px #065b3a;
}

.reviews-section .reviews-list .reviews-box .reviews-header .reviews-plan span {
	margin-right: 0.5em;
	padding: 0.125em 0.5em;
	color: #fff;
	background-color: #1db578;
	border-radius: 8px;
}

.reviews-section .reviews-list .reviews-box .reviews-content {
	padding: 0.5em 0 1.0em;
}

.reviews-section .reviews-list .reviews-box .reviews-date {
	text-align: right;
}

.reviews-section form {
	max-width: 768px;
	margin: 0 auto;
	padding: 2.0em;
	background-color: #fff;
	border-radius: 8px;
}

.reviews-section .reviews-form-caption {
	padding: 0.25em 0;
	color: #1db578;
	text-align: center;
}

.reviews-section .reviews-form-field {
	margin-bottom: 1.0em;
}

.reviews-section .reviews-form-field select {
	width: 100%;
	padding: 1.0em;
	border: none;
	outline: none;
	background-color: #f2f2f2;
	border-radius: 8px;
	text-align: center;
}

.reviews-section .reviews-form-field textarea {
	width: 100%;
	height: 128px;
	padding: 1.0em 0.5em;
	border: solid 1px #f2f2f2;
	outline: none;
	border-radius: 8px;
}

.reviews-section ul {
	width: 100%;
	margin: 1.0em auto 2.0em;
}

.reviews-section li {
	font-size: 0.75em;
	list-style: none;
}

/*	MYPAGE	********************	*/
.mypage-section {
	margin: 0;
	padding: 1.0em 0;
}

.mypage-section .mypage-box {
	max-width: 768px;
	margin: 0 auto 2.0em;
	padding: 1.0em 2.0em 2.0em;
	background-color: #fff;
	border-radius: 8px;
	text-align: center;
}

.mypage-section .mypage-box h3 {
	color: #1db578;
	font-size: 1.25rem;
}

.mypage-section .mypage-box .input-group {
	width: 100%;
	margin: 1.0em auto;
	padding: 0px;
	text-align: center;
}

.mypage-section .mypage-box .input-group label {
	display: block;
	line-height: 2.0em;
	font-weight: bold;
}

.mypage-section .mypage-box .input-group input {
	width: 80%;
	padding: 0.375rem 0.75rem;
	line-height: 2.0em;
	text-align: center;
	border: solid 2px #1db578;
	border-radius: 8px;
	font-size: 1.25rem;
}

.mypage-section .mypage-box .input-group input.input-readonly {
	line-height: 2.0em;
	border: none;
	border-radius: 8px;
	background-color: #eee;
}

.mypage-section .mypage-box .input-group input.is-invalid {
	border: solid 2px #dc3545;
	/* 枠線の色を赤に */
	background-color: #f8d7da;
	/* 背景色を薄い赤に */
}

.mypage-section .mypage-box .btn-wrap .btn {
	padding: 12px 48px 12px 48px;
}

/*	OUTLINE / RULE / POLICY POLICY	********************	*/
.common-section {
	margin: 0;
	padding: 1.0em 0;
}

.common-box {
	max-width: 768px;
	width: 90%;
	margin: 0 auto;
	padding: 30px;
	border-radius: 8px;
	background: #000;
	color: #fff;
}

.common-box>div {
	margin-bottom: 2.5em;
	color: #fff;
}

.common-box dt {
	margin-top: 1rem;
	font-weight: 500;
}

.common-box h3 {
	color: #fff;
	margin-bottom: 1.0em;
}

.common-box dl.outline {
	display: flex;
	align-items: stretch;
	border-bottom: solid 1px #7d7d7d;
}

.common-box dl.outline:last-child {
	border-bottom: none;
}

.common-box dl.outline dt,
.common-box dl.outline dd {
	padding: 1.0em;
}

.common-box dl.outline dt {
	width: 16.0em;
	color: #fff;
	font-weight: bold;
}

.common-box dl.outline dd {
	width: calc(100% - 16.0em);
}







.detail-point-one {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 10px;
	border-bottom: 1px solid #e7edf2;
	font-size: 24px;
	font-weight: bold;
}

.detail-point-one:last-child {
	border-bottom: none;
}

.detail-point-one p:first-child {
	color: #fff;
}

.detail-tbl {
	width: 100%;
	font-size: 18px;
}

.detail-tbl th {
	color: #fff;
	text-align: left;
}

.detail-tbl td {
	text-align: center;
}

.detail-tbl th,
.detail-tbl td {
	padding: 10px;
	border: 1px solid #ccc;
}

.detail-tbl thead th,
.detail-tbl thead td {
	font-weight: bold;
	background-color: #f2f2f2;
}

.review-list {
	max-width: 760px;
	margin: 0 auto;
}

.review-one {
	background-color: #f2f2f2;
	padding: 20px;
	margin-bottom: 20px;
}

.review-header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.review-header span {
	font-weight: bold;
	color: #fff;
}

.review-content {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.review-ttl {
	width: calc(100% - 60px);
	font-weight: bold;
}

.like {
	display: flex;
	align-items: center;
}

.review-form-field-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.review-form-field-flex p {
	width: 100px;
	font-weight: bold;
}

.review-form-field-flex select {
	width: calc(100% - 100px);
	border: none;
	outline: none;
	background-color: #f2f2f2;
	padding: 10px;
	border-radius: 5px;
}

.review-form-field {
	margin-bottom: 10px;
}

.review-form-field textarea {
	width: 100%;
	height: 100px;
	border: none;
	outline: none;
	background-color: #f2f2f2;
	padding: 10px;
	border-radius: 5px;
}

.review-form-txt {
	font-size: 14px;
	margin-bottom: 20px;
}

.form-field {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	font-size: 18px;
}

.form-field p {
	width: calc(100% - 400px);
	font-weight: bold;
	color: #fff;
}

.form-field div {
	width: 400px;
}

.form-field div input {
	width: 100%;
	padding: 10px;
	border: none;
	background-color: #f2f2f2;
	border-radius: 5px;
}

.payment-div .content-price-ttl {
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.payment-txt {
	margin-top: 40px;
}

.program-subttl {
	text-align: center;
	color: #f15a24;
	margin-bottom: 60px;
}

.program-one {
	padding: 25px 0;
	border-bottom: 1px solid #e7edf2;
}

.program-one:last-child {
	border-bottom: none;
}

.program-one {
	display: flex;
	justify-content: space-between;
}

.program-img {
	width: 350px;
}

.program-content {
	width: calc(100% - 370px);
}

.program-price {
	margin: 10px 0;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}

.program-price span {
	font-size: 24px;
	color: #f15a24;
}

.program-content .btn-wrap {
	text-align: left;
}

/* SP 768 px 以下	********************************************************************************	*/
@media screen and (max-width:768px) {
	.visible-sp {
		display: block;
	}

	.hidden-sp {
		display: none !important;
	}

	body {
		font-size: 14px;
		line-height: 1.7;
	}

	ul.g-nav-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: space-around;
	}
	ul.g-nav-menu li {
		margin: 0 1.0em;
		padding: 0.5em 0;
		font-size: 2vw;
		font-weight: bold;
		text-align: center;
		content: none;
	}
	ul.g-nav-menu li:after {
		content: none;
	}
	ul.g-nav-menu li img {
		height: 6vw;
		display: block;
		margin: 0 auto ;
	}

	table.g-nav-menu {
		position: fixed; /* 固定位置 */
		bottom: 0; /* 下部に配置 */
		left: 0; /* 左端に配置 */
		width: 100%;
		margin: 0 auto;
		padding: 2vw 0 8vw;
		color: #fff;
		background-color: black; /* 背景色を指定 */
		z-index: 10; /* 他の要素より前に表示 */
	}
	table.g-nav-menu td {
		width: calc(100% /7);
		padding: 0 1vw; /* セルの内側の余白 */
		text-align: center;
		vertical-align: middle; /* 縦方向の中央揃え */
		border-right: 1px solid #333; /* 境界線のスタイル */
		font-size: 2vw;
	}
	table.g-nav-menu td:last-child {
		border-right: none; /* 最後のセルの右ボーダーを消す */
	}
	table.g-nav-menu td img {
		height: 6vw;
		display: block;
		margin: 0 auto 4px;
	}
	
	table.g-nav-menu td a {
		display: block; /* リンクをブロック要素にする */
		width: 100%; /* 幅を100%に設定 */
		height: 100%; /* 高さを100%に設定 */
		color: inherit; /* テキストの色を親要素から継承 */
		text-decoration: none; /* 下線を消す */
	}
	
	table.g-nav-menu td a:hover {
		background-color: rgba(29, 182, 121, 0.1); /* ホバー時の背景色 */
	}
	

	.top_event {
		padding: 24vw 0 50%;
	}

	.top_event_flame {
		max-width: 90%;
		height: 100%;
		/* ビューポートの高さに合わせる */
	}

	.top_event_image {
		top: -24vw;
		width: 80%;
	}

	.top_event_grid {
		grid-template-columns: repeat(1, 1fr);
		/* 横に2列 */
		grid-template-rows: repeat(2, 1fr);
		/* 縦に2行 */
	}

	.top_limitedplan {
		width: 90%;
	}

	.top_limitedplan_image {
		width: 80%;
		margin: 0 auto;
	}

	.top_plan {
		width: 90%;
	}

	.top_plan_image {
		width: 80%;
		margin: 0 auto;
	}

	.top_hit {
		width: 90%;
	}

	.top_hit_image {
		width: 80%;
		margin: 0 auto;
	}

	.top_contact {
		width: 90%;
	}

	.top_contact_image {
		width: 80%;
		margin: 0 auto;
	}

	.plan_flame {
		flex: 1 1 100%;
		/* モバイルデバイスでは1列表示 */
	}

	.plan_flame.empty {
		display: none;
	}

	.plan_flame .plan_flame_title {
		top: -20px;
		left: -30px;
	}

	.header_logo {
		max-width: 40vw;
	}

	/*	CHAT	********************	*/
	.chat-box {
		max-width: 90%;
	}

	.chat-box .input-group textarea.form-control {
		width: 75%;
	}

	.chat-box .input-group .send-btn {
		width: 20%;
		padding: 2%;
	}

	.chat-box .input-group .send-btn span {
		font-size: 1.0em;
	}

	.chat-message__flex img {
		max-width: 17.5vw;
	}

	.chat-message__content p {
		width: 50vw;
	}


	/*	POINT PURCHASE	********************	*/
	.point-box {
		font-size: 4vw;
	}

	.point-box a {
		padding: 0.5vw 1vw 0.5vw 2vw;
		font-size: 3vw;
	}

	.point-one {
		font-size: 4vw;
	}

	.point-one span {
		font-size: 2.4vw;
	}

	.point-one a {
		padding: 2px 2px 2px 8px;
		font-size: 10px;
		font-weight: normal;
	}

	div.point-section {
		width: 100%;
	}

	div.point-section .point-purchase {
		width: 90%;
		padding: 1.0em;
	}

	div.point-section .point-purchase .point-purchase-content {
		width: 100%;
	}

	div.point-section .point-purchase .point-purchase-content dl {
		min-width: 12.0em;
	}

	div.point-section .point-purchase .point-purchase-box {
		margin: 1.0em auto;
	}

	div.point-section .point-purchase .point-purchase-box .btn-wrap {
		margin: 1.0em auto;
		margin-left: -1.0em;
	}

	div.point-section .point-purchase .point-purchase-box .btn-wrap .btn {
		padding: 0.5em 3.0em 0.5em 1.0em;
	}

	/*	PROGRAMS	********************	*/
	.programs-box {
		max-width: 90%;
		text-align: center;
	}

	.programs-flex {
		display: block;
	}

	.programs-image {
		width: 100%;
		padding-top: 0;
	}

	.programs-content {
		width: 100%;
	}

	.programs-content dd {
		width: 16.0em;
		margin: 1.0em auto;
		text-align: left;
	}

	/*	PROGRAMS	********************	*/
	.disclosure-section .disclosure-box {
		max-width: 90%;
	}

	/*	PLAN DETAIL	********************	*/
	.detail-section .detail-box {
		max-width: 90%;
	}

	.detail-section .detail-box dl {
		margin: 0 auto 4vw;
		padding: 0;
	}

	.detail-section .detail-box dt {
		padding: 2vw;
	}

	.detail-section .detail-box dd table {
		margin: 0 auto 8vw;
	}

	.detail-section .detail-box dd table th {
		padding: 2vw 0 2vw 2vw;
	}

	.detail-section .detail-box dd table td {
		padding: 2vw 0 2vw 2vw;
	}

	.detail-section .detail-box dd h3 {
		margin: 2vw auto;
	}

	.detail-section .detail-box dd .detail-point {
		margin: 0 0 4vw;
	}

	.detail-section .detail-box .detail-one {
		margin: 2vw 4vw 0;
		padding: 4vw 8vw;
	}

	.detail-section .detail-box .detail-one .detail-image img {
		max-height: 32vw;
	}

	.detail-section .detail-box .detail-one .detail-content {
		max-width: 125vw;
		margin: 4vw auto;
	}

	.detail-section .detail-box .detail-one .detail-content dt {
		padding: 2vw;
	}

	.detail-section .detail-box .detail-one .detail-content dd {
		padding: 1vw 2vw 0;
	}

	.detail-section .detail-box .detail-one .detail-content dd strong {
		font-size: 8vw;
	}

	.detail-section .detail-box .detail-one .detail-content dd span {
		font-size: 4vw;
	}

	/*	RESULTS	********************	*/
	.results-section {
		margin: 0;
		padding: 1.0em 0;
	}

	.results-list {
		display: block;
	}

	.results-box {
		margin: 1.0em auto;
	}

	.results-box .results-content dl {
		width: 75%;
		margin: 0;
		padding: 0;
	}

	.results-box .results-content dt {
		padding: 0.25em;
		font-size: 16px;
	}

	.results-box .results-content dd.results-title {
		padding: 0.5em 0 1.5em;
		font-size: 16px;
	}

	.results-box .results-content dd.results-price strong {
		font-size: 32px;
	}

	.results-box .results-content dd.results-price span {
		font-size: 16px;
	}

	/*	FORCAST	********************	*/
	.forecast-box {
		max-width: 90%;
		text-align: center;
	}

	.forecast-box .forecast-title {
		padding: 0.25em;
	}

	.forecast-box .forecast-flex {
		display: block;
	}

	.forecast-box .forecast-flex .forecast-image {
		width: 100%;
		padding-top: 0;
	}

	.forecast-box .forecast-flex .forecast-content {
		width: 100%;
	}

	.forecast-box .forecast-flex .forecast-content dd {
		width: 16.0em;
		margin: 1.0em auto;
		text-align: left;
	}

	/*	REVIEWS	********************	*/
	.reviews-section {
		margin: 0 0 2.0em;
		padding: 1.0em 0;
	}

	.reviews-section .reviews-radius {
		max-width: 90%;
	}

	.reviews-section table,
	.reviews-section table th,
	.reviews-section table td {
		padding: 0.25em;
		font-size: 12px;
	}

	.reviews-section .reviews-list {
		max-width: 90%;
	}

	.reviews-section .reviews-list .reviews-box .reviews-header {
		display: block;
		text-align: center;
	}

	.reviews-section .reviews-list .reviews-box .reviews-header .reviews-name {
		font-size: 12px;
	}

	/*	MYPAGE	********************	*/
	.mypage-section .mypage-box {
		max-width: 90%;
	}

	.mypage-section .mypage-box .input-group input {
		width: 100%;
		font-size: 1.0rem;
	}

	/*	OUTLINE / RULE / POLICY POLICY	********************	*/
	.common-box>div {
		margin-bottom: 2.0em;
	}

	.common-box h3 {
		color: #fff;
		margin-bottom: 0.5em;
	}

	.common-box dl.outline {
		display: block;
	}

	.common-box dl.outline:last-child {
		border-bottom: none;
	}

	.common-box dl.outline dt,
	.common-box dl.outline dd {
		width: 100%;
	}

	.common-box dl.outline dt {
		padding: 1.0em 1.0em 0;
	}

	.common-box dl.outline dd {
		padding: 0 1.0em 1.0em;
	}




	.fixedcontainer {
		width: 90%;
	}

	.logo {
		width: 200px;
	}

	.login-btn a {
		font-size: 14px;
		padding: 10px 20px;
	}

	.fv {
		padding: 100px 0 180px;
	}

	.fv-img img {
		max-width: 40vw;
	}

	.fv-ttl {
		font-size: 20px;
	}

	.fv-ttl span {
		font-size: 24px;
	}

	.banner {
		margin-top: -90px;
		padding: 20px;
		border-radius: 10px;
		margin-bottom: 60px;
	}

	.banner-in {
		display: block;
	}

	.banner-img {
		text-align: center;
		margin-bottom: 10px;
		margin-top: -100px;
	}

	.banner-btn {
		text-align: center;
		margin-bottom: 10px;
	}

	.banner-img img {
		width: 200px;
	}

	.banner-content {
		text-align: center;
	}

	.title {
		width: 66.7%;
		margin: 0 auto;
	}

	.title img {
		max-width: 90%;
	}

	.title-en {
		font-size: 32px;
	}

	.title-jp {
		font-size: 20px;
	}

	.title {
		margin-bottom: 30px;
	}

	.promise-txt1 {
		font-size: 17px;
	}

	.promise-txt2 {
		font-size: 32px;
	}

	.sec {
		padding: 50px 0;
	}

	.about-ttl {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 30px;
	}

	.about-in {
		display: block;
	}

	.about-img {
		width: 100%;
	}

	.about-content {
		width: 100%;
		background-color: transparent;
		padding: 0;
		border-radius: 0;
		margin-top: 20px;
	}

	.about-ttl-en {
		font-size: 24px;
		position: initial;
	}

	.about-txt {
		font-size: 14px;
		font-weight: normal;
	}

	.slick-slide {
		width: 90vw;
	}

	.lp-result {
		padding: 8vw 0.6em 24vw
	}

	.result-slider {
		width: 100%
	}

	.result-slider__item {
		width: 80% !important
	}

	.result_ticket {
		height: 70vw
	}

	.result_ticket .result_infoname {
		top: 9.4vw;
		left: 30.2vw;
		width: 53.5vw;
		font-size: 3vw;
		line-height: 5.8vw;
	}

	.result_ticket .result_content {
		top: 18.8vw;
		left: 30.2vw;
		width: 53.5vw;
		font-size: 2.4vw;
		line-height: 2.4vw;
	}

	.result_ticket .result_amount {
		top: 23.5vw;
		left: 30.2vw;
		width: 53.5vw;
		font-size: 9vw;
		line-height: 9vw;
	}

	.result_ticket .result_detail {
		top: 35.7vw;
		left: 4.5vw;
		width: 82.7vw;
	}

	.result_ticket .result_detail h4 {
		font-size: 2.7vw;
		margin: 2.7vw auto 1.3vw;
	}

	.result_ticket .result_detail div {
		font-size: 2.1vw;
	}

	/*
  .rt-date{left:2vw;top:3vw;font-size:4vw}
  .rt-venue{left:2vw;top:14vw;font-size:6vw}
	.rt-type{font-size: 5vw;top: 16vw;left: 30.6vw;letter-spacing: 2vw;}
  .rt-raceno{left:3.2vw;top:24.2vw;font-size:7.6vw;width:12vw;line-height:1}
  .rt-infoname{font-size:3vw;top:2.9vw;right:2.6vw;width:39.8vw;padding:0 0.6em;line-height:10vw}
  .rt-amount{top:12vw;right:3vw;font-size:7.4vw}
  .result-desc{padding:1.4em .6em}
  .result-desc h4{font-size:1em}
  .result-desc__text{font-size:14px}
*/
	.badge2 {
		position: absolute;
		top: 0;
		left: 20px;
		width: 60px;
	}

	.badge4 {
		position: absolute;
		top: -50px;
		right: 20px;
		width: 114px;
	}

	.result .banner2 {
		margin-top: 60px;
	}

	.banner2 {
		padding: 60px 20px 20px;
	}

	.banner2-txt {
		margin-bottom: 15px;
	}

	.reason-list {
		display: block;
	}

	.reason-one {
		width: 100%;
		margin-top: 40px;
		padding: 30px 20px 20px;
	}

	.reason-num {
		font-size: 48px;
		top: -20px;
	}

	.reason-ttl {
		font-size: 20px;
	}

	.reason-img {
		margin-bottom: 20px;
	}

	.title3 {
		font-size: 30px;
		margin-bottom: 30px;
	}

	.ai-logo img {
		width: 120px;
	}

	.ai-img {
		margin-bottom: 30px;
	}

	.greeting-in {
		border-width: 2px;
		padding: 20px;
		border-radius: 10px;
	}

	.greeting-in p {
		font-size: 14px;
	}

	.greeting-in h3 {
		font-size: 20px;
		line-height: 1.3;
	}

	.footer-in1 {
		width: 90%;
		padding: 40px 0;
	}

	.footer-in2 {
		max-width: none;
		min-width: 0;
		display: block;
	}

	.footer-in2 ul {
		width: 90%;
		margin: 0 auto;
		display: block;
		text-align: center;
	}

	.footer-in2 li {
		margin: 0;
	}

	.copyright {
		margin-top: 20px;
		text-align: center;
	}

	.plan-img {
		padding: 10px;
	}

	.plan-cat {
		font-size: 14px;
		padding: 3px 10px;
		border-bottom-right-radius: 5px;
	}

	.plan-content {
		padding: 10px;
		font-size: 14px;
	}

	.plan-btns {
		display: block;
		text-align: center;
	}

	.btn {
		margin: 5px auto;
		text-align: center;
		display: inline-block;
		font-size: 16px;
		padding: 7px 60px;
	}

	.plan-one {
		margin-top: 20px;
	}

	.contact-txt {
		max-width: 100%;
		padding: 20px 10px;
	}

	.footer-links {
		display: none;
	}

	.user_info {
		display: none;
	}

	.user_tel {
		display: none;
	}

	.menu-trigger {
		width: 50px;
		height: 50px;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 15px;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 15px;
	}

	.result-one {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}

	/*
  .g-nav .user_info{
    display: block;
      text-align: center;
      margin-top: 70px;
      margin-right: 0;
      margin-bottom: 20px;
  }
  .g-nav .user_tel{
    display: block;
      text-align: center;
      margin-right: 0;
  }
  .g-nav .list{
      margin-top: 10px;
  }
*/
	dl.user-info {
		margin: 8px auto;
		text-align: left;
	}

	dl.user-info dt {
		width: 60%;
	}

	dl.user-info dt img {
		top: -8px;
	}

	dl.user-info dd {
		width: 40%;
	}








	/*
  .detail-content-in{
      padding: 20px;
  }
  .detail-ttl{
      font-size: 20px;
      margin-bottom: 10px;
  }
  .detail-content{
      margin-bottom: 20px;
  }
  .detail-content-ttl{
      font-size: 18px;
      padding: 10px 0;
  }
  .detail-content .result-one{
      width: 100%;
  }
  */
	.content-info-in {
		display: block;
		font-size: 14px;
		font-weight: normal;
	}

	.content-info-in p:first-child {
		width: 100%;
		padding: 10px 10px 5px;
	}

	.content-info-in p:last-child {
		width: 100%;
		padding: 0 10px 10px;
	}

	.content-price {
		margin: 20px 0;
		padding: 20px;
	}

	.content-price-ttl {
		font-size: 18px;
		padding-bottom: 5px;
	}

	.content-price-txt {
		font-size: 18px;
	}

	.detail-price {
		font-size: 16px;
	}

	.detail-price span {
		font-size: 20px;
	}

	.detail-img {
		margin-bottom: 10px;
	}

	.detail-point-txt {
		font-size: 16px;
	}

	.mailbox-content {
		display: block;
	}

	.mailbox-content div {
		text-align: center;
		margin-top: 10px;
	}

	.mailbox-content h3 {
		font-size: 16px;
	}

	.detail-point-one {
		display: block;
		text-align: center;
	}

	.detail-point-one p {
		font-size: 18px;
	}

	.review-one {
		padding: 15px;
	}

	.review-header {
		display: block;
	}

	.review-content {
		display: block;
	}

	.review-ttl {
		width: 100%;
		margin-bottom: 10px;
	}

	.like {
		display: block;
		text-align: right;
	}

	.review-form-field-flex p {
		width: 80px;
	}

	.review-form-field-flex select {
		width: calc(100% - 80px);
	}

	.review-form-txt {
		font-size: 12px;
		margin-bottom: 10px;
	}

	.detail-tbl {
		font-size: 14px;
	}

	.form-field {
		display: block;
		margin-bottom: 10px;
		font-size: 16px;
	}

	.form-field p {
		width: 100%;
		margin-bottom: 10px;
	}

	.form-field div {
		width: 100%;
	}

	.btn-wrap .btn {
		padding: 10px 60px;
	}

	.payment-txt {
		margin-top: 10px;
	}

	.program-subttl {
		margin-bottom: 20px;
	}

	.program-one {
		display: block;
	}

	.program-img {
		width: 100%;
		margin-bottom: 10px;
	}

	.program-content {
		width: 100%;
	}

	.program-price {
		font-size: 14px;
		margin: 5px 0;
	}

	.program-one {
		padding: 10px 0;
	}

	.program-price span {
		font-size: 18px;
	}

	.program-content .btn-wrap {
		text-align: center;
	}
}

/*
.text-content{
	max-width: 768px;
	margin: 0 auto;
}
.text-content>div{
	margin-bottom: 30px;
}
.text-content h3{
	font-size: 24px;
	color: #fff;
	margin-bottom: 10px;
}
@media screen and (max-width:768px){
	.text-content>div{
		margin-bottom: 15px;
	}
	.text-content h3{
		font-size: 18px;
		margin-bottom: 5px;
	}
}
*/
.public-info {
	white-space: pre-line;
	padding: 16px;
	border: 1px solid #999;
}