html {
	font-size: 62.5%;
	overflow-y: scroll;
}
body {
	margin: 0;
	background-color: var(--tmp-themeColor);
	padding: 0;
	font-family: 'Zen Kaku Gothic New', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', Osaka, 'Droid Sans Japanese', sans-serif;
	font-feature-settings: "palt";
	
	--tmp-margin2em: 2em;
	--tmp-margin1_5em: 1.5em;
	--tmp-margin1em: 1em;
	--tmp-margin20px: 20px;
	--tmp-margin30px: 30px;
	--tmp-margin40px: 40px;
	--tmp-margin60px: 60px;
	--tmp-margin90px: 90px;

	--tmp-fontsize-hd2: 3.1rem;
	--tmp-fontsize-hd3: 2.2rem;
	--tmp-fontsize-hd4: 1.85rem;
	--tmp-fontsize2: 1.65rem;
	--tmp-fontsize3: 1.5rem;
	--tmp-fontsize4: 11pt;
	--tmp-fontsize5: 10.5pt;
	--tmp-fontsize6: 8.5pt;
	
	--tmp-themeColor:  #4368ae;
	--tmp-themeColor2: #7b93c3;
	--tmp-ribbonRed: #fa5741;
}
@media screen and (max-width: 740px) {
	body {
		--tmp-fontsize-hd2: 2.7rem;
		--tmp-fontsize-hd3: 2rem;
		--tmp-fontsize-hd4: 1.7rem;
		--tmp-fontsize2: 1.6rem;
		--tmp-fontsize3: 1.4rem;
		--tmp-fontsize4: 10.5pt;
		--tmp-fontsize5: 10pt;
	}
}
@media screen and (max-width: 680px) {
	body {
		--tmp-margin90px: 70px;
	}
}
@media screen and (max-width: 540px) {
	body {
		--tmp-margin40px: 24px;
		--tmp-margin60px: 46px;
		
		--tmp-fontsize-hd2: 2.4rem;
	}
}
@media screen and (max-width: 480px) {
	body {
		--tmp-margin90px: 54px;
		--tmp-margin40px: 20px;
		--tmp-margin30px: 20px;
		
		--tmp-fontsize-hd2: 2.1rem;
		--tmp-fontsize-hd3: 1.8rem;
		--tmp-fontsize-hd4: 1.6rem;
		--tmp-fontsize2: 1.55rem;
		--tmp-fontsize4: 10pt;
		--tmp-fontsize5: 9pt;
		--tmp-fontsize6: 8pt;
	}
}

h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, p {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: justify;
}

/* text style */
.lbd {
	border-left: solid 4px #bababa;
	padding-left: 0.8em;
}

h1, h2, h3, h4 {
	margin-bottom: var(--tmp-margin1em);
}
h2 { font-size: var(--tmp-fontsize-hd2); }
h3 { font-size: var(--tmp-fontsize-hd3); }
h4 { font-size: var(--tmp-fontsize-hd4); }
p {
	margin-bottom: var(--tmp-margin1em);
	font-size: var(--tmp-fontsize3);
	line-height: 160%;
}
p.fp2 {
	line-height: 150%;
}
a {
	color: #000;
}
@media (min-width: 541px) {
	p {
		line-height: 170%;
	}
	p.fp2 {
		line-height: 160%;
	}
}
@media (min-width: 768px) {
	p {
		line-height: 176%;
	}
	p.fp2 {
		line-height: 170%;
	}
}

.fp2 { font-size: var(--tmp-fontsize2); }
.fp3 { font-size: var(--tmp-fontsize3); }
.fp4 { font-size: var(--tmp-fontsize4); }
.fp5 { font-size: var(--tmp-fontsize5); }
.fp6 { font-size: var(--tmp-fontsize6); }


/* block */
#branding {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
#branding a {
	transform: translateY(3px);
}
#branding img {
	width: 120px;
}

footer {
	background-color: #f8f8f8;
	padding: 10px 0;
}
.wr {
	padding: 30px 9px;
	margin: 0 auto;
}
.wr > *:last-child {
	margin-bottom: 0;
}
.fw {
	/*background-color: #f3f7ff;*/
	background-color: #f3fcff;
	background-image: repeating-linear-gradient(-45deg, #e9f8fd, #e9f8fd 20px, transparent 20px, transparent 40px);
	padding: 0;
}
.w100 {
	width: 100%;
}

.item1 {
	background: #009933;
}
.item2 {
	background: #0066FF;
}
.item3 {
	background: #CC6666;
}
.item4 {
	background: #CC66FF;
}
.item5 {
	background: #FF33CC;
}

.separatecont {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}
.separatecont > .per70 {
	width: calc(70% - 18px);
}
.separatecont > .per60 {
	width: calc(60% - 18px);
}
.separatecont > .per50 {
	width: calc(50% - 18px);
}
.separatecont > .per40 {
	width: calc(40% - 18px);
}
.separatecont > .per30 {
	width: calc(30% - 18px);
}
.separatecont > div p:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 840px) {
	.separatecont {
		display: block;
	}
	.separatecont > div {
		width: 100% !important;
	}
	.separatecont > div:not(:last-child) {
		margin-bottom: 2rem;
	}
}

a.phlightbox {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 100%;
}
a.phlightbox figure {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	transform: scale(1);
	transition: transform 0.3s;
}
a.phlightbox:hover {
	opacity: 1;
}
a.phlightbox:hover figure {
	transform: scale(1.2);
}
a.phlightbox span {
	box-sizing: border-box;
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 23%;
	padding: 0 20px;
	background-color: rgba(255, 255, 255, 0.8);
	font-size: 1.4rem;
	line-height: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* form */
/* reset default form styles */
form section {
	display: block;
	padding-top: 20px;
}
form section > div {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 40px;
}
form section div > h4 {
	box-sizing: border-box;
	float: left;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0;
	width: 210px;
	text-align: justify;
	font-size: 10.5pt;
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 140%;
	clear: left;
}
form section div > h4.text {
	padding-top: 0.8em;
}
form section div > h4.select {
	padding-top: 0.3em;
}
form section div > div {
	display: block;
	margin-left: 0;
	width: calc(100% - 250px);
	padding: 0;
}
form section div > div p {
	margin: 0;
}
form section div > div h5 {
	margin: 0 0 5px;
	font-size: 11pt;;
}
form section div > div h5:not(:first-child) {
	margin-top: 20px;
}
form section div > div.full {
	width: 100%;
}
form section div > div.twofield {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}
form section div > div.twofield label {
	width: calc(50% - 12px);
	display: flex;
	margin-right: 0;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	white-space: nowrap;
}
form section div > div.twofield label span {
	box-sizing: border-box;
	min-width: 2.7em;
	padding-right: 0.7em;
	text-align: right;
}
form section div > div.multiInput label {
	display: flex;
	margin-right: 0;
	margin-bottom: 10px;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	white-space: nowrap;
}
form section div > div.multiInput label:last-child {
	margin-bottom: 0;
}
form section div > div.multiInput label span {
	box-sizing: border-box;
	min-width: 4.8em;
	padding-right: 0.7em;
	text-align: right;
}
form section div > div label {
	margin-right: 15px;
	font-size: 1.4rem;
}
form section div > div > label:last-child {
	margin-right: 0;
}
input:not([type="checkbox"]), button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"], input[type="tel"], input[type="email"], textarea {
	box-sizing: border-box;
	font-size: 12pt;
	line-height: 160%;
	border: solid 1px #b7b7b7;
	border-radius: 5px;
	padding: 6px 12px;
	margin: 0;
	width: 100%;
}
input[name=zip] {
	max-width: 8em;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus,
textarea:focus, input[type="radio"]:focus, input[type="checkbox"] {
	background: #fff;
	border: 1px solid #f2b2b2;
}
select {
	position: relative;
	font-family: monospace;
	font-size: 12pt;
	line-height: 160%;
	border: solid 1px #b7b7b7;
	border-radius: 5px;
	padding: 6px 12px;
	padding-right: calc(12px + 1.5em);
	margin: 0;
	color: #333;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}
.selwrap {
	position: relative;
	display: inline-block;
	width: auto;
}
.selwrap:after {
	content: "\25BD";
	position: absolute;
	top: 0;
	right: 10px;
	height: 100%;
	font-size: 1.2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 100%;
	transform: translatey(0px);
	pointer-events: none;
}
input[type=radio], input[type=checkbox] {
	display: none;
}
input[type=radio] + label, input[type=checkbox] + label {
	position: relative;
	padding-left: 1.5em;
	font-size: 1.4rem;
}
input[type=radio] + label:after, input[type=radio] + label:before,
input[type=checkbox] + label:after, input[type=checkbox] + label:before {
	position: absolute;
	content: "";
	display: block;
	top: 50%;
}
input[type=radio] + label:after {
	left: 0;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	border: 1px solid #b7b7b7;
	border-radius: 50%;
}
input[type=radio] + label:before {
	left: 4px;
	margin-top: -4px;
	width: 10px;
	height: 10px;
	background: #827e5e;
	border-radius: 50%;
	opacity: 0;
}
input[type=radio]:checked + label:before {
	opacity: 1;
}
input[type=radio]:checked + label:hover:after {
	border-color: #0171bd;
}
input[type=checkbox] + label:after {
	left: 0;
	margin-top: -8px;
	width: 15px;
	height: 15px;
	border: 1px solid #b7b7b7;
	border-radius: 3px;
}
input[type=checkbox] + label:before {
	top: 49%;
	left: 2px;
	margin-top: -4px;
	width: 11px;
	height: 4px;
	opacity: 0;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-55deg);
	z-index: 1;
}
input[type=checkbox]:checked + label:before {
	opacity: 1;
}
input[type=checkbox]:checked + label:after {
	border-color: #827e5e;
	background-color: #827e5e;
}

input[type="reset"] {
	color: #fff;
	font-size: 11pt;
	font-weight: bold;
	letter-spacing: 0.5px;
	background: #d5d3bd;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
	border-radius: 4px;
	cursor: pointer;
}
input[type="reset"]:hover {
	opacity: 0.8;
}
input[type="submit"] {
	color: #fff;
	font-size: 11pt;
	font-weight: bold;
	letter-spacing: 0.5px;
	background: #827e5e;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
	border-radius: 4px;
	cursor: pointer;
}
input[type="submit"]:hover {
	opacity: 0.8;
}
form .btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}
form .btns input[type="reset"] {
	width: 30%;
}
form .btns input[type="submit"] {
	width: calc(70% - 20px);
}
form .must {
	color: #fff;
	font-size: 8pt;
	line-height: 100%;
	font-weight: bold;
	background: #e00;
	padding: 4px 5px 3px 6px;
	border-radius: 3px;
	float: right;
}

/* width A */
@media screen and (max-width: 820px) and (min-width: 681px) {
	form section div > div.twofield {
		display: block;
	}
	form section div > div.twofield label {
		width: 100%;
	}
	form section div > div.twofield label:first-child {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 767px) {
	form section > div {
		margin-bottom: 25px;
		padding-bottom: 25px;
	}
}
@media screen and (max-width: 680px) {
	form section div > h4 {
		display: block;
		margin-bottom: 14px;
		width: 100%;
		font-weight: bold;
	}
	form section div > h4 br {
		display: none;
	}
	form section div > h4.text, form section div > h4.select {
		padding-top: 0;
	}
	form section div > div {
		width: 100%;
	}
	form .must {
		float: none;
		display: inline-block;
		vertical-align: baseline;
		margin-left: 10px;
	}
}
@media screen and (max-width: 520px) {
	form section div > div.twofield {
		display: block;
	}
	form section div > div.twofield label {
		width: 100%;
	}
	form section div > div.twofield label:first-child {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 480px) {
	form section {
		margin-bottom: 60px !important;
	}
	form section > div {
		margin-bottom: 18px;
		padding-bottom: 18px;
	}
	form section div > h4 {
		margin-bottom: 12px;
	}
	form .btns input[type="submit"] {
		width: calc(70% - 10px);
	}
}
@media screen and (max-width: 434px) {
	form dl dt, form dl dd {
		padding-left: 0;
	}
}


/* no-bordered table */
table.nobd {
	border-collapse: collapse;
}
table.nobd th {
	border: solid 1px #a6a6a6;
	padding: 10px 20px;
}
table.nobd td {
	border: solid 1px #a6a6a6;
	padding: 10px 20px;
}

/* bordered table */
table.bd {
	border: solid 1px #b7b7b7;
	border-collapse: separate;
	border-spacing: 12px 10px;
}
table.bd th {
	border: solid 1px #b7b7b7;
	padding: 10px 20px;
}
table.bd td {
	border: solid 1px #ccc;
	padding: 10px 20px;
}

/* rewind button */
#rwdwp {
	position: fixed;
	right: 32px;
	bottom: 65px;
	width: 48px;
	height: 48px;
	z-index: 120;
}
#rwd {
	box-sizing: border-box;
	border: 1px solid #ffffff;
	border-radius: 24px;
	background-color: #4169ac;
	width: inherit;
	height: inherit;
	opacity: 0;
	transition: opacity 0.7s;
}
#rwd a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: inherit;
	height: inherit;
	padding: 4px 3px 0 0;
	text-align: center;
	color: #3a2b20;
	font-size: 18px;
	vertical-align: middle;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: none;
}
#rwd a div {
	width: 14px;
	height: 14px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(-45deg);
}
@media screen and (max-width: 420px) {
	#rwdwp {
		right: 12px;
		bottom: 26px;
	}
}

/* スマホ用のCSSはメディアクエリの外に記述する */

@media screen and (min-width: 481px) {
	/* 481px以上に適用されるCSS（タブレット用） */
	html {
		font-size: 67%;
	}
	.wr {
		margin: 0 auto;
		width: calc(100% - 40px);
		padding: 40px 0;
	}
}
@media screen and (min-width: 960px) {
	/* 960px以上に適用されるCSS（PC用） */
	html {
		font-size: 72%;
	}
	body {
		/*background: #f6f6f6;*/
	}
	.wr {
		max-width: 960px;
		padding: 50px 0 45px;
	}
	a {
		text-decoration: none;
	}
	a[href]:hover {
		text-decoration: underline;
		opacity: 0.9;
	}
	img {
		border: none;
	}
}
@media screen and (max-width: 480px) {
	#info {
		padding-bottom: 0;
		margin-bottom: 10px;
	}
}

ul.newslist li {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
ul.newslist li:not(:last-child) {
	margin-bottom: 16px;
	border-bottom: 1px solid #dde1e4;
	padding-bottom: 16px;
}
ul.newslist li h3 {
	margin-bottom: 0.6em;
	font-size: 1.4rem;
}
ul.newslist li .category {
	font-size: 1.0rem;
}
ul.newslist li a {
	text-decoration: none;
}
ul.newslist li > div {
	width: calc(100% - 100px);
}
ul.newslist li > a {
	width: 88px;
}
ul.newslist li > a figure {
	margin: 0;
	padding-top: 100%;
	background-position: center;
	background-size: cover;
}
@media screen and (min-width: 481px) {
	ul.newslist li > div {
		width: calc(100% - 144px);
	}
	ul.newslist li > a {
		width: 124px;
	}
}

/* 汎用 */
.fwnml {
	font-weight: normal;
}
.fwbld {
	font-weight: bold;
}
.jstf {
	text-align: justify;
}

/* clear fix */
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}

#popup {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	overflow: hidden;
	opacity: 0;
	z-index: 9999;
	transition: opacity 0.5s ease;
}
#popup .inner {
	max-width: calc(100% - 120px);
	max-height: calc(100% - 60px);
	background-color: #fff;
	color: #000;
	overflow: auto;
	transform: scale(0.8);
	transition: transform 0.5s ease;
}
#popup .inner a {
	width: 220px;
	height: 120px;
	font-size: 1.6rem;
}
#popup .inner a:first-child {
	margin-right: 30px;
}
#popup .closer {
	position: fixed;
	top: 15px;
	right: 15px;
	width: 32px;
	height: 32px;
	cursor: pointer;
}
#popup.active {
	opacity: 1;
	transition: opacity 0.5s ease;
}
#popup.active .inner {
	transform: scale(1);
	transition: transform 0.5s ease;
	-webkit-overflow-scrolling: touch;
}

#popup .inner .box {
	box-sizing: border-box;
	padding: 30px;
}
#popup .inner #if1.box {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}
#popupContents {
	display: none;
}

/* width B */
@media screen and (max-width: 540px) {
	#popup .inner .box {
		padding: 20px;
	}
	#popup .inner #if1.box {
		flex-direction: column;
	}
	#popup .inner a {
		height: 80px;
	}
	#popup .inner a:first-child {
		margin-right: 0;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 480px) {
	#popup .inner {
		max-width: calc(100% - 60px);
	}
}
@media screen and (max-width: 420px) {
	#popup .inner {
		max-width: calc(100% - 40px);
	}
	#if1, #if2, #if3, #if4, #if5, #if6 {
		padding: 20px 10px;
	}
}

/* custom */
.photo {
	background-color: #333;
	width: 100%;
	height: 240px;
}
a.btnrd {
	color: #fff;
	text-decoration: none;
	background-color: #26b7bc;
	text-align: center;
	width: 26em;
	height: 60px;
	padding: 10px 50px;
	margin: 0 auto 4em;;
	border-radius: 40px;
	display: block;
}
.txtop {
	font-size: 15px;
	line-height: 1;
	padding-bottom: 8px;
	display: flex;
}
.txbtm {
	font-size: 30px;
	line-height: 1;
}
#slide {
	margin: 0;
	border-bottom: 7px solid var(--tmp-themeColor);
	background-image: url(img/main_dt-c.jpg);
	padding-top: 36.25%;
	background-color: #A0CBED;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
#slide.ver2 {
	position: relative;
}
#slide.ver2 .viewer {
	position: absolute;
	top: 0;
	left: 50%;
	width: calc(100% - 40px);
	max-width: 1120px;
	height: 100%;
	transform: translatex(-50%);
}
#slide.ver2 .viewer img {
	position: absolute;
	top: 0;
	right: 0;
	width: 160px;
}
#slide.osk {
	background-image: url(img/main_dt_osk-b.jpg);
}
#slide.tky {
	background-image: url(img/main_dt_tky-c.jpg);
}
@media screen and (max-width: 767px) {
	#slide {
		background-image: url(img/main_sp-c.jpg);
		padding-top: 111.125%;
	}
	#slide.osk {
		background-image: url(img/main_sp_osk-b.jpg);
	}
	#slide.tky {
		background-image: url(img/main_sp_tky-c.jpg);
	}
}

.bg01 {
	background: #d3edfb;
}

.rbhd {
	position: relative;
	margin-bottom: var(--tmp-margin1_5em);
}
.rbhd .txt {
	position: relative;
	display: block;
	border-radius: 10px;
	width: 100%;
	height: 100%;
	background: #f7d26d;
	padding: 14px 0.5rem 21px;
	text-align: center;
	color: #231815;
	letter-spacing: 1px;
	line-height: 100%;
	z-index: 1;
}
.rbhd:before {
	content: '';
	position: absolute;
	top: -8px;
	left: -8px;
	width: calc(100% + 6px);
	height: calc(100% - 4px);
	border-radius: 10px;
	border: 3px solid #d66649;
	z-index: 2;
}
.rbhd:after {
	content: '';
	position: absolute;
	right: -17px;
	bottom: -6px;
	width: calc(100% - 2px);
	height: calc(100% - 6px);
	border-radius: 10px;
	border: 3px solid #db9e8f;
	z-index: 0;
}

footer {
	color: #fff;
	background-color: #4169ac;
	text-align: center;
	padding: 18px 5px;
}
footer h3 {
	display: inline-block;
		border: 1px solid #fff;
		background-color: var(--tmp-themeColor);
		color: #fff;
	line-height: 100%;
	padding: 8px 16px;
	letter-spacing: 1px;
}
footer h4 {
	margin-bottom: 5px;
	text-align: center;
	letter-spacing: 1px;
	line-height: 130%;
}
footer h4 small {
	display: block;
	font-weight: normal;
}
footer p {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	margin: 0;
	font-size: 1.4rem;
}
footer p span {
	display: inline-block;
}
footer p span:first-child {
	margin-right: 20px;
}
footer p a {
	color: #fff;
}
@media screen and (max-width: 580px) {
	footer h4 {
		margin-bottom: 10px;
	}
	footer h4 small {
		letter-spacing: 0.5px;
	}
	footer p {
		flex-direction: column;
		align-items: center;
	}
	footer p span:first-child {
		margin-right: 0;
		margin-bottom: 6px;
	}
}

.anchorLocationer {
	position: relative;
	top: -90px;
	display: block;
}

#ft {
	background: #fef6e6;
	padding: 8px 10px 18px;
	text-align: center;
	clear: both;
}
#ft img {
	width: 100%;
	max-width: 340px;
}
#ft p {
	margin: 1em 0 0;
	text-align: center;
	color: #231815;
	line-height: 17pt;
	letter-spacing: 1px;
}
@media screen and (max-width: 400px) {
	#ft p {
		margin-bottom: 5px;
		line-height: 15pt;
	}
}

.footCols {
	background-color: var(--tmp-themeColor);
	padding: 7px 0 10px;
	color: #fff;
}
.footCols #ft {
	background-color: transparent;
}
.footCols #ft p {
	color: #fff;
}
.footCols .eventer {
	margin-bottom: 0;
	padding-bottom: 0.6em;
	width: 100%;
	text-align: center;
}
.footCols .eventer .inbl {
	margin-left: 2em;
}
@media (min-width: 581px) {
	.footCols footer {
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		justify-content: center;
	}
	.footCols footer h3 {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin-right: 20px;
		margin-bottom: 0;
		border: 1px solid #fff;
		width: 98px;
		background-color: var(--tmp-themeColor);
		color: #fff;
	}
	.footCols footer h4 {
		margin-bottom: 0;
		text-align: left;
	}
	.footCols footer h4 small {
		margin-top: 6px;
	}
	.footCols footer p {
		justify-content: flex-start;
	}
}
@media (min-width: 1041px) {
	.footCols {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.footCols > *:not(.eventer) {
		box-sizing: border-box;
		display: flex;
	}
	.footCols #ft {
		flex-direction: column;
		align-items: flex-start;
		width: calc(50% - 60px);
		padding-top: 24px;
		padding-left: 60px;
	}
	.footCols #ft img {
		width: auto;
		height: 100px;
	}
	.footCols footer {
		width: calc(50% + 60px);
		justify-content: flex-end;
	}
}
@media (max-width: 1040px) {
	.footCols footer {
		padding-top: 36px;
	}
	#ft img {
		max-width: 290px;
	}
}
@media (max-width: 580px) {
	.footCols {
		padding-top: 0;
	}
	#ft img {
		max-width: 250px;
	}
}
@media (max-width: 480px) {
	.footCols footer {
		padding-top: 26px;
	}
	.footCols .eventer .inbl {
		margin-left: 1em;
	}
	footer p.fp5 {
		font-size: var(--tmp-fontsize4);
	}
	#ft {
		padding: 2px 10px 10px;
	}
	#ft img {
		max-width: 190px;
	}
}

#entrance {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 56px;
}
#entrance > div {
	position: relative;
	width: calc(50% - 30px);
}
#entrance a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
#entrance img {
	width: 100%;
}
#entrance a.parallax:not(.animated) {
	animation: flash 1.1s linear infinite;
}
@keyframes flash {
	18%, 38% {
		opacity: 0.4;
	}
	10%, 26%, 30%, 46%, 100% {
		opacity: 1;
	}
}
#entrance a.parallax.animated:hover {
	opacity: 0.8;
}
#entrance a.ver2 {
	box-sizing: border-box;
	text-align: center;
	padding-top: 68.4%;
}
#entrance a.ver2 span {
	display: inline-block;
	border-radius: 100px;
	background-color: var(--tmp-ribbonRed);
	padding: 11px 54px 12px;
	color: #fff;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: -3px;
	text-indent: -3px;
	line-height: 100%;
}
#entrance .att {
	margin-top: 24px;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
}
#entrance.single {
	justify-content: center;
}
#entrance.single > div {
	width: 100%;
	max-width: 450px;
}
@media screen and (max-width: 1120px) {
	#entrance a.ver2 span {
		padding-left: 3em;
		padding-right: 3em;
		font-size: 2.3vw;
	}
}
@media screen and (max-width: 960px) {
	#entrance {
		padding: 40px 0;
	}
	#entrance > div {
		width: calc(50% - 20px);
	}
}
@media screen and (max-width: 640px) {
	#entrance {
		display: block;
	}
	#entrance > div {
		width: 100%;
	}
	#entrance > div:first-child {
		margin-bottom: 30px;
	}
	#entrance.single > div:first-child {
		margin-bottom: 0;
		max-width: none;
	}
	#entrance a.ver2 span {
		font-size: 3.8vw;
	}
}
@media screen and (max-width: 540px) {
	#entrance .att {
		text-align: left;
		line-height: 140%;
	}
}
@media screen and (max-width: 480px) {
	#entrance {
		width: calc(100% - 20px);
	}
}
@media screen and (max-width: 440px) {
	#entrance a.ver2 span {
		font-size: 4.2vw;
	}
}

img {
	max-width: 100%;
}

#info {
	padding-top: 0;
}
#info img, #present img {
	width: 100%;
}
@media screen and (min-width: 581px) {
	img.onsp {
		display: none;
	}
}
@media screen and (max-width: 580px) {
	img.onpc {
		display: none;
	}
}

#present {
	text-align: center;
	padding-bottom: var(--tmp-margin20px);
}
#present .cols2 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
	width: calc(100% - 20px);
	padding: 0 10px;
}
#present .cols2 > div {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	width: calc(50% - 38px);
	text-align: center;
	transform: translateX(20px);
}
#present .cols2 > div:nth-child(n + 3) {
	margin-top: 48px;
}
#present p {
	margin: 0;
	text-align: left;
	color: #231815;
	font-size: var(--tmp-fontsize3);
	font-weight: bold;
	line-height: 150%;
}
#present p > span {
	position: relative;
	display: inline-block;
	height: 1.6em;
}
#present p > span.sml {
	font-size: var(--tmp-fontsize2);
}
#present p > span:not(.sml):before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2px;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: 8px;
	background-color: #f7d26d;
	transform: translateX(-50%);
	z-index: -1;
}
#present figure {
	flex-shrink: 0;
	position: relative;
	display: inline-block;
	margin: 0;
	margin-right: 50px;
	width: 30%;
	padding-bottom: 30px;
}
#present figure:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -5%;
	display: block;
	border-radius: 50%;
	width: calc(100% + 130px);
	height: 41%;
	background-color: #fff;
	transform: translatex(calc(-50% - 15px));
}
#present img {
	position: relative;
	width: 100%;
	transform: rotate(15deg);
}
#present .sub {
	position: absolute;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	right: -20px;
	bottom: -20px;
	border-radius: 50%;
	background-color: #fbe9b7;
	width: 84px;
}
#present .sub:before {
	content: "";
	display: block;
	width: 0;
	padding-top: 100%;
}
#present .sub img {
	width: calc(100% - 24px);
	height: auto !important;
	transform: rotate(10deg) translateX(5px) !important;
}
#present .cols2.ver1 {
	justify-content: center;
}
#present .cols2.ver1 > div {
	justify-content: center;
	width: 100%;
	max-width: 640px;
}
#present .cols2.ver1 p {
	padding-bottom: 1em;
	font-size: 2.4rem;
}
@media screen and (max-width: 1010px) {
	#present {
		max-width: 790px;
	}
	#present .cols2 {
		flex-direction: column;
		align-items: center;
		padding: 0;
	}
	#present .cols2 > div {
		width: 100%;
		max-width: 540px;
	}
	#present .cols2 > div:not(:last-child) {
		margin-bottom: 36px;
	}
}
@media screen and (max-width: 767px) {
	#present .cols2.ver1 > div {
		max-width: 540px;
	}
	#present h2 {
		margin-bottom: var(--tmp-margin1_5em);
	}
}
@media screen and (max-width: 680px) {
	#present figure:before {
		width: calc(100% + 90px);
	}
}
@media screen and (max-width: 640px) {
	#present {
		padding-bottom: 20px;
	}
	#present .cols2 > div {
		max-width: 390px;
	}
	#present figure:before {
		width: calc(100% + 50px);
	}
	#present .cols2.ver1 > div {
		max-width: 480px;
	}
	#present .cols2.ver1 p {
		font-size: 2.1rem;
	}
}
@media screen and (max-width: 540px) {
	#present .cols2.ver1 p {
		font-size: 1.9rem;
	}
}
@media screen and (max-width: 480px) {
	#present .cols2 > div {
		box-sizing: border-box;
		max-width: none;
		padding-left: 50px;
		transform: translateX(0px);
	}
	#present .cols2 > div:not(:last-child) {
		margin-bottom: 30px;
	}
	#present .rbhd {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 38px;
		width: calc(100% - 20px);
		transform: translateX(5px);
	}
	#present .sub {
		width: 74px;
	}
	#present p {
		padding-right: 10px;
	}
	#present .cols2.ver1 p {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 440px) {
	#present .cols2 > div {
		padding-left: 30px;
	}
	#present figure {
		margin-right: 28px;
		padding-bottom: 22px;
	}
	#present figure:before {
		width: calc(100% + 40px);
		height: 80px;
		transform: translatex(calc(-50% - 7px));
	}
}

/* page */
#pgwr {
	background: #c9ecfd;
}
#pgwr.ver2 {
	border-top: 1px solid var(--tmp-themeColor);
	border-bottom: 1px solid var(--tmp-themeColor);
	background-color: #fefdf1;
}
#pg {
	max-width: 1100px;
}

#pg p.intro {
	margin-bottom: 20px;
	font-size: 1.5rem;
	line-height: 160%;
}
#pg p.intro + section {
	margin-bottom: 60px;
}

#pg #shichoson {
	margin-bottom: var(--tmp-margin90px);
}
#pg #shichoson input[type=button].onsp, #pg #kigyo input[type=button].onsp {
    display: none;
    margin: 10px auto 0;
}
#pg #shichoson select.onsp, #pg #kigyo select.onsp {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 51px;
    opacity: 0;
}
#pg h3.tdate {
	margin: 15px 0;
	padding: 0;
}
.blk {
	position: relative;
}
.blk > .inner {
	width: calc(100% - 40px);
	margin: 0 auto;
	padding: 74px 0 84px;
}
@media screen and (max-width: 640px) {
	.blk > .inner {
		padding: 60px 0 60px;
	}
}
@media screen and (max-width: 480px) {
	.blk > .inner {
		width: calc(100% - 20px);
		padding: 40px 0 50px;
	}
}

h2.blktitle, h3.blktitle {
	text-align: center;
	letter-spacing: 1px;
	line-height: 160%;
}
h2.blktitle > span, h3.blktitle > span {
	position: relative;
	display: inline-block;
	padding-bottom: 15px;
}
h2.blktitle > span:after, h3.blktitle > span:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: calc(100% - 2em);
	height: 3px;
	background-color: #555;
	transform: translateX(-50%);
}
h2.blktitle2 {
	position: relative;
	margin: 0 auto var(--tmp-margin1_5em);
	max-width: 14em;
	text-align: center;
	line-height: 100%;
}
h2.blktitle2:before {
	position: absolute;
	left: 0;
	top: calc(50% - 5px);
	width: 100%;
	height: 7px;
	content: '';
	border: solid 2px #686868;
}
h2.blktitle2 span {
	position: relative;
	display: inline-block;
	background-color: #F3FAFF;
	padding: 0 30px;
	text-indent: -2px;
}
#about h2.blktitle2 span {
	text-indent: -6px;
}
#pg h2.blktitle2 span {
	background-color: #fefdf1;
}

h2.ribbon2 {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 890px;
	background-color: #f9a24a;
	background-image: linear-gradient(70deg, transparent 10%, #ffe3e3a9 30%, transparent 60%);
	padding: 5px 7px;
	text-align: center;
	clip-path: polygon(0 0, 100% 0, calc(100% - 22px) 50%, 100% 100%, 0 100%, 22px 50%);
}
h2.ribbon2 span {
	box-sizing: border-box;
	display: inline-block;
	width: 100%;
	padding: 16px 30px 18px;
	background-color: #ffbb22c2;
	color: #333;
	line-height: 100%;
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%, 20px 50%);
}

h2.ribbon3 {
	position: relative;
	margin: var(--tmp-margin30px) auto var(--tmp-margin2em);
	width: calc(100% - 90px);
	max-width: 394px;
	text-align: center;
	line-height: 100%;
}
h2.ribbon3:before, h2.ribbon3:after {
	content: '';
	position: absolute;
	bottom: -12px;
	display: block;
	border: 0.85em solid #ed1f1f;
	z-index: 0;
}
h2.ribbon3:before {
	left: -30px;
	border-left-width: 15px;
	border-left-color: transparent;
}
h2.ribbon3:after {
	right: -30px;
	border-right-width: 15px;
	border-right-color: transparent;
}
h2.ribbon3 span {
	position: relative;
	z-index: 1;
	display: block;
	padding: 16px 10px 18px;
	color: #fff;
	background: var(--tmp-ribbonRed);
}
h2.ribbon3 span:before, h2.ribbon3 span:after {
	position: absolute;
	bottom: -12px;
	display: block;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
	border-color: #b70505 transparent transparent;
}
h2.ribbon3 span:before {
	left: 0;
	border-width: 12px 0 0 14px;
}
h2.ribbon3 span:after {
	right: 0;
	border-width: 12px 14px 0 0;
}
@media (max-width: 740px) {
	h2.ribbon3:before {
		left: -28px;
	}
	h2.ribbon3:after {
		right: -28px;
	}
	h2.ribbon3 span:before {
		border-left-width: 12px;
	}
	h2.ribbon3 span:after {
		border-right-width: 12px;
	}
}
@media (max-width: 540px) {
	h2.ribbon3 span {
		padding: 12px 10px 14px;
	}
	h2.ribbon3:before, h2.ribbon3:after {
		bottom: -6px;
	}
	h2.ribbon3 span:before, 
	h2.ribbon3 span:after {
		bottom: -6px;
	}
	h2.ribbon3 span:before {
		border-width: 6px 0 0 8px;
	}
	h2.ribbon3 span:after {
		border-width: 6px 8px 0 0;
	}
}
@media (max-width: 480px) {
	h2.ribbon3 {
		width: calc(100% - 60px);
	}
	h2.ribbon3 span:before {
		border-left-width: 4px;
	}
	h2.ribbon3 span:after {
		border-right-width: 4px;
	}
}

h2.boxed {
	position: relative;
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
	text-align: center;
}
h2.boxed span {
	position: relative;
	display: block;
	padding: 22px 5px 24px;
	letter-spacing: .05em;
	line-height: 100%;
}
h2.boxed span:before,
h2.boxed span:after {
	content: '';
	position: absolute;
	left: 10px;
	display: block;
	width: calc(100% - 20px);
	height: 2px;
	background: #000;
}
h2.boxed span:before {
	top: 10px;
}
h2.boxed span:after {
	bottom: 10px;
}

h3.ribbon {
	text-align: center;
}
h3.ribbon span {
	box-sizing: border-box;
	display: inline-block;
	width: 100%;
	max-width: 15.8em;
	padding: 16px 30px 18px;
	background-color: #deeffc;
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%, 20px 50%);
	line-height: 100%;
}
h3.underStripe {
	text-align: center;
}
h3.underStripe span {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	width: 100%;
	max-width: 11em;
	padding: 0 0 27px;
	line-height: 100%;
}
h3.underStripe span:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 9px;
	background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	backface-visibility: hidden;
}
h4.kagiKakko {
	text-align: center;
}
h4.kagiKakko span {
	position: relative;
	display: inline-block;
	padding: 11px 2.8em 13px;
}
h4.kagiKakko span:before,
h4.kagiKakko span:after {
	content: '';
	position: absolute;
	width: 60px;
	height: 18px;
}
h4.kagiKakko span:before {
	top: 0;
	left: 0;
	border-top: 2px solid #686868;
	border-left: 2px solid #686868;
}
h4.kagiKakko span:after {
	right: 0;
	bottom: 0;
	border-right: 2px solid #686868;
	border-bottom: 2px solid #686868;
}
img.full {
	display: block;
	margin-bottom: 2em;
	width: 100%;
}
#about.wr {
	padding-bottom: var(--tmp-margin90px);
}
#about section.card img.full {
	margin-left: auto;
	margin-right: auto;
	max-width: 680px;
}
@media screen and (max-width: 740px) {
	h2.blktitle2:before {
		top: calc(50% - 2px);
		height: 4px;
	}
}
@media screen and (min-width: 641px) {
	#about section.card h4 .onsp {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	h3.blktitle {
		font-size: 22pt;
		margin-bottom: 1.6em;
	}
	#about section.card h4 {
		line-height: 140%
	}
}
@media screen and (max-width: 540px) {
	h2.blktitle2 span {
		padding: 0 20px;
		text-indent: -2px;
	}
	.colimg img {
		width: calc(50% - 8px);
	}
}
@media screen and (max-width: 480px) {
	h3.blktitle {
		margin-bottom: 1.3em;
		font-size: 18pt;
	}
	h3.underStripe span {
		padding-bottom: 22px;
	}
	h3.underStripe span:after {
		height: 8px;
	}
}

.kadomaruWrap {
	border: 3px solid var(--tmp-themeColor);
	border-radius: 40px;
	background-color: #fff;
	padding: 46px 72px 54px;
}

.dlist {
	margin: 0;
	margin-top: var(--tmp-margin30px);
}
.dlist dt {
	box-sizing: border-box;
	clear: left;
	float: left;
	border-radius: 2px;
	width: 6.5em;
	background-color: var(--tmp-themeColor);
	padding: 2px 5px 3px;
	text-align: center;
	color: #fff;
	font-size: var(--tmp-fontsize4);
	letter-spacing: 1px;
	line-height: 180%;
	transform: translateY(0.2em);
}
.dlist dd {
	margin-left: 8.8em;
	margin-bottom: var(--tmp-margin20px);
	padding: 0;
	text-align: left;
	font-size: var(--tmp-fontsize2);
	letter-spacing: 0.5px;
	line-height: 180%;
}
.dlist dd p {
	text-align: left;
	font-size: 1.7rem;
}
.dlist dd:last-child {
	margin-bottom: 0;
}
.dlist dd a.accs {
	display: inline-block;
	border-radius: 5px;
	background-color: var(--tmp-ribbonRed);
	color: #fff;
	line-height: 100%;
	padding: 7px 11px 8px;
	letter-spacing: 0.5px;
	text-decoration: none;
	margin-top: 3px;
}
.dlist dd a.accs:hover {
	text-decoration: none;
}
.dlist dd .dlist.simple.long:first-child dt {
	clear: none;
}
@media screen and (max-width: 767px) {
	.kadomaruWrap {
		border-radius: 10px;
		padding: 28px 38px 38px;
	}
}
@media screen and (max-width: 640px) {
	.kadomaruWrap {
		padding: 20px 24px 28px;
	}
	.dlist dd {
		margin-left: 7.7em;
	}
	.dlist dd p {
		padding-bottom: 6px !important;
	}
}
@media screen and (max-width: 540px) {
	.dlist:not(.enquete) dt {
		float: none;
		margin-bottom: 10px;
		border-bottom: 1px solid #a0a0a0;
		width: 100% !important;
	}
	.dlist dd {
		margin-left: 0 !important;
		margin-bottom: 22px;
		border-left: none;
		padding-left: 0;
		line-height: 140%;
	}
}
@media screen and (max-width: 480px) {
	.kadomaruWrap {
		padding: 18px 14px 24px;
	}
	.dlist dd p {
		font-size: 11pt !important;
	}
	.dlist dd a.accs {
		margin-top: 8px;
	}
}

#pg section {
	overflow: hidden;
}
#pg section:not(.active) {
	display: none;
}
#pg section:not(:last-child) {
	margin-bottom: var(--tmp-margin40px);
}
#pg section.donan   { --list-color: #ef858c; }
#pg section.doou    { --list-color: #eacc4e; }
#pg section.dohoku  { --list-color: #83cdd2; }
#pg section.okhotsk { --list-color: #a59aca; }
#pg section.tokachi { --list-color: #cca64a; }
#pg section.kushironemuro { --list-color: #7dc163; }
#pg section.company { --list-color: #1f50a2; }
#pg section.other   { --list-color: #c9355f; }

h3.vline, h4.vline {
	margin: 0 0 var(--tmp-margin1_5em);
	text-align: center;
	letter-spacing: 2px;
	line-height: 100%;
}
h3.vline > span, h4.vline > span {
	box-sizing: border-box;
	display: inline-block;
	border: 2px solid #000;
	border-left: none;
	border-right: none;
	width: 100%;
	max-width: 570px;
	padding: 10px 30px;
}
@media screen and (max-width: 640px) {
	h3.vline, h4.vline {
		line-height: 140%;
	}
}
@media screen and (max-width: 480px) {
	h3.vline, h4.vline {
		width: 100%;
		letter-spacing: 1px;
	}
	h3.vline > span, h4.vline > span {
		box-sizing: border-box;
		width: 100%;
		padding-left: 5px;
		padding-right: 5px;
	}
}

.areattl {
	position: relative;
	margin: var(--tmp-margin60px) 0 70px;
	border-left: 0.8em solid var(--list-color);
	border-radius: 100px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	background-color: #eae8d3;
	padding: 8px 15px 10px;
	font-size: var(--tmp-fontsize2);
	color: #000;
	letter-spacing: 1px;
	line-height: 100%;
}
.areattl img {
	position: absolute;
	top: 50%;
	right: 0;
	width: 220px;
	transform: translatey(-50%);
}

.list_link {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: var(--tmp-margin30px);
	width: calc(100% + 30px);
}
.list_link:last-child {
	margin-bottom: 0;
}
.list_link a {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	width: calc((100% - 60px) / 3 - 0.5px);
	background-color: var(--list-color);
	text-align: center;
	color: #fff;
	font-size: var(--tmp-fontsize2);
	padding: 15px 18px;
	text-decoration: none;
	line-height: 140%;
}
.list_link a:hover {
	text-decoration: none;
}
.list_link a.disable {
	pointer-events: none;
}
.list_link a.ver2 {
	font-size: var(--tmp-fontsize3);
}
.list_link a.ver3 {
	font-size: var(--tmp-fontsize5);
	letter-spacing: 1px;
}
.list_link a.ver4 {
	font-size: var(--tmp-fontsize5);
	letter-spacing: 0.5px;
}
.list_link a:hover {
	opacity: 0.9;
}
.list_link a small.multiline {
	display: inline-block;
	line-height: 125%;
	margin-bottom: 2px;
}
.list_link a .label {
	display: inline-block;
	margin-top: 6px;
	border-radius: 3px;
	background-color: #fff;
	padding: 4px 7px 5px;
	color: #e5ac00;
	font-size: 9pt;
	line-height: 100%;
}
.list_link a .label.ver2 {
	color: #4f72bc;
}
.list_link a .label.ver3 {
	color: #7d860e;
}

.list_link li {
	margin-right: 30px;
	margin-bottom: 28px;
	width: calc((100% - 90px) / 3 - 0.5px);
}
.list_link li:not(.active) {
	display: none;
}
.list_link .catIcon {
	position: relative;
	display: block;
	margin-top: 8px;
	border-radius: 2px;
	background-color: #fff;
	min-width: 9.2em;
	max-width: 100%;
	padding: 3px 12px 4px;
	font-size: var(--tmp-fontsize5);
	color: var(--list-color);
	font-weight: bold;
	line-height: 130%;
	overflow: hidden;
}
/*.list_link .catIcon:before {
	box-sizing: border-box;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	width: 100%;
	height: 100%;
	opacity: 0.3;
}
.list_link .catIcon.chotto      { color: #accc43; }
.list_link .catIcon.tour        { color: #feca08; }
.list_link .catIcon.kosodate    { color: #fed88f; }
.list_link .catIcon.kyoryokutai { color: #f8ce10; }
.list_link .catIcon.hoikusanson { color: #f9beb7; }
.list_link .catIcon.jinzai      { color: #f38694; }
.list_link .catIcon.shugyo      { color: #89b6d7; }
.list_link .catIcon.akiyabank   { color: #bb9c83; }
.list_link .catIcon.kigyo       { color: #dc94c0; }
.list_link .catIcon.jutaku      { color: #f6b7d4; }
.list_link .catIcon.telework    { color: #9ba4c2; }
.list_link .catIcon.nichiiki    { color: #d48f96; }
.list_link .catIcon.hudosan     { color: #79aede; }
.list_link .catIcon.workation   { color: #b09ac9; }
.list_link .catIcon.nogyo       { color: #73b897; }
.list_link .catIcon.gyogyo      { color: #6bcff6; }
.list_link .catIcon.ringyo      { color: #87c765; }
.list_link .catIcon.rakuno      { color: #c5a94a; }
.list_link .catIcon.ijusodan    { color: #f68d6f; }
*/
@media (min-width: 901px) {
	#shichoson .list_link li {
		width: calc((100% - 120px) / 4 - 0.1px);
	}
	#shichoson .list_link li:nth-child(n + 4) {
		margin-top: 0;
	}
}
@media (min-width: 1011px) {
	#shichoson .list_link li {
		width: calc((100% - 150px) / 5 - 0.1px);
	}
}
.list_link li a {
	margin: 0 0 10px;
	width: 100%;
	min-height: 56px;
}
.list_link li a:last-child {
	margin-bottom: 0;
}
.list_link li a small {
	display: block;
	margin-top: 1px;
	font-size: var(--tmp-fontsize4);
	line-height: 140%;
}
.list_link li p {
	margin-bottom: 0;
	padding: 0 2px;
	color: #231815;
	font-size: var(--tmp-fontsize4);
	line-height: 164%;
}
@media screen and (max-width: 900px) {
	.list_link {
		width: calc(100% + 15px);
	}
	.list_link a, .list_link li {
		margin-right: 15px;
		width: calc((100% - 45px) / 3 - 0.5px);
	}
}
@media screen and (min-width: 781px) {
	.list_link li a.adjustHeight4 {
		min-height: 100px;
	}
}
@media screen and (max-width: 780px) {
	.areattl {
		margin: 50px 0 60px;
	}
	.areattl img {
		width: 190px;
	}
	#kigyo .list_link li {
		margin-bottom: 22px;
		width: calc((100% - 30px) / 2 - 0.5px);
	}
	#kigyo .list_link li:nth-child(even) {
		margin-right: 0;
	}
}
@media screen and (min-width: 521px) {
	.list_link li a.adjustHeight {
		min-height: 82px;
	}
	.list_link li a.adjustHeight3 {
		min-height: 97px;
	}
}
@media screen and (max-width: 780px) and (min-width: 521px) {
	.list_link li a.adjustHeight2 {
		min-height: 82px;
	}
	.list_link li a.adjustHeight4 {
		min-height: 97px;
	}
	.list_link li a.adjustHeight.off2,
	.list_link li a.adjustHeight3.off2 {
		min-height: auto;
	}
}
@media screen and (max-width: 620px) {
	#shichoson .list_link .catIcon {
		width: calc(100% - 20px);
		min-width: auto;
	}
}
@media screen and (max-width: 520px) {
	.areattl {
		margin: 40px 0 50px;
	}
	.areattl img {
		width: 160px;
	}
	#shichoson .list_link {
		width: calc(100% + 8px);
	}
	#shichoson .list_link li {
		margin-right: 8px;
		margin-bottom: 14px;
		width: calc((100% - 24px) / 3 - 0.5px);
	}
	#shichoson .list_link li a {
		min-height: 40px;
		padding: 9px;
	}
	#kigyo .list_link {
		width: 100%;
	}
	#kigyo .list_link a {
		margin-right: 0;
		margin-bottom: 8px;
		width: 100%;
	}
	#kigyo .list_link li {
		margin-right: 0;
		margin-bottom: 22px;
		width: 100%;
	}
	#shichoson .list_link .catIcon {
		width: calc(100% - 10px);
		padding-left: 5px;
		padding-right: 5px;
	}
}
@media screen and (max-width: 440px) {
	.areattl {
		margin: 30px 0 40px;
	}
	.areattl img {
		width: 140px;
	}
}

.frmBlk {
	background-color: #fff;
}
.toform {
	clear: both;
	text-align: center;
}
#about .toform {
	margin-top: -20px;
	margin-bottom: 14px;
}
#pg .toform {
	margin-top: var(--tmp-margin30px);
}
#seminars .toform {
	margin-bottom: 50px;
}
#pg .toform:first-child {
	margin-top: 0;
	margin-bottom: 80px;
}
.toform a {
	display: inline-block;
	border: 3px solid #a51400;
	border-radius: 6px;
	width: 400px;
	max-width: 100%;
	padding: 20px 0 22px;
	background-color: var(--tmp-ribbonRed);
	text-align: center;
	color: #fff;
	font-size: var(--tmp-fontsize-hd4);
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 2px;
	line-height: 100%;
	text-shadow: 3px 2px 0px #6d2d2d;
}
.toform a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.toform a[disabled] {
	margin-bottom: 15px;
	border-color: #888;
	background-color: #eee;
	pointer-events: none;
	text-shadow: 3px 2px 0px #999;
	opacity: 0.4 !important;
}
.toform .att {
	display: block;
	margin: 0 auto;
	width: calc(100% - 20px);
	text-align: center !important;
	line-height: 160% !important;
}
#about .toform .att {
	margin: 0 auto;
}
.toform .att.black {
	color: #000;
	text-align: center !important;
	margin-top: 10px !important;
}

.toform2 {
	margin: 0 auto;
	clear:both;
	text-align:center;
	padding:50px 0;
	width:calc(100% - 20px);
}
.toform2 img {
	width:100%;
	max-width: 384px;
}
@media screen and (max-width: 480px) {
	#pg .toform:first-child {
		margin-bottom: 60px;
	}
	.toform a {
		width: 300px;
	}
}

#seminars {
	background-color: #dbf2fd;
}
.backTop {
	background-color: var(--tmp-themeColor2);
	text-align: center;
}
.backTop a.btn {
	display: block;
	border-radius: 6px;
	padding: 16px 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 1px;
}
.backTop a.btn span {
	display: inline-block;
	margin-right: 5px;
}
.backTop:hover {
	filter: brightness(1.05);
}
.backTop a.btn:hover {
	opacity: 1;
}

.backTop a .arrow {
	position: relative;
	width: 1.2em;
	height: 1.2em;
	overflow: hidden;
	vertical-align: middle;
	transform: translateY(-3px) rotate(180deg);
}
.backTop a .arrow:before {
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	right: 8px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	border-radius: 2px;
	transform: rotate(45deg) translatey(-48%);
}
.backTop a .arrow:after {
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	right: 5px;
	width: 100%;
	height: 0;
	border-top: 2px solid #fff;
	transform: translateY(0.5px);
}

#countermeasure {
	box-sizing: border-box;
	margin: 80px auto 40px;
	width: 100%;
	max-width: 805px;
	padding: 30px 70px;
	background-color: #fff0f0;
	transition: padding 0.8s cubic-bezier(0, 0, 0.38, 1);
	will-change: padding;
}
#countermeasure.active {
	padding-top: 90px;
	padding-bottom: 90px;
}
#countermeasure .expander {
	box-sizing: border-box;
	overflow: hidden;
	transition: height 0.8s cubic-bezier(0, 0, 0.38, 1);
	will-change: height;
}
#countermeasure:not(.active) .expander {
	height: 1px !important;
}
#countermeasure .expander > div {
	margin-bottom: 0;
	padding-bottom: 3em;
}
#countermeasure .expander > div > *:last-child {
	margin-bottom: 0 !important;
}
#countermeasure .togglebtn a {
	display: inline-block;
	border-radius: 20px;
	background-color: #000;
	padding: 10px 40px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	line-height: 100%;
}
#countermeasure .togglebtn a:hover {
	opacity: 0.8;
}

#countermeasure h3 {
	margin: 0 0 1em;
	text-align: center;
	font-size: 1.8rem;
	line-height: 160%;
	transition: margin 0.8s cubic-bezier(0, 0, 0.38, 1);
	will-change: margin;
}
#countermeasure.active h3 {
	margin-bottom: 2.5em;
}
#countermeasure p {
	margin: 0;
	font-size: 1.2rem;
	letter-spacing: 1px;
	line-height: 160%;
}

#countermeasure ol.boldNum {
	margin: 0;
	padding-left: 25px;
	list-style: none;
}
#countermeasure ol.boldNum > li {
	position: relative;
	font-weight: bold;
	letter-spacing: 1px;
}
#countermeasure ol.boldNum > li:not(:last-child) {
	margin-bottom: 2em;
}
#countermeasure ol.boldNum > li p {
	margin-bottom: 8px;
	font-weight: normal;
}
#countermeasure ol.boldNum > li > p strong {
	color: #d00;
	text-decoration: underline;
}
#countermeasure ol.boldNum > li::before {
	position: absolute;
	top: 0;
	left: -23px;
	display: inline-block;
	margin-right: 8px;
	line-height: 17px;
	text-align: center;
}
#countermeasure ol.boldNum > li:nth-child(1)::before { content: "1."; }
#countermeasure ol.boldNum > li:nth-child(2)::before { content: "2."; }
#countermeasure ol.boldNum > li:nth-child(3)::before { content: "3."; }
#countermeasure ol.boldNum > li:nth-child(4)::before { content: "4."; }
#countermeasure ol.boldNum > li:nth-child(5)::before { content: "5."; }
#countermeasure ol.boldNum > li:nth-child(6)::before { content: "6."; }
#countermeasure ol.boldNum > li:nth-child(7)::before { content: "7."; }
#countermeasure ol.boldNum > li:nth-child(8)::before { content: "8."; }
#countermeasure ol.boldNum > li:nth-child(9)::before { content: "9."; }

ol.kakkoNum {
    margin: 12px 0 5px;
    padding-left: 35px;
    list-style: none;
    font-weight: normal;
}
ol.kakkoNum > li {
	position: relative;
}
ol.kakkoNum > li:not(:last-child) {
	margin-bottom: 1.5em;
}
ol.kakkoNum > li::before {
	position: absolute;
	top: 0;
	left: -32px;
	display: inline-block;
	line-height: 17px;
	text-align: center;
}
ol.kakkoNum > li:nth-child(1)::before { content: "(1)"; }
ol.kakkoNum > li:nth-child(2)::before { content: "(2)"; }
ol.kakkoNum > li:nth-child(3)::before { content: "(3)"; }
ol.kakkoNum > li:nth-child(4)::before { content: "(4)"; }
ol.kakkoNum > li:nth-child(5)::before { content: "(5)"; }
ol.kakkoNum > li:nth-child(6)::before { content: "(6)"; }
ol.kakkoNum > li:nth-child(7)::before { content: "(7)"; }
ol.kakkoNum > li:nth-child(8)::before { content: "(8)"; }

ol.circleNum {
    margin: 12px 0 0;
    padding-left: 25px;
    list-style: none;
    font-weight: normal;
}
ol.circleNum > li {
	position: relative;
	font-size: 11pt;
	line-height: 140%;
}
ol.circleNum > li:not(:last-child) {
	margin-bottom: 0.5em;
}
ol.circleNum > li::before {
	position: absolute;
	top: 0;
	left: -23px;
	display: inline-block;
	text-align: center;
}
ol.circleNum > li:nth-child(1)::before { content: "\2460"; }
ol.circleNum > li:nth-child(2)::before { content: "\2461"; }
ol.circleNum > li:nth-child(3)::before { content: "\2462"; }
ol.circleNum > li:nth-child(4)::before { content: "\2463"; }

@media screen and (max-width: 680px) {
	#countermeasure {
		padding-left: 40px;
		padding-right: 40px;
	}
	#countermeasure.active {
		padding-top: 70px;
		padding-bottom: 70px;
	}
}
@media screen and (max-width: 540px) {
	#countermeasure {
		font-size: 10pt;
	}
	#countermeasure h3 {
		font-size: 12pt;
	}
	ol.circleNum > li {
		font-size: 9pt;
	}
}
@media screen and (max-width: 480px) {
	#countermeasure {
		margin-top: 40px;
		padding-left: 20px;
		padding-right: 20px;
	}
	#countermeasure.active {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	#countermeasure.active h3 {
		margin-bottom: 1.2em;
	}
	#countermeasure ol.boldNum {
		padding-left: 20px;
	}
	#countermeasure ol.boldNum > li::before {
		left: -18px;
	}
}
.inbl {
	display: inline-block;
}

#about.blk.ver2 {
	/*background-color: #e2efc3;*/
}
#about .inner{
	max-width: 940px;
}
#about section:not(:last-child) {
	margin-bottom: var(--tmp-margin60px);
}
#about section.card {
	/*margin-bottom: 90px;*/
}
#about section.card h4 {
	margin-bottom: 25px;
	text-align: center;
}
.colimg {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin: 20px 0 5px;
}
.colimg img {
	display: block;
	width: calc(50% - 15px);
}
#about section .ctr {
	margin-top: 30px;
}
#about section a.btn {
	display: inline-block;
	border-radius: 6px;
	width: 260px;
	padding: 16px 0;
	background-color: #01617c;
	text-align: center;
	color: #fff;
	font-size: 13pt;
	font-weight: bold;
	text-decoration: none;
	letter-spacing: 1px;
}
#about section a.btn:hover {
	opacity: 0.8;
}

#about p {
	margin-bottom: var(--tmp-margin1em);
}
#about .colimg + p {
	margin: 0;
	font-size: var(--tmp-fontsize4);
	line-height: 160%;
}
#about p + p {
	margin-top: 0.2em;
}
@media screen and (max-width: 580px) {
	.colimg img {
		width: calc(50% - 8px);
	}
}

#seminars .inner {
	max-width: 1000px;
}
#seminars h3.blktitle {
	margin-bottom: 1.5em;
	line-height: 120%;
}
#seminars h3.blktitle > span {
	padding-bottom: 20px;
}
#seminars p {
	margin-bottom: 1.2em;
	font-size: 1.6rem;
	line-height: 140%;
}
#seminars .seminar {
	background: #fff;
	margin-bottom: 36px;
	padding: 40px 50px 50px;
	box-sizing: border-box;
	/*border: solid 1px #ddd;*/
}
#seminars .seminar:last-child {
	margin-bottom: 0;
}
#seminars .seminar .c2 {
	margin-bottom: 20px;
	padding-bottom: 2px;
	font-size: 12pt;
}
#seminars .seminar .c2:last-child {
	margin-bottom: 0;
}
#seminars .seminar .sptitle {
	margin-bottom: 18px;
}
#seminars .seminar .sptitle.ver2 {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
}
#seminars .seminar p.fp4 + .c2 {
	margin-top: 50px;
}
#seminars .seminar .smn-ph {
	float: right;
	width: 100px;
	padding-bottom: 8px;
}
#seminars .seminar h3 {
	margin: 0;
	text-align: left;
	font-size: 2.7rem;
	line-height: 1.3;
	letter-spacing: 1.5px;
	padding: 0;
}
#seminars .seminar h3 small {
	display: block;
	margin-bottom: 5px;
	font-size: 12pt;
	line-height: 140%;
}
#seminars .seminar .smn-info > h4 {
	font-size: 12pt;
	font-weight: normal;
	letter-spacing: 0.5px;
	padding: 0 0 4px 2px;
	margin: 0 0 8px;
	border-bottom: solid 2px #aaa;
}
#seminars .seminar .fp4 {
	margin-bottom: 0;
	font-size: 1.5rem;
	line-height: 150%;
	letter-spacing: 0.5px;
	text-align: justify;
}
#seminars .seminar .fp4 + .fp4 {
	margin-top: 10px;
}
#seminars .seminar .fp5 {
	font-size: 12pt;
	line-height: 1.5;
	letter-spacing: 0.5px;
	margin: 0px;
}
#seminars .seminar .fp5 big {
	font-size: 2rem;
}
#seminars .seminar .bld {
	font-size: 12pt;
	font-weight: bold;
}
#seminars .seminar .ic_clock {
	width: 20px;
	margin: 0 6px 0 0;
	vertical-align: sub;
}
#seminars .seminar .lcname {
	display: inline-block;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.2;
	color: #0D8C55;
	border: 2px solid #42a77b;
	background-color: #f6ffda;
	padding: 9px 14px 8px 15px;
	margin: 8px 0 10px;
	border-radius: 2px;
}
#seminars .seminar .present {
	flex-shrink: 0;
	box-sizing: border-box;
	margin-left: 1em;
	border-radius: 6px;
	background-color: #fcb1d7;
	padding: 12px 10px;
	text-align: center;
	color: #fff;
	letter-spacing: 0.5px;
	width: 16em;
}
#seminars .seminar .present h4, #seminars .seminar .present p {
	margin: 0;
	text-align: center;
}
#seminars .seminar .present h4 {
	margin-bottom: 3px;
	font-size: 13pt;
	font-weight: normal;
}
#seminars .seminar .present p {
	font-size: 12pt;
	line-height: 140%;
}
#seminars .seminar .present p big {
	display: inline-block;
	margin-top: 2px;
	font-size: 12.5pt;
}
#seminars .seminar .sptitle.ver2.long {
	display: block;
}
#seminars .seminar .sptitle.ver2.long .present {
	margin: 15px auto 0;
	width: 100%;
}
@media screen and (max-width: 740px) {
	#seminars .seminar {
		padding: 20px 30px 30px;
	}
	#seminars .seminar h3 {
		font-size: 17pt;
	}
}
@media screen and (max-width: 680px) {
	section#seminars > h4 {
		font-size: 16pt;
	}
	#seminars .seminar .c2 {
		display: block;
		margin-bottom: 14px;
	}
	#seminars .seminar .smn-info, #seminars .seminar .smn-ph {
		float: none;
		width: 100%;
	}
	#seminars .seminar .c2:not(:last-child) .smn-info {
		margin-bottom: 15px;
	}
	#seminars .seminar .smn-phr {
		margin: 0 auto;
	}
	#seminars .seminar .fp5.rgt {
		text-align: left;
	}
	#seminars .seminar .fp4 {
		font-size: 10pt;
	}
	#seminars .seminar .sptitle.ver2 {
		display: block;
	}
	#seminars .seminar .present {
		margin: 15px auto 0;
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	#seminars .seminar h3 {
		font-size: 14pt;
	}
	#seminars .seminar h3 small {
		margin-bottom: 2px;
		font-size: 11pt;
	}
}
@media screen and (max-width: 480px) {
	#seminars .seminar .c2 {
		border-top-width: 1px;
	}
	#seminars .seminar .lcname {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 420px) {
	#seminars .seminar {
		padding: 20px 15px 25px;
	}
	#seminars .seminar .sptitle.ver2,
	#seminars .seminar .c2:not(:last-child) .smn-info {
		margin-bottom: 12px;
	}
}

#finished {
	background-color: #fff;
	text-align: center;
}
#finished h3.blktitle {
	margin-bottom: 1.3em;
	line-height: 140%;
}
#finished img {
	display: inline-block;
	margin-bottom: 20px;
	width: 100%;
	max-width: 400px;
}
#finished p {
	margin-bottom: 0;
	text-align: center;
	line-height: 160%;
}
@media screen and (max-width: 420px) {
	#finished h3.blktitle {
		letter-spacing: 0.5px;
	}
}

ul.kome li {
	position: relative;
	padding-left: 1.1em;
	line-height: 160%;
}
ul.kome li:before {
	content: "\203B";
	position: absolute;
	left: 0;
}
@media screen and (max-width: 480px) {
	ul.kome li {
		line-height: 140%;
	}
}

.listlinks {
	margin-bottom: 70px;
	text-align: center;
	font-size: 17pt;
}
.listlinks.ver2 {
	margin-bottom: 30px;
}
.listlinks a {
	display: inline-block;
	border: 3px solid #fff;
	border-radius: 100px;
	background-color: #0D8C55;
	padding: 11px 44px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}
.listlinks a:hover {
	text-decoration: none;
}
.listlinks a:not(:last-child) {
	margin-right: 30px;
}
@media screen and (max-width: 640px) {
	.listlinks {
		font-size: 14pt;
	}
	.listlinks a:not(:last-child) {
		margin-right: 20px;
	}
}
@media screen and (max-width: 580px) {
	.listlinks {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}
	.listlinks a:not(:last-child) {
		margin-right: 0;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 480px) {
	.listlinks {
		margin-bottom: 44px;
	}
	.listlinks.ver2 {
		margin-bottom: 10px;
	}
}

/* menu */
#menu {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	width: 100%;
	background-color: var(--tmp-themeColor);
	padding: 18px 36px 16px;
	color: #fff;
	z-index: 999;
}
#menu h1 {
	margin-bottom: 0;
}
#menu h1 number {
	font-size: 108%;
	letter-spacing: 0.5px;
}
#menu .oline {
	display: inline-block;
	margin-right: 0.6rem;
	border: solid 1px #ccc;
	border-radius: 100px;
	padding: 5px 8px 6px;
	box-sizing: border-box;
	line-height: 100%;
	vertical-align: middle;
	transform: translateY(-2px);
}
#navmenu {
	line-height: 170%;
}
#menu a {
	color: #fff;
	letter-spacing: 0.5px;
	text-decoration: none;
	margin-left: 20px;
}
#menu .rgt a:first-child {
	margin-left: 0;
}
#menu a.sp {
	padding: 9px 20px;
	border-radius: 100px;
	color: #3965b0;
	background-color: #bdd8ee;
}
#menu a.never {
	color: #8fa0bf;
	pointer-events: none;
}
#menu + #slide {
	margin-top: 64px;
}
@media screen and (max-width: 1310px) {
	#menu {
		padding-left: 22px;
		padding-right: 22px;
	}
	#menu .oline {
		padding-bottom: 4px;
	}
	#menu a {
		margin-left: 15px;
	}
	#menu + #slide {
		margin-top: 63px;
	}
}
@media screen and (min-width: 1161px) {
	#navmenu .menu-toggle {
		display: none;
	}
}
@media screen and (max-width: 1160px) {
	#menu {
		padding: 12px 22px;
	}
	
	#navmenu .menu-toggle {
		box-sizing: border-box;
		position: absolute;
		top: 9px;
		right: 14px;
		display: block;
		border: none;
		border-radius: 3px;
		width: 43px;
		height: 34px;
		background-color: transparent;
		padding: 6px;
		box-shadow: none;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
		z-index: 122;
		cursor: pointer;
		transition: border 0.6s;
		filter: drop-shadow(0px 0px 2px #999);
	}
	#navmenu .menu-toggle:focus {
		outline: 0;
	}
	#navmenu .menu-toggle > div {
		position: relative;
		margin-top: 7px;
		margin-bottom: 7px;
	}
	#navmenu .menu-toggle > div, #navmenu .menu-toggle > div:before, #navmenu .menu-toggle > div:after {
		display: block;
		width: 30px;
		height: 2px;
		background-color: #fff;
		transition-property: background-color, transform;
		transition-duration: 0.3s;
	}
	#navmenu .menu-toggle > div:before, #navmenu .menu-toggle > div:after {
	  position: absolute;
	  content: "";
	}
	#navmenu .menu-toggle > div:before {
	  top: -8.2px;
	}
	#navmenu .menu-toggle > div:after {
	  top: 8.2px;
	}
	#navmenu.toggled .menu-toggle {
		filter: none;
	}
	#navmenu.toggled .menu-toggle > div:before {
		top: -8px;
	}
	#navmenu.toggled .menu-toggle > div:after {
		top: 6px;
	}
	#navmenu.toggled .menu-toggle > div {
	  background-color: transparent;
	}
	#navmenu.toggled .menu-toggle > div:before {
	  -moz-transform: translateY(7px) rotate(45deg);
	  -ms-transform: translateY(7px) rotate(45deg);
	  -webkit-transform: translateY(7px) rotate(45deg);
	  transform: translateY(7px) rotate(45deg);
	}
	#navmenu.toggled .menu-toggle > div:after {
	  -moz-transform: translateY(-7px) rotate(-45deg);
	  -ms-transform: translateY(-7px) rotate(-45deg);
	  -webkit-transform: translateY(-7px) rotate(-45deg);
	  transform: translateY(-7px) rotate(-45deg);
	}
	
	#navmenu .rgt {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		overflow: hidden;
		pointer-events: none;
	}
	#navmenu .rgt .links {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		background: #3b5c9a;
		padding: 5px 0 20px;
		transform: translateY(-100%);
		transition: transform 0.2s cubic-bezier(0, 0, 0.4, 1);
		pointer-events: auto;
	}
	#navmenu .rgt .links.ontop {
		padding-bottom: 2px;
	}
	#navmenu.toggled .rgt .links {
		transform: translateY(0%);
		-webkit-text-size-adjust: 100%;
	}
	#navmenu a {
		margin-left: 0;
	}
	#navmenu a:not(.sp) {
		display: block;
		border-bottom: 1px solid #b6b6b6;
		width: 100%;
		padding: 14px 5px;
		text-align: center;
		line-height: 100%;
	}
	#navmenu a:not(.sp):last-child {
		border-bottom: none;
	}
	#navmenu a.sp {
		margin-top: 15px;
		padding: 10px 40px;
		font-weight: bold;
	}
	#menu + #slide {
		margin-top: 53px;
	}
}
@media screen and (max-width: 960px) {
	#menu + #slide {
		margin-top: 51px;
	}
}
@media screen and (max-width: 560px) {
	#menu {
		padding: 10px 10px;
	}
	#menu h1.fp4 .onpc {
		display: none;
	}
	#navmenu .menu-toggle {
		top: 6px;
		right: 8px;
	}
	#menu + #slide {
		margin-top: 47px;
	}
}
@media screen and (max-width: 480px) {
	#menu + #slide {
		margin-top: 45px;
	}
}
@media screen and (max-width: 420px) {
	#navmenu .menu-toggle {
		top: 8px;
		right: 5px;
		width: 34px;
		height: 28px;
	}
	#navmenu .menu-toggle > div, 
	#navmenu .menu-toggle > div:before, 
	#navmenu .menu-toggle > div:after {
		width: 24px;
	}
	#navmenu .menu-toggle > div:before {
		top: -7.2px;
	}
	#navmenu .menu-toggle > div:after {
		top: 7.2px;
	}
	#navmenu.toggled .menu-toggle > div:before {
		top: -7px;
	}
	#navmenu.toggled .menu-toggle > div:after {
		top: 7px;
	}
}

.boothFilter {
	margin-bottom: var(--tmp-margin60px);
}
.boothFilter h3 {
	margin-bottom: var(--tmp-margin1_5em);
}
.boothFilter label {
	cursor: pointer;
}
.boothFilter button.reset {
	cursor: pointer;
}
.boothFilter .cols2 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: var(--tmp-margin40px);
}
.boothFilter .cols2 h4 {
	font-size: var(--tmp-fontsize2);
}
.boothFilter .cols2 ul {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: calc(100% - 140px);
}
.boothFilter .cols2 ul.area li {
	box-sizing: border-box;
	margin-right: 24px;
	width: calc((100% - 96px) / 5);
}
.boothFilter .cols2 ul.area li input[type=checkbox] + label {
	box-sizing: border-box;
	display: inline-block;
	border-radius: 100px;
	background-color: #eee;
	width: 100%;
	padding: 7px 10px 9px;
	text-align: center;
	color: #909090;
	font-size: var(--tmp-fontsize3);
	line-height: 130%;
}
.boothFilter .cols2 ul.area li input[type=checkbox] + label:hover {
	opacity: 0.9;
}
.boothFilter .cols2 ul.area li input[type=checkbox] + label:before,
.boothFilter .cols2 ul.area li input[type=checkbox] + label:after {
	content: none;
}
.boothFilter .cols2 ul.area li input[type=checkbox]:checked + label {
	background-color: #000;
	color: #fff;
	font-weight: bold;
}
.boothFilter .cols2 ul.area li input[type=checkbox][value=donan]:checked + label { background-color: #ef858c; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=doou]:checked + label { background-color: #eacc4e; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=dohoku]:checked + label { background-color: #83cdd2; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=okhotsk]:checked + label { background-color: #a59aca; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=tokachi]:checked + label { background-color: #cca64a; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=kushironemuro]:checked + label { background-color: #7dc163; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=company]:checked + label { background-color: #1f50a2; }
.boothFilter .cols2 ul.area li input[type=checkbox][value=other]:checked + label { background-color: #c9355f; }

.boothFilter .cols2 ul.category li {
	box-sizing: border-box;
	margin-right: 24px;
	width: calc((100% - 72px) / 4);
}
.boothFilter .cols2 ul.category li input[type=checkbox] + label {
	display: inline-block;
	padding-left: 1.7em;
	text-align: left;
	font-size: var(--tmp-fontsize4);
}
.boothFilter .cols2 ul.category li input[type=checkbox] + label:before,
.boothFilter .cols2 ul.category li input[type=checkbox] + label:after {
	top: 0.75em;
}
.boothFilter .cols2 ul.category li input[type=checkbox]:checked + label:after {
	border-color: var(--tmp-themeColor);
	background-color: var(--tmp-themeColor);
}
.boothFilter .cols2 ul.category li input[type=checkbox] + label:hover {
	opacity: 0.8;
}
.boothFilter .result {
	text-align: center;
	color: #231815;
	font-weight: bold;
	font-size: var(--tmp-fontsize-hd4);
	line-height: 160%;
}
.boothFilter .result:empty {
	display: none;
}
.boothFilter .result number {
	margin-right: 0.1em;
	color: #000;
	font-size: 150%;
}
.boothFilter .result.error {
	color: #ff3737;
}
.boothFilter .result small {
	font-size: var(--tmp-fontsize3);
}
.boothFilter .btn {
	text-align: center;
}
.boothFilter .btn button {
	display: inline-block;
	border-radius: 6px;
	background-color: var(--tmp-themeColor);
	padding: 11px 40px 10px;
	text-align: center;
	color: #fff;
	font-size: var(--tmp-fontsize4);
	font-weight: bold;
	line-height: 100%;
}

.emptyAtt:not(.active) {
	display: none;
}
@media (min-width: 991px) {
	.boothFilter .cols2 ul.area li:nth-child(5n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.area li:nth-child(n + 6) {
		margin-top: 18px;
	}
	.boothFilter .cols2 ul.category li:nth-child(4n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.category li:nth-child(n + 5) {
		margin-top: 18px;
	}
}
@media (max-width: 990px) {
	.boothFilter .cols2 ul.area li {
		width: calc((100% - 72px) / 4);
	}
	.boothFilter .cols2 ul.category li {
		width: calc((100% - 48px) / 3);
	}
}
@media (max-width: 840px) {
	.boothFilter .cols2 {
		display: block;
	}
	.boothFilter .cols2 ul {
		width: 100%;
	}
}
@media (max-width: 990px) and (min-width: 581px){
	.boothFilter .cols2 ul.area li:nth-child(4n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.area li:nth-child(n + 5) {
		margin-top: 18px;
	}
	.boothFilter .cols2 ul.category li:nth-child(3n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.category li:nth-child(n + 4) {
		margin-top: 18px;
	}
}
@media (max-width: 580px) {
	.boothFilter .cols2 ul.area li {
		width: calc((100% - 48px) / 3);
	}
	.boothFilter .cols2 ul.area li:nth-child(3n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.area li:nth-child(n + 4) {
		margin-top: 18px;
	}
	.boothFilter .cols2 ul.category li {
		width: calc((100% - 24px) / 2);
	}
	.boothFilter .cols2 ul.category li:nth-child(2n) {
		margin-right: 0;
	}
	.boothFilter .cols2 ul.category li:nth-child(n + 3) {
		margin-top: 18px;
	}
}
@media (max-width: 480px) {
	.boothFilter .cols2 ul.area li {
		margin-right: 15px;
		width: calc((100% - 30px) / 3);
	}
	
}
