@charset "UTF-8";

/*
Theme Name: 
Text Domain: 
Description: 
Tags: single,
Author: ONZE
Author URI: https://on-ze.com
Theme URI: 
Version: 0.9
*/

/******************/
/******************/
/* ONZE RESET CSS */
.shippori-mincho-regular {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .shippori-mincho-medium {
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
  }

:root {
	--color-black:#000000;
	--color-white:#ffffff;
	--color-gold:#D7BC84;
	--gradient-gold: linear-gradient(120deg, rgba(171, 138, 66, 1) 0%, rgba(199, 180, 138, 1) 13%, rgba(199, 180, 138, 1) 15%, rgba(171, 138, 66, 1) 23%, rgba(215, 188, 132, 1) 68%, rgba(124, 92, 23, 1) 100%);
	--font-regular: 400;
	--font-medium: 500;
	--font-bold: 700;
	--font-main: "Shippori Mincho", serif;
	--font-sub: "Noto Sans JP", serif;
}
	

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

* {
border:0;
margin:0;
outline:0;
padding:0;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
/*	all:unset;
	display:revert;*/
}


article, aside, dialog, figure, footer, header, main, nav, section {display:block;}
picture, audio, canvas, video, svg {display:inline-block; max-width:100%;}

h1, h2, h3, h4, h5, h6 {
overflow-wrap:break-word;
}

br,
hr {display:block;}

ol,
ul {list-style:none;}

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

input,
select {vertical-align:middle;}


/******************/
/******************/
/* html format ****/


html {font-size:62.5%;}
html {font-size: clamp(7px, calc(100vw / 1600* 4 + 6px), 11px);scroll-behavior: smooth;}
@media screen and (min-width: 1440px) {
	html {font-size: 9.7px;}
}

body {
	background-color:#f5f5f5;
	color:var(--color-black);
	font-family: var(--font-main);
	font-weight: 500;
	font-size:17px;
	font-size:1.7rem;
	line-height:1;
	position:relative;
	text-align:left;
	text-size-adjust:100%;
	font-feature-settings:"palt";
	-webkit-font-smoothing:antialiased;
	/*-moz-font-smoothing:antialiased;
	-ms-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;*/
	font-smoothing:antialiased;
	/* text-rendering:optimizeLegibility; まだ使わないほうが無難 */
	-webkit-tap-highlight-color:transparent;
	width: 100%;
	height: auto;
	margin: 0 auto;
	letter-spacing: 0.05em;
}

a,
a:link,
a:visited,
a:hover,
a:active {
color:inherit;
	tap-highlight-color:transparent rgba(0,0,0,0);
text-decoration:none;
-webkit-text-decoration-skip:objects;
cursor:pointer;
}


a:hover {}

h1,
h2,
h3,
h4,
h5,
h6 {display:block;}

b {}
i {
}
u {text-decoration:underline;}
em {font-weight:bold;}
strong {font-size:1.4em;}
mark {background:transparent;}

q {}
q:before,
q:after {content:'"';}
s {text-decoration:underline;}
del {text-decoration:line-through;}

ins {}
iframe {}

ruby {}
rt {font-size:0.5em;}

sup {vertical-align:super; font-size:smaller;}
sub {vertical-align:sub; font-size:smaller;}

details {margin:0 0 40px 0;}

hr {margin:80px 0; border:0; border-top:1px solid rgba(255,255,255,0.5); border-color:rgba(255,255,255,0.5); height:0;}

table {
	border-collapse:collapse; border-spacing:0; empty-cells:show; border:0; width:100%;
}
table th,
table td {
	padding:2em 1em; vertical-align:top;
	border-bottom:1px solid #cccccc; border-color:var(--color-light);
	position:relative;
}
table th {padding:2em 3em 2em 1em;}
table td {padding:2em 1em 2em 3em;}
table caption {
	text-align:left; padding:8px;
}

/*
::-moz-selection {background-color:#1c3b24; background-color:var(--color-red); color:#ffffff;}
::selection {background-color:#1c3b24; background-color:var(--color-red); color:#ffffff;}
*/

/******************/
/******************/
/* shortcodes *****/


.alignright,
.align-right,
.textright,
.text-right {text-align:right;}
.alignleft, .align-left, .textleft, .text-left {text-align:left;}
.center, .aligncenter, .align-center, .textcenter, .text-center {text-align:center; margin-left:auto; margin-right:auto;}
.clear {clear:both;}
.clearfix:after {content:""; clear:both; display:block; height:0; visibility:hidden;}
.empty {visibility:hidden;}
.hide,
.none {display:none;}
.hidden {overflow:hidden;}
.left, .floatleft, .float-left {float:left;}
.right, .float-right, .float-right {float:right;}
.relative {position:relative;}
.absolute {position:absolute;}
.nowrap {white-space:nowrap;}
.small,
.text-small {font-size:0.8em;}

img.left,
img.alignleft,
img.align-left {margin:0 20px 20px 0; float:left;}
img.right,
img.alignright,
img.align-right {margin:0 0 20px 20px; float:right;}

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

table.table-border,
table.table-border th,
table.table-border td {border:1px solid #cccccc; border-color:var(--color-light);}

table.table-hover tbody tr:hover,
table.table-hover tbody tr:nth-child(odd):hover,
table.table-hover tbody tr:nth-child(even):hover {background-color:#1c3b24; background-color:var(--color-red); color:#ffffff; cursor:text;
}

table.table-stripe tbody tr:nth-child(odd) {background-color:#cccccc; background-color:var(--color-light);}
table thead th {vertical-align:bottom;}

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


/* 共通スタイル */
.image-wrapper{
	height: fit-content;
	width: 100%;
	display: block;
	line-height: 1;
}
.image-wrapper img {
	width: 100%;
	height: auto;
	line-height: 0;
}
.wrapper {
	position: relative;
	z-index: 2;
	min-height:100vh;
}
@media screen and (min-width: 1280px) {
	.wrapper {
		margin: 0 0 0;
		position: relative;
		line-height: 1.5;
	}
}
.site-main {
	overflow: hidden;
}
.section{
	position: relative;
}
.inner {
	max-width: 1440px;
	clear: both;
	display: block;
	margin: 0 auto;
	position: relative;
	width: 100%;
	padding: 0 9rem;
}
@media screen and (max-width: 750px) {
	.inner {
		padding: 0 5%;
	}
}
.text-gold {
	background: var(--gradient-gold);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
span.small {
	font-size: 0.85em;
}
.site-background {
	position: absolute;
	top: 0;
	left: 0;
	bottom:0;
	width: 100%;
	height: 100%;
	background-image: url("../images/site-background.jpg");
	background-repeat: repeat;
	background-size: 40% auto;
	background-position: left top;
	z-index: 1;
}
.main-banner{
	width: 100%;
	max-width: 750px;
	position: relative;
	margin: 0 auto;
	z-index: 2;
}
.main-banner .button {
	position: absolute;
	bottom: 14%;
	left: 50%;
	transform: translateX(-50%);
	width: 70%;
}
.main-banner .button a {
	background-color: #ff0000;
	border-radius: 1rem;
	text-align: center;
	display: block;
	padding: 1.5rem 0;
	font-size: 2.4rem;
	color: var(--color-white);
	filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.25));
	transition: 0.5s;
	letter-spacing: 0;
}
.main-banner .button a:hover {
	transform: scale(1.05);
}
.main-banner .button a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background-image: url("../images/icon-arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
@media screen and (max-width: 950px) {
	.main-banner {
		max-width: 600px;
	}
}
@media screen and (max-width: 750px) {
	.main-banner .button{
		width: 90%;
		bottom: 12%;
	}
	.main-banner .button a{
		font-size: 4.3vw;
		text-align: center;
		padding: 1.5rem 6vw 1.5rem 3vw;
		border-radius: 0.5rem;
	}
}

.site-banner {
	display: none;
}
@media screen and (max-width: 750px) {
	.site-banner {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 75px;
		background-image: var(--gradient-gold);
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 999;
	}
	.site-banner .button {
		width: 90%;
		height: fit-content;
	}
	.site-banner a {
		font-size: 5vw;
		padding: 3.5vw 3.5rem 3.5vw 2rem;
		border-radius: 0.5rem;
		filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.25));
		transition: 0.5s;
		display: block;
		background-color: #ff0000;
		color: var(--color-white);
		position: relative;
		text-align: center;
	}
	.site-banner a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 2rem;
		transform: translateY(-50%);
		display: block;
		width: 2.5rem;
		height: 2.5rem;
		background-image: url(../images/icon-arrow.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
}
/* アニメーション */


/* 固有スタイル */
#section-top-hero {
	background-image: url("../images/top-hero-thumbnail.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	aspect-ratio: 1440 / 853;
}
#section-top-hero .hero-inner {
	padding-top: 2vw;
	margin-left: 5vw;
}
#section-top-hero .logo a {
	color: transparent;
	width: 9vw;
	padding-top: 3vw;
	background-image: url("../images/logo-sirusi.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
}
#section-top-hero .title h2 {
	font-size: 4.5vw;
	letter-spacing: 0.1em;
	width: fit-content;
	margin-top: 7vw;
}
#section-top-hero .title h2 .small {
	font-size: 2vw;
	letter-spacing: 0.5em;
	display: block;
	text-align: center;
}
#section-top-hero .title h2 .small::after {
	content: "";
	display: block;
	width: 2vw;
	height: 1px;
	background-image: var(--gradient-gold);
	margin: 2vw auto 1vw auto;
}
#section-top-hero .feature-wrapper {
	display: flex;
	width: 43%;
	justify-content: space-between;
	margin-left: 5vw;
	margin-top: 5vw;
}
#section-top-hero .feature-wrapper .image-wrapper {
	width: 30%;
	position: relative;
}
#section-top-hero .feature-wrapper .image-wrapper:first-child::after {
	content: "";
	position: absolute;
	top: -20%;
	left: -15%;
	background-image: url("../images/top-hero-feature-decoration.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 47%;
	height: 47%;
	display: block;
}
@media screen and (max-width: 750px) {
	#section-top-hero {
		aspect-ratio: 375 / 806;
		background-image: url(../images/top-hero-thumbnail-sp.jpg);
	}
	#section-top-hero .hero-inner {
		width: 90%;
		padding-top: 25px;
		margin-left: 0;
		margin: 0 auto;
	}
	#section-top-hero .logo a{
		width: 26vw;
        padding-top: 5vw;
	}
	#section-top-hero .title h2{
		white-space: nowrap;
		font-size: 7.5vw;
		margin-top: 13vw;
	}
	#section-top-hero .title h2 .small{
		font-size: 4.3vw;
		margin-bottom: 1.5rem;
	}
	#section-top-hero .title h2 .small::after{
		display: none;
	}
	#section-top-hero .feature-wrapper {
		background-image: url("../images/top-hero-feature-sp.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: bottom center;
		width: 100%;
		aspect-ratio: 313/470;
		margin: 0;
		margin-top: 10vw;
	}
	#section-top-hero .feature-wrapper .image-wrapper {
		display: none;
	}
}


#section-top-ever .main-banner {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 3px 5px 10px 0px rgba(0, 0, 0, 0.25);
}
#section-top-ever .inner {
	padding-top: 200px;
}
#section-top-ever .section-title h3 {
	font-size: 4.5rem;
	text-align: center;
}
#section-top-ever .section-title h3 .dot {
	font-size: 1.4em;
	position: relative;
	background: var(--gradient-gold);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#section-top-ever .section-title h3 .dot::after {
	content: "";
	position: absolute;
	top: -5%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	background: var(--gradient-gold);
	border-radius: 50%;
}
#section-top-ever .box-wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 8rem;
}
#section-top-ever .box-wrapper .box {
	width: 22%;
}
#section-top-ever .box-wrapper .box .caption {
	font-size: 2.1rem;
	color: var(--color-white);
	margin-bottom: 1.5rem;
	display: block;
	font-family: var(--font-sub);
}
#section-top-ever .box-wrapper .box .caption i{
	border-radius: 50%;
	background-color: #FE2A39;
	font-size: 1.8rem;
	display: inline-flex;
	align-items: center;
	aspect-ratio: 1/1;
	width: 4rem;
	height: 4rem;
	padding-left: 0.8em;
	padding-bottom: 0.1em;
	margin-right: 1rem;
	font-family: var(--font-main);
}
#section-top-ever .box-wrapper .box p{
	color: var(--color-white);
	font-size: 1.6rem;
	margin-bottom: 2rem;
	line-height: 1.5;
}
@media screen and (max-width: 1300px) {
	#section-top-ever .box-wrapper {
		flex-wrap: wrap;
		justify-content: center;
		gap: 5rem;
	}
	#section-top-ever .box-wrapper .box{
		width: 35%;
	}
}
@media screen and (max-width: 750px) {
	#section-top-ever .main-banner {
		width: 87%;
		transform: translate(-50%, -20%);
	}
	#section-top-ever .inner {
		padding-top: 200px;
	}
	#section-top-ever .section-title h3 {
		line-height: 1.3;
	}
	#section-top-ever .box-wrapper{
		display: block;
	}
	#section-top-ever .box-wrapper .box{
		width: 100%;
		margin-top: 7rem;
	}
	#section-top-ever .box-wrapper .box .caption{
		font-size: 2.6rem;
	}
	#section-top-ever .box-wrapper .box .caption i {
		font-size: 2.6rem;
		width: 5rem;
		height: 5rem;
		margin-right: 1.5rem;
		padding-left: 0.7em;
	}
	#section-top-ever .box-wrapper .box p{
		font-size: 1.8rem;
		line-height: 1.5;
	}
}


#section-top-appeal {
	margin-top: 10rem;
}
#section-top-appeal .thumbnail {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background-image: url("../images/top-appeal-thumbnail.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	aspect-ratio: 144 / 65;
	display: flex;
	align-items: flex-end;
	padding: 6vw;
}
#section-top-appeal .thumbnail h3 {
	font-size: 1.9vw;
	line-height: 2;
	color: var(--color-white);
	letter-spacing: 0.2em;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}
#section-top-appeal .thumbnail h3 .line {
	background: linear-gradient(transparent 60%, rgba(171, 138, 66, 0.7) 30%);
}
#section-top-appeal .content {
	margin-top: 7rem;
	position: relative;
}
#section-top-appeal .content h4 {
	position: absolute;
	top: 15%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	color: var(--color-white);
	font-size: 4rem;
	width: 100%;
	line-height: 1.7;
}
#section-top-appeal .content h4 .text-gold {
	font-size: 1.4em;
}
#section-top-appeal .content .box-wrapper {
	display: flex;
}
#section-top-appeal .content .box-wrapper .box {
	width: calc(100% / 3);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	aspect-ratio: 420 / 667;
	display: flex;
	flex-direction: column;
}
#section-top-appeal .content .box-wrapper .box:nth-of-type(1) {
	background-image: url("../images/top-appeal-01.jpg");
}
#section-top-appeal .content .box-wrapper .box:nth-of-type(2) {
	background-image: url("../images/top-appeal-02.jpg");
}
#section-top-appeal .content .box-wrapper .box:nth-of-type(3) {
	background-image: url("../images/top-appeal-03.jpg");
}
#section-top-appeal .content .box-wrapper .box .caption {
	font-size: 4rem;
	letter-spacing: 0.3em;
	margin-top: auto;
	margin-bottom: 2rem;
	padding: 1.5rem 0;
	display: block;
	background-image: linear-gradient(120deg, rgba(171, 138, 66, 0.7) 0%, rgba(199, 180, 138, 0.7) 13%, rgba(199, 180, 138, 0.7) 15%, rgba(171, 138, 66, 0.7) 23%, rgba(215, 188, 132, 0.7) 68%, rgba(124, 92, 23, 0.7) 100%);
	text-align: center;
	font-weight: var(--font-bold);
}
#section-top-appeal .content .box-wrapper .box p {
	font-size: 1.8rem;
	color: var(--color-white);
	margin-bottom: 2rem;
	padding: 1.5rem 0;
	display: block;
	text-align: center;
	line-height: 1.8;
	font-weight: var(--font-regular);
}
@media screen and (max-width: 950px) {
	#section-top-appeal .content h4 {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 750px) {
	#section-top-appeal .inner {
		padding: 0;
	}
	#section-top-appeal .thumbnail {
		aspect-ratio: 3/2;
	}
	#section-top-appeal .thumbnail h3{
		font-size: 3.8vw;
	}
	#section-top-appeal .content h4{
		position: static;
		transform: none;
		font-size: 2.8rem;
		margin-bottom: 5rem;
	}
	#section-top-appeal .content .box-wrapper{
		display: block;
	}
	#section-top-appeal .content .box-wrapper .box{
		width: 100%;
	}
	#section-top-appeal .content .box-wrapper .box .caption{
		font-size: 5rem;
	}
	#section-top-appeal .content .box-wrapper .box p{
		font-size: 4.2vw;
		line-height: 2.3;
	}
}

#section-top-detail {
	padding-top: 150px;
}
#section-top-detail .section-title {
	text-align: center;
}
#section-top-detail .section-title h3 {
	font-size: 4.5rem;
	position: relative;
	margin-bottom: 3vw;
	vertical-align: middle;
}
#section-top-detail .section-title h3 i {
	position: absolute;
	font-size: 12vw;
	opacity: 0.05;
	right: 0;
	top: 40%;
	transform: translateY(-50%);
	text-transform: uppercase;
}
#section-top-detail .box-wrapper .rellax-wrapper {
	aspect-ratio: 144 / 49;
	overflow: hidden;
	position: relative;
}
#section-top-detail .box-wrapper .box {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	aspect-ratio: 1440 / 1028;
	position: relative;
	z-index: -1;
}
#section-top-detail .box-wrapper .rellax-wrapper:nth-child(1) .box{
	background-image: url("../images/top-detail-01.jpg");
}
#section-top-detail .box-wrapper .rellax-wrapper:nth-child(2) .box{
	background-image: url("../images/top-detail-02.jpg");
}
#section-top-detail .box-wrapper .rellax-wrapper:nth-child(3) .box{
	background-image: url("../images/top-detail-03.jpg");
}
#section-top-detail .box-wrapper .rellax-wrapper .caption {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 32%, rgba(0, 0, 0, 0.0) 47%, rgba(2, 2, 2, 0.0) 59%);
	width: 100%;
	max-width: 1440px;
	/* margin: auto auto 5% auto; */
	font-size: 2vw;
	color: var(--color-white);
	padding: 2rem 0 2rem 7rem;
	position: relative;
	line-height: 1.3;
	position: absolute;
	bottom: 15%;
	left: 0;
}
#section-top-detail .box-wrapper .rellax-wrapper .caption::before {
	content: "";
	position: absolute;
	top: 0;
	right: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	display: block;
	width: 100vw;
	height: 100%;
}

#section-top-detail .box-wrapper .rellax-wrapper:nth-child(2n) .caption {
	background: linear-gradient(-90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 32%, rgba(0, 0, 0, 0.0) 47%, rgba(2, 2, 2, 0.0) 59%);
	text-align: right;
	padding: 2rem 7rem 2rem 0;
}
#section-top-detail .box-wrapper .rellax-wrapper:nth-child(2n) .caption::before {
	left: 100%;
}

/* アニメーション */

/* #section-top-detail .box-wrapper .box {
	transform: translateX(50%);
	transition: 2s;
	opacity: 0;
}
#section-top-detail .box-wrapper .box:nth-child(2n) {
	transform: translateX(-50%);
}
#section-top-detail .box-wrapper .box.detail-animation-active {
	transform: translateX(0);
	opacity: 1;
}
#section-top-detail .box-wrapper .box .caption{
	transform: translateX(50%);
	transition: 2.5s;
	opacity: 0;
}
#section-top-detail .box-wrapper .box:nth-child(2n) .caption{
	transform: translateX(-50%);
}
#section-top-detail .box-wrapper .box.detail-animation-active .caption{
	transform: translateX(0);
	opacity: 1;
} */
/**********/

@media screen and (max-width: 750px) {
	#section-top-detail {
		padding-top: 75px;
	}
	#section-top-detail .section-title h3 {
		font-size: 5rem;
		line-height: 1.3;
		margin-bottom: 7rem;
	}
	#section-top-detail .section-title h3 i{
		font-size: 21vw;
		left: 0;
		right: auto;
	}
	#section-top-detail .box-wrapper .rellax-wrapper{
		aspect-ratio: 375 / 490;
	}
	#section-top-detail .box-wrapper .box{
		aspect-ratio: auto;
		height: 100%;
	}
	#section-top-detail .box-wrapper .rellax-wrapper:nth-child(1) .box{
		background-image: url(../images/top-detail-01-sp.jpg);
	}
	#section-top-detail .box-wrapper .rellax-wrapper:nth-child(2) .box{
		background-image: url(../images/top-detail-02-sp.jpg);
	}
	#section-top-detail .box-wrapper .rellax-wrapper:nth-child(3) .box{
		background-image: url(../images/top-detail-03-sp.jpg);
	}
	#section-top-detail .box-wrapper .rellax-wrapper .caption{
		font-size: 4.5vw;
		line-height: 1.5;
		/* margin: auto auto 10% auto; */
		background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.0) 85%, rgba(2, 2, 2, 0.0) 90%);
	}
	#section-top-detail .box-wrapper .rellax-wrapper:nth-child(2n) .caption{
		background: linear-gradient(-90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.0) 85%, rgba(2, 2, 2, 0.0) 90%);
	}
	
}


#section-top-program {
	padding-top: 150px;
	padding-bottom: 125px;
}
#section-top-program .section-title h3 {
	font-size: 5rem;
	text-align: center;
	width: fit-content;
	position: relative;
	margin: 0 auto;
	font-weight: var(--font-bold);
	line-height: 1.5;
}
#section-top-program .section-title h3::before,
#section-top-program .section-title h3::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	aspect-ratio: 84 / 128;
	height: 110%;
}
#section-top-program .section-title h3::before {
	background-image: url("../images/top-program-title-decoration-right.png");
	left: 110%;
}
#section-top-program .section-title h3::after {
	background-image: url("../images/top-program-title-decoration-left.png");
	right: 110%;
}
#section-top-program .section-title .description {
	text-align: center;
	color: var(--color-white);
	font-size: 2rem;
	line-height: 1.8;
	margin-top: 6rem;
}
#section-top-program .main-banner {
	margin-top: 6rem;
}
@media screen and (max-width: 750px) {
	#section-top-program{
		padding-top: 75px;
		padding-bottom: 75px;
	}
	#section-top-program .section-title h3 {
		font-size: 5.6vw;
	}
	#section-top-program .section-title .description{
		font-size: 3.8vw;
	}
}

#section-top-service {
	padding-top: 125px;
	padding-bottom: 125px;
	background-color: rgba(0, 0, 0, 0.2);
}
#section-top-service .section-title {
	text-align: center;
	width: 100vw;
    margin-left: calc(50% - 50vw);
}
#section-top-service .section-title h3 {
	font-size: 4.5rem;
	position: relative;
	margin-bottom: 3vw;
	vertical-align: middle;
}
#section-top-service .section-title h3 i {
	position: absolute;
	font-size: 12vw;
	opacity: 0.05;
	left: 0;
	top: 40%;
	transform: translateY(-50%);
	text-transform: uppercase;
}
#section-top-service .section-title .description {
    text-align: center;
    color: var(--color-white);
    font-size: 2rem;
    line-height: 1.8;
    margin-top: 6rem;
	font-weight: var(--font-regular);
}
#section-top-service .box-wrapper {
	margin-top: 8rem;
}
#section-top-service .box-wrapper .box {
	display: flex;
	justify-content: space-between;
}
#section-top-service .box-wrapper .box:nth-child(1) .image-wrapper:nth-child(1) {
	width: 43%;
}
#section-top-service .box-wrapper .box:nth-child(1) .image-wrapper:nth-child(2) {
	width: 53%;
	margin-top: 5rem;
}
#section-top-service .box-wrapper .box:nth-child(2) .image-wrapper:nth-child(1) {
	width: 45%;
}
#section-top-service .box-wrapper .box:nth-child(2) .image-wrapper:nth-child(2) {
	width: 45%;
	margin-top: 10rem;
}
@media screen and (max-width: 750px) {
	#section-top-service {
		padding-top: 75px;
		padding-bottom: 75px;
	}
	#section-top-service .section-title h3{
		line-height: 1.3;
	}
	#section-top-service .section-title h3 i{
		font-size: 21vw;
		top: 0;
	}
	#section-top-service .section-title .description{
		font-size: 3.8vw;
	}
	#section-top-service .box-wrapper .box{
		display: block;
	}
	#section-top-service .box-wrapper .box .image-wrapper{
		width: 90% !important;
		margin: 0 auto;
		margin-top: 5rem !important;
	}
	#section-top-service .box-wrapper .box:nth-child(1) .image-wrapper:nth-child(2){
		width: 100% !important;
		margin-top: 0 !important;
	}
}

#section-top-faq {
	padding-top: 125px;
	padding-bottom: 125px;
}
#section-top-faq .section-title h3 {
	font-size: 4.5rem;
	margin-bottom: 7rem;
	color: var(--color-white);
	text-align: center;
}
#section-top-faq .faq-list dl {
	background-color: rgba(0, 0, 0, 0.2);
	padding: 1rem 5rem 2.5rem 5rem;
	margin-bottom: 3rem;
	transition: 0.5s;
	cursor: pointer;
}
#section-top-faq .faq-list dl:hover {
	background-color: rgba(0, 0, 0, 0.7);
}
#section-top-faq .faq-list dl dt {
	color: var(--color-gold);
	font-size: 2rem;
	font-family: var(--font-sub);
	position: relative;
}
#section-top-faq .faq-list dl dt::before,
#section-top-faq .faq-list dl dt::after {
	content: "";
	position: absolute;
	top: 60%;
	right: 0;
	width: 2.5rem;
	height: 1px;
	background-color: var(--color-gold);
	display: block;
}
#section-top-faq .faq-list dl dt::before {
	transform: rotate(90deg);
	transition: 0.3s;
}
#section-top-faq .faq-list dl dt.accordion-active::before {
	transform: rotate(0deg);
}
#section-top-faq .faq-list dl dt i {
	content: "Q.";
	color: var(--color-gold);
	font-size: 4rem;
	font-family: var(--font-main);
	font-weight: var(--font-regular);
	margin-right: 1rem;
}
#section-top-faq .faq-list dl dd {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	color: var(--color-white);
	padding-bottom: 1rem;
	font-size: 1.8rem;
	line-height: 1.8;
}
@media screen and (max-width: 750px) {
	#section-top-faq {
		padding-top: 75px;
		padding-bottom: 50px;
	}
	#section-top-faq .faq-list dl{
		padding: 2rem;
	}
	#section-top-faq .faq-list dl dt {
		line-height: 1.3;
		padding: 0 3.5rem 0 5.5rem;
	}
	#section-top-faq .faq-list dl dt::before,
	#section-top-faq .faq-list dl dt::after{
		width: 1.6rem;
		top: 50%;
	}
	#section-top-faq .faq-list dl dt i{
		position: absolute;
		top: 45%;
		transform: translateY(-50%);
		left: 0rem;
	}
}

#section-top-contact {
	padding-top: 125px;
	padding-bottom: 100px;
	background-color: rgba(0, 0, 0, 0.2);
}
#section-top-contact .section-title h3 {
	font-size: 4.5rem;
	color: var(--color-white);
	text-align: center;
}
#section-top-contact .section-title h3 .small {
	font-size: 2.4rem;
	display: block;
	margin-bottom: 2.5rem;
}
#section-top-contact .content {
	margin-top: 5rem;
}
#section-top-contact form td,
#section-top-contact form th {
	padding: 0;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}
#section-top-contact form th {
	font-size: 2.2rem;
	display: flex;
	align-items: center;
	color: var(--color-white);
	border: none;
	width: max-content;
}
#section-top-contact form th b {
	font-size: 1.6rem;
	background-color: #FE2A39;
	border-radius: 0.5rem;
	padding: 0.5rem 1rem;
	display: block;
	margin-right: 1.5rem;
	color: var(--color-white);
}
#section-top-contact form td {
	border: none;
	width: 100%;
	padding-left: 5rem;
}
#section-top-contact form input {
	font-size: 2rem;
	padding: 1rem 2rem;
	border-radius: 0.5rem;
	width: 100%;
}
#section-top-contact .submit {
	position: relative;
	width: fit-content;
	margin: 5rem auto 0 auto;
}
#section-top-contact .submit input {
	background-color: #ff0000;
	border-radius: 0.5rem;
	text-align: center;
	display: block;
	padding: 2rem 0;
	font-size: 2.4rem;
	color: var(--color-white);
	filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.25));
	width: 300px;
	letter-spacing: 0.3em;
	cursor: pointer;
}
#section-top-contact .submit::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background-image: url(../images/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	pointer-events: none;
}
@media screen and (max-width: 750px) {
	#section-top-contact {
		padding-top: 75px;
		padding-bottom: 50px;
	}
	#section-top-contact .content{
		margin-top: 7rem;
	}
	#section-top-contact form th,
	#section-top-contact form td {
		display: block;
		padding: 0;
	}
	#section-top-contact form th {
		padding-bottom: 1.5rem;
		display: flex;
	}
	#section-top-contact form td {
		padding-bottom: 3rem;
	}
	#section-top-contact form input {
		font-size: 2.2rem;
		padding: 1.5rem 2rem;
		border-radius: 0.5rem;
		width: 100%;
	}
	#section-top-contact .submit{
		width: 100%;
		margin: 3rem auto 0 auto;
	}
	#section-top-contact .submit input{
		width: 100%;
		font-size: 3rem;
	}
	#section-top-contact form th b {
		font-size: 1.8rem;
	}
}

#section-contact-content {
	padding-top: 75px;
	padding-bottom: 25px;
}
#section-contact-content h3 {
	font-size: 4.5rem;
	color: var(--color-white);
	text-align: center;
	margin-bottom: 5rem;
}
#section-contact-content p {
	color: var(--color-white);
	font-size: 2rem;
	margin-bottom: 3rem;
	line-height: 1.5;
}
#section-contact-content table {
	color: var(--color-white);
	font-size: 2rem;
	margin-bottom: 3rem;
	border-top: 1px solid var(--color-white);
	color: var(--color-white);
	background-color: transparent;
}
#section-contact-content table th,
#section-contact-content table td {
	color: var(--color-white);
	padding: 3rem 1rem;
	border-bottom: 1px solid var(--color-white);
	background-color: transparent;
	text-align: left;
}
#section-contact-content .buttons {
	display: flex;
	gap: 3rem;
	justify-content: center;
}
#section-contact-content .button-wrapper {
	position: relative;
	width: fit-content;
}
#section-contact-content .button-wrapper .button {
	background-color: #ff0000;
	border-radius: 0.5rem;
	text-align: center;
	display: block;
	padding: 2rem 0;
	font-size: 2.4rem;
	color: var(--color-white);
	filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.25));
	width: 250px;
	letter-spacing: 0.3em;
	cursor: pointer;
}
#section-contact-content .button-wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background-image: url(../images/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	pointer-events: none;
}
#section-contact-content .button-wrapper.back .button {
	background-color: #ffffff;
	color: var(--color-black);
}
#section-contact-content .button-wrapper.back::after {
	display: none;
}
@media screen and (max-width: 750px) {
	#section-contact-content .buttons {
		display: block;
	}
	#section-contact-content .button-wrapper .button {
		width: 100%;
	}
	#section-contact-content .button-wrapper {
		width: 100%;
		margin-bottom: 3rem;
	}
	#section-contact-content table th,
	#section-contact-content table td {
		display: block;
	}
	#section-contact-content table th {
		border: none;
		padding-bottom: 0;
	}
	#section-contact-content table td {
		padding-top: 2rem;
		font-size: 2.2rem;
	}
}



#site-footer {
	text-align: center;
	color: var(--color-white);
	padding-bottom: 3rem;
}
#site-footer .logo {
	width: 5rem;
	height: auto;
	margin: 5rem auto;
}
#site-footer p {
	font-size: 1.6rem;
	margin-bottom: 2rem;
	font-weight: var(--font-regular);
}
#site-footer .copy {
	font-size: 1.4rem;
}
@media screen and (max-width: 750px) {
	#site-footer {
		padding-bottom: 15rem;
	}
	#site-footer p {
		font-size: 2.2rem;
		line-height: 1.7;
	}
	#site-footer .copy{
		margin-top: 7rem;
		display: block;
	}
}

/* end ************/
/******************/
/******************/
