<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
html {
    scroll-behavior: smooth;
}
body {
	text-align: center;
}

/**********************************************
 * header
 * footer
 * common
 ***********************************************/
.l-wrap {
	overflow: hidden;
}

/**********************************************
 * グローバル設定
 ***********************************************/
 :root {
	--teracan-purple: #6A4884;
	--teracan-red: #E9A3AE;
	--fortune-yellow: #E9B800;
	--future-blue: #1F2B60;
	--white: #ffffff;
	--black: #000000;
	--sunset-red : #D66C83;
}

/**********************************************
 * Header
 ***********************************************/
.Header {
	background: #fff;
	padding: 20px 60px 20px;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}
.Header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.Header_logoLink {
	display: inline-block;
	font-size: 2.2rem;
	color: #000;
}
.Header_logoLink img {
	width: 100%;
	height: auto;
	max-width: 400px;
}
.Header_navWrap {
	width: auto;
}
.HeaderNav_list {
	display: flex;
	align-items: center;
	height: 100%;
}
.HeaderNav_list &gt; .HeaderNav_item {
	cursor: pointer;
}
.HeaderNav_list &gt; .HeaderNav_item + .HeaderNav_item {
	margin-left: 40px;
}
.HeaderNav_link {
	position: relative;
	display: block;
	font-weight: 400;
	line-height: 1;
	color: var(--future-blue);
	transition: .5s;
}
.HeaderNav_link::after {
	content: "";
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: -10px;
    left: 0px;
    background-color: var(--future-blue);
    opacity: 0;
    transition: .5s;
}

.HeaderNav_link:hover::after {
	opacity: 1;
}
.cta-header {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--teracan-purple);
	border-radius: 10px;
	color: #fff;
	width: 170px;
	padding: 20px;
	height: 50px;
	overflow: hidden;
	transition: 0.5s;
}
.cta-header::after {
    content: '\f0e0';
    color: var(--white);
    font-family: "Font Awesome 6 free";
    font-size: 1.8rem;
    font-weight: 400;
    margin-left: 10px;
	transition: .5s;
}
.cta-header:hover {
	background-color: #fff;
	color: var(--teracan-purple);
	border: 2px solid var(--teracan-purple);
}
.cta-header:hover::after{
	color: var(--teracan-purple);
}

@media screen and (min-width: 768px) and (max-width: 1350px) {
	.HeaderNav_link {
		font-size: 1.6rem;
	}
}

.Header_spButtonWrap {
	display: none;
}
@media (max-width: 767px) {
	.Header {
		padding: 0;
		box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.2);
	}
	.Header_inner {
    	height: 70px;
		padding: 25px 20px;
		display: flex;
		justify-content: space-between;
	}
	.Header_logo img {
		width: 60vw;
		height: auto;
	}
	.Header_logoLink {
		flex: 1; /* 左側にスペースを確保 */
		display: flex;
		justify-content: center; /* 水平中央揃え */
		align-items: center; /* 垂直中央揃え */
	}
	.Header_spButtonWrap {
    display: block;
    z-index: 10;
	}
	.HeaderSpButton {
		display: flex;
		flex-direction: column;
		align-items: center;
		cursor: pointer;
		color: #fff;
	}
	.HeaderSpButton:focus {
		outline: none;
	}
	.HeaderSpButton span {
		display: block;
		background: var(--future-blue);
		width: 28px;
		height: 3px;
		transition: .5s;
		border-radius: 3px;
	}
	.HeaderSpButton span + span {
		margin-top: 7px;
	}

	/* ハンバーガーメニュー */
	body.is-spnav-active .HeaderSpButton span:nth-of-type(1) {
		transform: rotate(-45deg);
	}
	body.is-spnav-active .HeaderSpButton span:nth-of-type(2) {
		display: none;
	}
	body.is-spnav-active .HeaderSpButton span:nth-of-type(3) {
		transform: rotate(45deg);
	}
	body.is-spnav-active .HeaderSpButton span + span {
		margin-top: -3px;
	}
	.Header_navWrap {
		position: fixed;
		top: 70px;
		right: 0%;
		width: 100%;
		height: 100%;
		overflow: auto;
		background: var(--white);
		padding: 10px 20px 40px;
		display: block;
		transition: 0.5s;
		visibility: hidden;
		opacity: 0;
		transition: opacity 0.5s ease, visibility 0s 0.5s; /* アニメーション */
		z-index: 10;
	}
	.HeaderNav_list {
    	display: block;      
    	height: 100%;
	}
	.HeaderNav_list &gt; .HeaderNav_item {
		position: relative;
		padding: 30px 20px;
		border-top: 1px solid var(--future-blue);
	}
	.HeaderNav_list &gt; .HeaderNav_item + .HeaderNav_item {
    	margin-left: 0;
	}
	.HeaderNav_link {
		color: var(--future-blue);
		text-align: left;
		font-weight: 500;
		opacity: 1;
	}
	.HeaderNav_link.-contact::after {
		bottom: 25px;
	}
	.cta-header {
		margin: 0 auto;
	}
	.contact .HeaderNav_link {
		margin: 30px auto 0;
		width: 98%;
	}
	.contact::after {
		content: none !important;
	}
	.HeaderNav_link::after {
		content: none;
	}
	body.is-spnav-active .Header_navWrap {
		visibility: visible;
		opacity: 1;
		transition: opacity 0.5s ease, visibility 0s 0s; /* 表示時のアニメーション */
	}
}

:target {
    scroll-margin-top: 120px; /* ヘッダーの高さに合わせる */
}
@media (max-width: 767px) {
	:target {
		scroll-margin-top: 60px; /* ヘッダーの高さに合わせる */
	}
}

/**********************************************
 * CTAボタン
 ***********************************************/

/* 右下端に固定するボタン */
.cta-fixed {
    position: fixed;
	right: 0px;
    top: 50%; /* 画面の中央に配置 */
    transform: translateY(-50%); /* 自身の高さの半分だけ上へ移動 */
	width: 60px;
	height: 200px;
	font-size: 2rem;
    background: var(--teracan-purple); /* ボタンの色 */
    color: var(--white);
    border: none;
    cursor: pointer;
	z-index: 10;
	margin: 0;
	border-radius: 15px 0px 0px 15px;
	writing-mode: vertical-rl; /* 縦書き（右から左へ） */
	text-orientation: upright; /* 文字を正しく表示 */
	transition: .5s;

	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* ホバー時のアクション */
.cta-fixed:hover {
    background: var(--white);
	border: 3px solid var(--teracan-purple);
	border-right: 3px solid var(--white);
	color: var(--teracan-purple);
}

.cta-icon {
	content: "\f0e0"; /* FontAwesomeの封筒アイコン */
	font-family: "Font Awesome 6 Free"; /* FontAwesomeフォント */
	font-weight: 500;
	font-size: 2.2rem;
	margin-top: 10px; /* テキストとの間隔 */
}

@media (max-width: 767px) {
    .cta-fixed {
        position: fixed;
        right: 0px;
        width: 40px;
        height: 150px;
        font-size: 1.4rem;
        font-weight: 300;
        z-index: 10;
        margin: 0;
        border-radius: 15px 0px 0px 15px;
        writing-mode: vertical-rl;
        text-orientation: upright;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;

        /* 最初は表示 */
        opacity: 1;
        visibility: visible;
        transition: opacity 0.5s ease, visibility 0.5s ease;
    }
	
	/* ハンバーガーメニューが開いたら非表示 */
    body.is-spnav-active .cta-fixed {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s ease, visibility 0s 0.5s;
    }
	
		/* ホバー時のアクション */
		.cta-fixed:hover {
			background: var(--white);
			border: 3px solid var(--teracan-purple);
			border-right: 3px solid var(--white);
			color: var(--teracan-purple);
		}
	
		/* アイコンのスタイル */
		.cta-icon {
			content: "\f0e0"; /* FontAwesomeの封筒アイコン */
			font-family: "Font Awesome 6 Free";
			font-weight: 500;
			font-size: 1.6rem;
			margin-top: 10px;
		}
	}
/**********************************************
* TOPへ戻る
***********************************************/
.scroll-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 55px;
    height: 55px;
    background: rgba(233, 163,174, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    z-index: 9;
    
    opacity: 0; /* 初期状態は透明 */
    visibility: hidden; /* 透明でもクリックできないように */
}

/* ふわっと表示 */
.scroll-top.visible {
    opacity: 1;
    visibility: visible;
}

/* アイコンのスタイル */
.scroll-top i {
    font-size: 26px;
    color: var(--white);
}

/* ホバー時のアニメーション */
.scroll-top:hover {
    background: rgba(233, 163, 174, 1); /* 色を濃くする */
    transition: background 0.3s ease, transform 0.3s ease; /* スムーズなアニメーション */
}

.scroll-top:hover i {
    color: #fff;
}

/* スマホ用調整 */
@media (max-width: 767px) {
    .scroll-top {
        bottom: 30px;
        right: 20px;
        width: 36px;
        height: 36px;
    }

    .scroll-top i {
        font-size: 2rem;
    }
}

/**********************************************
 * Footer
 ***********************************************/
.Footer {
	padding: 40px 0;
	position: relative;
	z-index: 1; /* `section-divider` の下になるように調整 */
}
.Footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:rgba(168, 151, 196, 0.2);
    z-index: -1; /* 背景を後ろに */
}
.bg-arch {
    position: absolute;
	top: -70px;
	height: 70px;
	width: 100%;
	background: url("/teracan/assets/images/bg/footer-arch.png") no-repeat center/cover;
    background-size: cover;
    z-index: -1; /* 必ず前のセクションより上に来るように */
}
.Footer_logo {
	text-align: center;
}

.Footer_logo img {
	width: 30vw;
	height: auto;
}
.Footer_bottom {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.Footer_link a {
    display: inline-block;
    font-size: 1.2rem;
    color: var(--black);
    text-align: center;
    margin-right: 20px;
    text-decoration: underline;
	text-decoration-color: inherit;
	text-underline-offset: 5px; /* 下線の位置を少し下げる */
    transition: .5s;
}
.Footer_link a:hover {
	text-decoration-color: transparent;
}

.Footer_copyright {
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--black);
    text-align: center;
    display: flex;
    align-items: center;
    margin-left: 20px; /* 区切り線との間隔 */
}

/* 区切り線 */
.Footer_separator {
    width: 1px;
    height: 1.2rem; /* テキストの高さに揃える */
    background: rgba(0, 0, 0, 0.5); /* 半透明の黒線 */
    display: flex;
    align-items: center;
}

@media (max-width: 767px) {
	.Footer_logo img {
		width: 50vw;
		height: auto;
		min-width: 260px;
	}
	.Footer_bottom {
		margin-top: 20px;
		justify-content: center;
		align-items: center;
		display: flex;
	}
	.Footer_link a {
		margin-right: 12px; 
	}
	.Footer_copyright {
		margin-left: 12px; 
	}
	.bg-arch {
		position: absolute;
		top: -40px;
		height: 40px;
		width: 100%;
		background: url("/teracan/assets/images/bg/footer-arch-sp.png") no-repeat center/cover;
	}

}

/**********************************************
 * common
***********************************************/
/* Title_lv3
*******************************************/
.title__lv3 {
    width: fit-content; /* 要素の幅をテキストに合わせる */
    margin: 30px auto; /* 上下余白は60px、左右は自動で中央寄せ */
    padding: 0 0 20px 0;
    border-bottom: solid 3px #A897C4;
    color: var(--teracan-purple);
    font-weight: 400;
    font-size: 3.6rem;
	letter-spacing: 7.2px;
	line-height: 1;
    text-align: center;
}

.title__lv3::before {
	margin-right: 30px;
	transform: rotate(-35deg);
}
.title__lv3::after {
	margin-left: 30px;
	transform: rotate(35deg);
}
@media (max-width: 767px) {
	.title__lv3 {
		font-size: 2.6rem;
		margin: 30px auto; /* 上下余白は60px、左右は自動で中央寄せ */
		padding: 0 0 20px 0;
		letter-spacing: 5px;
	}
}
/************************************************/
/* Text
*******************************************/
.text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 180%; /* 28.8px */
	letter-spacing: 0.8px;
}

.text + .text {
	margin-top: 15px;
}
@media (max-width: 767px) {
	.text {
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 180%; /* 28.8px */
		letter-spacing: 0.8px;
	}
	.text + .text {
		margin-top: 15px;
	}
}

/*******************************************/
/* Link
*******************************************/
/* 外部リンク */
a[target="_blank"]::after {
	content: "\f08e";
	display: inline-block;
	position: relative;
	font-family: "Font Awesome 6 Free";
	margin-left: 5px;
	font-weight: 600;
	font-size: 1.2rem;
	color: var(--black);
}</pre></body></html>