@charset "UTF-8";
/*
Theme Name:ba-template
*/
/*####################################

1. General
┣ Root
┣ Element
┣ Decoration
┣ Css Animation
┣ Plugin Overwrite
┣ default.css Overwrite
┣ Other
2. Site Common Style
┣ Pagination
┣ Form
┣ 404 & Thanks
3. Header
4. Main
5. Footer
6. Common Style
┣ Single
┣ Section 
7.Module
8. Page

####################################*/
/*====================================

1. General

====================================*/
/*
Root
====================================*/
:root {
	/* メインカラー */
	--mainColor: #c01;
	/*====== 背景カラー ======*/
	/* コンテンツ背景カラー */
	--contentsBg: #F4F5F7;
	/* 下層ページトップ背景カラー */
	--lowerTopBg: #D7E1FA;
	/* 表組み項目名背景カラー */
	--tableItemBg: #f5f8fc;
	/* フォーム項目名背景カラー */
	--formItemBg: #F0F5FA;
	/* カテゴリーリンク背景カラー */
	--categoryLinkBg: #D7E1FA;
	/* メール問い合わせボタン背景カラー */
	--mailBtnBg: #022993;
	/*====== テキストカラー ======*/
	/* テキストカラー */
	--textColor: #333;
	/* リンクテキストカラー */
	--linkTextColor: #4256C3;
	/*====== ページネーションカラー ======*/
	/* ページネーションテキスト、矢印カラー */
	--pnColor: #afb6be;
	/* ページネーションhoverテキスト、矢印カラー */
	--pnHoverColor: #fff;
	/* ページネーションCurrentテキスト、矢印カラー */
	--pnCurrentColor: #fff;
	/* ページネーションhover背景カラー */
	--pnHoverBg: #e2616c;
	/* ページネーションCurrent背景カラー */
	--pnCurrentBg: #e2616c;
	/*====== フォント ======*/
	--gothic: "NotoSansJp", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	--mincho: "NotoSerifJp", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/*====== width ======*/
	--maxWidth768: 768px;
	--maxWidth500: 500px;
	--maxWidth375: 375px;
	--maxWidth300: 300px;
	/*====== other ======*/
}
/*
Element
====================================*/
body {
	color: var(--textColor);
}
/*
Decoration
====================================*/
/*
Css Animation
====================================*/
/* fade */
.css_fade {
	opacity: 0;
	animation-name: css_fade;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 1s;
	animation-direction: normal;
	animation-fill-mode: forwards;
}
@keyframes css_fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* text fade */
.css_textSplitFade {
	opacity: 0;
}
.css_textSplitFade > span {
	opacity: 0;
	animation: css_textSplitFade 1s ease-out forwards;
}
@keyframes css_textSplitFade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*
Plugin Overwrite
====================================*/
/*
Slick
---------------------------------------------------------------*/
.top_mv .slick-arrow::before {
	border-color: var(--mainColor);
	display: none;
}
.top_mv .slick-dots {
	display: none!important;
}
.top_mv .slick-dots li.slick-active button {
	background: var(--mainColor);
}
.js-topAmusementMachineSlider .slick-arrow::before {
	display: none;
}
/*
default.css Overwrite
====================================*/
/*
Other
====================================*/
/*====================================

2. Site Common Style

====================================*/
/*
Pagination
====================================*/
/*
List
---------------------------------------------------------------*/
.pn_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 56px;
	border-radius: 100px;
	background: #fff;
	box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
	margin: 75px 0 0;
}
.pn_list .listArrow::before, .pn_list .listArrow::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_list .listPagerBlk {
	display: flex;
	align-items: center;
	gap: 11px;
}
.pn_list .listPagerPrevious::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 2px);
}
.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 35px;
	width: 35px;
	color: var(--pnColor);
	border-radius: 100px;
}
.pn_list .listPagerBlk span.listPagerNum {
	color: var(--pnCurrentColor);
	background: var(--pnCurrentBg);
}
.pn_list .listPagerNext::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 2px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listPagerPrevious:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listPagerBlk a:hover {
		color: var(--pnHoverColor);
		background: var(--pnHoverBg);
		opacity: 1;
	}
	.pn_list .listPagerNext:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listFirstBlk, .pn_list .listLastBlk {
	width: 100px;
	height: 100%;
}
.pn_list .listFirstBlk a, .pn_list .listLastBlk a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover, .pn_list .listLastBlk a:hover {
		background: var(--pnHoverBg);
	}
}
.pn_list .listFirstBlk a {
	border-right: solid 1px #E2E6EB;
}
.pn_list .listFirstBlk a::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: 50%;
}
.pn_list .listFirstBlk a::after {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listFirstBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listLastBlk a {
	border-left: solid 1px #E2E6EB;
}
.pn_list .listLastBlk a::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: 50%;
}
.pn_list .listLastBlk a::after {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listLastBlk a:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
	.pn_list .listLastBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
@media screen and (max-width: 1024px) {
	.pn_list {
		margin: 50px 0 0;
	}
	.pn_list .listArrow::before, .pn_list .listArrow::after {
		top: calc(50% + 2px);
	}
	.pn_list .listPagerBlk {
		gap: 8px;
	}
	.pn_list .listPagerPrevious::before {
		left: calc(50% - 2px);
	}
	.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
		height: 30px;
		width: 30px;
		font-size: 14px;
	}
	.pn_list .listPagerBlk span.listPagerNum {}
	.pn_list .listPagerNext::before {}
	.pn_list .listFirstBlk, .pn_list .listLastBlk {
		width: 40px;
	}
	.pn_list .listFirstBlk a, .pn_list .listLastBlk a {}
	.pn_list .listFirstBlk a {}
	.pn_list .listFirstBlk a::before {
		left: calc(50% + 2px);
	}
	.pn_list .listFirstBlk a::after {
		left: calc(50% - 5px);
	}
	.pn_list .listLastBlk a {}
	.pn_list .listLastBlk a::before {
		right: calc(50% + 2px);
	}
	.pn_list .listLastBlk a::after {
		right: calc(50% - 5px);
	}
}
/*
Detail
---------------------------------------------------------------*/
.pn_detail {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 55px;
	margin: 75px 0 0;
}
.pn_detail > * {
	height: 100%;
}
.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
	width: 100px;
}
.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
	position: relative;
	display: block;
	height: 100%;
}
.pn_detail a {
	border: 1px solid #d0d3da;
	background: #fff;
}
@media screen and (min-width: 1025px) {
	.pn_detail a:hover {
		background: var(--pnHoverBg);
		opacity: 1;
	}
}
.pn_detail .detailpreviousBlk {}
.pn_detail .detailpreviousBlk a {
	border-radius: 50px 0 0 50px;
	border-right: initial;
}
.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailpreviousBlk a::before {
	left: calc(50% - -3px);
}
.pn_detail .detailpreviousBlk a::after {
	left: calc(50% - 4px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailpreviousBlk a:hover::before, .pn_detail .detailpreviousBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailNextBlk {}
.pn_detail .detailNextBlk a {
	border-left: initial;
	border-radius: 0 50px 50px 0;
}
.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailNextBlk a::before {
	right: calc(50% - -3px);
}
.pn_detail .detailNextBlk a::after {
	right: calc(50% - 4px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailNextBlk a:hover::before, .pn_detail .detailNextBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailBackBlk {
	flex: 1;
}
.pn_detail .detailBackBlk a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--mainColor);
	font-size: 14px;
	span {
		position: relative;
		padding-right: 3em;
		@media screen and (max-width: 1024px) {
			html.translated-ltr & {
				margin: 0 1em;
			}

		}
		&::before {
			content:'';
			position: absolute;
			top: 50%;
			right: 0;
			transform: translate(0px, -50%);
			width: 27px;
			height: 5px;
			background-repeat: no-repeat;
			-webkit-mask-image: url(./images/icon_arrow01_red01.svg);
			mask-image: url(
				./images/icon_arrow01_red01.svg);
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			background-color: var(--mainColor);
			transition: .3s;
		}
		@media screen and (min-width: 1025px){
			a:hover &::before {
				background-color: #fff;
			}
		}

	}

}
@media screen and (min-width: 1025px){
	.pn_detail .detailBackBlk a:hover {
		color: #fff;
	}
}
@media screen and (max-width: 1024px) {
	.pn_detail {
		margin: 50px 0 0;
	}
	.pn_detail > * {}
	.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
		width: 55px;
	}
	.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
		width: 100%;
	}
	.pn_detail a {}
	.pn_detail .detailpreviousBlk {}
	.pn_detail .detailpreviousBlk a {}
	.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailpreviousBlk a::before {}
	.pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailNextBlk {}
	.pn_detail .detailNextBlk a {}
	.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {}
	.pn_detail .detailNextBlk a::before {}
	.pn_detail .detailNextBlk a::after {}
	.pn_detail .detailBackBlk {
		flex: 1;
	}
	.pn_detail .detailBackBlk a {
		width: initial;
	}
}
/*
Form
====================================*/
/*
Input
----------------------------------------------------------------*/
.form_input,
.form_input .h-adr{
	display: grid;
	gap: 35px;
	/* border: 1px solid #D7DCE2; */
	/* border-bottom: transparent; */
}
.form_input .inputRow {
	display: flex;
	align-items: center;
	/* border-bottom: 1px solid #D7DCE2; */
}
.form_input .inputRow._yourAffiliation {
	margin-bottom: 2em;
}
.form_input .inputRow._schoolInfo,
.form_input .inputRow._address,
.form_input .inputRow._desiredNumberOfPeople, 
.form_input .inputRow._mt {
	margin-top: 1.5em;
}
.form_input .inputRow._mt2 {
	margin-top: 3em;
}
.form_input .inputRow._address .inputValue,
.form_input .inputRow._schoolInfo .inputValue,
.form_input .inputRow._desiredNumberOfPeople .inputValue,
.form_input .inputRow._mt .inputValue,
.form_input .inputRow._mt2 .inputValue {
	align-items: flex-start;
	flex-flow: column-reverse;
}

.form_input .inputRow._itemTop {
	align-items: flex-start;
}
.form_input .inputItem {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 192px;
	padding: 0 0 0 50px;
	/* background: var(--formItemBg); */
	/* border-right: 1px solid #D7DCE2; */
	line-height: 1.563;
	font-size: 14px;
}
.form_input .inputRow._yourAffiliation .inputItem {}
.form_input .inputItem._textarea {
	margin: 10px 0 0;
}
@media screen and (max-width: 1024px) {
	.form_input .inputItem._textarea {
		margin: 0;
	}
}
.form_input .inputItem ._must {
	position: absolute;
	top: 1px;
	left: 0;
	width: 41px;
	line-height: 20px;
	font-size: 12px;
	text-align: center;
	color: #fff;
	background: var(--mainColor);
}
.form_input .inputRow._yourAffiliation .inputItem ._must {
	top: 2px;
}
.contact_form._contact .form_input .inputItem ._must {
	background: #1466C6;
}
.contact_form._entry .form_input .inputItem ._must {
	background: #53B0FF;
}
.form_input .inputItem ._note {
	position: absolute;
	top: 100%;
	left: 50px;
	padding-right: 20px;
	font-size: 0.75rem;
	color: #525252;
}
.form_input .inputValue {
	position: relative;
	flex: 1;
	display: flex;
	flex-flow: wrap;
	align-items: center;
}
.form_input .inputValueNote {
	position: absolute;
	bottom: 100%;
	left: 0;
	font-size: 12px;
	margin-bottom: 8px;
}
.form_input .wpcf7-form-control-wrap[data-name="your-contact-type"] .wpcf7-not-valid-tip {
	position: relative;
}
.form_input .wpcf7-form-control-wrap {
	width: 100%;
}
/* input[text, tel, email], textarea */
.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
	width: 100%;
	height: 44px;
	border-radius: 5px;
	border: 1px solid #d5d5d5;
	padding: 0px 10px;
	background: #fff;
}
.form_input .inputValue._notMax input {
	max-width: 176px;
}
.form_input textarea {
	height: auto;
	padding: 10px;
}
.form_input input::placeholder, .form_input textarea::placeholder {
	font-size: 14px;
	color: #b4b7bc;
}
/* input[checkbox, radio] */
.form_input input[type="checkbox"],
.form_agree input[type="checkbox"] {
	position: relative;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	background: #fff;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}
.form_input input[type="checkbox"]:checked:before,
.form_agree input[type="checkbox"]:checked:before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: 50%;
	transform: translate(-50%, -50%) rotate(50deg);
	width: 6px;
	height: 10px;
	border-right: 2px solid var(--mainColor3);
	border-bottom: 2px solid var(--mainColor3);
}
.form_input input[type="checkbox"], .form_input input[type="radio"] {
	width: 18px;
	height: 18px;
	cursor: pointer;
}
.form_input .wpcf7-form-control {
	display: flex;
	flex-flow: wrap;
	gap: clamp(0.313rem, 0.17rem + 0.61vw, 0.625rem) 30px;
}
.form_input .inputValue._row .wpcf7-form-control {
	flex-flow: column;
}
.form_input .wpcf7-form-control.wpcf7-radio {
	flex-direction: unset;
}
.form_input .wpcf7-list-item {
	margin: 0;
}
.form_input .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 14px;
}
.form_input .wpcf7-list-item-label {
}
/* input[file] */
.form_input input[type="file"] {
	font-size: 14px;
}
/* validation */
.form_input .wpcf7-not-valid-tip {
	font-size: 0.875rem;
	margin: 5px 0 0;
}
/* other */
.form_other {
	margin-top: 2em;
	text-align: center;

	a {
		font-size: 13px;
		color: #4256c3;
		text-decoration: underline;
	}
}
/* turnstile */
.form_turnstile {
	display: flex;
	justify-content: center;
	margin-top: 35px;
}
/* agree */
.form_agree {
	text-align: center;
	margin: 40px 0 0;
}
.form_agree .wpcf7-list-item {
	margin: 0;
}
.form_agree label {
	display: flex;
	align-items: center;
	gap: 12px;
}
.form_agree .wpcf7-list-item-label {
	font-size: 0.813rem;
}
.form_agree .wpcf7-form-control-wrap {
}
.form_agree a {
	color: #4256c3;
	text-decoration: underline;
}
.form_agree input[type="checkbox"] {
	width: 21px;
	height: 21px;
	cursor: pointer;
}
/* submit */
.form_submit {
	position: relative;
	width: min(350px, 100%);
	text-align: center;
	margin: 45px auto 0;
}
.form_submit input[type="submit"] {
	width: 100%;
	height: 65px;
	border-radius: 8px;
	font-size: 20px;
	color: #fff;
	transition: .3s;
	background: #333;
}
@media screen and (min-width: 1025px) {
	.form_submit input[type="submit"]:hover {
		background :#AD000E;
	}
}
.form_submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.form_input {
		/* border: 1px solid #D7DCE2; */
		gap: 30px!important;
	}
	.form_input .inputRow._yourAffiliation {
		margin-bottom: initial;
	}
	.form_input .inputRow._address {
		gap: 5px;
	}
	.form_input .inputRow {
		flex-flow: column;
		align-items: flex-start;
		gap: 10px;
		border-bottom: transparent;
	}
	.form_input .inputRow:last-child {
		border-bottom: transparent;
	}
	.form_input .inputRow._schoolInfo,
	.form_input .inputRow._address,
	.form_input .inputRow._desiredNumberOfPeople, 
	.form_input .inputRow._mt,
	.form_input .inputRow._mt2 {
		margin-top: initial;
	}
	.form_input .inputItem {
		display: inline-flex;
		justify-content: flex-start;
		width: auto;
		padding: 0px;
		border-right: transparent;
		gap: 0;
	}
	.form_input .inputItem ._must {
		top: 1px;
		right: -52px;
		left: unset;
	}
	.form_input .inputItem ._note {
		position: initial;
		max-width: 157px;
		margin-top: 5px;
		padding: initial;
		left: 0;
	}
	.form_input .inputValue {
		flex: unset;
		width: 100%;
	}
	.form_input .inputValueNote {
		position: initial;
		margin-bottom: 10px;
	}
	.form_input .wpcf7-form-control-wrap {
		width: 100%;
	}
	/* input[text, tel, email], textarea */
	.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
		font-size: 1rem;
	}
	.form_input .inputValue._notMax input,
	.form_input .inputValue._notMax2 {
		max-width: 400px;
	}
	.form_input textarea {}
	.form_input input::placeholder, .form_input textarea::placeholder {}
	/* input[checkbox, radio] */
	.form_input input[type="checkbox"], .form_input input[type="radio"] {}
	.form_input .wpcf7-form-control {}
	.form_input .wpcf7-list-item {}
	.form_input .wpcf7-list-item label {
	}
	.form_input .wpcf7-list-item-label {
		flex: 1;
	}
	/* input[file] */
	.form_input input[type="file"] {}
	/* validation */
	.form_input .wpcf7-not-valid-tip {margin: 7px 0 0;}
	/* agree */
	.form_agree {}
	.form_agree .wpcf7-list-item {}
	.form_agree label {}
	.form_agree .wpcf7-list-item-label {}
	.form_agree input[type="checkbox"] {}
	/* submit */
	.form_submit {
		margin: 30px auto 0;
		width: 100%;
		max-width: var(--maxWidth375);
	}
	.form_submit input[type="submit"] {
		height: 55px;
		font-size: 1.125rem;
		font-weight: 600;
		border-radius: 10px;
		background :#AD000E;
	}
	.form_submit .wpcf7-spinner {}
}
/*
Privacy Policy
----------------------------------------------------------------*/
.form_pp {
	margin: 60px 0 0;
	width: 100%;
	height: 270px;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #cecece;
	padding: 30px 33px;
	overflow: auto;
}
.form_pp dl {}
.form_pp dt {
	font-size: 15px;
}
.form_pp dd {
	font-size: 13px;
	line-height: 22px;
	margin: 20px 0 0;
}
@media screen and (max-width: 1024px) {
	.form_pp {
		margin: 60px 0 0;
		width: 100%;
		height: 250px;
		padding: 30px 15px;
	}
	.form_pp dl {}
	.form_pp dt {
		font-size: 15px;
	}
	.form_pp dd {}
}
/*
Thanks & 404
====================================*/
.thanks_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.thanks_section .inner {}
.thanks_section .blk {}
.thanks_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.thanks_section .head {
	text-align: center;
	font-size: 24px;
}
.thanks_section .mainBlk {
	margin: 35px 0 0;
}
.thanks_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.error_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.error_section .inner {}
.error_section .blk {}
.error_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.error_section .head {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}
.error_section .head span {
	font-size: 22px;
	display: block;
}
.error_section .mainBlk {
	margin: 35px 0 0;
}
.error_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.thanks_section .linkBlk, .error_section .linkBlk {
	text-align: center;
	margin: 45px 0 0;
}
.thanks_section .linkBlk a, .error_section .linkBlk a {
	display: inline-block;
	width: 250px;
	line-height: 40px;
	font-size: 14px;
	border: solid 1px var(--mainColor);
	border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	.thanks_section .linkBlk a:hover, .error_section .linkBlk a:hover {
		opacity: 1;
		background: var(--mainColor);
		color: #fff;
	}
}
@media screen and (max-width: 1024px) {
	.thanks_section {
		padding: 60px 0 90px;
	}
	.thanks_section .inner {}
	.thanks_section .blk {}
	.thanks_section .headBlk {
		padding: 15px 0;
	}
	.thanks_section .head {
		text-align: center;
		font-size: 20px;
	}
	.thanks_section .mainBlk {
		margin: 30px 0 0;
	}
	.thanks_section .mainDesc {
		line-height: 24px;
	}
	.thanks_section .linkBlk {
		margin: 40px 0 0;
	}
	.error_section {
		padding: 40px 0 90px;
	}
	.error_section .inner {}
	.error_section .blk {}
	.error_section .headBlk {}
	.error_section .head {
		font-size: 24px;
	}
	.error_section .head span {
		font-size: 16px;
	}
	.error_section .mainBlk {
		margin: 30px 0 0;
	}
	.error_section .mainDesc {
		line-height: 24px;
	}
	.thanks_main .linkBlk a, .error_section .linkBlk a {}
}
/*====================================

3. Header

====================================*/
.gt_switcher_wrapper {
	top: 5px!important;
	right: 25px!important;
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100%;
	height: clamp(6.875rem, 2.946rem + 6.13vw, 8.313rem); /* 1025px〜1400pxで可変 */
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	background: var(--mainColor);
	.languageBox {
		display: flex;
		align-items: center;
		justify-content: end;
		height: 43px;
		padding-right: 16px;
		background: #ad000e;
		@media screen and (max-width: 1024px) {
			position: absolute;
			top: 0;
			right: 77px;
			height: 100%;
			aspect-ratio: 1/1;
			padding-right: initial;
			.gtranslate_wrapper {
				width: 100%;
				height: 100%;
			}
		}
		.gtranslate_wrapper > a {
			position: relative;
			padding: .3em 1em .3em 1.5em;
			background-image: url(./images/icon_earth01.svg);
			background-repeat: no-repeat;
			background-position: left top 58%;
			background-size: 17px;
			@media screen and (max-width: 1024px) {
				display: block;
				width: 100%;
				height: 100%;
				padding: 0;
				background-position: center!important;
				background-size: 30px;
			}
		}
		@media screen and (min-width: 1025px){
			.gtranslate_wrapper > a::before {
				content: 'LANGUAGE';
				color: #fff!important;
				font-size: 14px;
			}
			.gtranslate_wrapper > a::after {
				content: '';
				position: absolute;
				top: calc(50% + 2px);
				right: 0;
				transform: translate(0%, -50%);
				display: inline-block;
				width: 9px;
				height: 7px;
				background: #fff;
				clip-path: polygon(0 0, 100% 0%, 50% 100%);
			}
		}
		.gtranslate_wrapper > a > * {
			color: #fff!important;
		}
		.gt_white_content {
			/* transform: translate(-50%, -50%); */
			/* width: 250px; */
		}
	}
}
.header .inner {
	height: calc(100% - 43px);
	padding: 0 0 0 50px;
	@media screen and (max-width: 1024px) {
		height: 100%;
	}
}
.header .blk {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 clamp(0.625rem, -6.696rem + 11.43vw, 1.875rem); /* 1025px〜1400pxで可変 */
	height: 100%;
}
.header .logoBlk {
	flex-shrink: 0;
	display: flex;
}
.header .logoBlk a {}
.header .logoBlk a img {
	height: clamp(1.875rem, -2.054rem + 6.13vw, 3.313rem); /* 1025px〜1400pxで可変 */
}
@media screen and (min-width: 1025px) {
	.header .menuBlk {
		display: flex;
		/* flex-shrink: 0; */
		height: 100%;
	}
	.header .menuBlk nav {}
	.header .menuBlk nav > ul {
		display: flex;
		height: 100%;
	}
	.header .menuBlk nav > ul > li {
		position: relative;
		height: 100%;
		padding: 0 clamp(0.625rem, -0.229rem + 1.33vw, 0.938rem); /* 1025px〜1400pxで可変 */
		line-height: calc(21 / 14);
		text-align: center;
	}
	.header .menuBlk nav > ul > li:not(:nth-last-child(-n+2))::before {
		content:'';
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0%, -50%);
		display: inline-block;
		height: 36px;
		width: 1px;
		background: #e2616c;
	}
	.header .menuBlk nav > ul > li a {
		color: #fff;
	}
	.header .menuBlk nav > ul > li > a {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		font-size: clamp(0.813rem, 0.642rem + 0.27vw, 0.875rem); /* 1025px〜1400pxで可変 */
		color: #fff;
		&:hover {
			opacity: 1;
		}
		li:not(._contact) &::before {
			content:'';
			position: absolute;
			left: 0;
			bottom: 0;
			width: 100%;
			height: 4px;
			background: #95020e;
			transition: .3s;
			transform: scale(0, 1);
			transform-origin: center top;
			transition: transform .3s;
		}
		li:not(._contact) &:hover::before {
			transform: scale(1, 1);
		}
	}
	.header .menuBlk nav > ul > li > ul {
		position: absolute;
		top: 80%;
		left: calc(0px - clamp(0.625rem, -0.229rem + 1.33vw, 0.938rem)); /* 1025px〜1400pxで可変 */
		z-index: 1;
		display: flex;
		gap: 15px;
		flex-direction: column;
		min-width: 190px;
		padding: clamp(1.25rem, 0.396rem + 1.33vw, 1.563rem); /* 1025px〜1400pxで可変 */
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
		/* 1025px〜1400pxで可変 */
		background: #AD000E;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		pointer-events: none;
	}
	.header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: 1;
		visibility: visible;
		pointer-events: initial;
	}
	.header .menuBlk nav > ul > li > ul > li {}
	.header .menuBlk nav > ul > li > ul > li > a {
		position: relative;
		white-space: nowrap;
		font-size: 14px;
		&:hover {
			opacity: 1;
		}
		&::before {
			content: '';
			position: absolute;
			bottom: -3px;
			right: 0;
			height: 1px;
			width: 0%;
			background: #fff;
			transition: .5s;
		}
		&:hover::before {
			left: 0;
			right: unset;
			width: 100%;
		}
	}
	.header .menuBlk nav > ul > li > ul > li > a:hover {}
	.header .menuBlk nav > ul > li._contact {
		padding: initial;
		background: #333;
	}
	.header .menuBlk nav > ul > li._contact._tel {}
	.header .menuBlk nav > ul > li._contact._mail {}
	.header .menuBlk nav > ul > li._contact a {
		overflow: hidden;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 95px;
		height: 100%;
		padding: 0 clamp(0.625rem, -2.072rem + 4.21vw, 1.875rem); /* 1025px〜1400pxで可変 */
		font-size: clamp(0.875rem, 0.704rem + 0.27vw, 0.938rem);/* 1025px〜1400pxで可変 */
		&:hover::after {
			animation: 1.5s 0s shine linear infinite;
			background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
			content: '';
			height: 100%;
			left: -100%;
			position: absolute;
			top: 0;
			transform: skewX(-35deg);
			width: 100%;
		}
	}
	@keyframes shine {
		20% {
			left: 100%;
		}
		100% {
			left: 100%;
		}
	}
}
@media screen and (max-width: 1024px) {
	.header {
		height: 58px;
	}
	.header .inner {
		padding: 0 0 0 4%;
		box-shadow: 0 2px 10px rgb(0 0 0 / 5%);
		margin: auto;
	}
	.header .blk {}
	.header .logoBlk {}
	.header .logoBlk a {}
	.header .logoBlk a img {
		height: 33px;
	}
	.header .menuBlk {
		position: absolute;
		top: var(--headerH, 55px);
		left: 0;
		height: calc(100dvh - var(--headerH, 55px));
		z-index: -1;
		width: 100%;
		background: white;
		overflow: auto;
		padding: 0 0 100px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		display: block;
		flex-shrink: unset;
	}
	.header .menuBlk::-webkit-scrollbar {
		display: none;
	}
	.header._menuOpen .menuBlk {
		opacity: 1;
		visibility: visible;
	}
	.header .menuBlk > * {
	}
	.header .menuBlk nav {}
	.header .menuBlk nav > ul {
		display: block;
		height: auto;
	}
	.header .menuBlk nav > ul > li {
		position: relative;
		display: block;
		height: auto;
		border-bottom: 1px solid #d4d9de;
		background: #f2f2f2;
	}
	.header .menuBlk nav > ul > li > span {
		position: absolute;
		top: 0;
		right: 0;
		width: 70px;
		height: 54px;
	}
	.header .menuBlk nav > ul > li a {
		display: inline-block;
	}
	.header .menuBlk nav > ul > li > a {
		display: flex;
		padding: 15px 4%;
		font-size: 15px;
	}
	.header .menuBlk nav > ul > li._parent > a {
		position: relative;
	}
	.header .menuBlk nav > ul > li::before,
	.header .menuBlk nav > ul > li > ul > li::before {
		content: '';
		position: absolute;
		top: 25px;
		right: 4%;
		z-index: 1;
		width: 15px;
		aspect-ratio: 1/0.571;
		background-image: url(./images/icon_arrow02_red01.svg);
		background-repeat: no-repeat;
		background-position: left top 50%;
		background-size: 100%;
		pointer-events: none;
		transform: rotate(-90deg);
	}
	.header .menuBlk nav > ul > li._parent::before {
		transform: rotateX(0deg);
	}
	.header .menuBlk nav > ul > li._parent._childOpen::before {
		transform: rotateX(180deg);
	}
	.header .menuBlk nav > ul > li > ul > li::before {
		opacity: 0;
		visibility: hidden;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li::before {
		opacity: 1;
		visibility: visible;
	}
	.header .menuBlk nav > ul > li > ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		transition: .3s;
		position: unset;
		background: unset;
		box-shadow: unset;
		min-width: unset;
		opacity: unset;
		visibility: unset;
	}
	.header .menuBlk nav > ul > li > ul {
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.header .menuBlk nav > ul > li > ul::-webkit-scrollbar {
		display: none;
	}
	.header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: unset;
		visibility: unset;
	}
	.header .menuBlk nav > ul > li._childOpen > ul {
	}
	.header .menuBlk nav > ul > li > ul > li {
		height: 0;
		transition: .3s;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li {
		position: relative;
		height: 54px;
	}
	.header .menuBlk nav > ul > li > ul > li > a {
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		font-size: 15px;
		padding: 0px 4%;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li > a {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		background: #fff;
	}
	.header .menuBlk nav > ul > li > ul > li:not(:last-child) > a {
		border-bottom: 1px solid #d4d9de;
	}
	.header .mbMenuBlk {
		position: relative;
		width: 77px;
		height: 100%;
		cursor: pointer;
		background: #333;
	}
	.header .mbMenuBlk::before {
		content: 'MENU';
		color: #fff;
		font-size: 10.5px;
		position: absolute;
		top: calc(50% - 14px);
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.header .mbMenuBdrBlk, .mbMenuBdrBlk span {
		display: inline-block;
		box-sizing: border-box;
	}
	.header .mbMenuBdrBlk {
		position: absolute;
		top: calc(50% + 7px);
		left: 50%;
		width: 30px;
		height: auto;
		transform: translate(-50%, -50%);
	}
	.header .mbMenuBdrBlk:focus:not(:focus-visible) {
		outline: none;
	}
	.header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after {
		content: '';
	}
	.header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after, .mbMenuBdrBlk span {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 4px;
		transition: .2s;
	}
	.header .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(0);
	}
	.header .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(0);
	}
	.header .mbMenuBdrBlk span:nth-of-type(1) {
		top: -9px;
		transition-delay: .2s;
	}
	.header .mbMenuBdrBlk span:nth-of-type(2) {
		top: 0px;
		transition-delay: .2s;
	}
	.header .mbMenuBdrBlk span:nth-of-type(3) {
		top: 9px;
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(1);
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(1);
		transition-delay: .2s;
	}
	.header._menuOpen .mbMenuBdrBlk span {
		transform: scaleX(0);
		transition-delay: 0s;
	}
}
/*====================================

4. Main

====================================*/
main {
	margin: var(--headerH, 133px) 0 0;
}
@media screen and (max-width: 1024px) {
	main {
		margin: var(--headerH, 58px) 0 0;
	}
}
/*====================================

5. Footer

====================================*/
.footer {
	overflow: hidden;
	background: var(--mainColor);
	@media screen and (max-width: 1024px) {
		padding-bottom: 50px;
	}
	.inner {}
	.box {}
	.mainBox {
		flex-flow: initial;
		align-items: stretch;
		gap: clamp(3.125rem, -18.839rem + 34.29vw, 6.875rem);
		padding: clamp(2.5rem, 2.216rem + 1.21vw, 3.125rem) 0;


		@media screen and (max-width: 1024px) {
			justify-content: center;
		}
		.mainInfoBox {
			position: relative;
			.mainInfoLogoBox {
				@media screen and (max-width: 1024px) {
					text-align: center;
				}
				a {
					img {}
				}
				p {
					margin-top: 5px;
					color: #fff;
					font-weight: 600;
					font-size: 18px;
					@media screen and (max-width: 1024px) {
						text-align: center;
					}
				}
			}
			.mainInfoTextBox {
				margin-top: 20px;
				p {
					color: #fff;
					font-size: 14px;
				}
			}
			.mainInfoLinkBox {
				position: absolute;
				bottom: 0;
				display: grid;
				gap: 5px;
				a {
					font-size: 14px;
					color: #f2b7bc;
					&:hover {
						color: #ff803c;
					}
				}
				@media screen and (max-width: 1024px) {
					position: initial;
					margin-top: 30px;
					text-align: center;
				}
			}
		}
		.mainMenuBox {
			> ul {
				display: grid;
				grid-template-columns: repeat(4, minmax(140px, max-content));
				gap: 30px 15px;




































				> li {
					> a {
						display: inline-block;
						width: 100%;
						padding-bottom: 6px;
						border-bottom: 1px dashed #fff;
					}
				}
			}
			ul {
				li {
					a {
						color: #fff;
						&:hover {
							color: #ff803c;
						}
					}
					ul {
						display: grid;
						gap: 5px;
						margin-top: 12px;
						li {
							a {
								font-size: 14px;
								color: #f2b7bc;
							}
						}
					}
				}
			}
			;
			width: min(750px, 100%);
		}
	}
	.copyrightBox {
		width: 100vw;
		margin: 0px calc(50% - 50vw) 0;
		padding: clamp(0.625rem, -0.227rem + 3.64vw, 2.5rem)0;
		background: #ad000e;

		p {
			color: #fff;
			font-size: 13px;
		}
	}
}
/*====================================

6. Common Style

====================================*/
/*
6.1 Single
====================================*/
.cmn_bgColor {
	background-color: var(--contentsBg);
}
.cmn_outer {
	padding: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem) 0;
}
.cmn_outer._top {
	padding: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem) 0 0;
}
.cmn_inner {
	max-width: 1200px;
	padding: 0 50px;
	margin: auto;
}
.cmn_inner._small {
	max-width: 750px;
	padding: 0;
}
.cmn_link1 {
	position: relative;
	overflow: hidden;
	z-index: 1;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(279px, 100%);
	height: clamp(3.438rem, 3.381rem + 0.24vw, 3.563rem);
	font-size: clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
	border-radius: 50px;
	color: var(--mainColor);
	border: solid 2px var(--mainColor);
	background: #fff;




	@media screen and (max-width: 1024px) {
		color: #fff;
		opacity:1;
		background: var(--mainColor);
	}
	.arrow {
		position: relative;
		z-index: 1;
		padding-right: 36px;
		&::before {
			content:'';
			position: absolute;
			top: 50%;
			right: 0;
			transform: translate(0px, -50%);
			z-index: 1;
			width: 27px;
			height: 5px;
			background-repeat: no-repeat;
			-webkit-mask-image: url(./images/icon_arrow01_red01.svg);
			mask-image: url(
				./images/icon_arrow01_red01.svg);
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			background-color: var(--mainColor);
			transition: .3s;
		}
		.cmn_link1:hover &::before {
			background-color: #fff;
		}
		@media screen and (max-width: 1024px) {
			&::before {
				background-color: #fff;
			}
		}

	}
	&::before {
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 101%;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
		z-index: -1;
		background: #CC0011;
	}
	&:hover {
		color: #fff;
		opacity:1;
	}
	&:hover::before {
		transform: scale(1, 1);
	}
	&._type2 {
		border: solid 2px #fff;
	}
	&._type3 {
		border: solid 2px #333;
		color: #fff;
		background: #333;
		.arrow {
			position: relative;
			padding-right: 36px;
			&::before {
				background-color: #fff;
			}
			a:hover &::before {
				background-color: #333;
			}
		}
		&::before {
			background: #fff;
		}
		&:hover {
			color: #333;
		}
	}
	&._type4 {
		flex-flow: column;
		width: min(550px, 100%);
		min-height: 100px;
		color: #fff;
		border: initial;
		background: #333;
		font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
		html.translated-ltr & {
			height: auto;
			padding: 15px;
			border-radius: 100px;
		}
		span {
			font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);

			&::before {
				background-color: #fff;
			}
		}
		&::before {
			display: none;
		}
		&:hover {
			background-position: right center;
			background-size: 200% auto;
			-webkit-animation: pulse 2s infinite;
			animation: ripple 1.5s infinite;
			color: #fff;
		}
	}
}
@keyframes ripple {
	0% {box-shadow: 0 0 0 0 #333;}
	70% {box-shadow: 0 0 0 10px rgb(51 51 51 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(51 51 51 / 0%);}
}
/*head*/
.cmn_head1 {
	margin-bottom: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem)!important;
	padding-bottom: initial!important;
	font-size: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem);
	text-align: center;
	line-height: 1;
	font-weight: 900;
	color: var(--mainColor);
	border:none !important;
	&._white, &._white * {
		color: #fff!important;
	}
	span.sub {
		display: block;
		margin-top: clamp(0.625rem, 0.455rem + 0.73vw, 1rem);
		font-size: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
		font-weight: 600;
		color: var(--textColor);
	}
}
.cmn_head2 {
	margin-bottom: clamp(1.563rem, 1.136rem + 1.82vw, 2.5rem);
	padding-bottom: 5px;
	font-size: clamp(1.375rem, 1.006rem + 1.58vw, 2.188rem);
	text-align: center;
	border-bottom: 1px solid var(--mainColor);
	&._type2 {
		margin-bottom: initial !important;
		text-align: left;
		font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
	}
}
/*title*/
.cmn_title1 {
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
}
/*desc*/
.cmn_desc1 {
	line-height: calc(35 / 16);
}
.cmn_pdf {
	display: inline-block;
	padding: .5em 0em .5em 3em;
	text-decoration: underline;
	color: #4256c3;
	background-image: url(./images/icon_pdf01_blue01.svg);
	background-repeat: no-repeat;
	background-position: left top 50%;
	background-size: 2em;
}
@media screen and (max-width: 1024px) {
	.cmn_inner {
		width: 92%;
		max-width: var(--maxWidth768);
		padding: 0;
	}
	.cmn_link1 {
		max-width: var(--maxWidth375);
	}
	/*desc*/
	.cmn_desc1 {
		line-height: 1.6;
	}
}
/*
6.2 Section
====================================*/
/* lower top */
.cmn_top1 {
	overflow: hidden;
	height: clamp(11.25rem, 7.074rem + 17.82vw, 20.438rem);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	#business & {
		background-image: url(./images/business_top_bg01.webp);
	}
	#amusementPrizes & {
		background-image: url(./images/amusementPrizes_top_bg01.webp);
	}
	#productRange & {
		background-image: url(./images/productRange_top_bg01.webp);
		background-position: 0% 80%;
		@media screen and (max-width: 1024px) {background-position: 70% 0%;}
	}
	#solutionSelling & {
		background-image: url(./images/solutionSelling_top_bg01.webp);
	}
	#presidentMessage &,
	#companyProfile & {
		background-image: url(./images/presidentMessage_top_bg01.webp);
	}
	#recruit & {
		background-image: url(./images/recruit_top_bg01.webp);
		background-position: 30% 10%;
	}
	#news & {
		background-image: url(./images/news_top_bg01.webp);
	}
	&._type2 {
		height: clamp(7.5rem, 5.938rem + 6.67vw, 10.938rem);
		background: #f2f2f2;


		.head {
			&::before {
				display: none;
			}
		}
	}
	.inner {
		height: 100%;
	}
	.box {
		height: 100%;
	}
	.headBox {
		height: 100%;
		display: flex;
		align-items: center;
		.head {
			position: relative;
			z-index: 1;
			font-size: clamp(1.75rem, 1.125rem + 2.67vw, 3.125rem);
			line-height: 1;
			font-weight: 700;
			color: var(--mainColor);
			span.sub {
				display: block;
				margin: clamp(0.375rem, 0.261rem + 0.48vw, 0.625rem) 0 0;
				font-weight: 600;
				font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
				color: #000;
			}
			&::before {
				content: '';
				position: absolute;
				top: 50%;
				left: calc(0px - var(--ohw));
				transform: translateY(-50%);
				z-index: -1;
				width: calc(100% + var(--ohw) + clamp(5rem, -1.25rem + 26.67vw, 18.75rem));
				height: clamp(5.625rem, 4.716rem + 3.88vw, 7.625rem);
				background: linear-gradient(to right,#fff 0%, rgba(255, 255, 255, .8) 80%, rgba(255, 255, 255, 0) 100%);
			}
		}
		.cmn_top1._type2 &::before {
			display: none;
		}
	}
}
/* table */
.cmn_table > dl {
	border: 1px solid #d7dce2;
	background: white;
}
.cmn_table > dl > div {
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #d7dce2;
}
.cmn_table > dl > div:last-child {
	border-bottom: transparent;
}
.cmn_table > dl > div > * {
	padding: 25px 56px;
	line-height: calc(30/16);
}
.cmn_table > dl > div > dt {
	width: 225px;
	font-weight: 500;
	background: var(--tableItemBg);
}
.cmn_table > dl > div > dd {
	flex: 1;
}
.cmn_table > dl > div > dd a {
	color: var(--linkTextColor);
}
.cmn_table > dl > div > dd a:not([href^="tel"]):not(.-notTel) {
	text-decoration: underline;
}
.cmn_table > dl > div > dd a[href^="tel"] {
	color: inherit;
}
.cmn_table._spec {

	dl {
		> div {
			> * {
				padding: 25px 28px;
			}
			dt {
				width: 174px;
				font-weight: 500;
			}
			dd {}
		}
	}
}
@media screen and (max-width: 1024px) {
	/* table */
	.cmn_table > dl {
		border: 1px solid #d7dce2;
		background: white;
	}
	.cmn_table > dl > div {
		display: flex;
		flex-flow: wrap;
		border-bottom: 1px solid #d7dce2;
	}
	.cmn_table > dl > div:last-child {
		border-bottom: transparent;
	}
	.cmn_table > dl > div > * {
		padding: 20px 15px!important;
	}
	.cmn_table > dl > div > dt {
		width: 100%!important;
		padding: 15px 15px!important;
		border-right: transparent;
	}
	.cmn_table > dl > div > dd {
		flex: unset;
		width: 100%;
	}
	.cmn_table > dl > div > dd a {}
	.cmn_table > dl > div > dd a[href^="tel"] {}
}
/* inPageLink */
.cmn_inPageLink {
	.inner {}
	.box {}
	ul {
		justify-content: center;
		gap: clamp(0.313rem, -2.616rem + 4.57vw, 0.813rem);
		padding: 0 25px;
		@media screen and (max-width: 1024px) {
			justify-content: space-between;
			max-width: var(--maxWidth500);
			margin: auto;
			padding: initial;
		}
		li {
			flex: 1;
			max-width: calc((100% - (clamp(0.313rem, -2.616rem + 4.57vw, 0.813rem) * 4)) / 5);
			@media screen and (max-width: 1024px) {

				flex: initial;
				max-width: initial;
				width: calc((100% - (6px * 1)) / 2);

			}
			a {
				display: block;
				padding: 8px 5px;
				text-align: center;
				border-radius: 50px;
				font-size: clamp(0.813rem, 0.08rem + 1.14vw, 0.938rem);
				color: var(--mainColor);
				border: 1px solid  var(--mainColor);
				background: #fff;

				&._current,
				li.current-cat & {
					color: #fff;
					background:  var(--mainColor);
				}
				@media screen and (min-width: 1025px){
					&:hover {
						opacity: 1;
						color: #fff;
						background:  var(--mainColor);
					}
				}
			}
		}
	}
}
.cmn_lead {
	.inner {}
	.box {}
	h2, h3, h4 {
		font-size: clamp(1.125rem, 0.784rem + 1.45vw, 1.875rem);
		font-weight: 600;
		line-height: calc(44 / 30);
	}
	p {
		margin-top: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
		line-height: calc(35px / 16px);

		@media screen and (max-width: 1024px) {
			line-height: 1.6;
		}
	}
}
.cmn_faq {
	dl {
		display: grid;
		gap: 20px;
		> div {
			padding: 25px clamp(0.938rem, -0.057rem + 4.24vw, 3.125rem);
			border-radius: 10px;
			border: 1px solid #ea8d95;
			> * {
				span {
					width: clamp(2.188rem, 1.648rem + 2.3vw, 3.375rem);
					font-size: clamp(1.875rem, 1.506rem + 1.58vw, 2.688rem);
					line-height: 1;
					font-weight: 900;
				}
				p {
					padding-top: clamp(0.5rem, 0.443rem + 0.24vw, 0.625rem);
				}
			}
			dt {
				padding-bottom: clamp(1.25rem, 1.108rem + 0.61vw, 1.563rem);
				border-bottom: 2px dotted #ea8d95;

				span {
					color: #00be99;
				}
				p {
					font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
				}
			}
			dd {
				padding-top: clamp(1.25rem, 1.108rem + 0.61vw, 1.563rem);

				span {
					padding-left: 3px;
					color: var(--mainColor);
				}
				p {}
				a {
					color: var(--linkTextColor);
				}
			}
		}
	}
}
.cmn_step {
	display: grid;
	gap: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);

	> div {
		align-items: stretch;
		box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
		div:first-child {
			display: flex;
			flex-flow: column;
			align-items: center;
			justify-content: center;
			gap: 5px;
			width: min(clamp(4.375rem, 2.841rem + 6.55vw, 7.75rem), 100%);
			aspect-ratio:1/1;
			color: #fff;
			line-height: 1;
			font-weight: 600;
			background: var(--mainColor);
			span {
				font-family: Helvetica;
				font-size: clamp(2.188rem, 1.761rem + 1.82vw, 3.125rem);
			}
		}
		div:last-child {
			display: flex;
			flex-flow: column;
			justify-content:center;
			gap: 10px;
			padding: clamp(1.25rem, 1.108rem + 0.61vw, 1.563rem) clamp(0.938rem, 0.227rem + 3.03vw, 2.5rem);
			background: #fff;


			@media screen and (max-width: 1024px) {
				padding-top: 20px;
				padding-bottom: 20px;
			}
			h3, h4 {
				font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
			}
			p {}
		}
	}
}
/*====================================

7. Module

====================================*/
/*modal*/
.mod_modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100dvh;
	padding: 0 50px;
	background-color: rgb(51, 51, 51, 65%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
@media screen and (max-width: 1024px) {
	.mod_modal {
		padding: initial;
	}
}
.mod_modal._open {
	transition: all .5s;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.mod_modal .inner {
	position: relative;
	min-width: 50%;
	max-height: 90%;
	padding: 60px clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
	border-radius: 10px;
	background: #fff;
}
@media screen and (max-width: 1024px) {
	.mod_modal .inner {
		max-width: initial;
	}
}
.mod_modal .blk {
	position: relative;
}
.mod_modal .closeBtn {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #000;
	background: #fff;
	pointer-events: auto;
	cursor: pointer;
	transition: all .3s;
}
.mod_modal .closeBtn::before, .mod_modal .closeBtn::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	background: #000;
	border-radius: 4px;
	transition: all .3s;
}
.mod_modal .closeBtn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.mod_modal .closeBtn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 1025px) {
	.mod_modal .closeBtn:hover {
		background: #000;
		opacity: 1;
	}
	.mod_modal .closeBtn:hover::before, .mod_modal .closeBtn:hover::after {
		background: #fff;
	}
}
.mod_modal .mainBlk {
	display: none;
	max-height: calc((100dvh - 10dvh) - 120px);
	padding: 0 clamp(0rem, -0.568rem + 2.42vw, 1.25rem);
	overflow: auto;
}
.mod_modal .mainBlk._active {
	display: block;
}
/* float link */
.mod_floatLinkSp {
	display: none;
}
@media screen and (max-width: 1024px) {
	.mod_floatLinkSp {
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 99999;
		display: flex;
		width: 100%;
		height: 50px;
		a {
			display: grid;
			place-items: center;
			height: 100%;
			font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
			color: #fff;

			&._tel {
				background: #3176C7
			}
			&._mail {
				background: #333;
			}
			span {
				display: inline-block;
				background-repeat: no-repeat;
				background-position: left top 50%;
			}
			&._tel span {
				padding-left: 23px;
				background-image: url(./images/icon_tel01_white01.svg);
				background-size: 18px;
			}
			&._mail span {
				padding-left: 26px;
				background-image: url(./images/icon_mail01_white01.svg);
				background-size: 20px;
			}
		}
	}
}
/* contact */
.mod_contact {
	padding: 40px 0;
	background: #F2F2F2;
	.inner {}
	.box {
		padding: clamp(2.5rem, 2.216rem + 1.21vw, 3.125rem) 15px;
		background: #FFFFFF;
	}
	.headBlk {
		.head {
			span {}
		}
	}
	.mainBox {
		.title {
			font-size: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
			font-weight: 600;
		}
		.desc {
			margin-top: 15px;
			@media screen and (max-width: 1024px) {
				text-align: justify;
			}
		}
	}
	.linkBox {
		margin-top: 30px;
		a {
			height: clamp(3.75rem, 3.466rem + 1.21vw, 4.375rem);
			font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
		}
	}
}
/* page top */
.mod_pageTop {
	position: fixed;
	right: 50px;
	bottom: -90px;
	z-index: 1;
	transition: .3s;
	&._active {
		bottom: 110px;
	}
	a {
		display: inline-grid;
		place-items: center;
		width: clamp(3.438rem, 3.125rem + 1.33vw, 4.125rem);
		aspect-ratio: 1/1;
		padding-top: 18px;
		font-size: clamp(0.75rem, 0.693rem + 0.24vw, 0.875rem);
		border-radius: 50%;
		color: #fff;
		border: solid 1px #fff;
		filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
		background: var(--mainColor);

		&::before {
			content:'';
			transform: translate(-1px, -3px) rotate(270deg);
			display: inline-block;
			width: 28px;
			aspect-ratio: 1 / 0.214;
			background-repeat: no-repeat;
			-webkit-mask-image: url(./images/icon_arrow01_red01.svg);
			mask-image: url(./images/icon_arrow01_red01.svg);
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			background-color: #fff;
		}
	}
}
@media screen and (max-width: 1024px) {
	.mod_pageTop {
		position: fixed;
		right: 4%;
		bottom: -90px;
		transition: .3s;
		&._active {
		}
		a {
		}
	}
}
/*====================================

8. Page

====================================*/
/*
Top
====================================*/
/*common start*/
.top_cmn_head {
	font-size: 50px;
	line-height: 1;
	text-align: center;

	span {
		display: block;
		margin: 15px 0 0;
		font-size: 14px;
		font-weight: 500;
	}
}
/*common end*/
@keyframes infinitySlide {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0%);
	}
}
@keyframes rotation {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
@keyframes rotation2 {
	from {
		transform: rotate(360deg);
	}
	to {
		transform: rotate(0);
	}
}
.top_mv {
	height: calc(100vh - var(--headerH));
	padding-left: 50px;
	.inner {
		height: 100%;
	}
	.box {
		position: relative;
		height: 100%;
		gap: 42px;
	}
	.animeBox {
		overflow: hidden;
		display: flex;
		flex-flow: column;
		width: 237px;
		height: 100%;

		ul {
			display: flex;
			flex-flow: column;
			animation: infinitySlide 40s infinite linear 0.5s both;
			li {
				height: 137px;
				&:not(:nth-child(odd)) {
					text-align: right;
				}
				img {
				}

				&:nth-child(3n+2) img {
					animation: rotation 7.5s linear infinite;
				}
				&:nth-child(1) img,
				&:nth-child(6) img {
					animation: rotation2 10s linear infinite;
				}
				&:nth-child(8) img {
					animation: rotation 7.5s linear infinite!important;
				}
			}
		}
	}
	.rightBox {
		position: relative;
		height: 100%;
		.catchBox {
			position:relative;
			z-index: 1;
			display: flex;
			align-items: center;
			height: 100%;
		}
		.slideBox {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			img {
				border-radius: 500px 0 0 500px;
			}
		}
	}
}
.bg {
	padding: 0 clamp(2.5rem, -7.987rem + 16.39vw, 7.375rem); /* 1025px〜1500pxで可変 */
	@media screen and (max-width: 1024px) {
		padding: 0;
	}
}
.bg .bg-wrap {
	position: relative;
	display: inline-block;
	margin-top: 5px;
}
.bg .bg-wrap::before {
	animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) 2.5s forwards;
	background: rgb(204 0 17 / 60%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform-origin: left center;
	opacity: 0;
}
.bg .bg-wrap .inn {
	animation: css_fade .5s 2.5s forwards;
	position: relative;
	color: #fff;
	display: inline-block;
	font-size: clamp(1.563rem, 1.063rem + 2.13vw, 3.063rem);  /* 1025px〜1500pxで可変 */
	padding: 0 clamp(0.375rem, 0.205rem + 0.73vw, 0.75rem);
	line-height: calc(60 / 49);
	font-weight: 600;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.7);
	opacity: 0;
}
@keyframes bg {
	0% {
		opacity: 0;
		transform: scaleX(0) translateX(-5%);
	}
	30% {
		transform: scaleX(1) translateX(0);
	}
	100% {
		transform: scaleX(1) translateX(0);
	}
	30%, 100% {
		opacity: 1;
	}
}
@media screen and (max-width: 1024px) {
	.top_mv {
		height: auto;
		aspect-ratio: 1/1;
		padding: initial;
		.inner {}
		.box {
			gap: initial;
		}
		.animeBox {
			gap: clamp(1.063rem, 0.232rem + 3.54vw, 2.5rem);  /* 375px〜1024pxで可変 */
			width: auto;
			padding: clamp(0.688rem, 0.182rem + 2.16vw, 1.563rem); /* 375px〜1024pxで可変 */
			ul {
				gap: clamp(1.063rem, 0.232rem + 3.54vw, 2.5rem); /* 375px〜1024pxで可変 */
				li {
					height: clamp(3.125rem, -0.017rem + 13.41vw, 8.563rem); /* 375px〜1024pxで可変 */
				}
				img {
					width: clamp(3.125rem, -0.017rem + 13.41vw, 8.563rem); /* 375px〜1024pxで可変 */
				}		
			}
		}
		.rightBox {
			flex: 1;
			.catchBox {
				p {
					padding: 0;
					span {}
				}
			}
			.slideBox {
				img {
					border-radius: initial;
					&#slick-slide00 {
						object-position: 38% center;
					}
					&#slick-slide01 {
						object-position: 58% center;
					}
					&#slick-slide02 {
						object-position: 43% center;
					}
				}
			}
		}
	}
}
.top_news {
	.inner {
		@media screen and (max-width: 1024px) {
			&.fade {
				opacity: 1!important;
				transform: translate(0, 0)!important;
			}
		}

	}
	.box {}
	.headBox {
		.head {
			span {}
		}
	}
	.mainBox {
		.mainCategoryBox {
			ul {
				justify-content: center;
				gap: 13px;
				@media screen and (max-width: 1024px) {
					gap: 10px;
				}
				li {
					width: min(172px, 100%);
					padding: 9px;
					border-radius: 50px;
					font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
					color: var(--mainColor);
					border: 1px solid var(--mainColor);
					text-align: center;
					cursor: pointer;
					transition: .3s;
					&._active {
						color: #fff;
						background: var(--mainColor);
					}
					@media screen and (min-width: 1025px){
						&:hover {
							color: #fff;
							background: var(--mainColor);
						}
					}
					@media screen and (max-width: 1024px) {
						width: calc((100% - (10px * 2)) / 3);
						padding: clamp(0.188rem, 0.017rem + 0.73vw, 0.563rem);
					}
				}
			}
		}
		.mainArticleBox {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
			gap: clamp(1rem, 0.886rem + 0.48vw, 1.25rem) clamp(0.688rem, 0.432rem + 1.09vw, 1.25rem);
			margin-top: clamp(1.563rem, 1.42rem + 0.61vw, 1.875rem);
			@media screen and (max-width: 1024px) {
				grid-template-columns: repeat(2, 1fr);
			}
			article {
				flex: 1;
				a {
					.mainArticleImgBox {
						width: 100%;
						img {
							width: 100%;
							aspect-ratio: 261/161;
						}
					}
					.category {
						display: inline-block;
						min-width: 108px;
						padding: 4px 5px;
						text-align: center;
						color: #fff;
						font-size: 12px;
						background: var(--mainColor);
						@media screen and (max-width: 1024px) {
							min-width: initial;
							padding: 1px 8px;
						}
					}
					.mainArticleDateBox {
						justify-content: flex-start;
						gap: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
						margin-top: clamp(0.5rem, 0.358rem + 0.61vw, 0.813rem);



						.date {
							color: #3f50af;
						}
						.new {
							color: var(--mainColor);
						}
						& > * {
							font-size: 13px;
						}
					}
					.title {
						margin-top: clamp(0.313rem, 0.227rem + 0.36vw, 0.5rem);
						font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
						line-height: calc(25 / 15);
						font-weight: 600;
					}
				}
			}
		}
	}
	.linkBox {
		margin-top: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem);
		text-align: center;

		a {}
	}
}
.top_cmnSection1 {
	.inner {}
	.box {
		padding: 45px 15px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
	&._business {
		.box {
			background-image: url(./images/top_business_bg01.webp);
		}
	}
	&._solutionSelling {
		.box {
			background-image: url(./images/top_solutionSelling_bg01.webp);
			background-position: 65% center;
		}
	}
	&._presidentMessage {
		.box {
			background-image: url(./images/top_presidentMessage_bg01.webp);
		}
	}
	&._companyProfile {
		.box {
			background-image: url(./images/top_companyProfile_bg01.webp);
		}
	}
	.headBox {
		.head {
			text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.7);
			span.sub {
				color: #fff;
			}
		}
	}
	.mainBox {
		.title {
			font-size: clamp(1.125rem, 0.784rem + 1.45vw, 1.875rem);
			line-height: calc(44 / 30);
			color: #fff;
			text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.7);
			@media screen and (max-width: 1024px) {
				text-align: center;
			}
		}
		.desc {
			margin-top: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem);
			text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.7);
			color: #fff;
			@media screen and (max-width: 1024px) {
				text-align: justify;
			}
		}
	}
	.linkBox {
		margin-top: 40px;
		text-align: center;
		a {}
	}
	&._presidentMessage,
	&._companyProfile {
		.box {
			padding: 45px 0 25px;
		}
		.headBox {
			.head {
				font-size: clamp(1.5rem, 1.045rem + 1.94vw, 2.5rem);
			}
		}
		.linkBox {
			margin-top: 120px;
			a {

			}
		}
	}
}
.top_amusementMachine {
	overflow: hidden;
	margin-top: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
	background: #f2f2f2;

	.inner {}
	.box {
		padding: clamp(3.125rem, 2.841rem + 1.21vw, 3.75rem) 0;
	}
	.headBox {
		.head {}
	}
	.mainBox {
		.lead {
			text-align: center;
		}
		.mainSliderBox {
			display: flex;
			width: 100vw;
			margin: 30px calc(50% - 50vw) 0;
			overflow: hidden;
			ul{
				display: flex;
				animation: infinitySlide2 80s infinite linear 0.5s both;
				li {
					width: calc(100vw / 5);
					margin-right: 6px;
					aspect-ratio: 1/1.231;
					margin: 0 8px;
					background: #fff;
					img {
						width: 100%;
						height: 100%;
						padding: clamp(0.625rem, 0.341rem + 1.21vw, 1.25rem);
						object-fit: contain;
					}
					@media screen and (max-width: 1024px) {
						width: calc(100vw / 2.5);
					}
				}
			}
		}
	}
	.linkBox {
		margin-top: 40px;

		a {

		}
	}
}
@keyframes infinitySlide2 {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
.top_sectionWrap {
	&._flex > * {
		gap: calc(66px - clamp(1.938rem, 1.881rem + 0.24vw, 2.063rem));
	}
}
.top_cmnSection2 {
	.inner {}
	.box {}
	.headBox {
		.headImgBox {
			img {}
		}
		.head {
			margin-top: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
			font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
			text-align: center;
		}
	}
	.mainBox {
		margin-top: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);

		.title {}
		.desc {}
	}
	.linkBox {
		margin-top: 25px;
		text-align: center;
		a {}
	}
}
.top_recruit {
	.inner {}
	.box {
		align-items: stretch;
	}
	.imgBox {
		img {
			width: 100%;
			height: 100%;
		}
	}
	.textBox {
		padding: clamp(1.875rem, 1.165rem + 3.03vw, 3.438rem) 0 30px;
		background: var(--mainColor);
		.headBox {
			.head {}
		}
		.mainBox {
			.title {}
			.desc {
				font-size: clamp(1rem, 0.858rem + 0.61vw, 1.313rem);
				font-weight: 600;
				color: #fff;
				line-height: calc(30 / 21);
			}
		}
		.linkBox {
			margin-top: 30px;
			a {
				&::before {
					background: #95020E;
				}
			}
		}
	}
}
/*
事業内容
====================================*/
.business_cmnSection {
	.inner {}
	.box {}
	.headBox {
		.head {}
	}
	.mainBox {
		align-items: stretch;
		gap: clamp(1.25rem, 0.256rem + 4.24vw, 3.438rem);



		.mainImgBox {
			img {
				@media screen and (max-width: 1024px) {
					display: table;
					width: min(var(--maxWidth500), 100%);
					margin: auto;

				}
			}
		}
		.mainRightBox {
			display: flex;
			flex-flow: column;
			justify-content: space-between;
			padding-top: 40px;
			@media screen and (max-width: 1024px) {
				padding: initial;
			}
			.mainTextBox {
				.mainHead {}
				p {}
				.mainTextLinkBox {
					margin-top: 25px;
					a {
						color: #4256c3;
						text-decoration: underline;
						@media screen and (max-width: 1024px) {
							line-height: 2;
						}
					}
				}
			}
			.mainLinkBox {
				@media screen and (max-width: 1024px) {
					margin-top: 30px;
					text-align: center;
				}
				a {}
			}
		}
	}
	.linkBox {
		a {}
	}
}
/*
アミューズメントマシン
====================================*/
.amusementMachine_list,
.amusementMachine_detail {
	margin: 20px 0 clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
	background: #f2f2f2;
}
.amusementMachine_list {
	padding-top: clamp(3.125rem, 2.841rem + 1.21vw, 3.75rem);
	.inner {}
	.box {}
	.categoryBox {
		.ul {
			li {
				a {}
			}
		}
	}
	.mainBox {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(clamp(12.5rem, 9.659rem + 12.12vw, 18.75rem), 1fr));
		gap: clamp(0.625rem, 0.199rem + 1.82vw, 1.563rem);
		margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
		> div {
			padding: 25px clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
			background: #fff;
			.mainCategory {
				display: inline-block;
				padding: 6px 10px;
				font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
				color: #fff;
				background: var(--mainColor);
			}
			.mainTitle {
				margin-top: 15px;
				font-weight: 600;
				font-size: clamp(1.25rem, 1.165rem + 0.36vw, 1.438rem);
				line-height: calc(30 / 23);
				min-height: calc(2 * (1em * (30 / 23)));
				@media screen and (max-width: 1024px) {
					min-height: initial;
				}
			}
			.mainImgBox {
				height: 330px;
				margin-top: 25px;
				@media screen and (max-width: 1024px) {
					height: auto;
					text-align: center;
				}
				img {
					width: 100%;
					height: 100%;
					object-fit: contain;
					@media screen and (max-width: 1024px) {
						width: 70%;
					}
				}
			}
			.mainLinkBox {
				margin-top: 25px;
				@media screen and (max-width: 1024px) {
					text-align: center;
				}
				a {
					&:hover {}
					width: 100%;
					height: 52px;
				}
			}
		}
	}
	.linkBox {
		a {}
	}
}
.amusementMachine_detail {
	.inner {}
	.box {}
	.mainBox {
		gap: 0 50px;
		padding: clamp(1.875rem, 0.455rem + 6.06vw, 5rem)clamp(0.938rem, -0.341rem + 5.45vw, 3.75rem);
		background: #fff;
		@media screen and (max-width: 1024px) {
			gap: 0;
		}
		.leftBox {
			.mainImgBox {
				width: 100%;
				aspect-ratio: 1/1;
				padding: 30px;
				border: 1px solid #d4d9de;
				img {
					object-fit: contain;
					width: 100%;
					height: 100%;
				}
			}
			.mainImgSupplement {
				margin-top: 10px;
			}
			.mainLogoImgBox {
				margin-top: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem);
				text-align: center;

				img {
					max-height: 150px;
				}
			}
		}
		.rightBox {
			@media screen and (max-width: 1024px) {
				margin-top: 30px;
			}
			.mainCategory {
				display: inline-block;
				font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
				padding: 6px 10px;
				color: #fff;
				background: var(--mainColor);
			}
			.mainHead {
				margin-top: clamp(0.625rem, 0.199rem + 1.82vw, 1.563rem);
				font-size: clamp(1.25rem, 1.051rem + 0.85vw, 1.688rem);
			}
			.mainDescription {
				margin-top: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
				line-height: calc(30 / 16);
			}
			.mainCatalog {
				margin-top: 35px;
				a {}
			}
			.mainPriceWrap {
				text-align: right;
			}
			.mainPriceBox {
				display: inline-grid;
				gap: 10px;
				margin-top: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem);
				> * {
					padding-bottom: 10px;
					border-bottom: 1px solid #d4d9de;
				}
				.mainPrice {
					font-weight: 600;
					font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
					line-height: 1.3;
					@media screen and (max-width: 1024px) {
						display: table;
						text-align: right;
						font-weight: 500;
					}
					span:not(._tax) {
						font-family: Helvetica;
						margin: 0 7px 0 12px;
						font-size: clamp(2.188rem, 1.903rem + 1.21vw, 2.813rem);
						@media screen and (max-width: 1024px) {
							font-weight: 600;
						}
					}
					span._tax {
						font-weight: 400;
						@media screen and (max-width: 1024px) {
						}
					}
				}
				.otherPrice {
					line-height: 1.3;
					@media screen and (max-width: 1024px) {
						display: table;
						text-align: right;
					}
					span._title {
						display: inline-block;
						width: 100px;
						padding-right: 10px;
					}
					span:not(._title, ._tax) {
						font-family: Helvetica;
						margin: 0 7px 0 0;
						font-size: clamp(1.375rem, 1.148rem + 0.97vw, 1.875rem);
					}
					span._tax {
						display: inline-block;
					}
				}
			}
			.mainSupplement {
				margin-top: 20px;
				@media screen and (max-width: 1024px) {
					text-align: right;
				}
			}
		}
		.mainLinkBox {
			width: 100%;
			margin-top: clamp(2.188rem, 2.045rem + 0.61vw, 2.5rem);
			text-align: center;
			a {}
		}
		.mainSpecBox {
			width: 100%;
			margin-top: clamp(2.5rem, 1.932rem + 2.42vw, 3.75rem);

			.mainSpecHead {}
			.mainSpecTableBox {
				margin-top: 25px;
				dl {
					> div {
						> * {}
						dt {}
						dd {}
					}
				}
			}
		}
	}
	.linkBox {
		margin-top: 40px;
		a {
			width: min(400px, 100%);
		}
	}
}
@keyframes ripple {
	0% {box-shadow: 0 0 0 0 #333;}
	70% {box-shadow: 0 0 0 10px rgb(51 51 51 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(51 51 51 / 0%);}
}
/*
プライズ品
====================================*/
.amusementPrizes_prizeSupport {
	.inner {}
	.box {}
	.headBox {
		.head {}
	}
	.leadBox {
		*:first-child {
			@media screen and (max-width: 1024px) {
				text-align: left;
			}
		}
		p {
			@media screen and (max-width: 1024px) {
				text-align: left;
			}
		}
	}
	.mainBox {
		display: grid;
		gap: 25px;
		margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);

		> div {
			padding: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem) clamp(0.938rem, 0.369rem + 2.42vw, 2.188rem);
			padding-bottom: 15px;
			border-radius: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
			background: #e2616c;
			.mainHead {
				display: flex;
				flex-flow: column;
				align-items: center;
				gap: 5px;
				font-size: clamp(1.125rem, 0.784rem + 1.45vw, 1.875rem);
				color: #fff;
				span {
					width: min(428px, 100%);
					padding: 2px 0;
					text-align: center;
					font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
					background: linear-gradient(to right, rgba(173, 0, 14, 0) 0%, #ad000e 31.03%, #ad000e 70.94%, rgba(173, 0, 14, 0) 100%);
				}	
			}
			.mainDescBox {
				margin-top: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
				padding: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem) clamp(0.938rem, 0.511rem + 1.82vw, 1.875rem);
				background: #fff;
				p {
					font-weight: 600;
					font-size: clamp(1rem, 0.858rem + 0.61vw, 1.313rem);
					@media screen and (max-width: 1024px) {
						text-align: left;
					}
				}
				ul {
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					gap: 10px;
					margin-top: 20px;
					@media screen and (max-width: 1024px) {
						grid-template-columns: repeat(1, 1fr);
					}
					li {
						font-size: clamp(0.875rem, 0.79rem + 0.36vw, 1.063rem);
						@media screen and (max-width: 1024px) {
							text-indent: -1em;
							margin-left: 1em;
						}
						&:first-letter {
							color: var(--mainColor);
						}
					}
				}
			}
		}
	}
}
.amusementPrizes_transactionFlow {
	background: #f2f2f2;
	.inner {}
	.box {}
	.headBox {
		.head {}
	}
	.mainBox {
		> div {
			.mainNumBox {
				span {}
			}
			.mainTextBox {
				.mainHead {}
				p {}
			}
		}
	}
	.linkBox {
		margin-top: 40px;
		a {}
	}
}
.amusementPrizes_faq {
	.inner {}
	.box {}
	.headBox {
		.head {}
	}
	.mainBox {}
}
/*
取り扱い商品
====================================*/
.productRange_cmnSection {
	.headBox {
		.head {}
	}
	.mainBox {
		gap: clamp(1.563rem, 0.71rem + 3.64vw, 3.438rem);
		.mainImgBox {
			@media screen and (max-width: 1024px) {
				text-align: center;
			}
			img {
				@media screen and (max-width: 1024px) {
					width: min(var(--maxWidth500), 100%);
				}
			}
		}
		.mainTextBox {
			.mainLogoBox {
				img {
					.productRange_cmnSection._bigCrappy & {
						width: 71%;
					}
					@media screen and (max-width: 1024px) {
						width: min(var(--maxWidth375), 100%)!important;
					}
				}
			}
			.mainDescBox {
				margin-top: 20px;
				h3, h4 {
					font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
				}
				p {
					margin-top: calc(10px - clamp(0rem, -0.142rem + 0.61vw, 0.313rem));
				}
			}
			.mainCatalogBox {
				margin-top: clamp(1.563rem, 1.136rem + 1.82vw, 2.5rem);
				a {}
			}
		}
	}
	.specBox {
		margin-top: clamp(2.188rem, 1.761rem + 1.82vw, 3.125rem);

		.specHead {
			border-bottom: initial;
		}
		.specTableBox {
			margin-top: 10px;
		}
	}
	.esBox {
		margin-top: 50px;
		.esHead {
			padding: initial;
			text-align: center;
			border-bottom: initial;
		}
		dl {
			gap: 25px;
			margin-top: 20px;
			@media screen and (max-width: 1024px) {
				width: min(var(--maxWidth500), 100%);
				margin-inline: auto;
			}
			> div {
				padding: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem) 0;
				box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);

				dt {
					padding: initial;
					text-align: center;
					border-bottom: initial;
				}
				dd {
					> *:nth-child(1) {
						margin-top: 8px;
						line-height: 1;
						font-size: clamp(1.563rem, 1.42rem + 0.61vw, 1.875rem);
						color: var(--mainColor);

						span {
							font-family: Helvetica;
							font-weight: 600;
							font-size: clamp(2.188rem, 1.761rem + 1.82vw, 3.125rem);
						}
					}
					> *:nth-child(2) {
						margin-top: 8px;
						font-size: 15px;
					}
				}
			}
		}
	}
}
.productRange_flow {
	&._pgk {
		margin-bottom: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
	} 
	background: #f2f2f2;
	.headBox {
		.head {
			margin-bottom: 20px;
			padding-bottom: initial;
			border-bottom: initial;
		}
	}
	.mainBox {
		> div {
			.mainNumBox {
				span {}
			}
			.mainTextBox {
				.mainHead {}
				p {}
			}
		}
	}
	.linkBox {
		margin-top: 40px;
	}
}
/*
提案営業
====================================*/
.solutionSelling_buildArcade {
	.inner {}
	.box {}
	.headBox {
		.head {}
	}
	.leadBox {
		p {}
		.leadImgBox {
			margin-top: clamp(1.25rem, 0.824rem + 1.82vw, 2.188rem);
			img {
				width: 100%;
			}
		}
	}
	.mainBox {
		display: grid;
		gap: clamp(2.188rem, 1.903rem + 1.21vw, 2.813rem);
		margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
		> div {
			padding: 15px clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
			border-radius: clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
			background: var(--mainColor);
			.mainHead {
				font-size: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
				color: #fff;
			}
			> div {
				margin-top: 15px;
				padding: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem) clamp(0.938rem, -0.341rem + 5.45vw, 3.75rem);
				background: #fff;


				.mainLeadBox {
					*:first-child {}
					p {
						margin-top: 10px;
					}
					@media screen and (max-width: 1024px) {	
						> * {
							text-align: left;
						}
					}
				}
				.mainSupportBox {
					display: grid;
					gap: 20px;
					margin-top: 25px;
					> div {
						padding: clamp(1.563rem, 1.506rem + 0.24vw, 1.688rem) 0 clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem);
						border-radius: 15px;
						border: 1px solid var(--mainColor);
						background: #fff;
						> span {
							display: inline-block;
							padding: 10px clamp(0.938rem, 0.767rem + 0.73vw, 1.313rem);
							padding-left: 4.1em;
							line-height: 1;
							font-family: Helvetica;
							font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
							font-weight: 600;
							color: #fff;
							background: #c01;
							background-repeat: no-repeat;
							background-position: left 1em top 50%;
							background-size: 2.9em;
							background-image: url(./images/icon_hand01.svg);
							> span {
								margin-left: 6px;
								font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
							}
						}
						dl {
							margin-top: 20px;
							padding: 0 clamp(0.938rem, 0.369rem + 2.42vw, 2.188rem);

							dt {
								font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
							}
							dd {
								margin-top: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
								line-height: calc(30 / 16);

								@media screen and (max-width: 1024px) {
									line-height: 1.6;
								}
							}
						}
					}
				}
			}
		}
	}
}
.solutionSelling_flow {
	background: #f2f2f2;
	.headBox {
		head {}
		p {}
	}
	.mainBox {
		margin-top: 35px;
	}
	.linkBox {
		margin-top: 40px;
	}
}
.solutionSelling_case {
	.mainBox {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem) clamp(0.938rem, 0.227rem + 3.03vw, 2.5rem);
		margin-top: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem);
		@media screen and (max-width: 1024px){
			grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
		}
		> div {
			border: 1px solid var(--mainColor);
			.mainHead {
				display: flex;
				align-items: center;
				gap: 12px;
				padding: 10px clamp(0.938rem, 0.369rem + 2.42vw, 2.188rem);
				font-size: clamp(1.125rem, 1.011rem + 0.48vw, 1.375rem);
				font-weight: 500;
				color: #fff;
				background: var(--mainColor);


				span {
					padding: 2px clamp(0.938rem, 0.909rem + 0.12vw, 1rem);
					font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
					color: var(--textColor);
					background: #fff;
				}
			}
			.mainDescBox {
				padding: clamp(0.938rem, 0.369rem + 2.42vw, 2.188rem);




				.mainDescHead {
					font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
				}
				dl {
					display: grid;
					gap: clamp(1.563rem, 1.42rem + 0.61vw, 1.875rem);
					margin-top: clamp(1.25rem, 0.824rem + 1.82vw, 2.188rem);


					> div {
						dt {
							position:relative;
							z-index: 1;
							color: #fff;
							span {
								position: relative;
								display: inline-block;
								width: 170px;
								height: 100%;
								padding: 1px 10px;
								font-weight: 500;
								html.translated-ltr & {
									padding-right: 30px;
								}
								&::before {
									content:'';
									position: absolute;
									top: -1px;
									right: -1px;
									display: inline-block;
									width: 35px;
									height: calc(100% + 1px);
									background: #fff;
									clip-path: polygon(0 0, 100% 0, 100% 100%);
								}
							}
						}
						dd {
							margin-top: 10px;
							line-height: calc(30 / 16);
							@media screen and (max-width: 1024px) {
								line-height: 1.6;
							}
						}
						&:first-child {
							dt {
								border-bottom: 1px solid #333;
								span {
									background :#333;
								}
							}
						}
						&:last-child {
							dt {
								border-bottom: 1px solid var(--mainColor);
								span {
									background :var(--mainColor);
								}
							}
						}
					} 
				}
			}
		}
	}
}
/*
代表挨拶
====================================*/
.presidentMessage_greeting {
	.mainBox {
		gap: clamp(1.563rem, 0.71rem + 3.64vw, 3.438rem);



		.mainImgBox {
			img {
				@media screen and (max-width: 1024px) {
					display: grid;
					width: min(var(--maxWidth500, 100%));
					margin-inline: auto;
				}
			}
		}
		.mainTextBox {
			.mainDescBox {
				> *:first-child {}
				p {}
			}
			.mainName {
				margin-top: 30px;
				text-align: right;
				span {
					margin-left: 1em;
					font-size: clamp(1.125rem, 1.04rem + 0.36vw, 1.313rem);
				}
			}
		}
	}
}
.presidentMessage_philosophy {
	margin-bottom: clamp(3.125rem, 1.989rem + 4.85vw, 5.625rem);
	background-image: url(./images/presidentMessage_philosophy_bg01.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	@media screen and (max-width: 1024px) {
		background-position: top right;
	}
	.box {
		padding: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem) clamp(0.938rem, -0.341rem + 5.45vw, 3.75rem);
		background: #fff;
	}
	.headBox {
		.head {
		}
	}
	.mainBox {
		.mainHead {
			font-size: clamp(1.125rem, 0.642rem + 2.06vw, 2.188rem);
		}
		p {
			margin-top: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
			@media screen and (max-width: 1024px) {
				text-align: justify
			}
		}
	}
}
/*
会社情報
====================================*/
.companyProfile_cmnSection {
	.mainBox {
		.mainTableBox {
			dl {
				> div {
					dt {

					}
					dd {
						a {}
					}
				}
			}
		}
	}
	.mapBox {
		margin-top: 25px;
		iframe {
			@media screen and (max-width: 1024px) {
				aspect-ratio: 1/1;
			}
		}
	}
	&._access {
		.leadBox {
			.leadImgBox {
				img {}
			}
			.leadTextBox {
				p {}
			}
		}
	}
}
/*
採用情報
====================================*/
.recruit_jobIntroduction {
	.headBox {
		.head {}
	}
	.mainBox {
		dl {
			display: grid;
			gap: 20px;
			> div {
				overflow: hidden;
				align-items: stretch;
				border-radius: clamp(0.625rem, 0.341rem + 1.21vw, 1.25rem);
				border: 3px solid var(--mainColor);
				dt {
					display: flex;
					flex-flow: column;
					align-items: center;
					justify-content: center;
					width: min(240px, 100%);
					padding: 5px;
					font-weight: 500;
					font-size: clamp(1.25rem, 0.994rem + 1.09vw, 1.813rem);
					color: #fff;
					background: var(--mainColor);
					
					
					
					@media screen and (max-width: 1024px) {
						padding:5px 0;
					}
				}
				dd {
					padding: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
					.mainHead {
						font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
						color: var(--mainColor);
					}
					p {
						margin-top: 10px
					}
				}
			}
		}
	}
}
.recruit_requirements {
	.mainBox {
		padding: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem) 15px;
		box-shadow: 0px 2px 10px #dde0e3;

		p {
			line-height: calc(30px / 16px);
		}
	}
}
/*
お問い合わせ
====================================*/
.contact_faq {
	.mainBox {
		margin-top: clamp(1.25rem, 0.824rem + 1.82vw, 2.188rem);
	}
}
.contact_form {
	background: #f2f2f2;
	.box {
		filter: drop-shadow(0px 2px 6px rgba(196, 201, 208, 0.5));
	}
	.headBox {
		.head {}
		p {
			line-height: calc(30px / 16px);
		}
	}
	.mainBox {
		padding: clamp(1.875rem, 0.597rem + 5.45vw, 4.688rem) clamp(0.938rem, -2.756rem + 15.76vw, 9.063rem);
		background:#fff;
		form {
			padding: clamp(1.25rem, -0.455rem + 7.27vw, 5rem) clamp(0.938rem, -0.625rem + 6.67vw, 4.375rem);
			border: 1px solid #d7dce2;
		}
	}
}
.contact_tel {
	.box {
		padding: clamp(1.875rem, 1.023rem + 3.64vw, 3.75rem) clamp(0.938rem, -0.625rem + 6.67vw, 4.375rem);
		border: 1px solid #ea8d95;
		border-radius: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
	}
	.mainBox {
		display: flex;
		flex-flow: column;
		align-items: center;
		gap: 16px;
		.mainLead {}
		a {
			padding-left: 1.3em;
			font-family: Roboto;
			font-size: clamp(1.875rem, 1.449rem + 1.82vw, 2.813rem);
			color: var(--mainColor);
			line-height: 1;
			background-image: url(./images/icon_tel02_red01.svg);
			background-repeat: no-repeat;
			background-position: left top 50%;
			background-size: 1em;
			span {
				font-size: clamp(1.125rem, 0.983rem + 0.61vw, 1.438rem);
			}
		}
		.mainDesc {
			font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
		}
	}
}
.contact_scta {}
.contact_pp {
	.mainBox {
		padding: clamp(1.563rem, -0.568rem + 9.09vw, 6.25rem) clamp(0.938rem, -1.477rem + 10.3vw, 6.25rem);
		border: 1px solid #f2b7bc;
		box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
		p {
			font-size: 14px;
		}
	}

}
/*
お知らせ
====================================*/
.news_list {
	.mainBox {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
		gap: clamp(1rem, 0.886rem + 0.48vw, 1.25rem) clamp(0.688rem, 0.432rem + 1.09vw, 1.25rem);
		margin-top: clamp(1.875rem, 0.739rem + 4.85vw, 4.375rem);

		@media screen and (max-width: 1024px) {
			grid-template-columns: repeat(2, 1fr);
		}
		article {
			flex: 1;
			a {
				.mainImgBox {
					width: 100%;
					img {
						width: 100%;
						aspect-ratio: 261/161;
					}
				}
				.category {
					display: inline-block;
					min-width: 108px;
					padding: 4px 5px;
					text-align: center;
					color: #fff;
					font-size: 12px;
					background: var(--mainColor);
					@media screen and (max-width: 1024px) {
						min-width: initial;
						padding: 1px 8px;
					}
				}
				.mainDateBox {
					justify-content: flex-start;
					gap: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
					margin-top: clamp(0.5rem, 0.358rem + 0.61vw, 0.813rem);
					.date {
						color: #3f50af;
					}
					.new {
						color: var(--mainColor);
					}
					& > * {
						font-size: 13px;
					}
				}
				.title {
					margin-top: clamp(0.313rem, 0.227rem + 0.36vw, 0.5rem);
					font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
					line-height: calc(25 / 15);
					font-weight: 600;
				}
			}
		}
	}
	.ppBox {}
}
.news_detail {
	.inner {}
	.box {
		padding: 90px 130px;
		box-shadow: 0px 2px 10px #dde0e3;
		background: #fff;
		@media screen and (max-width: 1024px) {
			padding: 0;
		}
		> div {
			padding: clamp(2.813rem, 2.386rem + 1.82vw, 3.75rem) clamp(0.938rem, -1.477rem + 10.3vw, 6.25rem);
			border: 1px solid #c4c9d0;
		}
	}
	.mainBox {
		article {
			.mainTopBox {
				align-items: center;
				justify-content: flex-start;
				.mainDate {
					font-size: 14px;
					color: #3f50af;
				}
				.mainCategory {
					min-width: clamp(6.875rem, 6.392rem + 2.06vw, 7.938rem);
					margin-left: clamp(0.938rem, 0.852rem + 0.36vw, 1.125rem);
					padding: clamp(0.125rem, 0.068rem + 0.24vw, 0.25rem) clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
					border-radius: 30px;
					font-size: 13px;
					text-align: center;
					color: var(--mainColor);
					border: 1px solid #ea8d95;
				}
				.mainNew {
					margin-left: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
					font-size: 14px;
					color: var(--mainColor);
				}
			}
			.mainHead {
				margin-top: 1em;
				padding: clamp(1.25rem, 0.824rem + 1.82vw, 2.188rem) 0;
				border-top: 1px solid #c4c9d0;
				border-bottom: 1px solid #c4c9d0;
				font-size: clamp(1.25rem, 1.108rem + 0.61vw, 1.563rem);
				font-weight: 600;
				line-height: calc(38 / 25);
			}

			.mainContentBox {
				margin-top: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem);

				> *:first-child,
				> * *:first-child {
					margin-top: 0;
				}
				img {
					display: table;
					margin: auto!important;
				}
				:not(
				ul):not(li):not(iframe):not(table *) {
					margin: calc(clamp(0.875rem, 0.818rem + 0.24vw, 1rem) * 1.6) 0 0;
					line-height: calc(30/15);
					@media screen and (max-width: 1024px) {
						line-height: 1.6;
					}
				}
				a {
					color: var(--mainColor);
					text-decoration: underline;
				}
			}
		}
	}
}
/*テスト*/