@charset "UTF-8";
/* 
 * {
	outline: 1px solid magenta;
}  */

*, *::before, *::after {
  box-sizing: border-box;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
body {
    background-color: #fff;
    color: #000;
	overflow-wrap: break-word;
	word-wrap: break-word;	
}
a {
    text-decoration: none;
    color: #000;
}
a:hover {
    color: #f00;
}
img {
	border: none;
	vertical-align: bottom;
 }
a img {
    transition: opacity 0.3s ease; 
}
a img:hover {
    opacity: 0.8;
}
.sp_br {
	display: none;
}
@media screen and (max-width: 767px) {
	.sp_br {
		display: block;
	}	
}


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1.6;
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	body {
	font-size: 16px;
	}
}


ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

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

/* btn */
.btn {
	text-align: center;
	margin: 0 auto;
}

@keyframes gradient-animation {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.pc {
	display: block;
}
.sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}

.line-btn {
    display: inline-block;
    width: 600px;
    height: 100px;
    line-height: 100px;
    font-size: 36px;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    color: #fff;
    background: linear-gradient(90deg, #FF5C00, #FF5CDD, #7A00FF);
    background-size: 200% 200%; /* グラデーションを動かすために背景サイズを拡大 */
    border: none;
    border-radius: 100px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.3s ease;
    animation: gradient-animation 3s linear infinite; /* アニメーションを追加 */
}
.line-btn:hover {
	background: #FF5C00;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.line-btn {
		display: inline-block;
		width: 88%;
		height: 70px;
		line-height: 70px;
		font-size: 24px;
		border-radius: 70px;
	}
}

/* header */
.webp header {
    width: 100%;
    height: 800px;
    background-image: url(img/head_bg.webp); /* 背景画像を指定 */
    background-size: cover;
    position: relative;
}
.no-webp header {
    width: 100%;
    height: 800px;
    background-image: url(img/head_bg.png); /* 背景画像を指定 */
    background-size: cover;
    position: relative;
}
.header-inner {
    width: 1000px;
    height: 800px;
    position: relative;
    margin: 0 auto;
    z-index: 1; /* 背景アニメーションの上に表示 */
}

/* 背景アニメーション */
.bg-animation, .bg-animation > div {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    will-change: opacity;
    opacity: 0.5; /* 全体の透明度を設定 */
}

.bg-1 {
    background: linear-gradient(180deg, rgba(249, 222, 161, 0.85) 60%, rgba(155, 218, 255, 0.85) 100%);
}

.bg-2 {
    background: linear-gradient(300deg, rgba(249, 195, 245, 0.85) 60%, rgba(155, 218, 255, 0.85) 100%);
    animation: bg-fade-1 4s linear infinite;
}

.bg-3 {
    background: linear-gradient(10deg, rgba(186, 178, 252, 0.85) 60%, rgba(155, 218, 255, 0.85) 100%);
    animation: bg-fade-2 4s linear infinite;
}
.bg-1, .bg-2, .bg-3 {
    background-size: 200% 200%; /* 2倍に拡大 */
    background-position: center;
}
/* アニメーション */
@keyframes bg-fade-1 {
    0% { opacity: 1; }
    25% { opacity: 1; }  /* キーフレームに中間フェードを追加 */
    50% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes bg-fade-2 {
    0% { opacity: 0; }
    50% { opacity: 0; }
    75% { opacity: 1; }  /* キーフレームに中間フェードを追加 */
    100% { opacity: 1; }
}
.head-tx {
	position: absolute;
	top: 50px;
	left: 0;
	z-index: 2;
}
.head-woman {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	height: 800px;
}
.head-btn {
	position: absolute;
	bottom: 30px;
	right: 0;
	left: 0;
	margin: 0 auto;
	text-align: center;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.webp header {
		width: 100%;
		height: 90vh;
		background-image: url(img/head_bg_sp.webp);
		overflow: hidden;
	}
	.no-webp header {
		width: 100%;
		height: 90vh;
		background-image: url(img/head_bg_sp.png);
		overflow: hidden;
	}
	.header-inner {
		width: 100%;
		height: 90vh;
	}
	.head-tx {
		position: absolute;
		top: 2vh;
		left: 10vw;
		z-index: 2;
	}
	.head-tx img {
		width: 28vw;
	}
	.head-woman {
		position: absolute;
		bottom: 0;
		right: -70vw;
		z-index: 1;
		height: auto;
	}
	.head-btn {
		bottom: 5vh;
	}
}

/* section */
section {
	padding: 100px 0;
}
section.worries {
	padding: 100px 0 0;
}
section.solution {
	padding: 0 0 100px;
	background: #FDF8EA;
}
.webp section.weapon {
	padding: 100px 0;
	background-image: url(img/weapon_bg.webp);
	background-size: cover;
}
.no-webp section.weapon {
	padding: 100px 0;
	background-image: url(img/weapon_bg.png);
	background-size: cover;
}
section.reason,
section.trial,
section.faq {
	padding: 100px 0;
	background: #FDF8EA;
}
.section-inner {
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
}
@media screen and (max-width: 767px) {
	section {
		padding: 50px 0;
	}
	section.worries {
		padding: 50px 0 0;
	}
	section.solution {
		padding: 0 0 50px;
	}
	section.weapon {
		padding: 50px 0;
	}
	section.reason,
	section.trial,
	section.faq {
		padding: 50px 0;
	}
	.section-inner {
		width: 90%;
	}
}

/* スライドアニメーション */
@keyframes slide-up {
	0% {
		transform: translateY(20px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

/* タイトルの基本スタイル */
.title {
	text-align: center;
	font-size: 32px;
	font-family: 'Noto Serif JP', serif;
	position: relative;
}
.title span {
	font-size: 64px;
}

/* 疑似要素の下線 */
.title::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%) translateY(20px); /* 初期位置 */
	width: 180px;
	height: 2px;
	background: linear-gradient(90deg, #FF5C00, #FF5CDD, #7A00FF);
	opacity: 0;
	transition: opacity 0.3s ease, transform 1s ease;
}

/* アニメーション開始クラス */
.animate::after {
	transform: translateX(-50%) translateY(0); /* 上にスライド */
	opacity: 1; /* 不透明に */
}

@media screen and (max-width: 767px) {
	.title {
		text-align: center;
		font-size: 20px;
		font-family: 'Noto Serif JP', serif;
		position: relative;
	}
	.title span {
		font-size: 32px;
	}
	.title::after {
		width: 90px;
	}
}

/* worries */
.worries-list {
	margin: 100px auto 0;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 50px;
	width: 100%;
	max-width: 1000px;
}
.worries-item {
	text-align: center;
}
.worries-item-img {
	margin-bottom: 10px;
}
.worries-item-tx {
	font-size: 20px;
	font-weight: bold;
}
.triangle {
    width: 100%;
    height: 12vw; /* ビューポート幅に対する高さ */
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #fff;
}

@media screen and (max-width: 767px) {
	.worries-list {
		margin: 50px auto 0;
		gap: 25px;
	}
	.worries-item {
		text-align: center;
	}
	.worries-item-img {
		margin-bottom: 10px;
	}
	.worries-item-img img {
		width: 150px;
	}
	.worries-item-tx {
		font-size: 16px;
	}
}

/* solution */
.solution-innner {
	margin: 50px auto;
	width: 100%;
	max-width: 1000px;
}
.solution-title {
	text-align: center;
	font-size: 32px;
	font-family: 'Noto Serif JP', serif;
}
.solution-img {
	margin: 50px auto;
	text-align: center;
}
.solution-tx {
	margin: 50px auto;
}
@media screen and (max-width: 767px) {
	.solution-innner {
		margin: 25px auto;
		width: 90%;
	}
	.solution-title {
		font-size: 20px;
	}
	.solution-img {
		margin: 25px auto;
	}
	.solution-img img {
		width: 80%;
	}
	.solution-tx {
		margin: 25px auto;
	}
}

/* weapon */
.weapon-inner {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.weapon-title {
	font-size: 32px;
	margin-bottom: 50px;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	background: linear-gradient(90deg, #FFFF00, #FF007E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.weapon-tx {
	font-size: 20px;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
}
@media screen and (max-width: 767px) {
	.weapon-inner {
		width: 80%;
	}
	.weapon-title {
		font-size: 20px;
		margin-bottom: 25px;
		text-align: left;
	}
	.weapon-tx {
		font-size: 16px;
	}
}

/* comparison */
.comparison-tb {
    width: 100%;
    max-width: 950px;
    margin: 50px auto 80px;
    overflow-x: auto;
	font-size: 16px;
}
.comparison-tb table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
	table-layout: fixed; 
}
.comparison-tb th, 
.comparison-tb td 
{
    padding: 15px;
    text-align: center;
    border: 1px solid #ddd;
}
.comparison-tb td:first-child {
    background-color: #F5F5F5; 
}
.comparison-tb thead th {
    background-color: #F5F5F5;
}

.comparison-tb tbody td.highlight {
    background-color: #FFFEEE;
    font-weight: bold;
}
.comparison-tb thead .highlight {
    background-color: #FFEACC;
    font-weight: bold;
}
.comparison-tb tbody tr td {
    vertical-align: middle;
    font-size: 14px;
}
.comparison-tb .comparison-transparent-cell {
    background-color: transparent;
    border: none;
    color: transparent;
}
.comparison-scroll {
	text-align: center;
}
@media (max-width: 768px) {
    .comparison-tb {
        overflow-x: auto; /* 小さい画面のみ横スクロールを許可 */
    }
    .comparison-tb table {
        width: 950px; /* テーブルの固定幅を指定して横スクロールを発生させる */
    }
    /* フォントサイズやパディングを小さくして見やすく */
    .comparison-tb {
        font-size: 14px;
    }
    .comparison-tb th, 
    .comparison-tb td {
        padding: 10px;
    }
}

/* cheap */
.cheap-tx {
	margin: 50px auto;
}
.cheap-list {
	width: 100%;
	max-width: 1000px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 25px;
	margin-bottom: 80px;
}
.cheap-list-item {
	width: 230px;
	height: 226px;
	background: #F65281;
	border-radius: 20px;
	padding: 20px;
	color: #fff;
}
.cheap-list-item-title {
	font-size: 20px;
	text-align: center;
}
.cheap-list-item-img {
	margin: 10px auto;
	text-align: center;
}
.cheap-list-item-tx {
	font-size: 16px;
}
@media (max-width: 768px) {
	.cheap-tx {
		margin: 50px auto;
	}
	.cheap-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 15px;
		margin-bottom: 40px;
	}
	.cheap-list-item {
		width: 100%;
		height: auto;
		}
	.cheap-list-item-title {
		font-size: 18px;
		text-align: center;
	}
	.cheap-list-item-img {
		margin: 10px auto;
		text-align: center;
	}
	.cheap-list-item-img img {
		width: 30%;
	}
	.cheap-list-item-tx {
		font-size: 14px;
	}
}

/* specialization */
.specialization-img {
	text-align: center;
	margin: 50px auto;
}
.specialization-tx {
	margin-bottom: 50px;
}
.specialization-container {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin: 50px auto;
}
.specialization-description-owner {
	display: flex;
}
.specialization-description-owner-list {
	background: #f45959;
	padding: 15px;
	margin: 0;
	color: #fff;
}
.specialization-description-specialist {
	display: flex;
}
.specialization-description-specialist-list {
	background: #8840cb;
	padding: 15px;
	margin: 0;
	color: #fff;
}
.specialization-description-list-item {
    position: relative;
    padding-left: 25px; /* アイコンのスペースを確保 */
    list-style: none; /* デフォルトのリストマーカーを非表示 */
}
.webp .specialization-description-list-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); /* 縦の中央揃え */
    width: 16px; /* アイコンの幅 */
    height: 16px; /* アイコンの高さ */
    background-image: url('img/specialization-check.webp'); /* アイコンのパス */
    background-size: cover;
    background-repeat: no-repeat;
}
.no-webp .specialization-description-list-item::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); /* 縦の中央揃え */
    width: 16px; /* アイコンの幅 */
    height: 16px; /* アイコンの高さ */
    background-image: url('img/specialization-check.png'); /* アイコンのパス */
    background-size: cover;
    background-repeat: no-repeat;
}
.specialization-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 20px;
}
.triangle-owner {
	width: 50px;
    height: auto;
	clip-path: polygon(0 0,100% 50%,0 100%);
    background-color: #f45959;
	transform: translateX(-1px); 
}
.triangle-specialist {
	width: 50px;
    height: auto;
	clip-path: polygon(0 50%,100% 0,100% 100%);
    background-color: #8840cb;
	transform: translateX(1px); 
}

@media (max-width: 768px) {
	.specialization-container {
		flex-direction: column;
	}
	.specialization-arrow {
		flex-direction: column;
	}
	.specialization-icon {
		text-align: center;
		margin: 0 auto;
	}
	.specialization-icon img {
		width: 60%;
	}
	.specialization-description-owner {
		flex-direction: column;
	}
	.triangle-owner {
		width: auto;
		height: 20px;
		clip-path: polygon(0 0,50% 100%,100% 0);
		background-color: #f45959;
		transform: translateY(-1px); 
	}
	.specialization-description-specialist {
		flex-direction: column;
	}
	.triangle-specialist {
		width: auto;
		height: 20px;
		clip-path: polygon(0 100%,100% 100%,50% 0);
		background-color: #8840cb;
		transform: translateY(1px); 
	}
}

/* reason */
.reason-box {
	width: 100%;
	max-width: 1000px;
	margin: 50px auto;
}
.reason-title {
	font-size: 64px;
	text-align: center;
	font-family: "Jost", sans-serif;
	font-weight: 300;  
	background: linear-gradient(90deg, #FF6E02, #FF007E, #AE00FF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.reason-sub {
	text-align: center;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
}
.reason-detail {
	display: flex;
	justify-content: center;
	gap: 50px;
	margin: 30px auto;
}
.reason-detail-reverse {
	flex-direction: row-reverse;
}
@media (max-width: 768px) {
	.reason-box {
		width: 90%;
		margin: 40px auto;
	}
	.reason-title {
		font-size: 32px;
	}
	.reason-sub {
		font-size: 20px;
	}
	.reason-detail {
		flex-direction: column;
		gap: 25px;
		margin: 10px auto;
	}
	.reason-detail-reverse {
		flex-direction: column;
	}
	.reason-img {
		text-align: center;
	}
	.reason-img img {
		width: 60%;
	}
}

/* achievements */
.achievements-list {
	width: 100%;
	height: 500px;
	margin: 80px auto 0;
}
.achievements-list-item {
	text-align: left;
	display: inline-block;
	margin: 0 25px;
	padding: 0;
}
.achievements-list-name {
	font-size: 24px;
	font-family: 'Noto Serif JP', serif;
	margin-top: 10px;
}
.achievements-list-url {
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
}
@media (max-width: 768px) {
	.achievements-list {
		width: 100%;
		height: 300px;
		margin: 40px auto 0;
	}
	.achievements-list-item {
		text-align: left;
		display: inline-block;
		margin: 0 25px;
		padding: 0;	
	}
	.achievements-list-img img {
		width: 250px;
	}
	.achievements-list-name {
		font-size: 20px;
		margin-top: 10px;
	}
	.achievements-list-url {
		font-size: 16px;
	}
}

/* trial */
.trial-graph {
	text-align: center;
	margin: 50px auto;
}
.trial-card {
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
	margin: 50px auto;
	padding: 30px;
}
.trial-img {
	width: 300px;
	height: 300px;
}
.trial-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.trial-detail {
	flex: 1;
}
.trial-detail-number {
	font-size: 40px;
	font-family: "Jost", sans-serif;
	font-weight: 300;  
	background: linear-gradient(90deg, #FF6E02, #FF007E, #AE00FF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.trial-detail-title {
	font-size: 24px;
	font-family: 'Noto Serif JP', serif;
}
.trial-detail-tx {
	margin-top: 15px;
}
@media (max-width: 768px) {
	.trial-graph {
		margin: 50px auto 30px;
	}	
	.trial-graph img {
		width: 90%;
	}
	.trial-card {
		background: #fff;
		flex-direction: column;
		gap: 20px;
		margin: 30px auto;
		padding: 30px;
	}
	.trial-detail-number {
		font-size: 30px;
	}
	.trial-detail-title {
		font-size: 20px;
	}
}

/* step */
.step {
	margin: 0 auto 80px;
}
.step .title {
	margin-bottom: 80px;
}
.step-box {
	width: 100%;
	max-width: 1000px;
	display: flex;
	justify-content: center;
	gap: 50px;
	margin: 50px auto;
}
.step-title {
	display: flex;
	align-items: center;
	gap: 12px;
}
.step-title-number {
	font-size: 24px;
	padding: 4px 10px;
	color: #fff;
	font-family: "Jost", sans-serif;
	font-weight: 300;  
	background: linear-gradient(90deg, #FF007E, #AE00FF);
}
.step-title-tx {
	font-size: 28px;
	font-family: 'Noto Serif JP', serif;
}
.step-tx {
	margin-top: 10px;
}
@media (max-width: 768px) {
	.step {
		margin: 0 auto 40px;
	}
	.step .title {
		margin-bottom: 80px;
	}
	.step-box {
		width: 90%;
		flex-direction: column;
		gap: 25px;
		margin: 50px auto;
	}
	.step-img {
		text-align: center;
	}
	.step-img img {
		width: 60%;
	}
	.step-title {
		gap: 6px;
		flex-direction: column;
	}
	.step-title-number {
		font-size: 18px;
		padding: 2px 5px;
	}
	.step-title-tx {
		font-size: 20px;
	}
	.step-tx {
		margin-top: 10px;
	}
}

/* faq */
.faq-accordion {
	width: 800px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #fff;
	margin: 15px auto;
}
.faq-first {
	margin-top: 80px;
}
.faq-accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 20px;
	cursor: pointer;
}
.faq-accordion-header .faq-question {
	display: flex;
	align-items: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	font-size: 20px;
}
.faq-accordion-header .faq-question .faq-q-icon {
	font-size: 30px;
	font-family: "Jost", sans-serif;
	font-weight: 300;  
	background: linear-gradient(90deg, #FF6E02, #FF007E, #AE00FF);
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	margin-right: 16px;
}
.faq-accordion-header .faq-toggle-icon {
	font-size: 24px;
	color: #000;
	transition: transform 0.3s ease;
	margin-left: 16px;
}
/* 展開時のアイコン回転 */
.faq-accordion-header.active .faq-toggle-icon {
	transform: rotate(45deg);
}
/* コンテンツ部分のスタイル */
.faq-accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding: 0 30px;
	background-color: #fafafa;
}
.faq-accordion-content p {
	padding: 30px 0;
}
/* 展開時にコンテンツを表示 */
.faq-accordion-content.open {
	max-height: 300px; /* ここで高さを調整 */
}
@media (max-width: 768px) {
	.faq-accordion {
		width: 90%;
	}
	.faq-first {
		margin-top: 40px;
	}
	.faq-accordion-header .faq-question {
		font-size: 18px;
	}
	.faq-accordion-header .faq-question .faq-q-icon {
		font-size: 30px;
	}
	.faq-accordion-header .faq-toggle-icon {
		font-size: 24px;
	}
	/* コンテンツ部分のスタイル */
	.faq-accordion-content {
		padding: 0 20px;
	}
	.faq-accordion-content p {
		padding: 20px 0;
	}
}

/* price */
.price {
	margin: 80px auto;
	width: 800px;
}
.price table {
	width: 100%;
	border-collapse: collapse;
}
.price th, .price td {
	padding: 15px;
	text-align: center;
	border: 1px solid #E6E6E6;
	vertical-align: middle;
}
.price td span {
	font-size: 14px;
}
.price th {
	background-color: #F5F5F5;
	font-weight: normal;
}
.price-tax {
	text-align: center;
	margin-top: 20px;
}
@media (max-width: 768px) {
	.price {
		margin: 40px auto;
		width: 90%;
	}
	.price th, .price td {
		width: 50%;
	}
	.price td span {
		font-size: 12px;
	}
}

/* footer */
footer {
	width: 100%;
	padding: 50px;
	font-family: 'Noto Serif JP', serif;
}
.footer-menu {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 25px;
}
.footer-copy {
	text-align: center;
	margin-top: 30px;
}
@media (max-width: 768px) {
	footer {
		width: 100%;
		padding: 25px;
	}
	.footer-menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 15px;
		text-align: center;
	}
	.footer-copy {
		text-align: center;
		margin-top: 30px;
	}
}

/*container*/
.container {
	width: 100%;
	z-index: 1;
	position: relative;
	margin: 0 auto;
}

/*page*/
.page {
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	margin: 50px auto;
	font-family: 'Noto Serif JP', serif;
}
.page_box {
	margin-top: 80px;
}
.page_box h2 {
    font-size: 18px;
    padding-left: 16px;
    font-weight: bold;
    position: relative; 
}
.page_box h2::before,
.page_box h2::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background: linear-gradient(180deg, #FF6E02, #FF007E, #AE00FF); 
}
.page_box h2::before {
    left: 0;
    width: 4px;
}
.page_box h2::after {
    left: 6px;
    width: 2px; 
}
.page_tx {
	margin-top: 10px;
	margin-bottom: 30px;
	font-size: 16px;
}

@media screen and (max-width: 480px) {
	.page {
		max-width: 90%;
		margin: 20px auto;
	}
	.page_box {
		margin-top: 50px;
	}
	.page_tx {
		margin-top: 10px;
		margin-bottom: 30px;
		font-size: 14px;
	}
}

/*tokuteisho*/
.tokuteisho{
	padding: 0;
}

.tokuteisho table {
	width: 90%;
	margin: 0 auto;
	border-collapse: collapse;
	color: #000;
	font-size: 14px;
}

.tokuteisho table td,
.tokuteisho table th {
	padding: 16px!important;
	border: 1px solid #000;
}

.tokuteisho table th {
	width: 35%;
	font-weight: normal;
	vertical-align: middle;
}

.tokuteisho table td {
	width: 65%;		
	font-weight: normal;
	text-align: left;
}	

@media screen and (max-width: 480px) {
	.tokuteisho{
		padding: 0;
	}

	.tokuteisho table {
		width: 100%;
		margin: 0 auto;
		border-collapse: collapse;
		color: #000;
		font-size: 14px;
	}

	.tokuteisho table td,
	.tokuteisho table th {
		padding: 10px!important;
		border: 1px solid #000;
	}

	.tokuteisho table th {
		width: 30%;
		font-weight: normal;
	}

	.tokuteisho table td {
		width: 70%;		
		font-weight: normal;
		text-align: left;
	}	
}	


/* animation */
.animation-fadein {
    transition: transform 1.5s, opacity 1.5s; 
    opacity: 0;
    transform: rotateX(180deg);
}
.animation-fadein.active {
    opacity: 1;
    transform: rotateX(0deg); 
}
.animation-scale {
    transition: transform 1s, opacity 1s; 
    opacity: 0;
    transform: scale(0.8); 
}
.animation-scale.active {
    opacity: 1;
    transform: scale(1); 
}
.animation-slidein {
    transition: transform 1.5s, opacity 1.5s; 
    opacity: 0;
    transform: translateX(1rem); 
}
.animation-slidein.active {
    opacity: 1;
    transform: translateX(0); 
}
.animation-slideup {
    transition: transform 1.5s, opacity 1.5s; 
    opacity: 0;
    transform: translateY(4rem); 
}
.animation-slideup.active {
    opacity: 1;
    transform: translateY(0); 
}
.animation-rotateY {
    transition: transform 1.5s, opacity 1.5s; 
    opacity: 0;
    transform: rotateY(90deg); 
}
.animation-rotateY.active {
    opacity: 1;
    transform: rotateY(0deg); 
}
.cheap-list-item {
    opacity: 0;
    transform: translateY(20px) rotateX(90deg); 
    transition: transform 0.8s ease, opacity 0.8s ease;
}
.cheap-list-item.active {
    opacity: 1;
    transform: translateY(0) rotateX(0deg); 
}
.cheap-list-item:nth-child(1) { transition-delay: 0.1s; }
.cheap-list-item:nth-child(2) { transition-delay: 0.2s; }
.cheap-list-item:nth-child(3) { transition-delay: 0.3s; }
.cheap-list-item:nth-child(4) { transition-delay: 0.4s; }
.cheap-list-item:nth-child(5) { transition-delay: 0.5s; }
.cheap-list-item:nth-child(6) { transition-delay: 0.6s; }
.cheap-list-item:nth-child(7) { transition-delay: 0.7s; }
.cheap-list-item:nth-child(8) { transition-delay: 0.8s; }
