@charset "UTF-8";
/*-------------------------
 * 
 * 
 * 
 * リセット
 * 
 * 
 * 
-------------------------*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){block-size:100%;block-size:100dvb;line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/*-------------------------
 * 
 * 
 * 
 * 基本設定
 * 
 * 
 * 
-------------------------*/

html {
	overflow-y: scroll;
}

html, body {
	height: 100%;
}

body {
	font: normal 400 16px/1.75 "Noto Sans JP", sans-serif;
	color: #444;
	background: #E8E8E8;
	position: relative;
	overflow-x: clip;
}

a:link,
a:visited {
	color: #444;
	text-decoration: none;
	transition: .3s ease;
}

a:hover,
a:active {
	color: #444;
	text-decoration: none;
}

::selection {
	background: rgba(186, 175, 157, .6);
	color: #fefefe;
}

::-moz-selection {
	background: rgba(186, 175, 157, .6);
	color: #fefefe;
}

/*-------------------------
 * 
 * 
 * 
 * フォント
 * 
 * 
 * 
-------------------------*/

.-bs {
	font-family: "corporate-logo-ver2", sans-serif;
	font-style: normal;
}

/*@font-face {
	font-family: "cornerstone";
	src:url(../fonts/cornerstone.woff2) format('woff2'),
	url(../fonts/cornerstone.woff) format('woff'),
	url(../fonts/cornerstone.eot) format('embedded-opentype');
	font-display: swap;
}*/

.-cs {
	/*font-family: cornerstone;*/
	font-family: oxanium, sans-serif;
	font-weight: 800;
	font-style: normal;
}

.-noto {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/* Thin */
.-fw_100 {
	font-weight: 100;
}

/* Light */
.-fw_300 {
	font-weight: 300;
}

/* Regular */
.-fw_400 {
	font-weight: 400;
}

/* Medium */
.-fw_500 {
	font-weight: 500;
}

/* Bold */
.-fw_700 {
	font-weight: 700;
}

/* ExtraBold */
.-fw_800 {
	font-weight: 800;
}

/* Black */
.-fw_900 {
	font-weight: 900;
}

/*-------------------------
 * 
 * 
 * 
 * ユーティリティ
 * 
 * 
 * 
-------------------------*/
/*-------------------------
 * 
 * 画像
 * 
-------------------------*/

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}

.-pic {
	display: block;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}

.-pic > .-img {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	padding-top: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.-thumb {
	display: block;
	overflow: hidden;
}

.-thumb .-img {
	display: block;
	transition: .3s ease;
}

a:hover .-thumb .-img {
	transform: scale(1.1);
}

/*-------------------------
 * 
 * リンクホバー
 * 
-------------------------*/

@media (min-width: 961px) {

	a img {
		opacity: 1;
		transition: .3s ease;
	}

	a:hover img {
		opacity: .7;
	}
	
}

/*-------------------------
 * 
 * テキスト
 * 
-------------------------*/

.-text_box > * {
	margin-bottom: 2em;
}

.-text_box > *:last-child {
	margin-bottom: 0;
}

.-ls_-50 {
	letter-spacing: -.05em;
}

.-ls_-25 {
	letter-spacing: -.025em;
}

.-ls_-15 {
	letter-spacing: -.015em;
}

.-ls_15 {
	letter-spacing: .015em;
}

.-ls_25 {
	letter-spacing: .025em;
}

.-ls_50 {
	letter-spacing: .05em;
}

.-ls_75 {
	letter-spacing: .075em;
}

.-ls_100 {
	letter-spacing: .1em;
}

.-ls_125 {
	letter-spacing: .125em;
}

.-ls_150 {
	letter-spacing: .15em;
}

.-ls_200 {
	letter-spacing: .2em;
}

.-ls_225 {
	letter-spacing: .225em;
}

.-ls_250 {
	letter-spacing: .25em;
}

@media (max-width: 640px) {

	.-text_box > * {
		margin-bottom: 1.5em;
	}
	
}

/*-------------------------
 * 
 * インナー
 * 
-------------------------*/

* > .-inner {
	width: 92%;
	margin: 0 auto;
}

/*-------------------------
 * 
 * 
 * 
 * コンポーネント
 * 
 * 
 * 
-------------------------*/
/*-------------------------
 * 
 * WHJロゴ
 * 
-------------------------*/

.-whj {
	background: no-repeat center center / cover;
}

.-whj.-k {
	width: 86px;
	height: 281px;
	background-image: url(../images/common/whj/whj_k.svg);
}

.-whj.-gy {
	width: 50px;
	height: 165px;
	background-image: url(../images/common/whj/whj_gy.svg);
}

.-whj.-w {
	width: 45px;
	height: 149px;
	background-image: url(../images/common/whj/whj_w.svg);
}

.-whj.-gr {
	width: 80px;
	height: 264px;
	background-image: url(../images/common/whj/whj_gr.svg);
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	.-whj.-k {
		width: 60px;
		height: 197px;
	}

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * 背景
 * 
-------------------------*/

.-grad {
	background-color: hsla(0, 0%, 100%, 1);
	background-image:
		radial-gradient(at 100% 0%, hsla(266,100%,93%,1) 0px, transparent 50%),
		radial-gradient(at 76% 0%, hsla(178,100%,85%,1) 0px, transparent 50%),
		radial-gradient(at 53% 0%, hsla(82,95%,85%,1) 0px, transparent 50%),
		radial-gradient(at 100% 100%, hsla(341,100%,86%,1) 0px, transparent 50%),
		radial-gradient(at 0% 0%, hsla(359,100%,89%,1) 0px, transparent 50%),
		radial-gradient(at 33% 0%, hsla(58,100%,71%,1) 0px, transparent 50%),
		radial-gradient(at 16% 0%, hsla(28,100%,74%,1) 0px, transparent 50%),
		radial-gradient(at 56% 100%, hsla(189,100%,81%,1) 0px, transparent 50%),
		radial-gradient(at 0% 99%, hsla(54,100%,83%,1) 0px, transparent 50%),
		radial-gradient(at 0% 57%, hsla(42,100%,85%,1) 0px, transparent 50%),
		radial-gradient(at 100% 52%, hsla(287,100%,86%,1) 0px, transparent 50%);
	background-repeat: no-repeat;
	background-size: cover;
}

.-grad_sp {
	background: none;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

	.-grad_sp {
		background-color: hsla(0, 0%, 100%, 1);
		background-image:
			radial-gradient(at 100% 0%, hsla(266,100%,93%,1) 0px, transparent 50%),
			radial-gradient(at 76% 0%, hsla(178,100%,85%,1) 0px, transparent 50%),
			radial-gradient(at 53% 0%, hsla(82,95%,85%,1) 0px, transparent 50%),
			radial-gradient(at 100% 100%, hsla(341,100%,86%,1) 0px, transparent 50%),
			radial-gradient(at 0% 0%, hsla(359,100%,89%,1) 0px, transparent 50%),
			radial-gradient(at 33% 0%, hsla(58,100%,71%,1) 0px, transparent 50%),
			radial-gradient(at 16% 0%, hsla(28,100%,74%,1) 0px, transparent 50%),
			radial-gradient(at 56% 100%, hsla(189,100%,81%,1) 0px, transparent 50%),
			radial-gradient(at 0% 99%, hsla(54,100%,83%,1) 0px, transparent 50%),
			radial-gradient(at 0% 57%, hsla(42,100%,85%,1) 0px, transparent 50%),
			radial-gradient(at 100% 52%, hsla(287,100%,86%,1) 0px, transparent 50%);
		background-repeat: no-repeat;
		background-size: cover;
	}

}

/*-------------------------
 * 
 * ボタン 01
 * 
-------------------------*/

.btn_01 a {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 14px;
	width: 210px;
	height: 50px;
	background: #444;
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 20px;
}

.btn_01 a:hover {
	color: #ccc;
}

.btn_01 a::before {
	display: block;
	content: '';
	width: 11px;
	height: 18px;
	background: url(../images/common/arrow_01/arrow_r_gy.svg) no-repeat center center / cover;
	transition: .3s ease;
	position: relative;
	right: 0;
}

.btn_01 a:hover::before {
	/*margin-right: -4px;*/
	right: -4px;
	/*margin-left: 4px;*/
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * ボタン 02
 * 
-------------------------*/

.btn_02 a {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 14px;
	width: 210px;
	height: 50px;
	background: #BAAF9D;
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 20px;
}

.btn_02 a:hover {
	color: #EAE7E1;
}

.btn_02 a::before {
	display: block;
	content: '';
	width: 11px;
	height: 18px;
	background: url(../images/common/arrow_01/arrow_r_w.svg) no-repeat center center / cover;
	transition: .3s ease;
	position: relative;
	right: 0;
}

.btn_02 a:hover::before {
	/*margin-right: -4px;*/
	right: -4px;
	/*margin-left: 4px;*/
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * 波形
 * 
-------------------------*/

.-wave {
	width: 100%;
	background: no-repeat center center / cover;
}

.-wave.-k > .-img {
	padding-top: 5.58%;
	background-image: url(../images/common/wave/wave_k.svg);
}

.-wave.-gy > .-img {
	padding-top: 6.75%;
	background-image: url(../images/common/wave/wave_gy.svg);
}

.-wave.-gy.-top > .-img {
	padding-top: 6.75%;
	background-image: url(../images/common/wave/wave_gy_top.svg);
}

.-wave.-br {}

.-wave.-w > .-img {
	padding-top: 6.75%;
	background-image: url(../images/common/wave/wave_w.svg);
}

.-wave.-w.-top > .-img {
	padding-top: 6.83%;
	background-image: url(../images/common/wave/wave_w_top.svg);
}

.-wave_sp {
	display: none;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

	.-wave_sp {
		display: block;
	}

	.-wave_sp.-gy > .-img {
		padding-top: 6.75%;
		background-image: url(../images/common/wave/wave_gy_sp.svg);
	}

	.-wave_sp.-gy.-top > .-img {
		padding-top: 6.75%;
		background-image: url(../images/common/wave/wave_gy_top_sp.svg);
	}

}

/*-------------------------
 * 
 * 
 * 
 * ヘッダー
 * 
 * 
 * 
-------------------------*/

#header {
	width: 100%;
	position: relative;
	z-index: 10000;
}

#header .header__inner {
	display: flex;
	justify-content: space-between;
	padding: 32px 0;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
}

#header .logo {
	opacity: 1;
	transition: .5s ease;
}

#header.active .logo {
	opacity: 0;
}

#header .logo .-pic {
	width: 400px;

}

#header .logo .-pic > .-img {
	padding-top: 6.25%;
	background-image: url(../images/common/logo/logo_k.svg);
	font-size: 0;
	line-height: 0;
}

#header .header__contents {
	display: flex;
	column-gap: 36px;
	align-items: center;
	/*padding: 0 72px 0 0;*/
}

#header .header__contact,
#header .header__sns,
#header .header__btns {
	opacity: 1;
	transition: .5s ease;
}

#header.active .header__contact,
#header.active .header__sns,
#header.active .header__btns {
	opacity: 0;
}

#header .header__btn.-rec a {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 8px;
	width: 150px;
	height: 40px;
	background: #444;
	color: #fff;
	font-size: 15px;
	border-radius: 5px;
}

#header .header__btn.-rec a:hover {
	color: #ccc;
	/*opacity: .7;*/
}

#header #navicon {
	width: 41px;
	height: 40px;
}

#header #navicon .header__menu {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	background: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: relative;
	cursor: pointer;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	#header .header__inner {
		padding: 24px 0;
	}

	#header .logo .-pic {
		/*width: 142px;*/
		width: 208px;
	}

	#header .logo .-pic > .-img {
		padding-top: 23.68%;
		background-image: url(../images/common/logo/logo_k_sp.svg);
	}

	#header .header__contact,
	#header .header__sns,
	#header .header__btns {
		display: none;
	}

	#header #navicon {
		width: 76px;
		height: 76px;
	}

	#header #navicon .header__menu {
		background: #fff;
		border-radius: 50%;
	}

}

@media (max-width: 640px) {

	#header .header__inner {
		width: calc(100% - 16px);
		padding: 12px 0;
	}

	#header .logo .-pic {
		width: 142px;
	}

}

/*-------------------------
 * 
 * 
 * 
 * メイン
 * 
 * 
 * 
-------------------------*/

#main {
	/*height: 5000px;*/
	padding: 104px 0 0;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

	.-sub #main {
		padding-top: 72px;
	}

}

/*-------------------------
 * 
 * 
 * 
 * グローバルナビゲーション
 * 
 * 
 * 
-------------------------*/

#global__nav {
	font-size: 18px;
	padding: 56px 0;
	overflow: clip;
}

#global__nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 64px;
}

#global__nav .global__nav-item {
	flex-shrink: 0;
}

#global__nav .global__nav-item a {
	display: block;
	line-height: 1;
	position: relative;
}

#global__nav .global__nav-item a::before {
	display: block;
	content: '';
	width: 11px;
	height: 18px;
	background: url(../images/common/arrow_01/arrow_r_k.svg) no-repeat center center / cover;
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translate(0,-50%);
	transition: .3s ease;
	opacity: 0;
}

#global__nav .global__nav-item.current a::before,
#global__nav .global__nav-item a:hover::before {
	opacity: 1;
}


@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	#global__nav ul {
		justify-content: flex-start;
		overflow-x: auto;
		width: 92%;
		margin: 0 auto;
		padding-bottom: 16px;
		column-gap: 48px;
	}

	#global__nav .global__nav-item {
		flex-shrink: 0;
	}

	#global__nav .global__nav-item:last-of-type {
		padding-right: 1em;
	}

	#global__nav .global__nav-item a {
		padding: 0 0 0 24px;
	}

	#global__nav .global__nav-item a::before {
		left: 0;
	}

}

@media (max-width: 640px) {

	#global__nav {
		display: none;
	}

}

/*-------------------------
 * 
 * 
 * 
 * ハンバーガーメニュー
 * 
 * 
 * 
-------------------------*/

#hm__menu {
	position: relative;
	z-index: 10001;
}

#hm__menu > .hm__menu-inner {
	position: fixed;
	top: 0;
	right: 0;
	background: #BAAF9D;
	color: #fff;
	width: 300px;
	height: 100vh;
	box-sizing: border-box;
	/* padding: 60px 30px 200px; */
	overflow-y: visible;
	overflow-x: hidden;
	-ms-overflow-style: none;
	transition: .3s ease;
	transform: translate(300px,0);
}

#hm__menu.active > .hm__menu-inner {
	transform: translate(0,0);
}

#hm__menu .hm__menu-close {
	position: absolute;
	top: 32px;
	right: 32px;
}

#hm__menu .hm__menu-close button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	position: relative;
	width: 44px;
	height: 44px;
	display: block;
}

#hm__menu .hm__menu-close button,
#hm__menu .hm__menu-close button span {
	display: inline-block;
	transition: .3s ease;
	box-sizing: border-box;
}

#hm__menu .hm__menu-close button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	position: relative;
	width: 44px;
	height: 44px;
	display: block;
}

#hm__menu .hm__menu-close button span {
	position: absolute;
	left: 8px;
	width: 28px;
	height: 2px;
	background: #fff;
}

#hm__menu .hm__menu-close button span:nth-of-type(1) {
	top: 11px;
	transform: translateY(11px) rotate(-45deg);
}

#hm__menu .hm__menu-close button span:nth-of-type(2) {
	bottom: 11px;
	transform: translateY(-9px) rotate(45deg);
}

#hm__menu .hm__menu-content {
	padding: 64px 32px 64px 56px;
}

#hm__menu .hm__menu-whj {
	margin-bottom: 80px;
}

#hm__menu .hm__menu-nav {
	margin-bottom: 56px;
}

#hm__menu .hm__menu-nav ul {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
}

#hm__menu .hm__menu-nav a {
	display: block;
	color: #fff;
	position: relative;
	padding: 0 0 0 20px;
	line-height: 40px;
	/*background: #f00;*/
}

#hm__menu .hm__menu-nav a:hover {
	margin-left: 8px;
}

#hm__menu .hm__menu-nav a::before {
	display: block;
	content: '';
	width: 14px;
	height: 2px;
	border-radius: 1.5px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
}

#hm__menu .hm__menu-btns {
	margin-bottom: 40px;
}

#hm__menu .hm__menu-btn.-rec a {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 8px;
    width: 150px;
    height: 40px;
    background: #fff;
    color: #444;
    font-size: 15px;
    border-radius: 5px;
}

#hm__menu .hm__menu-btn.-rec a:hover {
    color: #777;
}

#hm__menu .hm__menu-icons,
#hm__menu .hm__menu-sns {
	display: flex;
	column-gap: 32px;
	align-items: center;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

}

/*-------------------------
 * 
 * 
 * 
 * CTA
 * 
 * 
 * 
-------------------------*/

#cta {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	width: 102px;
	display: flex;
	flex-direction: column;
	row-gap: 8px;
	z-index: 9999;
	/*transform: translate(102px, 0);*/
}

#cta .cta__item {
	width: 102px;
	height: 119px;
	position: relative;
	transform: translate(102px,0);
	transition: .5s ease;
}

#cta.active .cta__item {
	transform: translate(0,0);
}

#cta .cta__item a {
	display: block;
	/*width: 102px;
	height: 119px;*/
	width: 100%;
	height: 100%;
	background: #444;
	border-radius: 20px 0 0 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#cta .cta__item.-recruit .cta__item-img {
	margin: 8px 0 0 8px;
}

#cta .cta__item.-contact .cta__item-img {
	margin: 16px 0 0 8px;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

	#cta {
		display: none;
	}

}

/*-------------------------
 * 
 * 
 * 
 * フッター
 * 
 * 
 * 
-------------------------*/

#footer {
	background: #444;
	color: #fff;
	position: relative;
}

#footer .footer__inner {
	padding: 96px 0 24px;
	/*position: relative;*/
}

#footer a:link,
#footer a:visited {
	color: #fff;
}

#footer a:hover,
#footer a:active {
	color: #fff;
}

#footer .footer__nav {
	font-size: 18px;
	margin-bottom: 80px;
}

#footer .footer__nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 64px;
}

#footer .footer__nav-item {
	margin-bottom: 40px;
}

#footer .footer__nav-item a {
	display: block;
	line-height: 1;
	position: relative;
}

#footer .footer__nav-item a::before {
	display: block;
	content: '';
	width: 11px;
	height: 18px;
	background: url(../images/common/arrow_01/arrow_r_w.svg) no-repeat center center / cover;
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translate(0,-50%);
	transition: .3s ease;
	opacity: 0;
}

#footer .footer__nav-item.current a::before,
#footer .footer__nav-item a:hover::before {
	opacity: 1;
}

#footer .footer__contents {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-bottom: 120px;
}

#footer .footer__contents-btns_sp {
	display: none;
}

#footer .footer__logo {
	margin-bottom: 24px;
}

#footer .footer__location {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	column-gap: .5em;
	font-size: 15px;
	line-height: 1.5;
}

#footer .footer__contents-icons_sp {
	display: none;
}

#footer .footer__copyright {
	font-size: 12px;
	display: flex;
	justify-content: center;
	line-height: 1.5;
}

#footer .footer__pagetop {
	position: absolute;
	top: 64px;
	right: 8px;
}

#footer .footer__pagetop a {
	width: 92px;
	height: 92px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#footer .footer__pagetop .-arrow {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/common/go_top/go_top.svg) no-repeat center center / cover;
}

#footer .footer__pagetop .-text {
	display: none;
}

#footer .footer__whj.-gy {
	position: absolute;
	bottom: 22px;
	right: 28px;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	#footer .footer__nav {
		margin-bottom: 24px;
		padding: 0 100px;
	}

}

@media (max-width: 640px) {

	#footer .footer__inner {
		padding: 0 0 128px;
	}

	#footer .footer__pagetop {
		position: relative;
		top: auto;
		right: auto;
	}

	#footer .footer__pagetop a {
		width: 100%;
		height: 85px;
		display: flex;
		flex-direction: row;
		column-gap: 12px;
	}

	#footer .footer__pagetop a::before {
		display: block;
		content: '';
		width: 100%;
		height: 1px;
		background: #666;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#footer .footer__pagetop .-arrow {
		width: 18px;
		height: 11px;
		background-image: url(../images/common/arrow_01/arrow_u_gy.svg);
	}
	
	#footer .footer__pagetop .-text {
		display: block;
		font-size: 13px;
		line-height: 1;
	}

	#footer .footer__nav {
		margin-bottom: 0;
		padding: 24px 0 20px;
	}

	#footer .footer__nav ul {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		column-gap: 0;
	}
	
	#footer .footer__nav-item {
		width: 50%;
		height: 40px;
		line-height: 40px;
		margin-bottom: 0;
	}
	
	#footer .footer__nav-item a {
		width: 100%;
		line-height: 40px;
		font-size: 13px;
		padding: 0 0 0 40px;
	}
	
	#footer .footer__nav-item a::before {
		display: none;
	}

	#footer .footer__contents {
		margin-bottom: 32px;
	}

	#footer .footer__contents-btns_sp {
		display: block;
		width: 100%;
		padding:  0 0 32px;
		position: relative;
		margin-bottom: 32px;
	}

	#footer .footer__contents-btns_sp::before {
		display: block;
		content: '';
		width: 100%;
		height: 1px;
		background: #666;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#footer .footer__contents-btn_sp.-rec a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 300px;
		height: 40px;
		background: #fff;
		color: #444;
		font-size: 15px;
		border-radius: 5px;
		margin: 0 auto;
	}

	#footer .footer__logo {
		margin-bottom: 16px;
	}

	#footer .footer__location {
		font-size: 13px;
	}

	#footer .footer__contents-icons_sp {
		padding: 24px 0 0;
	}

	#footer .footer__contents-icons_sp,
	#footer .footer__contents-sns_sp {
		display: flex;
		column-gap: 36px;
		align-items: center;
	}

	#footer .footer__contents-icon_sp a,
	#footer .footer__contents-sns-item_sp a {
		width: 44px;
		height: 44px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	#footer .footer__whj.-gy {
		display: none;
	}

}

/*-------------------------
 * 
 * 
 * 
 * CTA（スマホ用）
 * 
 * 
 * 
-------------------------*/

#cta__sp {
	display: none;
}

@media (max-width: 640px) {
	
	#cta__sp {
		display: block;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,0);
		z-index: 9999;
	}

	#cta__sp .cta__sp-inner {
		position: relative;
		width: 100%;
		background: #444;
		padding: 16px 0;
		color: #fff;
		transform: translate(0,100%);
		transition: .5s ease;
	}

	#cta__sp.active .cta__sp-inner {
		transform: translate(0,0);
	}

	#cta__sp .cta__sp-btns {
		width: 92%;
		margin: 0 auto;
		display: flex;
		align-items: center;
	}

	#cta__sp .cta__sp_btn {
		width: calc(100% / 3);
		height: 100%;
	}

	#cta__sp .cta__sp_btn a {
		width: 100%;
		height: 100%;
		color: #fff;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: relative;
	}

	#cta__sp .cta__sp_btn a::before {
		display: block;
		content: '';
		width: 1px;
		height: 100%;
		background: #666;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0,-50%);
	}

	#cta__sp .cta__sp_btn:last-of-type a::before {
		display: none;
	}

	#cta__sp .cta__sp_btn .-icon {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 35px;
	}

	#cta__sp .cta__sp_btn .-text {
		font-size: 12px;
		line-height: 1;
		margin-top: 8px;
	}

}

/*-------------------------
 * 
 * 
 * 
 * 下層ページ
 * 
 * 
 * 
-------------------------*/
/*-------------------------
 * 
 * 
 * パンくずリスト
 * 
 * 
-------------------------*/

#breadcrumbs_sp {
	display: none;
}

.breadcrumbs {
	width: 100%;
    font-size: 15px;
    line-height: 1;
    padding: 0 0 24px;
}

.breadcrumbs > .breadcrumbs__inner {
    width: 92%;
	display: flex;
	align-items: center;
}

.breadcrumbs .-arrow {
	display: inline-block;
	position: relative;
    margin: 0 1em;
    width: 14px;
    height: 1em;
}

.breadcrumbs .-arrow::after {
	display: block;
	content: '';
	width: 14px;
	height: 1px;
	border-radius: 1.5px;
	background: #444;
	position: absolute;
	top: 7px;
	left: 0;
}

.breadcrumbs span[property="name"],
.breadcrumbs span.current-item {
	display: inline-block;
	padding: 0;
	margin-top: -3px;
	vertical-align: middle;
	max-width: 300px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

}

@media (max-width: 640px) {

	#breadcrumbs {
		display: none;
	}

	#breadcrumbs_sp {
		display: block;
	}

	#breadcrumbs_sp {
		font-size: 12px;
		/*padding: 12px 0;*/
		padding: 0;
		color: #999;
	}

	#breadcrumbs_sp .breadcrumbs__inner {
		width: 100%;
		margin: 0 0 0 auto;
		overflow-x: auto;
		padding: 16px 4%;
	}

	#breadcrumbs_sp .breadcrumbs__inner > * {
		flex-shrink: 0;
	}

	#breadcrumbs_sp a {
		color: #999;
	}

	#breadcrumbs_sp .-arrow::after {
		background: #999;
		top: 6px;
	}
	

}

/*-------------------------
 * 
 * 
 * 下層ページタイトル
 * 
 * 
-------------------------*/

.subpage__mv {
	position: relative;
}

.subpage__mv .subpage__mv-inner {
	width: 100%;
	position: relative;
}

.subpage__mv .subpage__mv-top,
.subpage__mv .subpage__mv-bottom {
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	z-index: 1;
}

.subpage__mv .subpage__mv-top {
	top: 0;
}

.subpage__mv .subpage__mv-top > .-img {
	padding-top: 7.08%;
	background-image: url(../images/common/wave/subpage_mv_top.svg);
}

.subpage__mv .subpage__mv-bottom {
	bottom: 0;
}

.subpage__mv .subpage__mv-bottom > .-img {
	padding-top: 6.91%;
	background-image: url(../images/common/wave/subpage_mv_bottom.svg);
}

.subpage__mv .subpage__mv-pic {
	width: 100%;
	height: calc(100dvh - 144px);
	max-height: 720px;
	background: no-repeat center center / cover;
	position: relative;
}

.subpage__mv .subpage__ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	.subpage__mv .subpage__mv-pic {
		max-height: 480px;
	}

}

@media (max-width: 640px) {

	.subpage__mv .subpage__mv-pic {
		max-height: 274px;
	}

}

/*-------------------------
 * 
 * 
 * アンカーリンク
 * 
 * 
-------------------------*/

#anchor {
	background: #fff;
}

#anchor .anchor__inner {
	max-width: 1000px;
	padding: 40px 0 0;
}

#anchor .anchor__inner ul {
	position: relative;
	display: flex;
	align-items: center;
	column-gap: 48px;
}

#anchor .anchor__inner ul::before {
	display: block;
	content: '';
	width: 11px;
	height: 18px;
	background: url(../images/common/arrow_01/arrow_r_k.svg) no-repeat center center / cover;
	position: absolute;
	top: 50%;
	left: -56px;
	transform: translate(0, -50%);
}

#anchor .anchor__item {
	flex-shrink: 0;
}

#anchor .anchor__item a {
	display: block;
	position: relative;
	font-size: 18px;
	line-height: 1;
	padding: 0 32px 0 0;
}

#anchor .anchor__item a::before {
	display: block;
	content: '';
	width: 18px;
	height: 9px;
	background: no-repeat center center / cover;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	transition: .3s ease;
}

#anchor .anchor__item a:hover::before {
	margin-top: 4px;
}

#anchor .anchor__item:nth-of-type(1) a::before {
	background-image: url(../images/common/arrow_02/arrow_d_r.svg);
}

#anchor .anchor__item:nth-of-type(2) a::before {
	background-image: url(../images/common/arrow_02/arrow_d_y.svg);
}

#anchor .anchor__item:nth-of-type(3) a::before {
	background-image: url(../images/common/arrow_02/arrow_d_gr.svg);
}

#anchor .anchor__item:nth-of-type(4) a::before {
	background-image: url(../images/common/arrow_02/arrow_d_b.svg);
}

#anchor .anchor__item:nth-of-type(5) a::before {
	background-image: url(../images/common/arrow_02/arrow_d_p.svg);
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	#anchor .anchor__inner {
		width: calc(96% - 40px);
		margin-left: calc(4% + 40px);
		position: relative;
	}

	#anchor .anchor__inner::before {
		display: block;
		content: '';
		width: 11px;
		height: 18px;
		background: url(../images/common/arrow_01/arrow_r_k.svg) no-repeat center center / cover;
		position: absolute;
		bottom: 16px;
		left: -29px;
	}
	
	#anchor .anchor__inner ul {
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: 16px;
		column-gap: 48px;
	}
	
	#anchor .anchor__inner ul::before {
		display: none;
	}

	#anchor .anchor__item {
		flex-shrink: 0;
	}

}

@media (max-width: 640px) {

	#anchor .anchor__inner {
		padding-top: 32px;
	}

	#anchor .anchor__inner ul {
		column-gap: 20px;
		padding-right: 20px;
	}

	#anchor .anchor__item a {
		font-size: 14px;
		padding-right: 24px;
	}

}

/*-------------------------
 * 
 * 
 * フッター画像
 * 
 * 
-------------------------*/

#footer__pic .footer__pic-inner {
	width: 100%;
	position: relative;
}

#footer__pic .footer__pic-top,
#footer__pic .footer__pic-bottom {
	width: 100%;
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	z-index: 1;
}

#footer__pic .footer__pic-top {
	top: 0;
}

#footer__pic .footer__pic-top > .-img {
	padding-top: 7.08%;
	background-image: url(../images/common/wave/footer_pic_top_w.svg);
}

#footer__pic .footer__pic-bottom {
	bottom: 0;
}

#footer__pic .footer__pic-bottom > .-img {
	padding-top: 6.91%;
	background-image: url(../images/common/wave/footer_pic_bottom_k.svg);
}

#footer__pic .footer__pic-pic {
	width: 100%;
	height: calc(100dvh - 144px);
	max-height: 720px;
	background: no-repeat center center / cover;
	position: relative;
}

@media (max-width: 1280px) {

}

@media (max-width: 960px) {

	#footer__pic .footer__pic-pic {
		max-height: 480px;
	}

}

@media (max-width: 640px) {

	#footer__pic .footer__pic-pic {
		max-height: 274px;
	}

	#footer__pic .footer__pic-bottom {
		display: none;
	}

}
