@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
@import url("https://use.typekit.net/qxu1zku.css");

*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--main: #112241;
	--red: #BC1E21;
	--padding:78px;
}
@media screen and (max-width:760px) {
	:root {
	--padding:24px;
	--padding_in:36px;
}
}

html {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: clamp(15px, 12.865px + 0.303vw, 17px);
	font-weight: 500;
	color: #000;
	line-height: 1.75;
	letter-spacing: 1px;
	background: #fff;
	overflow-wrap: break-word;
	font-feature-settings: "palt";
}


.zen,
.h-gnav {
	font-family: "Zen Kaku Gothic New", sans-serif;
/*	font-weight: 600;*/
	font-style: normal;
}

.zenmin,
.sectionttl {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
.newsblock .sectionttl{
	
}
.garamond {
	font-family: "garamond-premier-pro", serif;
	font-weight: 400;
	font-style: normal;
}

article,
aside,
footer,
header,
nav,
section,
main {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2;
	font-weight: normal;
	font-size: 100%;
}

@media screen and (max-width:820px) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		/*	font-weight: 700*/
	}
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
}

a,
a::after,
a::before {
	color: inherit;
	outline: none;
	text-decoration: none;
	position: relative;
	display: inline-block;
	transition: all .3s;
	-webkit-transition: all .3s;
	-o-transition: all .3s;
	-moz-transition: all .3s
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
}

video {
	max-width: 100%;
	height: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, sans-serif;
	font-size: inherit;
}

ul,
ol {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

th,
td {
	text-align: left;
	vertical-align: top;
}


blockquote,
q {
	quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
	content: "";
	content: none;
}

address {
	font-style: normal;
}

input,
textarea,
select {
	max-width: 100%;
}

/* input全体に指定する場合は以下 */
input {
	-webkit-appearance: none;
}

/*-----------------------
/*clearfix
---------------------------------*/
/* For modern browsers */
.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

/* For IE 6/7 only */
.cf {
	*zoom: 1;
}

.no-scroll {
	overflow: hidden;
}

.l-row {
	display: flex;
	flex-wrap: wrap;
}

.l-row__between {
	justify-content: space-between;
}

.l-row__center {
	align-items: center;
}
.l-inner_l {
	max-width: 1166px;
	margin: 0 auto;
}
.l-inner {
	max-width: 1060px;
	margin: 0 auto;
}
.l-inner_s {
	max-width: 1006px;
	margin: 0 auto;
}
@media screen and (max-width: 1260px) {
	.l-inner_s {
	padding: 0 2.915%
}
}
@media screen and (max-width: 760px) {
	.l-inner_s {
	padding: 0 var(--padding_in)
}
}
.bg-gr {
	background: #e6e6e6;
	padding-bottom: 1px;
	position: relative;
}

.bg-gr2 {
	background: #F7F8F8;
	padding-bottom: 1px;
	position: relative;
}

@media screen and (max-width: 760px) {
	.bg-gr {
		background: #f5f5f5;
	}
}

.under main {
	margin: 180px auto 20px;
	overflow: hidden;
}

@media screen and (max-width: 960px) {
	.under main {
		margin: 140px auto 20px;
	}
}
@media screen and (max-width: 760px) {
	.under main {
		margin: 110px auto 20px;
	}
	#privacy.under main{
		margin-bottom: 0;
	}
}

.txt {
	line-height: 2;
}

.col4box,
.col3box,
.col2box {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.col3box._30{
	    gap: inherit;
	column-gap: 30px
}

.col2box > * {
	width: calc(100% / 2 - 8px);
}

.col3box > * {
	width: calc(100% / 3 - 11px);
}
.col3box._30 > *{
	width: calc(100% / 3 - 20px);
}
.col4box > * {
	width: calc(100% / 4 - 12px);
}


.garamond.mainttl {
	font-size: clamp(40px, 24.864px + 4.036vw, 80px);
	margin-bottom: 1px;
	letter-spacing: 3px;
	color: var(--main);
}
.t-about .garamond.mainttl{
	color: #fff;
}

.btn {
	text-align: center;
	position: relative;
}

.btn a {
	text-align: center;
	font-size: 16px;
	padding: 7px 20px;
	width: min(250px, 80%);
	border: 1px solid #000;
	position: relative;
}

.btn a:hover {
	background: var(--main);
	color: #fff;
}

.btn2 a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: 18px;
	text-decoration: underline;
	font-weight: 700;
	position: relative;
	    padding-right: 55px;
    letter-spacing: 4px;
	color: var(--main)
}

@media screen and (max-width: 760px) {
	.btn2 a {
		padding-right: 47px;
		font-size: 16px;
	}
}

.btn2 a:after {
	content: '';
	background: url(../images/ico-arrow_right.svg)no-repeat;
	width: 67px;
	height: 67px;
	position: absolute;
	right: -52px;
	top: calc(50% - 33px);
}

@media screen and (max-width: 760px) {
	.btn2 a:after {
		width: 38px;
		height: 38px;
		top: calc(50% - 19px);
		right: 0
	}
}

.btn2 a:hover {
	color: #811a1f
}

.btn2 a:hover:after {
	right: -62px;
}

.sp {
	display: none;
}

@media screen and (max-width:760px) {
	.pc {
		display: none
	}

	.sp {
		display: block
	}

}

.js_anim {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .6s, visibility .6s, transform .6s;
}

.js_anim.is_anim {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.fadein {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}

/*header*/
.h-gnav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 60px 65px 40px var(--padding);
	position: relative;
	top: 0;
	width: 100%;
	background: var(--main);
	color: #fff;
	z-index: 99;
	transition: transform 0.3s ease-in-out;
}

.h-floatingnav {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
	transform: translateY(-200%);
	transition: transform 0.3s ease-in-out;
}

/*
.h-undergnav{
	 position: fixed;
    top: 0;
    width: 100%;
    z-index: 99;
}
*/
.h-gnav.type2 {
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	justify-content: space-between;
	border-bottom: 1px solid var(--main)
}

.h-gnav.type2 .h-sitelogo {
	position: initial;
	    width: 352px;
}
@media screen and (max-width: 1260px) {
	.h-gnav.type2 .h-sitelogo {
	    width: 195px;
}
}
.h-gnav.type2 .h-sitelogo a {
	padding: 20px 62px 20px 78px;
	background: #fff;
	display: block;
	position: relative;
}
@media screen and (max-width: 1260px) {
	.h-gnav.type2 .h-sitelogo a{
	    padding: 20px 42px 20px 24px;
}
}
.h-gnav.type2 .h-sitelogo a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 22%;
	right: 0;
	z-index: -1;
	background-color: #ffffff;
	transform: skewX(53deg);
	width: 100%;
}

.h-spnav {
	display: none
}

@media screen and (max-width: 980px) {
	.h-gnav {
		display: none;
	}

	.h-spnav {
		display: block
	}
}

.h-sitelogo {
	width: 302px;
	position: absolute;
	top: 30px;
	z-index: 995;
	left: var(--padding);
}
@media screen and (max-width: 1160px) {
	.h-sitelogo {
		width: 180px;
		left: 24px;
	}
}


.h-sitelogo a {
	display: block;
}
.h-navlist {
	align-items: center;
	padding-right: 65px;
}

.h-navlist li{

    display: flex;
    justify-content: flex-end;
}
.h-navlist li.btn-cta{
	margin-left: 60px
}
.btn-cta {
	width: min(125px, 10vw);
}

.h-navlist a {
	display: block;
	padding: 8% 18px;
	text-align: center;
}
.h-navlist a:hover{
	opacity: .7
}
.h-navlist a span {
	display: block;
}

.h-navlist a .en {
	font-size: 11px;
	letter-spacing: 3px;
	line-height: 1.2
}

.h-navlist a .jp {
	font-size: 17px;
	letter-spacing: 3px
}
@media screen and (max-width: 1160px) {
	.h-navlist a .jp {
	font-size: 15px;
}
}
.btn-cta a {
	text-align: center;
	background: var(--red);
	color: #fff;
	width: 100%;
	letter-spacing: 3px;
	padding: 2px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	border: 1px solid var(--red)
}

.btn-cta a:after {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}

.btn-cta a:hover {
	color: var(--red);
}

.btn-cta a:hover::after {
	transform: scale(1, 1);
}

.btn-cta.size-l {
	width: min(375px, 80%);
	margin: 0 auto;
}
@media screen and (max-width: 760px) {
	.btn-cta.size-l {
	width: calc(100% - 24px);
}
}
.btn-cta.size-l a {
	font-size: clamp(16px, 10.702px + 1.413vw, 30px);
	padding: .5em;
}

.btn-cta.slide {
	background: #fff;
	color: #ff701e;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.btn-cta.slide::after {
	background: #ff701e;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}


.txtarea .txt {
	letter-spacing: 4px;
	margin-bottom: 56px
}

@media screen and (max-width: 760px) {
	.txtarea .txt {
		margin-bottom: 2em
	}
}

/*sp nav*/
.drawermenu {
	display: none;

}

@media screen and (max-width: 1260px) {
	.drawermenu {
		display: flex;
		position: fixed;
		top: 17px;
		right: 8px;
		width: 50px;
		height: 50px;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		cursor: pointer;
		z-index: 998;
		background: var(--main);
		border-radius: 50%
	}
}

.drawermenu span {
	display: block;
	width: 19px;
	height: 1px;
	margin-bottom: 4px;
	background: #fff;
	transition: .3s;
}

.drawermenu span:nth-of-type(3) {
	margin-bottom: 0;
}

.drawermenu.active {
	background: none;
}

.drawermenu.active span:nth-of-type(1) {
	transform: rotate(45deg);
	transform-origin: left;
	left: 2px;
	position: relative;
}

.drawermenu.active span:nth-of-type(2) {
	width: 0;
	transform-origin: center;
	opacity: 0;
}

.drawermenu.active span:nth-of-type(3) {
	transform: rotate(-45deg);
	transform-origin: left;
	left: 2px;
	top: 3px;
	position: relative;
}

.sp-menu {
	position: fixed;
	min-width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	background-color: var(--main);
	color: #fff;
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
	overflow: auto;
	z-index: 997;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 760px) {
	.sp-menu {
		padding: 0;
		overflow-x: hidden;
	}
}

.sp-menu.active {
	opacity: 1;
	visibility: visible;
}

.sp-menu .fadeup {
	opacity: 0;
	transition: opacity 0.3s linear, transform 0.5s cubic-bezier(0.39, 0.58, 0.57, 1);
	transform: translateY(0px);
}

.sp-menu.active .fadeup {
	transform: translateY(-20px);
	transition: opacity 0.5s linear 0.5s, transform 0.5s cubic-bezier(0.39, 0.58, 0.57, 1) 0.5s;
	opacity: 1;
}

.sp-menulist {
	width: 100%;
	margin-bottom: 100px;
	padding: 80px 5% 0;
}

.sp-menulist a {
	padding: .5em;
	text-align: center;
	display: block;
	font-size: 18px;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2)
}

.sp-menulist a .en {
	font-size: 12px;
	display: block;
}

.sp-menulist a .jp {
	font-size: 16px;
	display: block;
}

/* kv */
.kv {
	height: calc(100vh - 162px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	padding: 5% 5% 5% var(--padding)
}

@media screen and (max-width: 1260px) {
	.kv {
		height: 54vw;
	}
}

@media screen and (max-width: 760px) {
	.kv {
		height: 100vh;
		aspect-ratio: 6/9;
		width: 100%;
		padding: 5% var(--padding)
	}
}

@media screen and (max-width: 430px) {
	.kv {
		height: 154.25vw;

	}
}

.kv .catchcopy {
	position: relative;
	z-index: 1;
	width: 565px
}

@media screen and (max-width: 1160px) {
	.kv .catchcopy {
		width: 50%;
		margin-top: 60px
	}
}

@media screen and (max-width: 760px) {
	.kv .catchcopy {
		width: 90%;
		margin-top: 20px
	}
}
@media screen and (max-width: 420px) {
	.kv .catchcopy {
		width: 100%;
	}
}
.kv .catchcopy svg{
	filter: drop-shadow(0px 0px 8px rgb(0, 0, 0));
	transform: translateZ(0);
}

.video_wrap {
	background: var(--main);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: calc(100vh - 162px);
	overflow: hidden;
}

.video_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.video_wrap:before {
	content: '';
	background: url(../images/kv_object.svg)no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100vh - 162px);
}

.video_wrap #video.sp_mov {
	max-height: 100%;

}

.video_wrap video {
	width: 100%
}

@media screen and (max-width: 1260px) {
	.video_wrap:before {
		width: 80%
	}
}

@media screen and (max-width: 760px) {
	.video_wrap {
		background: #f5f5f5;
		height: 84.25vw;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	.video_wrap:before {
		width: 50%
	}

	.video_wrap video {
		object-fit: cover;
		aspect-ratio: 6 / 10;
	}
}

.kv-subimg {
	position: absolute;
	top: 50px;
	right: 5%;
	width: min(258px, 18.887%);
	z-index: 1;
}

@media screen and (max-width: 760px) {
	.kv-subimg {
		top: -100px;
		width: min(220px, 30%);
	}
}

.mv_under {
	background: var(--main);
	padding: 35px var(--padding) 23px;
	position: relative;
}

.num-tel img {
	width: 287px;
	margin-right: 40px;
	vertical-align: bottom;
}

/*readcontent*/
.readcontent {
	padding: 130px var(--padding);
	overflow: hidden;
}

@media screen and (max-width: 760px) {
	.readcontent {
		padding: 15vw 5% 50px;
		overflow: hidden;
	}
}

.readcontent .mainttl {
	font-size: clamp(23px, 11.918px + 2.422vw, 48px);
	margin-bottom: .6em;
	margin-left: -.38em
}

.readcontent .subttl {
	font-size: clamp(18px, 12.324px + 1.514vw, 33px);
	margin-bottom: 2em;
	letter-spacing: 0;
}

.readcontent .imgwrap {
	width: min(1005px, 90%);
	margin: 0 auto;
}

@media screen and (max-width: 760px) {
	.readcontent .imgwrap {
		width: 100%;
		margin-right: calc(50% - 50vw - 12px);
		gap: 12px;
	}

	.readcontent .col4box.imgwrap > * {
		width: calc(100% / 2 - 12px);
	}
}

.readcontent .mainimg {
	margin: 0 calc(50% - 50vw) 50px auto;
	width: min(1032px, 90%);
}

@media screen and (max-width: 760px) {
	.readcontent .mainimg {
		width: 100%;
		margin: 0 auto 30px calc(50% - 50vw);
	}
}

/*news*/
.newsblock {
	background: #fff;
	width: min(1060px, 100%);
	margin: 0 auto 160px;
	padding: 40px var(--padding) 43px;
	position: relative;
	z-index: 2
}

@media screen and (max-width: 760px) {
	.newsblock {
		padding: 50px 5%;
		margin-bottom: 0
	}
}
.newsblock .sectionttl{
	    font-size: clamp(24px, 12.324px + 1.514vw, 33px);
    margin-bottom: 0;
	padding-bottom: .65em;
	text-align: center;
	border-bottom: 1px solid #000
}
.newslist {
	margin-bottom: 43px;
}

.newslist li {
	border-bottom: 1px solid rgba(0, 0, 0, 0.7);
}

.newslist a {
	padding: 30px 22px;
	align-items: center;
}

@media screen and (max-width: 760px) {
	.newslist a {
		padding: 16px 0;
		align-items: flex-start;
	}
}

.newslist a:hover {
	background: #ebebeb
}

.newslist .thumbnail {
	width: 135px;
	overflow: hidden;
}

@media screen and (max-width: 760px) {
	.newslist .thumbnail {
		width: 85px;
	}
}

.newslist .thumbnail img {
	transition: all .3s;
	aspect-ratio: 1.618 / 1;
	object-fit: cover;
}

@media screen and (max-width: 760px) {
	.newslist .thumbnail img {
		aspect-ratio: 1 / 1;
	}
}

.newslist a:hover .thumbnail img {
	transform: scale(1.1);
}

.newslist .txtarea {
	width: calc(100% - 135px);
	padding-left: 5%
}

.newslist .txtarea > * {
	display: block;
}

.newslist .txtarea .date {
	font-size: clamp(12px, 11.243px + 0.202vw, 14px);
	margin-bottom: 3px
}

.newslist .txtarea .postttl {
	font-size: clamp(15px, 12.486px + 0.404vw, 18px);
	transition: all .3s
}

.newslist a:hover .postttl {
	text-decoration: underline;
}

/*service*/
.serviceblock {
	background: url(../images/service_bg.png)no-repeat;
	background-size: 68%;
	background-position: top left;
	padding: 400px var(--padding) 112px;
	margin-top: -400px
}

@media screen and (max-width: 760px) {
	.serviceblock {
		margin-top: 0;
		padding: 50px 5%;
		background-position: top -100px left -100px;
		background-size: 100%;
	}
}

.serviceblock .subttl {
	font-size: clamp(16px, 14.486px + 0.404vw, 20px);
	margin-bottom: 60px;
	letter-spacing: 3px;
	font-weight: 700;
	color: var(--main)
}

@media screen and (max-width: 760px) {
	.serviceblock .subttl {
		margin-bottom: 2em
	}
}

.serviceblock .txtarea {
	width: min(810px, 80%);
	margin-bottom: 130px
}

@media screen and (max-width: 760px) {
	.serviceblock .txtarea {
		width: 100%;
		margin-bottom: 70px
	}
}

.serviceimgwrap {
	display: grid;
	grid-template-columns: 66.28% 1fr;
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 16px;
	grid-row-gap: 13px;
	margin: 0 auto 57px;
	width: min(1005px, 100%);
}

@media screen and (max-width: 760px) {
	.serviceimgwrap {
		grid-column-gap: 11px;
	}
}

.top_06 {
	grid-area: 1 / 1 / 3 / 2;
}

.top_07 {
	grid-area: 1 / 2 / 2 / 3;
}

.top_08 {
	grid-area: 2 / 2 / 3 / 3;
}

.corresponding {
	width: min(1005px, 100%);
	margin: 0 auto 180px;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.corresponding:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 46px 92px;
	border-top-color: #958e9a;
	border-bottom: 0;
	position: absolute;
	bottom: -96px;
	left: calc(50% - 92px);
}

.corresponding dt {
	    font-size: clamp(18px, 14.594px + 0.908vw, 27px);
    padding: 18px 37px;
    line-height: 1;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    margin-bottom: 40px;
    display: inline-block;
    letter-spacing: 3px;
}

.corresponding dd {
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(16px, 13.730px + 0.605vw, 22px);
	text-align: center;
	line-height: 2.6;
	margin-bottom: 1em;
	letter-spacing: 2px
}

.serviceblock .txt-cta {
	font-size: clamp(22px, 20.486px + 0.404vw, 26px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	margin-bottom: clamp(33px, 14.080px + 5.045vw, 83px);
}
@media screen and (max-width: 760px) {
	.serviceblock .txt-cta {
	text-align: center;
}
}
.t-about {
	background: var(--main);
	padding: 130px var(--padding);
	color: #fff;
}

@media screen and (max-width: 760px) {
	.t-about {
		padding: 50px 5%;
	}

	.t-about .col2box > * {
		width: 100%
	}

	.t-about .txtarea {
		margin-bottom: 20px
	}
}

.t-about .copytxt {
	font-size: clamp(24px, 17.946px + 1.615vw, 40px);
	margin-bottom: 83px;
	line-height: 1.6
}

.t-about .mainttl {
	margin-bottom: 1em
}
.t-about .btn2{
	    margin-right: clamp(0px, -32.921px + 8.779vw, 87px);
}
.t-about .btn2 a {
	font-size: clamp(15px, 13.108px + 0.505vw, 20px);
	color: #fff;
}


.aboutwrap{
	justify-content: space-between
}
.aboutwrap .img{
	width: min(505px,100%);
	margin-right: -16px
}
@media screen and (max-width: 1260px) {
	.aboutwrap .img{
	width:48%;
	margin-right: 0;
}
}
@media screen and (max-width: 760px) {
	.aboutwrap .img{
	width:100%;
	margin: 0 auto
}
}
.bnr_recruitarea {
	padding: 65px 0 79px;
	text-align: center;
}

@media screen and (max-width: 760px) {
	.bnr_recruitarea {
		padding: 0;
	}
}

.bnr_recruit {
	width: min(1168px, 100%);
	margin: 0 auto;
}

@media screen and (max-width: 760px) {
	.bnr_recruit {
		width: 100vw;
		margin: 40px calc(50% - 50vw) 0;
	}

	.bnr_recruit img {
		width: 100%;

	}
}

.bnr_recruit:hover {
	opacity: .7
}
.bnr_recruit_css{
	margin: 0 auto;
	background: #f5f5f5;
	padding: 60px var(--padding);
	position: relative;
}
.bnr_recruit_css:after{
	content: '';
	width: 100%;
	height: 50%;
	background: #fff;
	position: absolute;
	bottom: 0;
	z-index: 0;
	left: 0
}
.bnr_recruit_css > *{
display: block;
	position: relative;
	z-index: 1
}
.bnr_recruit_css .ttl{
	margin-bottom: 30px;
}
.bnr_recruit_css .txt{
	    padding: 0 10%;
    margin-bottom: 20px;
}
.bnr_recruit_css .img{
margin-bottom: 30px
}
.bnr_recruit_css .btn-cta.size-l{
text-align: center;
    background: var(--red);
    color: #fff;
    width: 100%;
    letter-spacing: 3px;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    z-index: 1;
    border: 1px solid var(--red);
	font-size: clamp(16px, 10.702px + 1.413vw, 30px);
    padding: .5em;
	text-decoration: none;
}
.p-footer {
	background: var(--main);
	padding: 50px var(--padding) 30px;
	color: #fff;
}
@media screen and (max-width: 769px) {
	.p-footer{
		padding: 50px var(--padding) 100px;
	}
}

.footerinner {
	display: grid;
	grid-template-areas: "f_left f_center f_right";
	grid-template-columns: 42% 33% 1fr;

}

@media screen and (max-width: 1260px) {
	.footerinner {
		grid-template-columns: auto 1fr;

	}
}

@media screen and (max-width: 760px) {
	.footerinner {
		display: block;
font-size: 16px
	}
}

.footerinner a:hover {
	opacity: .7
}

.f_sitelogo {
	font-size: 20px;
	margin-bottom: 2em
}

.f_left {
	margin-bottom: 40px
}

.f_nav {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 16px;
	grid-row-gap: 0px;
}

@media screen and (max-width: 980px) {
	.f_nav {
		display: block;
		border-top: 1px solid rgba(255, 255, 255, 0.4);
		padding-top: 18px
	}
}

@media screen and (max-width: 760px) {
.companyinfo td.num {
    display: block;
    width: 100%;
    font-size: 24px;
}
}
.f_center > li:first-child {
	grid-area: 1 / 1 / 2 / 2;
}

.f_center > li:nth-child(2) {
	grid-area: 1 / 2 / 2 / 3;
}

.f_center > li:nth-child(3) {
	grid-area: 2 / 1 / 3 / 2;
}

.f_center > li:nth-child(24) {
	grid-area: 2 / 2 / 3 / 3;
}

.f_nav .ttl {
	font-size: 15px;
	line-height: 1;
}

.f_nav .ttl a {
	padding: 5px 0 10px;
}
@media screen and (max-width: 760px) {
	.f_nav .ttl a{
	padding: 10px 0 16px;
    display: block;
    font-size: 18px;
		letter-spacing: 3px
}
}
.f_nav li {
	margin-bottom: 1em
}

.f_nav li > a {
	font-size: 14px;
	display: block;
	padding-left: 1em;
}
@media screen and (max-width: 760px) {
	.f_nav li{
		    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 15px;
	}
	.f_nav li > a {
    font-size: 16px;
    display: block;
    padding: 5px 1em;
    opacity: .8;
		margin-left: 1em
}
}

.f_nav li > a:before {
	content: '>';
	position: absolute;
	left: 0;
	top: 0
}

.f_right {
	padding-left: 16px
}
.f_right a{
	font-size: 15px
}

@media screen and (max-width: 760px) {
	.f_right {
		padding-left: 0
	}
	.f_right a{
		font-size: 18px
	}
}

.f_right .btn-cta {
	margin: 30px 0 0
}

@media screen and (max-width: 980px) {
	.f_right .btn-cta {
		width: 100%
	}
}

.f_right .btn-cta a {
	background: var(--main);
	color: #fff;
	border: 1px solid #fff
}

@media screen and (max-width: 760px) {
	.f_right .btn-cta a {
		padding: .5em;
		letter-spacing: 4px
	}
}

.f_right .btn-cta a:hover {
	color: var(--main);
	opacity: 1
}

.footerinner small {
	font-size: clamp(10px, 8.486px + 0.404vw, 14px);
	color: #958e9a
}

.floatingbtn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: var(--main);
	z-index: 999
}

@media screen and (max-width: 760px) {
	.floatingbtn {
		display: flex;
	}
}

.floatingbtn > * {
	width: 50%;
}

.floatingbtn .num-tel a {
	flex-direction: column;
	align-items: center;
	font-size: 11px;
	padding: 18px 28px;
}

.floatingbtn .num-tel img {
	width: auto;
	margin-right: 0;
}

.floatingbtn_mail {
	text-align: center;
	display: flex;
	align-items: center;
	background: #bc1e21;
	justify-content: center;
}
.contactbnrwrap{
	margin: 50px auto
}
@media screen and (max-width:768px) {
	.contactbnrwrap{
	margin: 0px auto;
}
}
.contactbnr {
	background: #EEE5DD;
	padding: 42px 0px 42px 55px
}

@media screen and (max-width:768px) {
	.contactbnr {
		padding: 42px 6% 52px;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
}

.contactbnr > div {
	width: 50%;
}

@media screen and (max-width:768px) {
	.contactbnr > div {
		width: 100%;
	}
}

.contactbnr .txtarea {
	padding-right: 55px;
	border-right: 1px solid #333;
	position: relative;
	font-weight: 700
}

@media screen and (max-width:768px) {
	.contactbnr .txtarea {
		padding-right: 0;
		border-right: none;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

.contactbnr .txtarea .ttl {
	font-size: clamp(30px, 27.887px + 0.563vw, 36px);
	margin-bottom: .6em;
	
}

.contactbnr .txtarea .ill {
	width: 65px;
	position: absolute;
	top: 7px;
	right: 55px;
}

@media screen and (max-width:768px) {
	.contactbnr .txtarea .ill {
		width: 105px;
		position: initial;
		order: 2;
		margin-bottom: 20px
	}

	.contactbnr .txtarea p {
		order: 3;
		margin-bottom: 20px;
		text-align: center;
	}
}

.contactbnr .btnarea {
	display: flex;
	align-items: center;
	justify-content: center
}

.contactbnr .btnarea a {
	background: var(--main);
	align-items: center;
	justify-content: center;
	padding: 16px 52px;
	color: #fff;
	font-weight: 700;
	border: 1px solid var(--main);
}

@media screen and (max-width:768px) {
	.contactbnr .btnarea a {
		width: 100%
	}
}

.contactbnr .btnarea a:hover {
	color: #b3896d;
	background: #fff;
}

.contactbnr .btnarea a .icon {
	width: 36px;
	margin-left: 5px
}