/*---------------------------------
	descriptionTitle start
---------------------------------*/
.descriptionTitle{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1.5em;
}

.descriptionTitle_main{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 180%;
	letter-spacing: 0.2em;
	min-width: 8em;
	padding: 0.5em 0;
	margin: 0 2em 1em 0;
	font-weight: normal;
	color: #000;
	border-top: 3px solid #2693ff;
}

.descriptionTitle_main::first-letter{
	color: #2693ff;
	font-weight: bold;
}

.descriptionTitle_description{
	flex-grow: 1;
	flex-shrink: 1;
	font-size: 120%;
}

.descriptionTitle_descriptionInlineText--highlight{
	font-size: 105%;
	font-weight: bold;
	color: #2693ff;
}

@media(max-width: 750px){
	.descriptionTitle{
		flex-direction: column;
	}
	
	.descriptionTitle_main,
	.descriptionTitle_description{
		width: 100%;
	}
}

/*---------------------------------
	descriptionTitle end
---------------------------------*/

/*---------------------------------
	ejTitle start
---------------------------------*/

.ejTitle{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: normal;
	font-size: 200%;
	line-height: 110%;
	margin-bottom: 2.5em;
	padding: 0 0 0.8em;
	background-image: url("../../images/common/title_deco.svg");
	background-position: center bottom;
	background-size: auto 0.3em;
	background-repeat: no-repeat;
}

.ejTitle_enText{
	color: var(--mainColor_hex);
	font-size: 65%;
	margin: 0 0 0.25em;
}

.ejTitle_jaText{
	font-weight: var(--fontWeight_normal);
}

.ejTitle--color{
	color: #FFF;
	background-image: url("../../images/common/title_deco_w.svg");
}

.ejTitle--color .ejTitle_enText,
.ejTitle--color .ejTitle_jaText{
	color: inherit;
}

@media(max-width: 750px){

	.ejTitle_jaText{
		font-size: 87.5%;
	}

}

/*---------------------------------
	ejTitle end
---------------------------------*/

/*---------------------------------
	contentTitle start
---------------------------------*/

.contentTitle{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	width: 100%;
	margin: 0 auto;
	font-size: 112.5%;
}

.contentTitle_text,
.contentTitle_text:hover{
	color: var(--mainColor_hex);
	font-weight: var(--fontWeight_normal);
	font-size: 112.5%;
	text-decoration: none;
}

.contentTitle_textSub,
.contentTitle_textSub:hover{
	font-size: 1rem;
	text-decoration: none;
	font-weight: normal;
}

.contentTitle--alignLeft{
	justify-content: flex-start;
}

.contentTitle--underline{
	justify-content: flex-start;
	padding: 0 0 0.5em;
	border-bottom: 4px solid #DFDFDF;
	position: relative;
}

.contentTitle--underline:before{
	content: "";
	display: block;
	font-size: 112.5%;
	width: 4em;
	height: 4px;
	background-color: var(--mainColor_hex);
	position: absolute;
	bottom: -4px;
	left: 0;
}

.contentTitle--underline .contentTitle_text,
.contentTitle--underline .contentTitle_text:hover{
	color: inherit;
	font-weight: var(--fontWeight_normal);
	font-size: 112.5%;
}

/*---------------------------------
	contentTitle end
---------------------------------*/

/*---------------------------------
	buttons start
---------------------------------*/
.buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 1em;
}

.buttons > input[type="submit"]::-webkit-search-decoration,
.buttons > input[type="button"]::-webkit-search-decoration,
.buttons > input[type="reset"]::-webkit-search-decoration{
	display: none;
}

.buttons > input[type="submit"]::focus,
.buttons > input[type="button"]::focus,
.buttons > input[type="reset"]::focus{
	outline-offset: -2px;
}

.buttons > *{
	display: block;
	border: 2px solid var(--mainColor_hex);
	background-color: var(--mainColor_hex);
	color: #FFF;
	font-size: 112.5%;
	padding: 0.5em 2em;
	border-radius: 0.5em;
	text-decoration: none;
	transition: color 0.5s, background-color 0.5s;
}

.buttons > *:hover{
	background-color: #FFF;
	color: var(--mainColor_hex);
	text-decoration: none;
}

.buttons--reverse > *{
	border: 2px solid #FFF;
	background-color: #FFF;
	color: var(--mainColor_hex);
}

.buttons--reverse > *:hover{
	background-color: rgba(255,255,255,0.3);
	color: #FFF;
}

/*---------------------------------
	buttons end
---------------------------------*/

/*---------------------------------
	subpageHead start
---------------------------------*/

.subpageHead{
	position: relative;
}

.subpageHead:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.25);
	z-index: 51;
}

.subpageHead_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 50;
}

.subpageHead_inner{
	max-width: 1180px;
	width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 52;
}

.subpageHeadTitle{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-weight: normal;
	font-size: 200%;
	color: #FFF;
	margin: 4em 0 3em;
}

.subpageHeadTitle_jaText{
	text-shadow: 2px 2px 0.25em #000;
	font-size: 125%;
}

.subpageHeadTitle_enText{
	font-size: 50%;
	text-shadow: 2px 2px 0.25em #000;
}

@media(max-width: 750px){
	.subpageHeadTitle{
		font-size: calc(210% * 0.7);
	}
}

/*---------------------------------
	subpageHead end
---------------------------------*/


/*---------------------------------
	contentWrap start
---------------------------------*/

.contentWrap{
	background-color: #FFF;
	padding: 2em 3em;
	border-radius: 0.5em;
}

.contentWrap--border{
	border: 1px solid #DFDFDF;
}

.contentWrap--borderColor{
	border: 3px solid var(--mainColor_hex);
}

.contentWrap--thin{
	background-color: transparent;
	padding: 0;
	margin: 0 auto;
	width: 80%;
	max-width: 960px;
	border-radius: 0;
}

.contentWrap-overWrap{
	display: flex;
	justify-content: center;
}

.contentWrap-overWrapThin{
	max-width: 960px;
}

@media(max-width: 750px){

	.contentWrap{
		padding: 2em 1.5em;
	}

}

/*---------------------------------
	contentWrap end
---------------------------------*/


/*---------------------------------
	videoframe start
---------------------------------*/

.videoframe{
	display: block;
	width: 100%;
	max-width: 560px;
	aspect-ration: 560 / 315;
	margin: 0 auto;
}

/*---------------------------------
	videoframe end
---------------------------------*/


/*---------------------------------
	commonImage start
---------------------------------*/

.commonImage{
	display: block;
	width: 100%;
	margin: 0 auto;
}

/*---------------------------------
	commonImage end
---------------------------------*/


/*---------------------------------
	buttonLayout start
---------------------------------*/

.buttonLayout,
.linkButton{
	display: flex;
	justify-content: center;
}

.linkButton_item{
	background-color: var(--mainColor_hex);
	color: #FFF;
	font-size: 125%;
	padding: 1.5em 3em;
	border-radius: 0.5em;
	transition: filter 0.25s;
}

.linkButton_item:hover{
	background-color: var(--mainColor_hex);
	color: #FFF;
	text-decoration: none;
	filter: brightness(1.2);
}

.linkButton_item--insta{
	display: flex;
	align-items: center;
}

.linkButton_item--next:after{
	content: "right";
	font-family: 'LigatureSymbols';
	-webkit-text-rendering: optimizeLegibility;
	-moz-text-rendering: optimizeLegibility;
	-ms-text-rendering: optimizeLegibility;
	-o-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-webkit-font-feature-settings: "liga" 1, "dlig" 1;
	-moz-font-feature-settings: "liga=1, dlig=1";
	-ms-font-feature-settings: "liga" 1, "dlig" 1;
	-o-font-feature-settings: "liga" 1, "dlig" 1;
	font-feature-settings: "liga" 1, "dlig" 1;
	margin: 0 0 0 1.5em;
}

.linkButton_icon{
	display: block;
	height: 2em;
	margin: 0 1.5em 0 0;
}

/*---------------------------------
	buttonLayout end
---------------------------------*/


