/*
 Theme Name:   SHE-Recruiting
 Theme URI:    https://she-inc.co.jp/
 Description:  WordPress Theme for SHE-Recruiting
 Author:       DONGURI
 Author URI:   https://www.don-guri.com/
 Template:     twentynineteen
 Version:      2.0.0
 Tags:         news, recruiting
 Text Domain:  twentynineteen
*/

@charset "utf-8";


*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0;}
ul,ol{list-style:none;padding:0;}
a{color:inherit;text-decoration:inherit;text-decoration-skip-ink:auto;}
img,svg,video,iframe{vertical-align:middle;}
img,video{max-width:100%;}
img[height]{height:auto;}
input,button,textarea,select{font:inherit;}
@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}
html {
	scroll-behavior: auto;
	font-size: 62.5%;
}
body {
	color: #3f4b4f;
	font-size: 1.6em;
	line-height: 2;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
html.hasScrollbar body {
	overflow-y: scroll;
}
html.isAndroid body {
	font-family: "Noto Sans JP", sans-serif;
}
body.is-fixed {
	position: fixed;
	width: 100%;
}
@media (min-width: 721px) {
	.v-mb { display: none; }
}
@media (max-width: 720px) {
	.v-dt { display: none; }
}

/**
 * prefix について
 * c- css だけでことたるコンポーネント (使いまわせる)
 * l- ページレイアウト (z-index の基礎として)
 * o- js も伴うコンポーネント (o-modal/o-tabs など)
 * p- 固有のブロックスタイル (主に main/section に附帯)
 * a- 唯一のスタイル (≡ Menu とか Scroll とか)
 * no prefix コンポーネント内の要素 (title/lead/text/photo など)
 * js- js で拾うためだけの class (js-modalTrigger など)
 */
/**
 * mediaquery について
 * common style (desktop/mobile 共通の style)
 * @media (min-width: 721px) {} mobile には適用したくない style
 * @media (min-width: 1025px) {} desktop だけの style
 * @media (min-width: 1208px) {} max width style
 * @media (max-width: 1024px) {} desktop には適用したくない style
 * @media (max-width: 720px) {} mobile だけの style
 * @media (max-width: 360px) {} small mobile style
 * MEMO: 
 * -------------------------------------------------- */
.l-header { z-index: 4; }
.l-nav { z-index: 3; }
.l-main { z-index: 1; }
.contentsinfo { z-index: 2; }


/**
 * header
 * ---------------------------------------- */
.l-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120px;
	padding: 0 64px;
	font-size: 1.3rem;
	line-height: 1;
}
.l-header .logo {
	flex-basis: 224px;
	fill: #7b6456;
	font-size: 1rem;
	line-height: .5;
}
.l-header .logo a {
	display: flex;
	align-items: center;
}
.l-header .logo a b {
	display: block;
}
.l-header .logo .she {
	flex-basis: 50px;
	fill: #1f2d32;
}
.l-header .logo .recruit {
	flex-basis: 151px;
	margin-left: 23px;
	fill: #3f4b4f;
}
.l-header .logo svg {
	width: 100%;
	fill: currentcolor;
}
@media (min-width: 721px) {
	.l-header .menu {
		display: flex;
		align-items: center;
		white-space: nowrap;
	}
	.l-header .menu a {
		display: block;
		padding: 20px 0;
	}
	.l-header .menu a:not(.entry) {
		background: linear-gradient(currentcolor, currentcolor) right bottom 10px / 0 1px no-repeat;
	}
	.l-header .menu a.cur,
	.l-header .menu a:not([href]) {
		background-size: 100% 1px;
	}
	.l-header .menu .entry {
		padding: .7em 1.3em;
		border: 1px solid rgba(63,75,79,.5);
	}
}
@media (hover: hover) and (min-width: 721px) {
	.l-header .menu a:not(.entry) {
		transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.l-header .menu a:not(.entry):hover {
		background-position: left bottom 10px;
		background-size: 100% 1px;
	}
}
@media (min-width: 1025px) {
	.l-header .menu li {
		margin-left: 24px;
	}
	.o-hamburger {
		display: none;
	}
}
@media (min-width: 1208px) {
	.l-header .menu li {
		margin-left: 40px;
	}
}
@media (max-width: 1024px) {
	.l-header .menu {
		display: none;
	}
	.o-hamburger {
		cursor: pointer;
		width: 48px;
		height: 48px;
		margin-right: -8px;
		padding: 0;
		border: 0;
		background: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.o-hamburger:active {
		stroke: inherit;
	}
	.o-hamburger svg {
		width: 100%;
		height: auto;
		fill: none;
		stroke: currentcolor;
		stroke-linecap: round;
	}
	.o-hamburger .c {
		stroke-dasharray: 29px 80px;
		stroke-dashoffset: -54px;
	}
	.o-hamburger.is-active .c {
		stroke-dashoffset: 0;
	}
	.o-hamburger.is-active .t,
	.o-hamburger.is-active .b {
		opacity: 0;
		transform: translateY(9.5px);
	}
	.o-hamburger.is-active .b {
		transform: translateY(-9.5px);
	}
	.o-hamburger.is-anim .t,
	.o-hamburger.is-anim .b {
		transition: opacity .2s, transform .2s cubic-bezier(.3,1,.7,1);
	}
	.o-hamburger.is-anim .c {
		transition: stroke-dashoffset .6s .1s cubic-bezier(.3,1,.7,1);
	}
	.o-hamburger.is-anim:not(.is-active) .c {
		stroke-dashoffset: 55px;
		transition-delay: 0s;
		transition-duration: .4s;
	}
	.o-hamburger.is-anim:not(.is-active) .t,
	.o-hamburger.is-anim:not(.is-active) .b {
		transition-delay: .1s;
		transition-duration: .6s;
	}
}
@media (max-width: 720px) {
	.l-header {
		height: 88px;
		padding: 0 24px;
	}
	.l-header .logo {
		flex-basis: 208px;
	}
	.l-header .logo .recruit {
		flex-basis: 135px;
		margin-left: 16px;
	}
}
@media (max-width: 360px) {
	.o-hamburger {
		width: 40px;
		height: 40px;
	}
}
/* motion */
.l-header.is-hide {
	opacity: 0;
	transform: translateY(-32px);
}
.l-header.is-anim {
	transition: opacity .6s, transform .6s cubic-bezier(.6,0,.3,1);
}
.l-header.is-anim:not(.is-hide) {
	transition-duration: 1s;
	transition-timing-function: cubic-bezier(.3,1,.7,1);
}

/**
 * main
 * ---------------------------------------- */
.l-main {
	margin-top: 184px;
}
@media (max-width: 720px) {
	.l-main {
		margin-top: 104px;
	}
}

/* :::::: page title :::::: */
.c-pagetitle {
	max-width: calc(1080px + 128px);
	margin: 0 auto;
	font-size: 5rem;
	line-height: .9;
	font-weight: inherit;
}
.c-pagetitle > svg {
	width: auto;
	height: 1em;
}
.c-pagetitle .sub {
	position: relative;
	top: -.2em;
	font-size: 1.3rem;
	opacity: .6;
}
@media (min-width: 1025px) {
	.c-pagetitle {
		padding: 0 64px;
	}
}
@media (max-width: 1024px) {
	.c-pagetitle {
		padding: 0 40px;
	}
}
@media (max-width: 720px) {
	.c-pagetitle {
		padding: 0 24px;
		font-size: 3.2rem;
		line-height: 1.2;
	}
}

/* :::::: section :::::: */
.c-article,
.c-section,
.c-section_column {
	max-width: calc(1080px + 128px);
	margin: 160px auto 0;
}
.c-section:first-child,
.c-section_column:first-child {
	margin-top: 120px;
}
@media (min-width: 1025px) {
	.c-article,
	.c-section,
	.c-section_column {
		padding: 0 64px;
	}
	.c-section_column .c-text {
		max-width: 472px;
	}
}
@media (max-width: 1024px) {
	.c-article,
	.c-section,
	.c-section_column {
		margin-top: 120px;
		padding: 0 40px;
	}
}
@media (max-width: 720px) {
	.c-article,
	.c-section,
	.c-section_column {
		padding: 0 24px;
	}
}
@media (max-width: 360px) {
	.c-section,
	.c-section_column {
		margin-top: 80px;
	}
}

/* :::::: section column :::::: */
.c-section_column {
	display: flex;
}
@media (min-width: 721px) {
	.c-section_column {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.c-section_column .text {
		flex-basis: 50%;
	}
	.c-section_column .photo {
		flex-basis: calc(50% - 56px);
	}
}
@media (min-width: 1025px) {
	.c-section_column .photo {
		flex-basis: calc(50% - 108px);
	}
}
@media (max-width: 720px) {
	.c-section_column {
		flex-direction: column;
	}
	.c-section_column .photo {
		margin: 56px calc(50% - 50vw) 0;
	}
}

/* :::::: title :::::: */
.c-title {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: inherit;
}
.c-title > svg {
	width: auto;
	height: .9em;
	fill: currentcolor;
}
.c-title .sub {
	color: #293032;
	font-size: 1.2rem;
	opacity: .6;
}
@media (max-width: 720px) {
	.c-title {
		font-size: 2rem;
	}
}

/* :::::: marker :::::: */
.c-marker {
	display: inline;
	position: relative;
	left: .8em;
	padding: .6em 0;
	color: #fff;
	line-height: 1;
	background: gray;
	filter: drop-shadow(-.8em 0 0 gray) drop-shadow(.8em 0 0 gray);
}
.c-marker.c1 {
	background: #c3c3d9;
	filter: drop-shadow(-.8em 0 0 #c3c3d9) drop-shadow(.8em 0 0 #c3c3d9);
}
.c-marker.c2 {
	background: #bbc6d1;
	filter: drop-shadow(-.8em 0 0 #bbc6d1) drop-shadow(.8em 0 0 #bbc6d1);
}
.c-marker.c3 {
	background: #cfc4b9;
	filter: drop-shadow(-.8em 0 0 #cfc4b9) drop-shadow(.8em 0 0 #cfc4b9);
}
.c-marker.c4 {
	background: #d6c1c4;
	filter: drop-shadow(-.8em 0 0 #d6c1c4) drop-shadow(.8em 0 0 #d6c1c4);
}
.c-marker.c5 {
	background: #c4c7b3;
	filter: drop-shadow(-.8em 0 0 #c4c7b3) drop-shadow(.8em 0 0 #c4c7b3);
}
.c-marker.c6 {
	background: #b5c9c2;
	filter: drop-shadow(-.8em 0 0 #b5c9c2) drop-shadow(.8em 0 0 #b5c9c2);
}
.c-marker.c7 {
	background: #b5c9c9;
	filter: drop-shadow(-.8em 0 0 #b5c9c9) drop-shadow(.8em 0 0 #b5c9c9);
}
@media all and (-ms-high-contrast: none) {
	.c-marker { box-shadow: -.8em 0 0 gray, .8em 0 0 gray; }
	.c-marker.c1 { box-shadow: -.8em 0 0 #c3c3d9, .8em 0 0 #c3c3d9; }
	.c-marker.c2 { box-shadow: -.8em 0 0 #bbc6d1, .8em 0 0 #bbc6d1; }
	.c-marker.c3 { box-shadow: -.8em 0 0 #cfc4b9, .8em 0 0 #cfc4b9; }
	.c-marker.c4 { box-shadow: -.8em 0 0 #d6c1c4, .8em 0 0 #d6c1c4; }
	.c-marker.c5 { box-shadow: -.8em 0 0 #c4c7b3, .8em 0 0 #c4c7b3; }
	.c-marker.c6 { box-shadow: -.8em 0 0 #b5c9c2, .8em 0 0 #b5c9c2; }
	.c-marker.c7 { box-shadow: -.8em 0 0 #b5c9c9, .8em 0 0 #b5c9c9; }
}

/* :::::: tag :::::: */
.c-tag {
	font-size: 1.8rem;
	font-family: "Noto Serif JP", serif;
	font-weight: inherit;
	letter-spacing: .15em;
}
@media (max-width: 720px) {
	.c-tag {
		font-size: 1.4rem;
	}
}

/* :::::: category :::::: */
.c-cat {
	position: relative;
	margin-right: 12px;
	font-size: .8rem;
	vertical-align: middle;
}
.c-cat svg {
	overflow: visible;
	vertical-align: middle;
}
.c-cat svg:not(.ico) {
	width: auto;
	height: 1em;
	opacity: .6;
}
.c-cat .ico {
	top: .05em;
	width: 12px;
	height: 12px;
	margin-right: .8em;
}

/* :::::: lead :::::: */
.c-lead {
	margin-top: 40px;
	font-size: 2.4rem;
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", serif;
	font-weight: inherit;
	letter-spacing: .1em;
}
html.isAndroid .c-lead {
	font-family: "Noto Serif JP", serif;
}
@media (max-width: 720px) {
	.c-lead {
		margin-top: 24px;
		font-size: 1.6rem;
	}
}

/* :::::: text :::::: */
.c-text {
	margin-top: 24px;
	font-size: 1.5rem;
}
@media (max-width: 720px) {
	.c-text {
		font-size: 1.2rem;
	}
}

/* :::::: link :::::: */
.c-link {
	display: inline-block;
	margin-top: 24px;
	padding: .6em 0;
	font-size: 1.2rem;
	letter-spacing: .15em;
	background: linear-gradient(currentcolor, currentcolor) left bottom / 100% 1px no-repeat;
}
.c-link .arr {
	width: 28px;
	margin-left: 1.2em;
}
@media (hover: hover) {
	.c-link {
		transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.c-link .arr {
		transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	a:hover .c-link,
	.c-link:hover {
		background-position: right bottom;
		background-size: 0 1px;
	}
	a:hover .c-link .arr,
	.c-link:hover .arr {
		transform: translateX(4px);
		transition-duration: .1s;
	}
}

/* :::::: button :::::: */
.c-button {
	display: inline-block;
	padding: 1.2em 40px;
	border: 1px solid #3f4b4f;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.4;
	font-weight: 600;
	background: #3f4b4f;
}
.c-button .arr {
	top: -.1em;
	width: 1.8em;
	margin-left: .8em;
}
@media (hover: hover) {
	.c-button:not(.is-anim) .arr {
		transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	a:hover .c-button:not(.is-anim) .arr,
	.c-button:not(.is-anim):hover .arr {
		transform: translateX(4px);
		transition-duration: .1s;
	}
}
@media (max-width: 720px) {
	.c-button {
		width: calc(100% - 24px);
		max-width: 330px;
		padding: 1.3em 12px;
		font-size: 1.4rem;
	}
}

/**
 * NOT FOUND
 * ---------------------------------------- */
.p-notfound {
	margin-top: 88px;
	text-align: center;
}
.p-notfound .c-link {
	margin-top: 64px;
	font-size: 1.4rem;
}
@media (max-width: 1024px) {
	.p-page-404 .c-pagetitle {
		font-size: 3.8rem;
	}
}
@media (max-width: 720px) {
	.p-page-404 .c-pagetitle {
		font-size: 2.4rem;
		line-height: 1.4;
	}
}

/**
 * footer
 * ---------------------------------------- */
.l-footer {
	margin-top: 160px;
}
.l-footer.-conversion {
	margin-top: 240px;
	background: linear-gradient(to top, #f7f6f4, #f5f4f2 50%);
}

/* :::::: conversion :::::: */
.p-conversion {
	z-index: 0;
	position: relative;
	padding-top: 40px;
}
.p-conversion .text {
	display: inline-block;
	margin-top: -152px;
}
.p-conversion .c-title {
	fill: currentcolor;
}
.c-title .sub {
	color: inherit;
}
.p-conversion .c-lead {
	margin-top: 24px;
}
.p-conversion .c-lead .c-gradmarker {
	display: inline-block;
	position: relative;
}
.p-conversion .c-lead .c-gradmarker::after {
	content: "";
	z-index: -1;
	position: absolute;
	top: -1px;
	right: 0;
	bottom: -2px;
	left: 0;
	background: linear-gradient(100deg, #A6D2E0 0%, #F0B090 96%);
	clip-path: polygon(0 0, 100% 0, 100% 52%, 98% 52%, 98% 100%, 0 100%);
}
.p-conversion .c-lead .c-marker {
	left: 0;
	padding: .6em .8em;
	background: none;
	filter: none;
}
.p-conversion .c-text {
	margin-top: 40px;
}
.p-conversion .c-link {
	margin-top: 32px;
	font-size: 1.5rem;
	font-weight: 700;
}
.p-conversion .bg {
	height: 210px;
	margin: 64px calc(50% - 50vw) 0;
}
.p-conversion .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 1366px) {
	.p-conversion .bg {
		height: calc(210vw / 13.66);
	}
}
@media (max-width: 720px) {
	.p-conversion::before {
		bottom: 120px;
	}
	.p-conversion .text {
		margin-top: -136px;
	}
	.p-conversion .c-lead {
		font-size: 1.8rem;
	}
}
@media (max-width: 360px) {
	.p-conversion .c-link {
		font-size: 1.4rem;
		letter-spacing: .14em;
	}
}

/* :::::: contentsinfo :::::: */
.contentsinfo {
	position: relative;
	max-width: calc(1080px + 128px);
	font-size: 1.2rem;
	line-height: 1;
}
.contentsinfo .logo {
	fill: #7b6456;
	font-size: 1rem;
	line-height: .5;
}
.contentsinfo .logo a {
	display: flex;
	align-items: center;
}
.contentsinfo .logo a b {
	display: block;
}
.contentsinfo .logo .she {
	flex-basis: 68px;
}
.contentsinfo .logo .recruit {
	flex-basis: 144px;
	margin-left: 18px;
}
.contentsinfo .logo svg {
	fill: currentcolor;
}
.contentsinfo .menu {
	margin-left: auto;
	font-size: 1.2rem;
}
.contentsinfo .links {
	font-size: 1rem;
}
.contentsinfo .menu a,
.contentsinfo .links a {
	display: inline-flex;
	align-items: center;
	height: 32px;
}
.contentsinfo .links .ico {
	margin-left: .8em;
}
.contentsinfo .copyright {
	font-size: 1rem;
	line-height: 1;
}
@media (min-width: 721px) {
	.contentsinfo {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		padding: 48px 64px 112px;
	}
	.contentsinfo .logo {
		flex-basis: 244px;
		justify-content: space-between;
	}
	.contentsinfo .menu,
	.contentsinfo .links {
		flex-basis: 20%;
	}
	.contentsinfo .menu a,
	.contentsinfo .links a {
		background: linear-gradient(currentcolor, currentcolor) right bottom 6px / 0 1px no-repeat;
	}
	.contentsinfo .menu a:not([href]),
	.contentsinfo .links a:not([href]) {
		background-size: 100% 1px;
	}
	.contentsinfo .copyright {
		position: absolute;
		bottom: 24px;
		right: calc(50% - 50vw + 32px);
	}
}
@media (hover: hover) and (min-width: 721px) {
	.contentsinfo .menu a,
	.contentsinfo .links a {
		transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.contentsinfo .menu a:hover,
	.contentsinfo .links a:hover {
		background-position: left bottom 6px;
		background-size: 100% 1px;
	}
}
@media (max-width: 720px) {
	.contentsinfo {
		padding: 24px 40px;
	}
	.contentsinfo .menu {
		margin-top: 40px;
	}
	.contentsinfo .links {
		margin-top: 32px;
	}
	.contentsinfo .copyright {
		margin-top: 48px;
	}
}
@media (max-width: 360px) {
	.contentsinfo {
		padding: 24px;
	}
}

/**
 * nav
 * ---------------------------------------- */
.l-nav,
.l-nav .overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-nav {
	padding-top: 120px;
}
@media (max-width: 720px) {
	.l-nav {
		padding-top: 88px;
	}
}
.l-nav .overlay {
	z-index: -1;
	background: rgba(255,255,255,.6);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}
.noBackDropFilter .l-nav .overlay {
	background: rgba(255,255,255,.96);
}
.l-nav .menu,
.l-nav .links {
	max-width: 480px;
	margin: 0 auto;
	padding: 24px 40px 0;
	letter-spacing: .2em;
}
.l-nav .menu {
	font-size: 1.4rem;
	font-weight: 500;
}
.l-nav .links {
	font-size: 1.2rem;
}
.l-nav .menu a,
.l-nav .links a {
	display: inline-flex;
	align-items: center;
	height: 40px;
}
.l-nav .menu .entry,
.l-nav .links .entry {
	height: auto;
	margin-top: 16px;
	padding: .7em 1.3em;
	border: 1px solid rgba(63,75,79,.5);
	line-height: 1;
}
.l-nav .menu a:not(.entry),
.l-nav .links a:not(.entry) {
	background: linear-gradient(currentcolor, currentcolor) right bottom 8px / 0 1px no-repeat;
}
.l-nav .menu a:not([href]),
.l-nav .links a:not([href]) {
	background-size: 100% 1px;
}
.l-nav .links .ico {
	top: 0;
	margin-left: .8em;
}
.l-nav:not(.is-active) {
	pointer-events: none;
}
.l-nav:not(.is-active) .overlay {
	opacity: 0;
}
.l-nav:not(.is-active) .menu li,
.l-nav:not(.is-active) .links li {
	opacity: 0;
	transform: translateY(-16px);
}
.l-nav.is-anim .overlay {
	transition: opacity .6s;
}
.l-nav.is-anim .menu li,
.l-nav.is-anim .links li {
	transition: opacity .6s .4s, transform .6s .4s cubic-bezier(.3,1,.7,1);
}
.l-nav.is-anim .menu li:nth-child(1) { transition-delay: .1s; }
.l-nav.is-anim .menu li:nth-child(2) { transition-delay: .15s; }
.l-nav.is-anim .menu li:nth-child(3) { transition-delay: .2s; }
.l-nav.is-anim .menu li:nth-child(4) { transition-delay: .25s; }
.l-nav.is-anim .menu li:nth-child(5) { transition-delay: .3s; }
.l-nav.is-anim .menu li:nth-child(6) { transition-delay: .35s; }
.l-nav.is-anim .links li:nth-child(1) { transition-delay: .4s; }
.l-nav.is-anim .links li:nth-child(2) { transition-delay: .45s; }
.l-nav.is-anim .links li:nth-child(3) { transition-delay: .5s; }
.l-nav.is-anim:not(.is-active) .overlay {
	transition-duration: .3s;
}
.l-nav.is-anim:not(.is-active) .menu li,
.l-nav.is-anim:not(.is-active) .links li {
	transform: translateY(16px);
	transition-delay: 0s;
	transition-duration: .3s;
}
@media (hover: hover) {
	.l-nav .menu a:not(.entry),
	.l-nav .links a:not(.entry) {
		transition: background-size .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.l-nav .menu a:not(.entry):hover,
	.l-nav .links a:not(.entry):hover {
		background-position: left bottom 8px;
		background-size: 100% 1px;
	}
}

/**
 * svg for use elements
 * -------------------------------------------------- */
.svg-parts {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0,0,0,0);
	visibility: hidden;
}
svg.t-she,
svg.t-more,
svg.t-allview {
	position: relative;
	top: -.1em;
	width: auto;
	height: .9em;
	fill: currentcolor;
}
svg.t-she {
	margin-right: .2em;
}

/**
 * glims
 * -------------------------------------------------- */
.js-glims {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
}
[data-glims] {
	position: relative;
}
.o-glim {
	pointer-events: none;
	position: absolute;
	width: 424px;
	height: 424px;
}
.o-glim::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	filter: blur(2vw);
	animation: swing_m 16s infinite cubic-bezier(.7,0,.3,1);
	will-change: animation;
}

.js-glims {
	position: fixed;
}
html.isTouch .js-glims {
	position: absolute;
	overflow: hidden;
	opacity: .8;
}
.o-glim.is-active {
	backface-visibility: hidden;
	will-change: transform;
}
.o-glim:not(.is-active) {
	opacity: 0;
}
.o-glim:not(.is-active):not(.is-anim) {
	display: none;
}
.o-glim.is-anim {
	transition: opacity 1s;
}
.o-glim:not(.is-active):not(.is-anim)::after {
	animation-play-state: paused;
}
@keyframes swing_s {
	from, to { transform: translateY(-8%); }
	20% { transform: translateY(16%); }
	40% { transform: translateY(-8%); }
	50% { transform: translateY(-16%); }
	80% { transform: translateY(8%); }
}
@keyframes swing_m {
	from, to { transform: translateY(-16%); }
	20% { transform: translateY(12%); }
	40% { transform: translateY(-12%); }
	50% { transform: translateY(-16%); }
	80% { transform: translateY(12%); }
}
@keyframes swing_l {
	from, to { transform: translateY(-24%); }
	20% { transform: translateY(16%); }
	40% { transform: translateY(-8%); }
	50% { transform: translateY(-16%); }
	80% { transform: translateY(12%); }
}

/* for contents */
.o-glim.s {
	width: 240px;
	height: 240px;
}
html.isTouch .o-glim.s {
	width: 90px;
	height: 90px;
}
.o-glim.s::after {
	animation-name: swing_s;
	animation-duration: 10s;
}
.o-glim.c1::after {
	background: radial-gradient(50% 50%, #c3c3d9, rgba(196,196,217,0));
	animation-delay: -2s;
}
.o-glim.c2::after {
	background: radial-gradient(50% 50%, #bbc6d1, rgba(186,198,209,0));
	animation-delay: -4s;
}
.o-glim.c3::after {
	background: radial-gradient(50% 50%, #cfc4b9, rgba(207,196,184,0));
	animation-delay: -6s;
}
.o-glim.c4::after {
	background: radial-gradient(50% 50%, #d6c1c4, rgba(215,194,197,0));
	animation-delay: -8s;
}
.o-glim.c5::after {
	background: radial-gradient(50% 50%, #c4c7b3, rgba(196,199,180,0));
	animation-delay: -1s;
}
.o-glim.c6::after {
	background: radial-gradient(50% 50%, #b5c9c2, rgba(182,202,195,0));
	animation-delay: -3s;
}
.o-glim.c7::after {
	background: radial-gradient(50% 50%, #b5c9c9, rgba(182,202,202,0));
	animation-delay: -5s;
}
.o-glim.c8::after {
	background: radial-gradient(50% 50%, rgba(255,159,159,.6), rgba(255,205,131,.05));
	animation-delay: -8s;
}
.o-glim.c9::after {
	background: radial-gradient(50% 50%, rgba(128,199,221,.6), rgba(140,230,170,.05));
	animation-delay: -3s;
}
.o-glim.c10::after {
	background: radial-gradient(50% 50%, rgba(128,151,221,.6), rgba(140,230,170,.05));
	animation-delay: -2s;
}
.o-glim.c11::after {
	background:  radial-gradient(50% 50%, rgba(253,117,117,.4), rgba(255,163,26,.05));
	animation-delay: -1s;
}

/*  */
.o-glim.choice-spot.c8 {
	top: 0;
	left: -3%;
}
html:not(.isTouch) .o-glim.choice-spot.c8 {
	width: 712px;
	height: 712px;
}
.o-glim.choice-spot.c9,
.o-glim.choice-core.c10 {
	width: 240px;
	height: 240px;
}
.o-glim.choice-spot.c9 {
	top: 0;
	left: 10%;
}
html.isTouch .o-glim.choice-spot.c9 {
	left: 80%;
}
.o-glim.choice-core.c10 {
	top: -5%;
	left: 3%;
}
.o-glim.choice-core.c11 {
	top: -5%;
	left: -3%;
}
.o-glim.vision            { top: -15%; left: 10%; }
.o-glim.mission           { top: -10%; left: 15%; }
.o-glim.credo             { top: 0; left: 15%; }
.o-glim.lead-yourself,
.o-glim.think-essencial,
.o-glim.love-everything,
.o-glim.strong-and-gentle { top: 0; left: 2%; }
.o-glim.business          { top: 0; left: 15%; }
.o-glim.policy            { top: 0; left: 15%; }

.o-glim.core-member       { top: -5%; left: 0; }
.o-glim.culture           { top: 0; left: 2%; }
.o-glim.core-interview    { top: 2%; left: 25%; }

.o-glim.spot-staff        { top: -10%; left: 25%; }
.o-glim.about-work        { top: -10%; left: 25%; }
.o-glim.why-she           { top: 0; left: 30%; }
.o-glim.job-list          { top: 2%; left: 25%; }
.o-glim.spot-interview    { top: 5%; left: 25%; }

.o-glim.recruitment.c1    { top: -5%; left: 0; }
.o-glim.recruitment.c5    { top: 5%; left: 15%; }

.o-glim.page-interview.c5 { top: -10%; left: -5%; }
.o-glim.page-interview.c3 { top: 0; left: 5%; }

.o-glim.profile           { top: -5%; left: 20%; }
.o-glim.profile-1         { top: 0; left: 5%; }
.o-glim.profile-2         { top: 0; left: 10%; }
.o-glim.profile-3         { top: 0; left: 0; }
.o-glim.profile-4         { top: 10%; left: 10%; }
.o-glim.profile-5         { top: 10%; left: 0; }

.o-glim.page-interview-1,
.o-glim.page-interview-2,
.o-glim.page-interview-3,
.o-glim.page-interview-4,
.o-glim.page-interview-5,
.o-glim.page-interview-6,
.o-glim.page-interview-7,
.o-glim.page-interview-8,
.o-glim.page-interview-9,
.o-glim.page-interview-10 { top: -2%; left: 25%; }
.o-glim.article-lead { top: 0; left: 5%; }
.o-glim.article-1,
.o-glim.article-2,
.o-glim.article-3,
.o-glim.article-4,
.o-glim.article-5,
.o-glim.article-6,
.o-glim.article-7,
.o-glim.article-8 { top: 0; left: 0; }
.o-glim.oneday { top: 0; left: 0; }
.o-glim.other { top: 0; left: 0; }

/* touch device */
html.isTouch .o-glim.choice-spot.c8  { top: 0; left: 0; }
html.isTouch .o-glim.choice-spot.c9  { top: -80vw; left: 90%; }
html.isTouch .o-glim.choice-core.c10 { top: 0; left: 0; }
html.isTouch .o-glim.choice-core.c11 { top: -160px; left: 0; }

html.isTouch .o-glim.vision            { top: 0; left: 80%; }
html.isTouch .o-glim.mission           { top: 0; left: 0; }
html.isTouch .o-glim.credo             { top: -160px; left: 100%; }
html.isTouch .o-glim.lead-yourself,
html.isTouch .o-glim.think-essencial,
html.isTouch .o-glim.love-everything,
html.isTouch .o-glim.strong-and-gentle { top: 0; left: 0; }
html.isTouch .o-glim.business          { top: 120px; left: 60%; }
html.isTouch .o-glim.policy            { top: 0; left: 0; }

html.isTouch .o-glim.core-member    { top: 160px; left: 80%; }
html.isTouch .o-glim.culture        { top: 160px; left: 30%; }
html.isTouch .o-glim.core-interview { top: 80px; left: 80%; }

html.isTouch .o-glim.spot-staff     { top: 200px; left: 100%; }
html.isTouch .o-glim.about-work     { top: 200px; left: 50%; }
html.isTouch .o-glim.why-she        { top: 0; left: 0; }
html.isTouch .o-glim.job-list       { top: 0; left: 100%; }
html.isTouch .o-glim.spot-interview { top: 80px; left: 80%; }

html.isTouch .o-glim.recruitment.c1 { top: 0; left: 0; }
html.isTouch .o-glim.recruitment.c5 { top: 0; left: 0; }

html.isTouch .o-glim.page-interview.c5 { top: 0; left: 50%; }
html.isTouch .o-glim.page-interview.c3 { top: 0; left: -50%; }

html.isTouch .o-glim.profile   { top: 0; left: 0; }
html.isTouch .o-glim.profile-1 { top: 0; left: 0; }
html.isTouch .o-glim.profile-2 { top: 0; left: 0; }
html.isTouch .o-glim.profile-3 { top: 0; left: 0; }
html.isTouch .o-glim.profile-4 { top: 0; left: 0; }
html.isTouch .o-glim.profile-5 { top: 0; left: 0; }

html.isTouch .o-glim.page-interview-1,
html.isTouch .o-glim.page-interview-2,
html.isTouch .o-glim.page-interview-3,
html.isTouch .o-glim.page-interview-4,
html.isTouch .o-glim.page-interview-5,
html.isTouch .o-glim.page-interview-6,
html.isTouch .o-glim.page-interview-7,
html.isTouch .o-glim.page-interview-8,
html.isTouch .o-glim.page-interview-9,
html.isTouch .o-glim.page-interview-10 { top: 0; left: 80%; }
html.isTouch .o-glim.article-lead { top: 200px; left: 0; }

/**
 * accordion UI
 * -------------------------------------------------- */
.o-acc {
	overflow: hidden;
}
.o-acc .acc_head {
	position: relative;
}
.o-acc .acc_head .ico {
	position: absolute;
	top: calc(50% - 6px);
	right: 0;
	width: 13px;
	height: 13px;
}
.o-acc .acc_head .ico::before,
.o-acc .acc_head .ico::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	border-top: 1px solid currentcolor;
}
.o-acc:not(.is-active) .acc_head .ico::before {
	transform: rotate(180deg);
}
.o-acc:not(.is-active) .acc_head .ico::after {
	transform: rotate(-270deg);
}
.o-acc:not(.is-active) .acc_body {
	opacity: 0;
}
.o-acc.is-anim {
	transition: height .4s cubic-bezier(.3,1,.7,1);
}
.o-acc.is-anim .acc_head .ico::before,
.o-acc.is-anim .acc_head .ico::after {
	transition: transform .4s cubic-bezier(.3,1,.7,1);
}
.o-acc.is-anim .acc_body {
	transition: opacity .4s;
}

/**
 * VALUE
 * ---------------------------------------- */
 @media (min-width: 720px) {
	 .value_image {
	 	margin-top: 50px;
	 	position: relative;
	 }
	 .value_dots_top {
	 	position: absolute;
	 	top: -300px;
	 }

	 .value_dots_bottom {
	 	position: absolute;
	 	bottom: -30px;
	 }
	 .value_1 {
	 	display: none;
	 }
	 .c-credo {
	 	display: none;
	 }
}
@media (max-width: 719px) {
	.value_image {
		display: none;
	}
	.value_dots_top {
		display: none;
	}
	.value_dots_bottom {
		display: none;
	}
	.value_1 {
		margin-left: 20px;
		margin-top: 25px;
	}
	.c-credo {
		margin-left: 20px;
	}

}


/**
 * EWWW Image Optimizer の lazyLoad をフェードインする
 * -------------------------------------------------- */
[loading="lazy"] {
	transition: opacity .4s;
	backface-visibility: hidden;
}
[loading="lazy"]:not(.lazyloaded) {
	opacity: 0;
}

/**
 * javascript
 * -------------------------------------------------- */
.js-sc-wrap {
	overflow: hidden;
}
.js-holder {
	display: none;
}
.visuallyhidden {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0 0 0 0);
	visibility: hidden;
}
.js-fixed,
.js-fixed .js-sc-slip {
	backface-visibility: hidden;
	will-change: transform;
}
.js-fixed {
	position: fixed;
	width: 100%;
}
.js-sc-dummy {
	z-index: -1;
	pointer-events: none;
}