@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	background-position: center center;
	box-sizing: border-box;
	outline: none;
}

html {
	-webkit-text-size-adjust: 100%;
	height: 100%;
	font-size: 62.5%;
}

@media screen and (max-width:1000px) {
html {
	font-size: 40.5%;
}
}

@media screen and (min-width:1001px) and (max-width:1200px) {
html {
	font-size: 50.625%;
}
}

@media screen and (min-width:1201px) and (max-width:1380px) {
html {
	font-size: 56.25%;
}
}

@media screen and (min-width:1700px) {
html {
	font-size: 68.75%;
}
}

body {
	overscroll-behavior-y: none;
	overscroll-behavior-x: none;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #4b5a63;
	font-size: 1.8rem;
	line-height: 1.5;
	margin: auto;
	text-align: left;
	letter-spacing: 0.05em;
	height: 100%;
	background: #f2f2f2;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

li {
	list-style: none;
}

p {
	text-align: justify;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

p .small {
	font-size: 80%;
	display: block;
	margin-top: 0.5em;
}

.color-strong {
	color: #fd8463;
}

.en {
	font-family: "Outfit", sans-serif;
	font-weight: 300;
}

img {
	width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

*::selection {
	background: #fd8463;
	color: #fff;
}

h1, h2, h3, h4 {
	line-height: 1.5;
	font-size: 100%;
	letter-spacing: 0.08em;
	font-weight: 400;
}

table {
	border-collapse: collapse;
}

.sp-only {
	display: none;
}

.sp-only-inline {
	display: none;
}

.pc-only {
	display: block;
}

/*Link*/
a {
	text-decoration: none;
	color: #4b5a63;
	transition: 0.2s ease-in-out;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a.child:hover {
	color: inherit;
}

a img {
	transition: 0.6s ease-in-out;
}

p a {
	text-decoration: underline;
}

.flex {
	display: flex;
}

/*--------------------------------------
base
--------------------------------------*/
.effect-obj:before,
.effect-obj:after {
	content: '';
	display: block;
	aspect-ratio: 4/5;
	position: absolute;
	background: #fff;
}

.home .effect-obj:before,
.home .effect-obj:after {
	transform: scaleX(0);
	transform-origin: left top;
	transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.effect-obj.show:before,
.effect-obj.show:after {
	transform: scaleX(1);
}

.home-content {
	padding: 240px 0 200px 0;
}

.home-content:nth-child(odd) {
	background: #f2f2f2;
}

.home-content:nth-child(even) {
	background: #eaeaea;
}

.home__title {
	position: relative;
	margin-bottom: 40px;
}

.home__title:before {
	width: calc(var(--glid) * 0.67);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * -1.25);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.home__title:after {
	width: calc(var(--glid) * 0.33);
	left: calc(var(--glid) * -0.33);
	top: calc(var(--glid) * -0.72);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.home-content .home__title {
	font-size: 5.2rem;
}

.home-content__lead {
	margin-bottom: 100px;
}

.layout-a,
.layout-b,
.layout-c {
	width: calc(var(--glid) * 19);
}

.layout-a {
	display: flex;
	justify-content: space-between;
}

.layout-a .home__title {
	width: calc(var(--glid) * 7);
}

.layout-a .layout-a__content {
	width: calc(var(--glid) * 12);
}

.layout-a .layout-a__title {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.layout-a .layout-a__img {
	width: calc(var(--glid) * 6);
	margin-left: calc(var(--glid) * -1.9);
}

.box-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.box-list:after {
	content: '';
	display: block;
	width: calc(var(--glid) * 5);
}

.box-list__item {
	width: calc(var(--glid) * 5);
}


.box-list__icon {
	display: block;
	background: #fd8463;
	color: #fff;
	padding: 0.1em;
	font-size: 1.3rem;
	width: 4em;
	text-align: center;
	margin-bottom: 0.5em;
	border-radius: 3px;
}

.box-list__title {
	font-size: 2.0rem;
	margin-top: 30px;
	font-weight: 500;
}

.office-card__address {
	margin-top: 10px;
}

.box-list__footer {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-content: flex-end;
	align-items: flex-end;
	border-bottom: 1px solid #fd8463;
	padding-bottom: 20px;
}

.box-list__more {
	font-size: 1.4rem;
	background: url(images/svg/arrow_right.svg) no-repeat right 3px center;
	background-size: 10px;
	padding-right: 20px;
	margin-left: auto;
}

.btn {
	display: inline-block;
	text-align: center;
	background: #4b5a63;
	color: #fff;
	padding: 1em 2em;
	border-radius: 100vmax;
	font-weight: 500;
	transition: 0.4s ease-in-out;
}

.btn:hover {
	background: #fd8463;
	color: #fff;
}

/*--------------------------------------
Wide / layout
--------------------------------------*/
:root {
	--glid: 4.347vw;
}

.wide-center {
	margin-left: auto;
	margin-right: auto;
}

.wide_1 {
	width: var(--glid) ;
}

.wide_2 {
	width: calc(var(--glid) * 2);
}

.wide_3 {
	width: calc(var(--glid) * 3);
}

.wide_4 {
	width: calc(var(--glid) * 4);
}

.wide_5 {
	width: calc(var(--glid) * 5);
}

.wide_6 {
	width: calc(var(--glid) * 6);
}

.wide_7 {
	width: calc(var(--glid) * 7);
}

.wide_8 {
	width: calc(var(--glid) * 8);
}

.wide_9 {
	width: calc(var(--glid) * 9);
}

.wide_10 {
	width: calc(var(--glid) * 10);
}

.wide_11 {
	width: calc(var(--glid) * 11);
}

.wide_12 {
	width: calc(var(--glid) * 12);
}

.wide_13 {
	width: calc(var(--glid) * 13);
}

.wide_14 {
	width: calc(var(--glid) * 14);
}

.wide_15 {
	width: calc(var(--glid) * 15);
}

.wide_16 {
	width: calc(var(--glid) * 16);
}

.wide_17 {
	width: calc(var(--glid) * 17);
}

.wide_18 {
	width: calc(var(--glid) * 18);
}

.wide_19 {
	width: calc(var(--glid) * 19);
}

.wide_20 {
	width: calc(var(--glid) * 20);
}

.wide_21 {
	width: calc(var(--glid) * 21);
}

.wide_22 {
	width: calc(var(--glid) * 22);
}

.wide_23 {
	width: calc(var(--glid) * 23);
}

/*--------------------------------------
site-header
--------------------------------------*/
.site-header {
	padding: 0 50px;
	height: calc(3em + 80px);
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 15;
	transition: 0.6s ease-in-out;
}

.menu-toggle {
	display: none;
}

.site-header__logo {
	width: 400px;
}

.global-menu {
	display: flex;
	justify-content: flex-end;
	margin-right: calc(25px + 25px + 10.5em + 10px);
}

.global-nav__list {
	font-size: 1.6rem;
	margin-right: 20px;
	display: flex;
	position: relative;
	z-index: 100;
	margin-top: 0.25em;
}

.global-nav__item--parent {
	margin-left: 1em;
}

.global-nav__group {
	position: fixed;
	right: 20px;
	bottom: -120px;
	padding: 15px 20px;
	transition: 0.6s ease-in-out;
	background: rgba(255,255,255,0.7);
	border: 1px solid #fff;
	border-radius: 8px;
	box-shadow: 0 0 2px 1px rgba(0,0,0,0.1);
}

.is-local-nav-fixed .global-nav__group {
	bottom: 20px;
}

.global-nav__group-main {
	margin-bottom: 6px;
	margin-bottom: 0;
}

.global-nav__group-sub {
	font-size: 1.4rem;
	display: none;
}

.global-nav__group-main a,
.global-nav__group-sub a {
	display: inline-block;
	padding: 0 1.5em 0 0;
	margin: 0 1em 0 0;
	background: url(images/svg/arrow_bottom.svg) no-repeat right 3px top 0.5em;
	background-size: 10px;
	padding-right: 20px;
}

.global-nav__group-main a:last-child,
.global-nav__group-sub a:last-child {
	margin: 0;
}

.global-nav__group-main a:hover,
.global-nav__group-sub a:hover {
	color: #fd8463;
	background-position: right 3px top 0.7em;
}

.site-header__entry {
	display: inline-block;
	text-align: center;
	background: #4b5a63;
	color: #fff;
	font-size: 1.6rem;
	border-radius: 100vmax;
	position: fixed;
	right: 50px;
	top: 50px;
	z-index: 20;
	font-weight: 500;
}

.site-header__entry a {
	display: block;
	color: #fff;
	padding: 0.45em calc(1.3em + 20px) 0.55em 1.3em;
	background: url(images/svg/icon_contact.svg) no-repeat right 1.1em center;
	background-size: 16px auto;
	transition: 0.4s ease-in-out;
	filter: brightness(100%);
}

.site-header__entry:hover {
	background: #fd8463;
}

.site-header__entry:hover a {
	filter: brightness(1000%);
}

/*--------------------------------------
kv
--------------------------------------*/
.key-visual {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.key-visual:before {
	width: calc(var(--glid) * 7);
	right: calc(var(--glid) * -1);
	top: calc(var(--glid) * -3);
}

.key-visual__title {
	font-size: 3.6rem;
	line-height: 1.75;
	writing-mode: vertical-rl;
	position: absolute;
	top: calc(90px + 3em + 80px);
	left: calc(var(--glid) * 7 - 2.75em);
	z-index: 10;
}

.key-visual__title span {
	position: relative;
	z-index: 10;
}

.key-visual__title span.line {
	display: block;
}

.key-visual__title:before {
	width: calc(var(--glid) * 2);
	top: calc(var(--glid) * 1);
	right: calc(var(--glid) * -1);
}

.key-visual__image--01 {
	width: calc(var(--glid) * 7);
	margin-left: calc(var(--glid) * 11);
	margin-top: calc(3em + 125px);
	position: relative;
}

.key-visual__image--02 {
	width: calc(var(--glid) * 7);
	margin-left: calc(var(--glid) * 2);
	margin-top: calc(var(--glid) * 0.5);
	position: relative;
}

.key-visual__image--03,
.key-visual__image--04 {
	position: absolute;
}

.key-visual__image--03 {
	width: calc(var(--glid) * 4);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * 2.75 + 3em + 125px);
}

.key-visual__image--04 {
	width: calc(var(--glid) * 3);
	right: 0;
	top: calc(var(--glid) * 7 + 3em + 125px);
}

.key-visual__image img {
	position: relative;
	z-index: 5;
}

.key-visual__image--01:before {
	width: calc(var(--glid) * 3);
	left: calc(var(--glid) * 1);
	bottom: calc(var(--glid) * -3);
}

.key-visual__image--01:after {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * -1);
	bottom: calc(var(--glid) * -1.25);
	background: #fd7657;
	z-index: 10;
}

.key-visual__image--02:before {
	width: calc(var(--glid) * 2.25);
	left: calc(var(--glid) * -2);
	bottom: calc(var(--glid) * -4);
	background: #fd7657;
}

.key-visual__image--02:after {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * 2);
	bottom: calc(var(--glid) * -2);
}

.key-visual__image--03:before {
	width: calc(var(--glid) * 7);
	left: calc(var(--glid) * -0.5);
	bottom: calc(var(--glid) * -5);
	aspect-ratio: 5/4;
}

.key-visual__image--03:after {
	width: calc(var(--glid) * 2);
	right: calc(var(--glid) * -1);
	top: calc(var(--glid) * 1);
	aspect-ratio: 5/4;
	background: #fd7657;
	z-index: 10;
}

.key-visual__image--04:before {
	width: calc(var(--glid) * 1);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * -0.8);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.key-visual__image--04:after {
	width: calc(var(--glid) * 1);
	left: calc(var(--glid) * 0);
	top: calc(var(--glid) * -2.05);
	background: #fd7657;
}

.load-icon {
	display: inline-block;
	width: 32px;
	height: 32px;
	position: absolute;
	opacity: 0.9;
	transition: 0.9s cubic-bezier(0.76, 0, 0.24, 1);
}

.home .load-icon {
	left: 40px;
	top: 40px;
}

.home .load-icon.is-hidden {
	top: 0;
	opacity: 0;
}

.load-icon img {
	animation:loadspin .6s linear infinite
}

@keyframes loadspin {
0% {
	transform:rotate(0deg)
}

100% {
	transform:rotate(360deg)
}
}

.key-visual__title .line {
	opacity: 0;
}

.key-visual__title .line.is-show {
	opacity: 1;
}

.key-visual__title .line span {
	opacity: 0;
	transform: translateX(-0.5em);
	display: inline-block;
	transition: 1.9s cubic-bezier(0.22, 1, 0.36, 1)
}

.key-visual__title .line span.is-show {
	opacity: 1;
	transform: translateX(0);
}

.load-image03 .key-visual__title {
	opacity: 1;
}

.key-visual__image img {
	opacity: 0;
}

.key-visual__image span.cover {
	display: block;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	z-index: 6;
	left: 0;
	top: 0;
	background-image: linear-gradient(90deg, #fd7657, #fe8258);
	transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
	transform: scaleX(0);
	transform-origin: left top;
	background: #eaeaea;
}

.load-image01 .key-visual__image span.cover {
	transform: scaleX(100%);
}

.load-image02 .key-visual__image span.cover {
	transform-origin: right top;
}

.load-image03 .key-visual__image img {
	opacity: 1;
}

.load-image03 .key-visual__image span.cover {
	transform: scaleX(0);
}

.key-visual.effect-obj:before,
.key-visual.effect-obj:after,
.key-visual .effect-obj:before,
.key-visual .effect-obj:after {
	transform: scaleX(0);
	transform-origin: left top;
	transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.key-visual.load01.effect-obj:before,
.key-visual.load01.effect-obj:after,
.key-visual.load01 .effect-obj:before {
	transform: scaleX(100%);
}

.key-visual.load02 .effect-obj:after {
	transform: scaleX(100%);
}

.home .site-header .site-header__logo,
.home .site-header .global-nav__item--parent,
.home .site-header .site-header__entry {
	transform: translateY(-100px);
	transition: 1.2s cubic-bezier(0.65, 0, 0.35, 1);
}

.home.load .site-header .site-header__logo,
.home.load .site-header .global-nav__item--parent,
.home.load .site-header .site-header__entry {
	transform: translateY(0);
}

/*--------------------------------------
local__navigation
--------------------------------------*/
.local-nav {
	width: calc(var(--glid) * 8);
	margin: calc(var(--glid) * -1.5) calc(var(--glid) * 2) calc(var(--glid) * 2) auto;
	position: relative;
}

.local-nav__list--main {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}

.local-nav__list--main .local-nav__item {
	width: 45%;
	border-bottom: 1px solid #d4d9db;
}

.local-nav__list--main .local-nav__item a {
	background: url(images/svg/arrow_bottom.svg) no-repeat right 3px top 1.2em;
	background-size: 12px;
	display: block;
	padding: 0.75em 0;
}

.local-nav__list--main .local-nav__item a:hover {
	background-position: right 3px top 1.5em;
	color: #fd8463;
}

.local-nav__list--sub {
	display: flex;
	justify-content: space-between;
	font-size: 1.6rem;
}

.local-nav__list--sub .local-nav__item {
	background: url(images/svg/arrow_bottom.svg) no-repeat right 3px top 0.5em;
	background-size: 10px;
	padding-right: 20px;
}

.local-nav__list--sub .local-nav__item a:hover {
	color: #fd7657;
}

.local-nav:before {
	width: calc(var(--glid) * 1.25);
	right: calc(var(--glid) * -2);
	top: calc(var(--glid) * -1.5);
	background: #fd7657;
}

.local-nav:after {
	width: calc(var(--glid) * 1);
	right: calc(var(--glid) * 0);
	bottom: calc(var(--glid) * -2);
	aspect-ratio: 5/4;
	background: #fd7657;
}

/*--------------------------------------
workstyle
--------------------------------------*/
.workstyle {
	background: #eaeaea;
	position: relative;
	padding: 320px 0 0 0;
	z-index: 2;
}

.workstyle:before {
	width: calc(var(--glid) * 4);
	left: calc(var(--glid) * 7);
	top: calc(var(--glid) * -1.5);
	aspect-ratio: 5/4;
}

.workstyle:after {
	width: calc(var(--glid) * 2);
	right: calc(var(--glid) * 0);
	top: calc(var(--glid) * 0);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.workstyle__layout {
	width: calc(var(--glid) * 20);
}

.workstyle__title {
	position: absolute;
	right: calc(var(--glid) * 3);
	top: 200px;
	writing-mode: vertical-rl;
}

.workstyle__title:before {
	width: calc(var(--glid) * 2);
	right: calc(var(--glid) * -1.5);
	bottom: calc(var(--glid) * -1);
}

.title-border {
	border: 1px solid #4b5a63;
}

.workstyle .title-border {
	padding: 1.5em 1em;
	font-size: 2.8rem;
	border-radius: 100px;
	position: relative;
	z-index: 5;
}

.workstyle__item {
	margin-bottom: 240px;
	width: 100%;
	padding-right: calc(var(--glid) * 1);
}

.workstyle__item:last-child {
	margin-bottom: calc(var(--glid) * -2);
}

.workstyle__item:nth-child(1) {
	margin-left: calc(var(--glid) * 3);
}

.workstyle__item:nth-child(2) {
	margin-left: calc(var(--glid) * 1);
}

.workstyle__item:nth-child(3) {
	margin-left: calc(var(--glid) * 3);
}

.workstyle__item:nth-child(4) {
	margin-left: calc(var(--glid) * 0);
	padding-right: calc(var(--glid) * 0);
}

.workstyle-card {
	display: flex;
	justify-content: space-between;
}

.workstyle__item:nth-child(even) .workstyle-card {
	flex-direction: row-reverse;
}

.workstyle-card__image {
}

.workstyle-card--02 .workstyle-card__image {
	width: calc(var(--glid) * 7);
}

.workstyle-card--02 .workstyle-card__image img {
	position: relative;
	z-index: 10;
}

.workstyle-card--03 .workstyle-card__image {
	width: calc(var(--glid) * 6);
}

.workstyle-card--03 .workstyle-card__image img {
	position: relative;
	z-index: 10;
}

.workstyle-card--04 .workstyle-card__image {
	width: calc(var(--glid) * 8);
}

.workstyle-card__body {
	width: calc(var(--glid) * 10);
}

.workstyle-card__title {
	font-size: 3.6rem;
	position: relative;
	margin-bottom: 50px;
}

.workstyle-card__number {
	position: absolute;
	right: -0.5em;
	top: -0.5em;
	font-size: 7.2rem;
}

.workstyle__item {
	position: relative;
}

.workstyle-card__body {
	position: relative;
	z-index: 10;
}

.workstyle-card--02:before {
	width: calc(var(--glid) * 3);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * -1.5);
	aspect-ratio: 5/4;
}

.workstyle-card--03:before {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * -1);
	bottom: calc(var(--glid) * -0.5);
	aspect-ratio: 5/4;
}

.workstyle-card--03:after {
	width: calc(var(--glid) * 3);
	right: calc(var(--glid) * 0);
	top: calc(var(--glid) * -1.5);
}

.workstyle-card--04:before {
	width: calc(var(--glid) * 2);
	right: calc(var(--glid) * -3);
	bottom: calc(var(--glid) * 2);
	aspect-ratio: 5/4;
	background: #fd7657;
}

/*--------------------------------------
related-service
--------------------------------------*/
.related-service {
	width: calc(var(--glid) * 16);
	background: #fff;
	display: flex;
	position: relative;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: space-between;
	padding: calc(var(--glid) * 2) calc(var(--glid) * 2) calc(var(--glid) * 2) calc(var(--glid) * 3);
	margin-left: auto;
	margin-right: 0;
	position: relative;
	z-index: 3;
}

.related-service__body {
	width: calc(var(--glid) * 7);
}

.related-service__image {
	width: calc(var(--glid) * 3);
}

.related-service__title {
	margin-bottom: 30px;
	font-size: 2.4rem;
	font-weight: 500;
}

.related-service__title img {
	width: 254px;
	margin-top: 12px;
	display: block;
}

.related-service__title-icon {
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	width: 6em;
	font-size: 1.6rem;
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #fff;
	background: #fd7657;
	position: absolute;
	right: calc(var(--glid) * 1.2);
	bottom: calc(var(--glid) * 5);
	z-index: 10;
}

.related-service__description {
	font-size: 1.6rem;
}

/*--------------------------------------
background-area
--------------------------------------*/
.background-area {
	background-image: linear-gradient(#fd7657, #fe8258);
	color: #fff;
	position: relative;
}

.background-area__obj {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	overflow: hidden;
}

.background-area__obj ul {
	position: absolute;
	left: 0;
	top: 0;
}

.background-area__obj ul:nth-child(1) {
	animation: backgroundobj 30s linear infinite;
}

@keyframes backgroundobj {
0% {
	transform: translateY(0);
}

100% {
	transform: translateY(-2300px);
}
}

.background-area__obj ul:nth-child(2) {
	animation: backgroundobj02 25s linear infinite;
}

@keyframes backgroundobj02 {
0% {
	transform: translateY(0);
}

100% {
	transform: translateY(-2300px);
}
}

.background-area__obj li img {
	width: 2562px;
	transform: translateX(calc(50vw - 1281px));
}

.background-area section {
	position: relative;
	z-index: 5;
}

.about {
	margin-top: calc(var(--glid) * -6 - 5.5em);
	padding: calc(var(--glid) * 10) 0 0 0;
	width: calc(var(--glid) * 17);
	margin-bottom: 200px;
}

.background-area__title {
	margin-bottom: 3.5em;
}

.background-area .title-border {
	border-color: #fff;
	padding: 0.5em 1.5em;
	font-size: 2.4rem;
	border-radius: 100vmax;
	display: inline-block;
}

.background-area__title-catch {
	display: block;
	font-size: 5.2rem;
	margin-top: 1.25em;
}

.culture .background-area__title-catch {
	font-size: 4.4rem;
}

.about__body {
	font-size: 2.4rem;
	font-weight: 500;
}

.about__paragraph {
	display: block;
	margin-bottom: 1.75em;
	font-feature-settings: 'palt';
	letter-spacing: 0.08em;
}

.about__line {
	display: block;
}

.culture__layout {
	justify-content: space-between;
	width: calc(var(--glid) * 17);
	margin-bottom: 200px;
}

.culture__main-image {
	position: sticky;
	top: calc(50vh + var(--glid) * -4.5);
	width: calc(var(--glid) * 7);
}

.culture__body {
	margin-left: calc(var(--glid) * 10);
	width: calc(var(--glid) * 7);
}

.culture-point {
	margin-bottom: 60px;
}

.culture-point__title {
	font-size: 3.2rem;
	margin-bottom: 25px;
}

.culture-point__image {
	width: 90%;
	display: block;
	margin: 0 auto 60px auto;
}

/*--------------------------------------
gallery
--------------------------------------*/
.gallery {
	width: 100%;
	overflow: hidden;
	margin-bottom: calc(var(--glid) * -4.0);
	position: relative;
	z-index: 5;
}

.culture-gallery {
	width: calc(var(--glid) * 78);
	display: flex;
	gap: calc(var(--glid) * 1);
	animation: gallery 30s linear infinite;
}

@keyframes gallery {
0% {
	transform: translateX();
}

100% {
	transform: translateX(calc(var(--glid)  * -39));
}
}

.culture-gallery__item:nth-child(odd) {
	width: calc(var(--glid) * 5);
}

.culture-gallery__item:nth-child(even) {
	width: calc(var(--glid) * 6);
}

.culture-gallery__item:nth-child(1),
.culture-gallery__item:nth-child(3),
.culture-gallery__item:nth-child(5),
.culture-gallery__item:nth-child(7),
.culture-gallery__item:nth-child(9),
.culture-gallery__item:nth-child(11) {
	margin-top: calc(var(--glid) * 1.5);
}

.culture-gallery__item:nth-child(4),
.culture-gallery__item:nth-child(10) {
	margin-top: calc(var(--glid) * 3.0);
}

/*--------------------------------------
interview
--------------------------------------*/
.home-content.interview {
	padding-top: calc(var(--glid) * 4.0 + 230px);
}

.interview-card__image {
	overflow: hidden;
}

.interview-card__link:hover .interview-card__image img {
	transform: scale(1.05);
	filter: brightness(0.8);
	transition: 0.3s ease-in-out;
}

.interview-card__link:hover .interview-card__more {
	color: #fd7657;
	transition: 0.3s ease-in-out;
}

.interview-card__person {
	font-size: 1.8rem;
}

.interview-card__position {
	font-size: 1.2rem;
	display: block;
}

.interview {
	position: relative;
}

.home-content.interview .btn {
	position: absolute;
	left: calc(var(--glid) * 2);
	bottom: 200px;
	width: calc(var(--glid) * 3);
}

/*--------------------------------------
workday
--------------------------------------*/
.workday-profile {
	display: flex;
	justify-content: space-between;
	margin-bottom: 120px;
	position: relative;
}

.workday-profile:last-child {
	margin-bottom: 0;
}

.workday-profile:nth-child(odd) {
	flex-direction: row-reverse;
}

.workday-profile:after {
	width: calc(var(--glid) * 3);
	left: calc(var(--glid) * -2);
	bottom: calc(var(--glid) * 0);
	background: #fd7657;
	z-index: 10;
	aspect-ratio: 5/4;
}

.workday-profile__image:after {
	width: calc(var(--glid) * 2);
	right: calc(var(--glid) * -1);
	bottom: calc(var(--glid) * -2);
}

.workday-profile:nth-child(odd):after {
	left: auto;
	right: calc(var(--glid) * -2);
}

.workday-profile__image:nth-child(odd):after {
	right: auto;
	left: calc(var(--glid) * -1);
}

.workday-profile__image {
	width: calc(var(--glid) * 6);
	position: relative;
	align-self: flex-start;
}

.workday-profile__image img {
	position: relative;
	z-index: 5;
}

.workday-profile__body {
	width: calc(var(--glid) * 11);
}

.workday-profile__title {
	font-size: 3.6rem;
	margin-bottom: 50px;
}

.schedule-list__item {
	position: relative;
	padding: 0 0 30px 60px;
}

.schedule-list__item:before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #fff;
	position: absolute;
	left: 12px;
	top: 0;
}

.schedule-list__item:last-child:before {
	content: none;
}

.schedule-list__icon {
	width: 28px;
	position: absolute;
	left: 0;
	top: 0;
}

.schedule-list__time {
	display: block;
	font-size: 1.8rem;
}

.schedule-list__title {
	font-size: 2.2rem;
	margin-bottom: 10px;
}

.schedule-list__description {
	font-size: 1.6rem;
}

/*--------------------------------------
benefits
--------------------------------------*/
.home-content.benefits {
	background: url(images/benefits_ph01.jpg) no-repeat center center !important;
	background-size: cover !important;
	padding: 130px 0 320px 0;
}

.layout-c {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}

.benefits__title {
	width: calc(var(--glid) * 4);
	writing-mode: vertical-rl;
	font-size: 5.2rem;
}

.benefits-list {
	width: calc(var(--glid) * 15);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 40px;
}

.benefits-list__item {
	width: calc(50% - 2px);
	background: rgba(255,255,255,0.5);
	padding: 3%;
	margin-bottom: 4px;
	border-radius: 8px;
}

.benefit-card {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}

.benefit-card__body {
	width: 64%;
}

.benefit-card__title {
	display: inline-block;
	font-size: 2.2rem;
	padding-bottom: 0.2em;
	margin-bottom: 20px;
	border-bottom: 2px solid #fd8463;
}

.benefit-card__description {
	font-size: 1.6rem;
}

.benefit-card__image {
	width: 30%;
	align-self: flex-end;
}

/*--------------------------------------
job-detail
--------------------------------------*/
.job-detail__content {
	text-align: center;
}

/*--------------------------------------
tab
--------------------------------------*/
.tabs {
	width: 100%;
	display: flex;
	margin-bottom: 60px;
}

.tabs__item {
	width: 50%;
	text-align: center;
	background: #fff;
	padding: 1.5em;
	font-size: 2.0rem;
	cursor: pointer;
	transition: 0.4s ease-in-out;
}

.tabs__item:hover {
	background: #dcdcdc;
}

.tab-content {
	display: none;
}

.tab-content.is-show {
	display: block;
}

.tabs__item.is-active {
	background: #fd8463;
	color: #fff;
	position: relative;
}

.tabs__item.is-active:after {
	content: '';
	width: 16px;
	height: 16px;
	background: url(images/svg/obj_tab.svg) no-repeat center top;
	background-size: contain;
	position: absolute;
	left: 50%;
	bottom: -16px;
}

.table-a tr {
	display: flex;
}

.table-a th,
.table-a td {
	display: block;
}

.table-a td {
	flex: 1;
}

.table-a__extra-row {
	max-height: 0;
	overflow: hidden;
	transition: 0.6s ease-in-out;
	display: flex;
}

.table-a__extra-row.is-show {
	max-height: 1000px;
}

.job-detail__more {
	cursor: pointer;
}

.job-detail__more:after {
	content: '福利厚生／休日・休暇など 続きを読む';
}

.job-detail__more.is-active:after {
	content: '閉じる'
}

/*--------------------------------------
table
--------------------------------------*/
.table-a {
	width: 100%;
	margin-bottom: 60px;
	text-align: left;
}

.table-a__caption {
	height: 1px;
	overflow: hidden;
}

.table-a th,
.table-a td {
	vertical-align: top;
	padding: 1.5em 0 1.0em 0;
}

.table-a th {
	font-weight: 400;
	width: calc(var(--glid) * 3);
	border-bottom: 1px solid #fd8463;
}

.table-a td {
	border-bottom: 1px solid #aab0b4;
}

.table-a ul {
}

.table-a ul li {
	margin-bottom: 8px;
	padding: 0 0 0 20px;
	position: relative;
}

.table-a ul li:before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	left: 0;
	top: 0.5em;
	background: #fd8463;
	border-radius: 50%;
}

/*--------------------------------------
office
--------------------------------------*/

.office-list .box-list__item:nth-child(n+4) {
	margin-top: calc(var(--glid) * 2);
}


.office-list iframe {
	width: 100%;
	aspect-ratio: 4/5;
}

.office-card__map {
	border: 1px solid #fd8463;
	overflow: hidden;
}

.office-card__access {
	font-size: 1.6rem;
	margin-top: 10px;
	padding-left: 1.4em;
	position: relative;
	background: url(images/svg/icon_access.svg) no-repeat left top 0.5em;
	background-size: 0.8em;
}

/*--------------------------------------
faq
--------------------------------------*/
.faq-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.faq-list li {
	position: relative;
	background: #fff;
	width: calc(50% - 2px);
	padding: 25px 60px 25px 30px;
	border-radius: 8px;
	align-self: flex-start;
	cursor: pointer;
	transition: 0.5s ease;
}

.faq-list li:hover {
	background: rgba(255,255,255,0.6);
}

.faq-list li:after,
.faq-list li:before {
	content: '';
	display: block;
	width: 17px;
	height: 3px;
	background: #4b5a63;
	position: absolute;
	right: 30px;
	top: calc(25px + 1.2em);
}

.faq-list li:before {
	transition: 0.4s ease-in-out;
	transform: rotate(90deg);
}

.faq-list li.is-show:before {
	transform: rotate(0);
}

.faq-list li .faq-title,
.faq-list li p {
	position: relative;
}

.faq-list li .faq-title {
	padding: 0.65em 0 0.6em 40px;
}

.faq-list li p {
	padding: 0 0 0 40px;
	max-height: 0;
	overflow: hidden;
	margin: 0;
	opacity: 0;
	transition: 0.5s ease;
	font-size: 1.5rem;
}

.faq-list li.is-show p {
	padding: 0.75em 0 0.75em 35px;
	max-height: 1000px;
	opacity: 1;
}

.faq-list li .en {
	font-size: 3.2rem;
	position: absolute;
	left: 0;
	top: 0;
}

.faq-list li .faq-title {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

/*--------------------------------------
entry
--------------------------------------*/
.entry a {
	padding: calc(var(--glid) * 3) calc(var(--glid) * 2);
	display: block;
	color: #fff;
	transition: 0.6s ease-in-out;
}

.entry a:hover {
	background: rgba(227,67,24,0.5);
}

.entry__title .en {
	font-size: 12.0rem;
	margin-bottom: 20px;
	line-height: 1.0;
	display: block;
}

.entry__title .jp {
	font-size: 4.4rem;
	margin-bottom: 40px;
	display: block;
}

.entry p {
	margin-bottom: 90px;
}

.entry p.btn {
	margin: 0;
	padding: 1.75em;
	width: calc(var(--glid) * 8);
}

.entry p.btn span {
	display: inline-block;
	color: #fff;
	padding-right: 34px;
	background: url(images/svg/icon_contact.svg) no-repeat right center;
	background-size: 20px auto;
	transition: 0.4s ease-in-out;
}

.entry p.btn:hover span {
	filter: brightness(1000%);
}

/*--------------------------------------
site-footer
--------------------------------------*/
.site-footer {
	overflow: hidden;
}

.footer-photo {
	display: block;
	width: calc(var(--glid) * 6);
	margin: calc(var(--glid) * 2.5) 0 0 calc(var(--glid) * 12);
}

.footer-content {
	display: flex;
	justify-content: space-between;
	align-content: flex-end;
	align-items: flex-end;
	padding: calc(var(--glid) * 1);
}

.footer-content__sns {
	display: flex;
	align-content: center;
	align-items: center;
	gap: 20px;
	margin-bottom: 40px;
}

.footer-content__sns li.icon {
	width: 70px;
	aspect-ratio: 1/1;
	background: #eaeaea;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	transition: 0.4s ease-in-out;
}

.footer-content__sns li.icon:hover {
	background: #fd8463;
}

.footer-content__sns li img {
	margin-top: 2px;
	transition: 0.4s ease-in-out;
}

.footer-content__sns li.icon img {
	width: 24px;
}

.footer-content__sns li.icon:hover img {
	filter: brightness(1000%);
}

.footer-content__sns li.note {
	width: 84px;
}

.footer-content__sns li.note:hover img {
	filter: brightness(170%);
}

.footer-content__banner {
	display: flex;
	border-right: 1px solid #aab0b4;
}

.footer-content__banner a {
	display: block;
	width: calc(var(--glid) * 4);
	padding: 10px 28px 10px 28px;
	border-left: 1px solid #aab0b4;
}

.footer-content__link {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.footer-content__copyright {
	font-size: 1.2rem;
}

.site-footer {
	position: relative;
}

.site-footer:after {
	width: calc(var(--glid) * 1);
	left: calc(var(--glid) * 0);
	top: calc(var(--glid) * 2);
	background: #fd7657;
}

.site-footer:before {
	width: calc(var(--glid) * 3);
	left: calc(var(--glid) * 3);
	top: calc(var(--glid) * 4);
	background: #fd7657;
}

.footer-photo {
	position: relative;
}

.footer-photo:after {
	width: calc(var(--glid) * 6);
	right: calc(var(--glid) * -5);
	top: calc(var(--glid) * -4);
	z-index: 0;
}

.footer-photo:before {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * -0.5);
	background: #fd7657;
	z-index: 10;
}

.footer-content {
	position: relative;
}

.footer-content:after {
	width: calc(var(--glid) * 1);
	right: calc(var(--glid) * 0);
	top: calc(var(--glid) * -2);
	background: #fd7657;
	z-index: 0;
}

.footer-content:before {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * 8);
	top: calc(var(--glid) * -3);
	aspect-ratio: 5/4;
	z-index: 10;
}

.footer-content__body {
	position: relative;
}

.footer-content__body * {
	z-index: 10;
	position: relative;
}

.footer-content__body:after {
	width: calc(var(--glid) * 4);
	left: calc(var(--glid) * -1);
	bottom: calc(var(--glid) * -1);
}

.footer-photo .footer-photo__image {
	position: relative;
	z-index: 5;
}

/*--------------------------------------
content page
--------------------------------------*/
.page-title {
	width: calc(var(--glid) * 19);
	padding-top: 280px;
	margin-bottom: calc(100px + var(--glid) * 1.5);
	display: flex;
	justify-content: space-between;
	gap: calc(var(--glid) * 2);
}

.page-title__body {
	flex: 1;
}

.page-title__image {
	width: calc(var(--glid) * 5);
	position: relative;
}

.page-title__image:before {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * -1);
	top: calc(var(--glid) * 4.5);
	background: #fd7657;
}

.page-title__copy {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: calc(100% - (var(--glid) * 1));
}

.page-title__person {
	display: block;
	font-size: 2.8rem;
	margin-top: 1.25em;
}

.page-title__position {
	display: inline-block;
	font-size: 1.6rem;
	transform: translateY(-0.3em);
	margin-right: 0.5em;
}

.pankuzu {
	font-size: 1.6rem;
	margin-bottom: 40px;
	position: relative;
	display: flex;
	justify-content: flex-start;
}

.pankuzu li:after {
	content: '>';
	display: inline-block;
	margin: 0 0.5em;
}

.pankuzu:before {
	width: calc(var(--glid) * 0.67);
	left: calc(var(--glid) * -2.0);
	top: calc(var(--glid) * -0.5);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.pankuzu:after {
	width: calc(var(--glid) * 0.33);
	left: calc(var(--glid) * -1.33);
	top: calc(var(--glid) * 0.03);
	aspect-ratio: 5/4;
	background: #fd7657;
}

.page-title__copy {
	font-size: 5.2rem;
}

.page-wrapper {
	background: #eaeaea;
	border-top: 1px solid #eaeaea;
	padding-bottom: 200px;
}

.page-wrapper__content {
	width: calc(var(--glid) * 19);
	margin-top: calc(var(--glid) * -1.5);
}

.page-wrapper__body {
	background: #fff;
	width: calc(var(--glid) * 19);
	padding: calc(var(--glid) * 2);
	margin-top: calc(var(--glid) * -1.5);
	margin-bottom: calc(var(--glid) * 2);
}

.page-wrapper__post h2 {
	font-size: 3.6rem;
	margin-left: calc(var(--glid) * -1);
	position: relative;
	margin-bottom: 2.5em;
	margin-top: 3.5em;
	font-feature-settings: 'palt';
}

.page-wrapper__post h2:first-child {
	margin-top: 0;
}

.page-wrapper__post h2:before {
	content: '';
	display: block;
	width: 4px;
	height: 100%;
	background: #fd8463;
	position: absolute;
	left: calc(var(--glid) * -1);
	top: 0;
}

.page-wrapper__post h3 {
	color: #fd8463;
	font-weight: 500;
	font-size: 2.0rem;
	margin-bottom: 2em;
}

.page-wrapper__post p {
	font-size: 2.0rem;
	margin-bottom: 3.5em;
}

.page-wrapper__post figure {
	display: block;
	margin-bottom: 3.5em;
	padding: calc(var(--glid) * 1) calc(var(--glid) * 2);
}

.page-wrapper__post figure figcaption {
	font-size: 1.6rem;
	margin-top: 10px;
	line-height: 1.75;
}

.page-wrapper__content .box-list__item {
	margin-bottom: calc(var(--glid) * 2);
}

.archive {
	width: calc(var(--glid) * 19);
}

.archive__title {
	font-size: 5.2rem;
	margin-bottom: calc(var(--glid) * 1.5);
}

/*--------------------------------------
form
--------------------------------------*/
.entry-form__lead {
	margin-bottom: 60px;
}

.entry-form {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	color: #4f5d66;
	font-size: 16px;
	line-height: 1.7;
}

.entry-form__row {
	display: flex;
	gap: 30px;
	padding: 30px 0;
	border-top: 1px solid #d9d9d9;
	margin: 0;
}

.entry-form__row:last-of-type {
	border-bottom: 1px solid #d9d9d9;
}

fieldset.entry-form__row {
	min-width: 0;
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
}

.entry-form__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 300px;
	flex-shrink: 0;
	padding: 5px 0;
	margin: 0;
	width: calc(var(--glid) * 5);
}

.entry-form__label {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.entry-form__required {
	display: inline-block;
	flex-shrink: 0;
	padding: 1px 5px;
	margin-top: 2px;
	background: #ff806a;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	border-radius: 2px;
}

.entry-form__content {
	width: calc(var(--glid) * 10);
	flex: 1;
	min-width: 0;
}

.entry-form__input {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	padding: 8px 12px;
	border: 1px solid #aeb4b7;
	border-radius: 0;
	background: #f0f0f0;
	color: #4f5d66;
	font: inherit;
	outline: none;
}

.entry-form__input:focus {
	border-color: #6b7981;
	background: #fff;
}

.entry-form__choice {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	cursor: pointer;
	font-weight: 500;
}

.entry-form__choice:last-child {
	margin-bottom: 0;
}

.entry-form__choice input[type="radio"],
.entry-form__choice input[type="checkbox"] {
	flex-shrink: 0;
	width: 21px;
	height: 21px;
	margin: 0;
	cursor: pointer;
}

.entry-form__choice input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #b6bdc1;
	border-radius: 50%;
	background: #f1f1f1;
}

.entry-form__choice input[type="radio"]:checked {
	border: 6px solid #55656e;
	background: #fff;
}

.entry-form__choice input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #b6bdc1;
	border-radius: 2px;
	background: #f1f1f1;
}

.entry-form__choice input[type="checkbox"]:checked {
	position: relative;
	background: #55656e;
	border-color: #55656e;
}

.entry-form__choice input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 6px;
	width: 5px;
	height: 9px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

.entry-form__other {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

.entry-form__other label {
	width: 70px;
	flex-shrink: 0;
	font-weight: 500;
}

.entry-form__other .entry-form__input {
	flex: 1;
	width: auto;
}

.entry-form__note {
	margin: 12px 0 0;
	font-size: 14px;
	font-weight: 500;
}

.entry-form__submit {
	display: flex;
	justify-content: center;
	padding: 90px 0 40px;
}

.entry-form__submit-button {
	width: min(100%, calc(var(--glid) * 8));
	padding: 20px 40px;
	border: 0;
	border-radius: 9999px;
	background: #53636c;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: 0.4s ease-in-out;
}

.entry-form__submit-button:hover {
	background: #fd8463;
}

.u-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.error-message span {
	display: block;
	color: #c91c1c;
	border: 1px solid #c91c1c;
	padding: 1em;
	text-align: center;
	margin-bottom: 3em;
}
.error {
	color: #c91c1c;
	margin-top: 0.2em;
}

/*------------------------------------------------------------------------------------------------------------------------------------
スマホ
------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:768px) {
html {
	font-size: 62.5%;
	width: 100%;
}

body {
	font-size: 1.4rem;
}

body, html {
	min-width: 100%;
	height: 100%;
}

p {
	font-size: 1.4rem;
}

p .small {
	font-size: 80%;
}

h1,h2,h3,h4 {
	font-size: 1.6rem;
}

.sp-only {
	display: block;
}

.sp-only-inline {
	display: inline-block
}

.pc-only {
	display: none;
}

.gmap {
	padding-top: 150%;
}

.width_wide {
	width: 88vw;
}

.dot_h_red {
	background-size: auto 2px;
}

.dot_h_blue {
	background-size: auto 2px;
}

.dot_v_red {
	background-size: 2px auto;
}

.dot_v_blue {
	background-size: 2px auto;
}

.flex {
	flex-wrap: wrap;
}

.wp-block-columns-is-layout-flex {
	display: block;
}

/*--------------------------------------
base
--------------------------------------*/
.home-content {
	padding: calc(var(--glidsp) * 8) 0 calc(var(--glidsp) * 4) 0;
}

.home__title {
	position: relative;
	margin-bottom: calc(var(--glidsp) * 2);
}

.home__title:before {
	width: calc(var(--glid) * 2);
	left: calc(var(--glid) * 0);
	top: calc(var(--glid) * -3.5);
}

.home__title:after {
	width: calc(var(--glid) * 1);
	left: calc(var(--glid) * 2);
	top: calc(var(--glid) * -2.0);
}

.home-content .home__title {
	font-size: 3.0rem;
}

.home-content__lead {
	margin-bottom: calc(var(--glid) * 4);
}

.layout-a,
.layout-b,
.layout-c {
	width: 100%;
}

.layout-a {
	display: block;
	justify-content: space-between;
}

.layout-a .home__title,
.layout-b .home__title,
.layout-c .home__title {
	width: 100%;
	padding: 0 calc(var(--glidsp) * 2);
}

.home-content__lead p {
	padding: 0 calc(var(--glidsp) * 2);
}

.layout-a .layout-a__content {
	width: 100%;
}

.layout-a .layout-a__img {
	display: none;
}

.box-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.box-list__item {
	width: calc(var(--glidsp) * 22);
	margin: 0 auto calc(var(--glidsp) * 4) auto;
}

.box-list__image {
	width: 100%;
	margin: calc(var(--glidsp) * 0) auto calc(var(--glidsp) * 2) auto;
}

.box-list__icon {
	font-size: 1.1rem;
}

.box-list__title {
	font-size: 1.8rem;
	margin-top: 4vw;
}

.box-list__footer {
	margin-top: 8vw;
	padding-bottom: 20px;
}

.box-list__more {
	font-size: 1.1rem;
}

/*--------------------------------------
Wide / layout
--------------------------------------*/
:root {
	--glidsp: 3.846vw;
}

/*--------------------------------------
site-header
--------------------------------------*/
.site-header {
	padding: calc(var(--glidsp) * 1.90);
	height: auto;
	z-index: 30;
}

.is-local-nav-fixed .site-header {
	padding: calc(var(--glidsp) * 1.90);
	height: auto;
}

.site-header__logo {
	width: 250px;
}

.global-menu {
	display: block;
	margin-right: 0;
}

.global-nav {
	width: 100%;
}

.global-nav__list {
	font-size: 1.6rem;
	margin-right: 0;
	display: block;
	margin-top: 0;
}

.global-nav__item--parent {
	margin-left: 0;
}

.global-nav__group {
	position: relative;
	left: auto;
	bottom: auto;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	right: auto;
	box-shadow: none;
}

.is-local-nav-fixed .global-nav__group {
	bottom: auto;
}

.global-nav__group-main {
	margin-bottom: 0;
}

.global-nav__group-sub {
	display: block;
	font-size: 1.4rem;
	margin-top: 15px;
}

.global-nav__group-main a,
.global-nav__group-sub a {
	display: block;
	padding-right: 20px;
	margin: 0 0 0 0;
	background: url(images/svg/arrow_bottom.svg) no-repeat right 3px top 0.5em;
	background-size: 10px;
	background: none;
}

.global-nav__item--parent,
.global-nav__group-main a,
.global-nav__group-sub a {
}

.global-nav__item--parent,
.global-nav__group-main a {
	padding: 15px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
}

.global-nav__group-sub a {
	padding: 5px 15px;
}

.global-nav__group-main a:last-child,
.global-nav__group-sub a:last-child {
	margin: 0;
}

.site-header__entry {
	width: calc(100vw - 5vw);
	position: fixed;
	bottom: 2.5vw;
	top: auto;
	right: 2.5vw;
	border-radius: 0;
	z-index: 300;
	background: #fd8463;
	border-radius: 4px;
	border: 1px solid #f07452;
	box-shadow: 0 0 2px 1px rgba(0,0,0,0.1);
}

.site-header__entry a {
	color: #fff;
	padding: 1em 1em 1em 1em;
	filter: brightness(1000%);
	background-position: right calc(50% - 6.5em) center;
	text-indent: -1em;
}

.contact .site-header__entry {
	display: none;
}

/*--------------------------------------
menu
--------------------------------------*/
.menu-toggle {
	display: block ;
	position: fixed;
	z-index: 400;
	top: calc(var(--glidsp) * 1.90 - 10px);
	right: calc(var(--glidsp) * 1.90 - 10px);
	width: 40px;
	height: 40px;
	transition: 0.3s ease-in-out;
	opacity: 1;
}

.menu-toggle.is-active {
	top: calc(var(--glidsp) * 1.90 - 14px);
	right: calc(var(--glidsp) * 1.90 - 14px);
}

.menu-toggle.fix {
	opacity: 1;
}

.menu-toggle span {
	display: block;
	position: absolute;
	transition: 0.3s ease-in-out;
	width: calc(100% - 10px);
	height: 1.5px;
	left: 0;
	background: #fd8463;
}

.menu-toggle span:first-child {
	top: 12px;
}

.menu-toggle span:nth-child(2) {
	top: 19px;
}

.menu-toggle span:nth-child(3) {
	top: 26px;
}

.menu-toggle.is-active span:first-child,
.menu-toggle.is-active span:nth-child(2),
.menu-toggle.is-active span:nth-child(3) {
	top: 14px;
}

.menu-toggle.is-active span:first-child {
	transform: rotate(30deg);
}

.menu-toggle.is-active span:nth-child(2) {
	transform: rotate(-30deg);
}

.menu-toggle.is-active span:nth-child(3) {
	transform: rotate(-30deg);
}

#menu {
	position: fixed;
	top: 0;
	right: -20em;
	opacity: 0;
	width: 20em;
	height: 100%;
	z-index: 200;
	transition: 0.4s ease-in-out;
	pointer-events: none;
	padding: 0;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: column;
	background: #fd8463;
	background: #4b5a63;
	background: #eaeaea;
}

.site-header:before {
	content: '';
	display: block;
	width: 100vw;
	height: 100%;
	background: rgba(0,0,0,0.7);
	position: fixed;
	left: 0;
	top: 0;
	z-index: 5;
	pointer-events: none;
	opacity: 0;
}

.is-noscroll .site-header:before {
	opacity: 1;
	pointer-events: auto;
	transition: 0.3s ease-in;
}

.global-nav {
	position: relative;
	z-index: 10;
}

.site-header.normal #menu {
	right: 0;
	transition: 0.3s ease-in-out;
	opacity: 1;
	pointer-events: auto;
}

#menu a {
	color: #fff;
	color: #4b5a63;
}

.global-nav__item--parent,
.global-nav__group-main a {
	padding: 15px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

/*--------------------------------------
kv
--------------------------------------*/
.key-visual {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.key-visual:before {
	width: calc(var(--glidsp) * 15);
	right: calc(var(--glidsp) * -6);
	top: calc(var(--glidsp) * -4);
}

.key-visual:after {
	width: calc(var(--glidsp) * 5);
	right: calc(var(--glidsp) * 0);
	bottom: calc(var(--glidsp) * 7.5);
	background: #fd7657;
	aspect-ratio: 5/4;
}

.key-visual__title {
	font-size: 2.3rem;
	font-size: 5.89vw;
	position: absolute;
	top: calc(var(--glidsp) * 10);
	left: auto;
	right: calc(var(--glidsp) * 17 - 0.75em);
}

.key-visual__title:before {
	width: calc(var(--glidsp) * 2);
	top: calc(var(--glidsp) * -5);
	right: auto;
	left: calc(var(--glidsp) * -1.5);
	background: #fd7657;
}

.key-visual__title:after {
	width: calc(var(--glidsp) * 7);
	top: calc(var(--glidsp) * 2.5);
	left: calc(var(--glidsp) * -2.5);
}

.key-visual__image--01 {
	width: calc(var(--glidsp) * 14);
	margin-left: calc(var(--glidsp) * 12);
	margin-top: calc(var(--glidsp) * 8);
	margin-bottom: calc(var(--glidsp) * 6);
}

.key-visual__image--02 {
	width: calc(var(--glidsp) * 20);
	margin-left: 0;
	margin-top: 0;
	order: 1;
}

.key-visual__image--03,
.key-visual__image--04 {
	position: relative;
}

.key-visual__image--03 {
	width: calc(var(--glidsp) * 8);
	left: auto;
	top: auto;
	margin-left: calc(var(--glidsp) * 1);
}

.key-visual__image--04 {
	width: calc(var(--glidsp) * 6);
	right: auto;
	top: auto;
	margin-right: calc(var(--glidsp) * 1);
}

.key-visual__image--01:before {
	width: calc(var(--glidsp) * 6);
	left: auto;
	right: calc(var(--glidsp) * 4);
	bottom: calc(var(--glidsp) * -7.5);
}

.key-visual__image--01:after {
	width: calc(var(--glidsp) * 4);
	left: auto;
	right: 0;
	bottom: calc(var(--glidsp) * -2);
	aspect-ratio: 5/4;
	z-index: 10;
}

.key-visual__image--02:before {
	width: calc(var(--glidsp) * 2);
	left: auto;
	right: calc(var(--glidsp) * -1);
	bottom: auto;
	top: calc(var(--glidsp) * 3);
	background: #fd7657;
	z-index: 10;
	aspect-ratio: 5/4;
}

.key-visual__image--02:after {
	width: calc(var(--glidsp) * 11);
	left: calc(var(--glidsp) * -5);
	bottom: auto;
	top: calc(var(--glidsp) * -7);
	aspect-ratio: 5/4;
}

.key-visual__image--03:before {
	width: calc(var(--glidsp) * 10);
	left: calc(var(--glidsp) * 6);
	bottom: calc(var(--glidsp) * -4);
}

.key-visual__image--03:after {
	width: calc(var(--glidsp) * 3);
	right: calc(var(--glidsp) * -1);
	top: calc(var(--glidsp) * -2);
	aspect-ratio: 4/5;
}

.key-visual__image--04:before {
	content: none;
}

.key-visual__image--04:after {
	content: none;
}

.home .site-header .global-nav__item--parent,
.home .site-header .site-header__entry {
	transform: translateY(0);
	transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.home.load .site-header .site-header__logo,
.home.load .site-header .global-nav__item--parent,
.home.load .site-header .site-header__entry {
	transform: translateY(0);
}

/*--------------------------------------
local__navigation
--------------------------------------*/
.local-nav {
	width: calc(var(--glidsp) * 14);
	margin: calc(var(--glidsp) * 2) calc(var(--glidsp) * 2) calc(var(--glidsp) * 4) calc(var(--glidsp) * 10);
	position: relative;
}

.local-nav__list--main {
	display: block;
	margin-bottom: 4vw;
}

.local-nav__list--main .local-nav__item {
	width: 100%;
}

.local-nav__list--main .local-nav__item a {
}

.local-nav__list--sub {
	display: flex;
	flex-wrap: wrap;
	padding: 0.75em 0;
	font-size: 1.2rem;
}

.local-nav__list--sub .local-nav__item {
	width: 50%;
	background: none;
	padding: 0.4em 0;
}

.local-nav:before {
	width: calc(var(--glidsp) * 4);
	right: calc(var(--glidsp) * 17);
	top: auto;
	bottom: calc(var(--glidsp) * 0);
	background: #fd7657;
	z-index: 10;
}

.local-nav:after {
	width: calc(var(--glidsp) * 2);
	right: auto;
	left: calc(var(--glidsp) * -10);
	bottom: auto;
	top: calc(var(--glidsp) * 4);
}

/*--------------------------------------
workstyle
--------------------------------------*/
.workstyle {
	padding: calc(var(--glidsp) * 10) 0 calc(var(--glidsp) * 5) 0;
}

.workstyle:before {
	content: none;
}

.workstyle:after {
	content: none;
}

.workstyle__layout {
	width: calc(var(--glidsp) * 22);
	width: 100%;
}

.workstyle__title {
	position: absolute;
	right: calc(var(--glidsp) * 3);
	top: calc(var(--glidsp) * 4);
}

.workstyle__title:before {
	width: calc(var(--glidsp) * 6);
	right: calc(var(--glidsp) * 1);
	bottom: calc(var(--glidsp) * -2);
}

.workstyle .title-border {
	padding: 1.5em 1em;
	font-size: 1.8rem;
}

.workstyle__item {
	margin-bottom: 60px;
	width: 100%;
}

.workstyle__item:last-child {
	margin-bottom: 0;
}

.workstyle__item .home__title:before,
.workstyle__item .home__title:after {
	content: none;
}

.workstyle__item:nth-child(odd) {
	padding-right: calc(var(--glidsp) * 3);
	padding-right: 0;
}

.workstyle__item:nth-child(even) {
	padding-right: calc(var(--glidsp) * 3);
	padding-right: 0;
}

.workstyle__item:nth-child(odd) .workstyle-card__body {
	margin-left: calc(var(--glidsp) * 2);
}

.workstyle__item:nth-child(even) .workstyle-card__body {
	margin-left: calc(var(--glidsp) * 4);
}

.workstyle__item:nth-child(1) {
	margin-left: calc(var(--glidsp) * 0);
}

.workstyle__item:nth-child(2) {
	margin-left: calc(var(--glidsp) * 0);
}

.workstyle__item:nth-child(3) {
	margin-left: calc(var(--glidsp) * 0);
}

.workstyle__item:nth-child(4) {
	margin-left: calc(var(--glidsp) * 0);
	padding-right: calc(var(--glidsp) * 0);
}

.workstyle-card {
	display: block;
}

.workstyle-card__image {
	margin-top: calc(var(--glidsp) * 3);
}

.workstyle-card--02 .workstyle-card__image {
	width: calc(var(--glidsp) * 17);
	overflow: hidden;
	aspect-ratio: 3/2;
	position: relative;
	z-index: 10;
	margin-left: auto;
}

.workstyle-card--02 .workstyle-card__image img {
	width: auto;
	height: 100%;
}

.workstyle-card--03 .workstyle-card__image {
	width: calc(var(--glidsp) * 15);
}

.workstyle-card--03 .workstyle-card__image img {
	position: relative;
	z-index: 10;
}

.workstyle-card--04 .workstyle-card__image {
	display: none;
}

.workstyle-card__body:before,
.workstyle-card__body:after {
	background: #fd7657;
	aspect-ratio: 5/4;
}

.workstyle-card__body:before {
	width: calc(var(--glidsp) * 2);
	bottom: calc(var(--glidsp) * -3.25);
}

.workstyle-card__body:after {
	width: calc(var(--glidsp) * 1);
	bottom: calc(var(--glidsp) * -4);
}

.workstyle__item:nth-child(odd) .workstyle-card__body:before {
	left: calc(var(--glidsp) * 19);
}

.workstyle__item:nth-child(odd) .workstyle-card__body:after {
	left: calc(var(--glidsp) * 21);
}

.workstyle__item:nth-child(even) .workstyle-card__body:before {
	left: calc(var(--glidsp) * -3);
}

.workstyle__item:nth-child(even) .workstyle-card__body:after {
	left: calc(var(--glidsp) * -1);
}

.workstyle__item:nth-child(4) .workstyle-card__body:before {
	left: calc(var(--glidsp) * 19);
}

.workstyle__item:nth-child(4) .workstyle-card__body:after {
	left: calc(var(--glidsp) * 21);
}

.workstyle-card__body {
	width: calc(var(--glidsp) * 19);
	position: relative;
}

.workstyle-card__title {
	font-size: 2.4rem;
	margin-bottom: calc(var(--glidsp) * 2);
}

.workstyle-card__number {
	display: block;
	position: static;
	right: auto;
	top: auto;
	font-size: 6.0rem;
	line-height: 1;
	margin-bottom: 0.25em;
	margin-left: -0.1em;
}

.workstyle__item {
	position: relative;
}

.workstyle-card__body {
	position: relative;
	z-index: 10;
}

.workstyle-card--02:before {
	width: calc(var(--glidsp) * 8);
	left: calc(var(--glidsp) * -4);
	top: calc(var(--glidsp) * 2);
	aspect-ratio: 5/4;
}

.workstyle-card--02:after {
	width: calc(var(--glidsp) * 8);
	right: calc(var(--glidsp) * 0);
	bottom: calc(var(--glidsp) * 10);
	aspect-ratio: 5/4;
}

.workstyle-card--03:before {
	width: calc(var(--glidsp) * 13);
	left: auto;
	right: 0;
	bottom: calc(var(--glidsp) * -12);
	aspect-ratio: 4/5;
}

.workstyle-card--03:after {
	width: calc(var(--glidsp) * 7);
	right: auto;
	left: 0;
	top: calc(var(--glidsp) * 11);
}

.workstyle-card--04:before {
	content: none;
}

/*--------------------------------------
related-service
--------------------------------------*/
.related-service {
	width: 100%;
	flex-direction: column-reverse;
	align-items: center;
	align-content: center;
	padding: calc(var(--glidsp) * 5) calc(var(--glidsp) * 2) calc(var(--glidsp) * 4) calc(var(--glidsp) * 2);
	margin-left: auto;
	margin-right: auto;
}

.related-service__body {
	width: 100%;
}

.related-service__image {
	width: calc(var(--glidsp) * 18);
	aspect-ratio: 5/4;
	overflow: hidden;
	margin-bottom: calc(var(--glidsp) * 4);
}

.related-service__image img {
	transform: translateY(-8%);
}

.related-service__title {
	margin-bottom: calc(var(--glidsp) * 2);
	font-size: 1.8rem;
	position: relative;
}

.related-service__title img {
	width: calc(var(--glidsp) * 13);
	margin-top: 12px;
	display: block;
}

.related-service__title-icon {
	width: 7em;
	font-size: 1.2rem;
	right: 0;
	bottom: auto;
	top: -4vw;
	z-index: 10;
}

.related-service__description {
	font-size: 1.5rem;
}

/*--------------------------------------
background-area
--------------------------------------*/
@keyframes backgroundobj {
0% {
	transform: translateY(0);
}

100% {
	transform: translateY(-1257px);
}
}

@keyframes backgroundobj02 {
0% {
	transform: translateY(0);
}

100% {
	transform: translateY(-1257px);
}
}

.background-area__obj li img {
	width: 1400px;
	transform: translateX(calc(50vw - 700px));
}

.about {
	margin-top: calc(var(--glidsp) * 0);
	padding: calc(var(--glidsp) * 7) 0 0 0;
	width: calc(var(--glidsp) * 22);
	margin-bottom: calc(var(--glidsp) * 7);
}

.background-area__title {
	margin-bottom: 2.5em;
}

.background-area .title-border {
	font-size: 1.6rem;
}

.background-area__title-catch {
	display: block;
	font-size: 3.0rem;
	margin-top: 1.0em;
}

.culture .background-area__title-catch {
	font-size: 2.8rem;
}

.background-area__title-catch .line {
	display: block;
	margin-bottom: 0.4em;
}

.about__paragraph {
	font-size: 1.6rem;
	font-feature-settings: normal;
}

.culture-point {
	width: calc(var(--glidsp) * 20);
}

.culture-point:nth-child(even) {
	margin-left: calc(var(--glidsp) * 2);
}

.culture__layout {
	width: calc(var(--glidsp) * 22);
	margin-bottom: calc(var(--glidsp) * 6);
}

.culture__main-image {
	position: sticky;
	top: calc(50vh + var(--glidsp) * -8);
	margin: 0 auto;
	width: calc(var(--glidsp) * 18);
	margin-bottom: calc(50vh + var(--glidsp) * -8);
	transition: 0.6s ease-in-out;
	position: static;
	margin-bottom: calc(var(--glidsp) * 6);
}

.cultureFix .culture__main-image {
	opacity: 0.2;
	opacity: 1;
}

.culture__body {
	margin-left: 0;
	width: calc(var(--glidsp) * 22);
	position: relative;
	z-index: 10;
}

.culture-point {
	margin-bottom: calc(var(--glidsp) * 2.5);
}

.culture-point__title {
	font-size: 2.4rem;
	margin-bottom: calc(var(--glidsp) * 1.5);
}

.culture-point__title:before {
	content: '';
	width: 2em;
	height: 1px;
	background: #fff;
	display: block;
	margin-bottom: 1.25em;
}

.culture-point__image {
	width: 80%;
	margin: 0 auto calc(var(--glidsp) * 2.0) auto;
}

/*--------------------------------------
gallery
--------------------------------------*/
.gallery {
	width: 100%;
	overflow: hidden;
	margin-bottom: calc(var(--glidsp) * -12);
	position: relative;
	z-index: 5;
}

.culture-gallery {
	width: calc(var(--glidsp) * 204);
	display: flex;
	gap: calc(var(--glidsp) * 2);
	animation: gallery 15s linear infinite;
}

@keyframes gallery {
0% {
	transform: translateX();
}

100% {
	transform: translateX(calc(var(--glid)  * -90));
}
}

.culture-gallery__item:nth-child(odd) {
	width: calc(var(--glidsp) * 14);
}

.culture-gallery__item:nth-child(even) {
	width: calc(var(--glidsp) * 16);
}

.culture-gallery__item:nth-child(1),
.culture-gallery__item:nth-child(3),
.culture-gallery__item:nth-child(5),
.culture-gallery__item:nth-child(7),
.culture-gallery__item:nth-child(9),
.culture-gallery__item:nth-child(11) {
	margin-top: calc(var(--glid) * 3);
}

.culture-gallery__item:nth-child(4),
.culture-gallery__item:nth-child(10) {
	margin-top: calc(var(--glid) * 7);
}

/*--------------------------------------
interview
--------------------------------------*/
.home-content.interview {
	padding-top: calc(var(--glidsp) * 20);
}

.interview-card__person {
	font-size: 1.4rem;
}

.interview-card__position {
	font-size: 1.2rem;
}

.interview-card__image {
	width: calc(var(--glidsp) * 16);
	margin: calc(var(--glidsp) * 2) auto calc(var(--glidsp) * 3) auto;
}

.home-content.interview .btn {
	position: static;
	width: calc(var(--glidsp) * 18);
	margin: 0 auto;
	display: block;
}

/*--------------------------------------
workday
--------------------------------------*/
.workday-profile {
	display: block;
	position: relative;
	margin-bottom: calc(var(--glidsp) * 4);
}

.workday-profile:last-child {
	margin-bottom: 0;
}

.workday-profile:after {
	content: none;
}

.workday-profile__image:after {
	content: none;
}

.workday-profile__image {
	width: calc(var(--glidsp) * 16);
}

.workday-profile__image img {
	z-index: 5;
}

.workday-profile__body {
	width: calc(var(--glidsp) * 23);
	margin-left: calc(var(--glidsp) * 1);
	margin-top: calc(var(--glidsp) * 3);
}

.workday-profile__title {
	font-size: 2.4rem;
	writing-mode: vertical-rl;
	position: absolute;
	right: calc(var(--glidsp) * 2);
	top: 0;
}

.schedule-list__item {
	position: relative;
	padding: 0 0 6vw 40px;
}

.schedule-list__time {
	display: block;
	font-size: 1.4rem;
	margin-bottom: 5px;
}

.schedule-list__title {
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.schedule-list__description {
	font-size: 1.5rem;
}

/*--------------------------------------
benefits
--------------------------------------*/
.home-content.benefits {
	background: url(images/benefits_ph01_sp.jpg) no-repeat bottom center #b3d4f3 !important;
	background-size: 100% auto !important;
	padding: calc(var(--glidsp) * 6) calc(var(--glidsp) * 2) calc(var(--glidsp) * 12) calc(var(--glidsp) * 2);
}

.layout-c {
	display: block;
}

.benefits__title {
	width: 100%;
	writing-mode: horizontal-tb;
	font-size: 3.0rem;
	margin-bottom: calc(var(--glidsp) * 2);
}

.benefits__title br {
	display: none;
}

.benefits-list {
	width: 100%;
	display: block;
	margin-top: 0;
}

.benefits-list__item {
	width: 100%;
	padding: 7%;
	margin-bottom: 4px;
}

.benefit-card {
	flex-direction: column-reverse;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	align-content: flex-end;
}

.benefit-card__body {
	width: 100%;
}

.benefit-card__title {
	font-size: 1.8rem;
	margin-bottom: 20px;
	position: absolute;
	left: 0;
	top: 0;
}

.benefit-card__description {
	font-size: 1.4rem;
}

.benefit-card__image {
	width: calc(var(--glidsp) * 5.5);
	margin-top: -0.5em;
	margin-bottom: 3vw;
}

/*--------------------------------------
tab
--------------------------------------*/
.tabs {
	margin-bottom: calc(var(--glidsp) * 3);
}

.tabs__item {
	font-size: 1.4rem;
}

.tab-content {
	display: none;
}

.table-a__extra-row.is-show {
	max-height: 3000px;
}

/*--------------------------------------
table
--------------------------------------*/
.table-a {
	width: 100%;
	margin-bottom: calc(var(--glidsp) * 3);
	text-align: left;
}

.table-a__caption {
	height: 1px;
	overflow: hidden;
}

.table-a tr {
	display: block;
}

.table-a th,
.table-a td {
	vertical-align: top;
	display: block;
}

.table-a th {
	color: #fd8463;
	padding: 1.5em calc(var(--glidsp) * 2) 0.5em calc(var(--glidsp) * 2);
	font-weight: 500;
	width: 100%;
	border-bottom: none;
}

.table-a td {
	padding: 0 calc(var(--glidsp) * 2) 1.5em calc(var(--glidsp) * 2);
}

.table-a ul li {
	padding: 0 0 0 15px;
	margin-bottom: 0.5em;
}

.table-a ul li:before {
	width: 6px;
	height: 6px;
}

/*--------------------------------------
office
--------------------------------------*/

.office-list .box-list__item:nth-child(n+4) {
	margin-top: calc(var(--glid) * 0);
}


.office-list iframe {
	aspect-ratio: 1/1;
	height: calc(var(--glidsp) * 22);
}

.office-card__access {
	font-size: 1.4rem;
}

/*--------------------------------------
faq
--------------------------------------*/
.faq-list {
	flex-direction: column;
	gap: 4px;
	width: calc(var(--glidsp) * 24);
	margin: 0 auto;
}

.faq-list li {
	width: 100%;
	padding: 1.2em 1.2em 1.2em 1.2em;
	border-radius: 8px;
	align-self: flex-start;
	cursor: pointer;
	transition: 0.5s ease-in-out;
}

.faq-list li:hover {
	background: rgba(255,255,255,0.6);
}

.faq-list li:after,
.faq-list li:before {
	width: 12px;
	height: 2px;
	right: 1.4em;
	top: calc(2.5em);
}

.faq-list li:before {
	transition: 0.4s ease-in-out;
	transform: rotate(90deg);
}

.faq-list li.is-show:before {
	transform: rotate(0);
}

.faq-list li .faq-title {
	padding: 0.5em 30px 0.5em 1.75em;
}

.faq-list li p {
	padding: 0 1em 0 1.75em;
}

.faq-list li.is-show p {
	padding: 0.75em 1em 0.5em 1.75em;
	max-height: 1000px;
	font-size: 1.4rem;
}

.faq-list li .en {
	font-size: 2.0rem;
	left: 0;
	top: 0.2em;
}

.faq-list li .faq-title {
	font-size: 1.5rem;
}

/*--------------------------------------
entry
--------------------------------------*/
.entry {
	padding: calc(var(--glidsp) * 5) calc(var(--glidsp) * 2);
}

.entry a {
	padding: 0;
}

.entry__title .en {
	font-size: 6.8rem;
	margin-bottom: calc(var(--glidsp) * 1.0);
}

.entry__title .jp {
	font-size: 2.4rem;
	margin-bottom: calc(var(--glidsp) * 2);
}

.entry p {
	margin-bottom: calc(var(--glidsp) * 3.5);
}

.entry p.btn {
	width: 100%;
}

.entry p.btn span {
	padding-right: 30px;
	background-size: 16px auto;
}

/*--------------------------------------
site-footer
--------------------------------------*/
.footer-photo {
	display: none;
}

.footer-content {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	padding: 0;
	flex-direction: column-reverse;
}

.footer-content__body {
	width: 100%;
	background: #fff;
	padding: calc(var(--glidsp) * 6.0) calc(var(--glidsp) * 2.0) calc(var(--glidsp) * 2.0 + 60px) calc(var(--glidsp) * 2.0);
}

.footer-content__sns {
	display: flex;
	gap: calc(var(--glidsp) * 1);
	margin-bottom: calc(var(--glidsp) * 1.5);
}

.footer-content__sns li.icon {
	width: calc(var(--glidsp) * 3.5);
}

.footer-content__sns li img {
	margin-top: 2px;
}

.footer-content__sns li.icon img {
	width: calc(var(--glidsp) * 1.5);
}

.footer-content__sns li.note {
	width: calc(var(--glidsp) * 4);
}

.footer-content__banner {
	width: 100%;
	flex-direction: column;
	display: flex;
	border-right: none;
}

.footer-content__banner a {
	display: block;
	width: 100%;
	padding: 6vw 0;
	border-left: none;
	border-bottom: 1px solid #aab0b4;
	text-align: center;
}

.footer-content__banner a img {
	width: 40%;
}

.footer-content__link {
	font-size: 1.2rem;
	margin-bottom: 10px;
}

.footer-content__copyright {
	font-size: 1.1rem;
}

.site-footer {
	position: relative;
}

.site-footer:after {
	content: none;
}

.site-footer:before {
	content: none;
}

.footer-content {
	position: relative;
}

.footer-content:after {
	content: none;
}

.footer-content:before {
	content: none;
}

.footer-content__body {
	position: relative;
}

.footer-photo .footer-photo__image {
	position: relative;
	z-index: 5;
}

/*--------------------------------------
content page
--------------------------------------*/
.page-title {
	width: calc(var(--glidsp) * 22);
	padding-top: 140px;
	margin-bottom: calc(var(--glidsp) * 8);
	display: block;
}

.page-title__image {
	width: calc(var(--glidsp) * 16);
	margin: calc(var(--glidsp) * 4) auto calc(var(--glidsp) * 10) auto;
}

.page-title__image:before {
	width: calc(var(--glidsp) * 5);
	left: calc(var(--glidsp) * -4);
	top: auto;
	bottom: calc(var(--glidsp) * -2);
	aspect-ratio: 5/4;
}

.page-title__copy {
	display: block;
	min-height: auto;
}

.page-title__person {
	font-size: 1.8rem;
}

.page-title__position {
	font-size: 1.2rem;
}

.pankuzu {
	font-size: 1.0rem;
	margin-bottom: calc(var(--glidsp) * 1);
}

.pankuzu:before {
	width: calc(var(--glidsp) * 2);
	left: calc(var(--glidsp) * -2);
	top: calc(var(--glidsp) * -4);
}

.pankuzu:after {
	width: calc(var(--glidsp) * 1);
	left: calc(var(--glidsp) * 0);
	top: calc(var(--glidsp) * -2.5);
}

.page-title__copy {
	font-size: 3.0rem;
}

.page-wrapper {
	padding-bottom: calc(var(--glidsp) * 4);
}

.page-wrapper__content {
	width: calc(var(--glidsp) * 22);
	margin-top: calc(var(--glidsp) * -6);
}

.page-wrapper__body {
	width: calc(var(--glidsp) * 24);
	padding: 0;
	margin-top: calc(var(--glidsp) * -6);
	margin-bottom: calc(var(--glidsp) * 4);
}

.page-wrapper__post {
	padding: calc(var(--glidsp) * 2) calc(var(--glidsp) * 1) calc(var(--glidsp) * 4) calc(var(--glidsp) * 1);
}

.page-wrapper__post h2 {
	font-size: 2.4rem;
	margin-left: 0;
	margin-bottom: calc(var(--glidsp) * 3);
	margin-top: calc(var(--glidsp) * 5);
}

.page-wrapper__post h2:first-child {
	margin-top: calc(var(--glidsp) * 3);
}

.page-wrapper__post h2:before {
	width: 2px;
	left: calc(var(--glidsp) * -1);
}

.page-wrapper__post h3 {
	font-size: 1.5rem;
	margin-bottom: calc(var(--glidsp) * 1.5);
}

.page-wrapper__post p {
	font-size: 1.5rem;
	margin-bottom: calc(var(--glidsp) * 1.5);
}

.page-wrapper__post figure {
	margin-bottom: calc(var(--glidsp) * 1.5);
	padding: calc(var(--glidsp) * 1.0) 0;
}

.page-wrapper__post figure figcaption {
	font-size: 1.2rem;
	margin-top: 8px;
	line-height: 1.5;
}

.archive {
	width: calc(var(--glidsp) * 22);
}

.archive__title {
	font-size: 3.0rem;
	margin-bottom: calc(var(--glidsp) * 2);
}

/*--------------------------------------
form
--------------------------------------*/
.entry-form__lead {
	margin-bottom: 8vw;
	padding: calc(var(--glidsp) * 2) calc(var(--glidsp) * 1) 0 calc(var(--glidsp) * 1) ;
	font-size: 1.5rem;
}

.entry-form {
	width: 100%;
	max-width: none;
	font-size: 15px;
	line-height: 1.7;
}

.entry-form__row {
	display: block;
	padding: calc(var(--glidsp) * 1);
	margin: 0;
	border-top: 1px solid #d9d9d9;
}

.entry-form__row:last-of-type {
	border-bottom: 1px solid #d9d9d9;
}

fieldset.entry-form__row {
	min-width: 0;
	padding: calc(var(--glidsp) * 1);
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
}

.entry-form__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	padding: 0;
	margin: 0 0 12px;
}

.entry-form__label {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.entry-form__required {
	flex-shrink: 0;
	padding: 1px 5px;
	margin-top: 0;
	font-size: 11px;
	line-height: 1.5;
}

.entry-form__content {
	width: 100%;
	min-width: 0;
}

.entry-form__input {
	box-sizing: border-box;
	width: 100%;
	height: 35px;
	padding: 4px 5px;
}

.entry-form__choice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 8px;
	font-size: 1.4rem;
	line-height: 1.6;
}

.entry-form__choice:last-child {
	margin-bottom: 0;
}

.entry-form__choice input[type="radio"],
.entry-form__choice input[type="checkbox"] {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin-top: 4px;
}

.entry-form__other {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.entry-form__other label {
	width: 3.5em;
	flex-shrink: 0;
	font-size: 1.4rem;
	font-weight: 500;
}

.entry-form__other .entry-form__input {
	flex: 1;
	width: auto;
}

.entry-form__note {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.6;
	font-weight: 500;
}

.entry-form__submit {
	display: flex;
	justify-content: center;
	padding: calc(var(--glidsp) * 3);
}

.entry-form__submit-button {
	width: 100%;
	max-width: 410px;
	padding: 17px 30px;
	font-size: 16px;
}

.error-message {
	padding: calc(var(--glidsp) * 1) calc(var(--glidsp) * 1) 0 calc(var(--glidsp) * 1);
}

.error-message span {
	
	margin-bottom: 0;
}
}
