/*---------------------------------
	buttons start
---------------------------------*/
.buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1em 1.5em;
	font-size: 100%;
	margin: 0;
	padding: 0;
}

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

.buttons--vertically{
	flex-direction: column;
	align-items: center;
}

.buttons a{
	text-decoration: none;
}

.buttons input{
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}

.buttons input::-webkit-search-decoration{
	display: none;
}

.buttons input::focus{
	outline-offset: -2px;
}

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

/*---------------------------------
	standardButton start
---------------------------------*/
.standardButton{
	--standardButtonBgColor: var(--mainColor01_hex); /* 背景色 */
	--standardButtonActiveBgColor: #FFF; /* ホバー時背景色 */
	--standardButtonTextColor: #FFF; /* 文字色 */
	--standardButtonActiveTextColor: var(--mainColor01_hex); /* ホバー時文字色 */
	--standardButtonBorderColor: var(--standardButtonBgColor); /* 枠線色 */
	--standardButtonBorderWidth: 2px;
	--standardButtonPaddingX: 1.5em;
	--standardButtonPaddingY: 0.75em;
	display: block;
	max-width: 100%;
	min-width: 13em;
	padding: var(--standardButtonPaddingY) var(--standardButtonPaddingX);
	color: var(--standardButtonTextColor);
	text-align: center;
	font-weight: var(--fontWeightNormal);
	font-size: 110%;
	text-decoration: none;
	background-color: var(--standardButtonBgColor);
	border:  var(--standardButtonBorderWidth) solid var(--standardButtonBorderColor);
	border-radius: 0;
	outline: none !important;
	transition: background-color 0.25s, color 0.25s;
}

.standardButton:hover{
	color: var(--standardButtonActiveTextColor);
	text-decoration: none;
	background-color: var(--standardButtonActiveBgColor);
}

.standardButton,
.standardButton:hover,
.standardButton:active,
.standardButton:focus,
.standardButton:visited{
	outline: none;
	border-radius: 0;
}

.standardButton--small{
	--standardButtonPaddingX: 1em;
	--standardButtonPaddingY: 0.75em;
	font-size: 90%;
}

.standardButton--facebook{
	--standardButtonTextColor: #FFF;
	--standardButtonBgColor: #1877f2;
	--standardButtonActiveTextColor: #1877f2;
	--standardButtonActiveBgColor: #FFF;
	--standardButtonBorderColor: #1877f2;
}

.standardButton--line{
	--standardButtonTextColor: #FFF;
	--standardButtonBgColor: #06c655;
	--standardButtonActiveTextColor: #06c655;
	--standardButtonActiveBgColor: #FFF;
	--standardButtonBorderColor: #06c655;
}

.standardButton--instagram{
	position: relative;
	padding: calc(var(--standardButtonPaddingY) + var(--standardButtonBorderWidth)) calc(var(--standardButtonPaddingX) + var(--standardButtonBorderWidth));
	background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
	color: #FFF;
	border: none;
}

.standardButton--instagram:before{
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(100% - (var(--standardButtonBorderWidth) * 2));
	height: calc(100% - (var(--standardButtonBorderWidth) * 2));
	background-color: #FFF;
	visibility: hidden;
	opacity: 0;
	transition: all 0.25s;
}

.standardButton--instagram:hover:before{
	visibility: visible;
	opacity: 1;
}

.standardButton--instagram:hover span{
	position: relative;
	background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
}

/*---------------------------------
	standardButton end
---------------------------------*/

/*---------------------------------
	sectionTitle start
---------------------------------*/
.sectionTitle{
	display: flex;
	justify-content: flex-start;
	position: relative;
	font-size: 175%;
	margin-bottom: 2em;
	padding: 0;
	text-align: left;
	font-family: var(--fontFamilyMin);
}

.sectionTitleInner{
	display: block;
	padding: 0 4.25em 0 0;
	position: relative;
}

.sectionTitleInner:after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 3.5em;
	height: 0;
	border-top: 1px solid var(--mainTextColor);
	transform: translateY(-50%);
}

.sectionTitle_main{
	display: block;
}

.sectionTitle_sub{
	display: block;
	font-size: 60%;
}

.sectionSubtitle{
	font-size: 112.5%;
	font-weight: var(--fontWeightBold);
	margin: 0 0 0.25rem !important;
}

/*---------------------------------
	sectionTitle end
---------------------------------*/

/*---------------------------------
	underlineSubtitle start
---------------------------------*/

.underlineSubtitle{
	position: relative;
	font-size: 150%;
	margin-bottom: 1em;
	padding: 0 0.25em 0.25em;
	text-align: left;
	border-bottom: 1px solid var(--colorGrayDark);
}

/*---------------------------------
	underlineSubtitle end
---------------------------------*/

/*---------------------------------
	simpleSubtitle start
---------------------------------*/
.simpleSubtitle{
	font-size: 125%;
	margin-bottom: 0.5em;
}

/*---------------------------------
	simpleSubtitle end
---------------------------------*/

/*---------------------------------
	kentFooter start
---------------------------------*/
.kentFooter{
	text-align: center;
	margin: 0;
	padding: 0.1em 1em;
	background: var(--mainColor01_hex);
	color: #FFF;
	font-size: 100%;
}

.kentFooter a,
.kentFooter a:hover{
	color: inherit;
}

/*---------------------------------
	kentFooter end
---------------------------------*/

/*---------------------------------
	texts start
---------------------------------*/
.texts--alignCenter{
	text-align: center;
}

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

.texts--size90{
	font-size: 90%;
}

.texts--size110{
	font-size: 110%;
}

.texts--size125{
	font-size: 125%;
}

.texts--size150{
	font-size: 150%;
}

.texts--size175{
	font-size: 175%;
}

.texts--size200{
	font-size: 200%;
}

.texts--size250{
	font-size: 250%;
}

@media(max-width: 600px){
	.texts--spSize100{
		font-size: 100%;
	}
	
	.texts--spSize110{
		font-size: 110%;
	}

	.texts--spSize125{
		font-size: 125%;
	}

	.texts--spSize150{
		font-size: 150%;
	}

	.texts--spSize175{
		font-size: 175%;
	}

	.texts--spSize200{
		font-size: 200%;
	}
}

.texts--weightBold{
	font-weight: var(--fontWeightBold);
}

.texts--lineHeight100{
	line-height: 100%;
}

.texts--lineHeight200{
	line-height: 200%;
}

.texts--indent1{
	padding-left: 1em;
}

.texts--indent2{
	padding-left: 2em;
}

.texts--name{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.texts a{
	color: var(--mainColor01_hex);
	text-decoration: underline;
}

.texts a:hover{
	color: var(--mainColor01_hex);
	text-decoration: none;
}

.texts > *{
	margin: 0 0 1em;
}

.texts--form > *{
	margin: 0 0 0.5em;
}

.texts--margin0 > *{
	margin: 0;
}

.texts > *:last-child,
.texts--form > *:last-child{
	margin: 0;
}

.texts_text--colorBlack{
	color: var(--mainTextColor);
}

.texts_text--weightBold{
	font-weight: var(--fontWeightBold);
}

.texts_text--size110{
	font-size: 110%;
}

.texts_text--size125{
	font-size: 125%;
}

.texts_text--size150{
	font-size: 150%;
}

.texts_text--size175{
	font-size: 175%;
}

.texts_text--size200{
	font-size: 200%;
}

.texts_text--size225{
	font-size: 225%;
}

.texts_text--size250{
	font-size: 250%;
}

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

/*---------------------------------
	texts end
---------------------------------*/

/*---------------------------------
	catchText start
---------------------------------*/
.catchText{
	margin-bottom: 1.5em;
	color: var(--mainColor01_hex);
	font-size: 150%;
	text-align: center;
}

/*---------------------------------
	catchText end
---------------------------------*/

/*---------------------------------
	noticeBlock start
---------------------------------*/

.noticeBlock{
	background-color: rgba(var(--subColor01_rgb),0.25);
	padding: 2.5em 1.5em;
}

/*---------------------------------
	noticeBlock end
---------------------------------*/

/*---------------------------------
	basicTable start
---------------------------------*/
.basicTable{
	width: 100%;
	table-layout: auto;
}

.basicTable > tbody > tr > th{
	padding: 1em;
	vertical-align: top;
	font-weight: var(--fontWeightNormal);
	background-color: rgba(var(--mainColor01_rgb),0.15);
}

.basicTable > tbody > tr > td{
	padding: 1em;
	vertical-align: top;
	background-color: rgba(var(--subColor01_rgb),0.10);
}

@media(min-width: 601px){
	.basicTable{
		border-collapse: separate;
		border-spacing: 4px;
	}
}

@media(max-width: 600px){
	.basicTable--spCol1 > tbody > tr > th,
	.basicTable--spCol1 > tbody > tr > td{
		display: block;
		width: 100%;
		margin-bottom: 2px;
	}
}

.basicTable--fontsize90{
	font-size: 90%;
}

.basicTable a{
	color: var(--mainColor01_hex);
	text-decoration: underline;
}

.basicTable a:hover{
	color: var(--mainColor01_hex);
	text-decoration: none;
}

/*---------------------------------
	basicTable end
---------------------------------*/

/*---------------------------------
	alignTable start
---------------------------------*/
.alignTable > tbody > tr > th,
.alignTable > tbody > tr > td{
	padding-right: 1em;
	white-space: nowrap; 
}

/*---------------------------------
	alignTable end
---------------------------------*/

/*---------------------------------
	images start
---------------------------------*/
.images{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}

@media(min-width: 601px){
	.images--col2 .images_item{
		width: calc(100% / 2 - 1em);
	}
	
	.images--col2 .images_item:not(:nth-of-type(2n)){
		margin-right: 2em;
	}
}

@media(max-width: 600px){
	.images_item{
		width: 100%;
		margin-bottom: 1.5em;
	}
}

.images_imageWrapper{
	position: relative;
	width: 100%;
	padding-top: calc(100% / 4 * 3);
	border-radius: 0;
	overflow: hidden;
}

.images_imageWrapper img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*---------------------------------
	images end
---------------------------------*/

/*---------------------------------
	sideMediaLayout start
---------------------------------*/
.sideMediaLayout{
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.sideMediaLayout_media{
	flex-grow: 0;
	flex-shrink: 0;
	width: 47.5%;
}

.sideMediaLayout_content{
	flex-grow: 0;
	flex-shrink: 0;
	width: 47.5%;
}

.sideMediaLayout--ratio6to4 .sideMediaLayout_media{
	width: 60%;
}

.sideMediaLayout--ratio6to4 .sideMediaLayout_content{
	width: 35%;
}

.sideMediaLayout--ratio4to6 .sideMediaLayout_media{
	width: 40%;
}

.sideMediaLayout--ratio4to6 .sideMediaLayout_content{
	width: 55%;
}

@media(min-width: 1025px){
	.sideMediaLayout--mediaFirst .sideMediaLayout_media{
		order: 0;
	}

	.sideMediaLayout--mediaFirst .sideMediaLayout_content{
		order: 1;
	}

	.sideMediaLayout--contentFirst .sideMediaLayout_media{
		order: 1
	}

	.sideMediaLayout--contentFirst .sideMediaLayout_content{
		order: 0;
	}
}

@media(max-width: 1024px){
	.sideMediaLayout{
		flex-direction: column-reverse;
		align-items: center;
	}

	.sideMediaLayout .sideMediaLayout_media{
		width: 100%;
		max-width: 600px;
		margin: 0;
	}

	.sideMediaLayout .sideMediaLayout_content{
		width: 100%;
		margin-bottom: 3em;
	}
}

/*---------------------------------
	sideMediaLayout end
---------------------------------*/

/*---------------------------------
	imageFrame start
---------------------------------*/
.imageFrame{
	position: relative;
	width: 100%;
	padding-top: calc(100% / 4 * 3);
	overflow: hidden;
}

.imageFrame--ratio4to3{
	padding-top: calc(100% / 4 * 3);
}

.imageFrame--ratio5to3{
	padding-top: calc(100% / 5 * 3);
}

.imageFrame img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*---------------------------------
	imageFrame end
---------------------------------*/

/*---------------------------------
	simpleCol2Layout start
---------------------------------*/
.simpleCol2Layout{
	display: flex;
}

@media(min-width: 1025px){
	.simpleCol2Layout{
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	
	.simpleCol2Layout_item{
		width: calc(100% / 2 - 0.75em);
	}
}

@media(max-width: 1024px){
	.simpleCol2Layout{
		flex-direction: column;
	}
	
	.simpleCol2Layout_item{
		width: 100%;
		margin-bottom: 2em;
	}
}

/*---------------------------------
	simpleCol2Layout end
---------------------------------*/

/*---------------------------------
	contentWrapper start
---------------------------------*/
.contentWrapper--mw1000{
	margin: 0 auto;
	widht: 100%;
	max-width: 1000px;
}

/*---------------------------------
	contentWrapper end
---------------------------------*/