*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

/* 全体 */
.content-anm {
  opacity: 0;
  pointer-events: none;
}
body.appear .content-anm {
  animation-name: PageAnime-content;
  animation-duration: 0.55s;
  animation-delay: 0.55s;
  opacity: 0;
  pointer-events: auto;
  animation-fill-mode: forwards!important;
	-webkit-animation-fill-mode: forwards!important;
	-moz-animation-fill-mode: forwards!important;
	-ms-animation-fill-mode: forwards!important;
}
.animation .content-anm {
  opacity: 1;
  pointer-events: auto;
}
@keyframes PageAnime-content {
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

.move .animation-bg-works {
  background: #68D8AA;
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.move .animation-bg-faq {
  background: #FC7575;
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.move .animation-bg-bf {
  background: #69C2D6;
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.move .animation-bg-about {
  background: #FDCA5B;
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

.ttb .animation-bg-works,.ttb .animation-bg-faq,.ttb .animation-bg-bf,.ttb .animation-bg-about {
  animation-name: PageAnime-ttb;
}
@keyframes PageAnime-ttb {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  50% {
    transform-origin: top;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: bottom;
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
}


body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1em;
	font-weight: 500;
	color: #000;
	width: 100%;
  	min-width: 100%;
  	margin: 0px;
	padding: 0px;
	/*letter-spacing: 0.05em;*/
}

li{
	list-style: none;
}

h1,h2,h3,h4,h5,dl,ul,p,dt,dd,li{
  margin: 0;
  padding: 0;
  color: #000;
  line-height: 2;
}

figure{
	margin: 0;
}


a{
	outline: none;
	color: #000;
}


.pc-bl {
  display: block;
}

.pc-nn,.slick-slide .pc-nn{
  display: none;
}

#top {
	float: right;
	width: 113px;
	clear: right;
}

#txt_link {
	text-align: center;
	clear: left;
	float: left;
	width: 760px;
	margin-top: 15px;
	font-size: 90%;
	line-height: 140%;
	color: #584533;
}

img {
	margin: 0px;
	padding: 0px;
	border: 0;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}



.rd{
	color: #d34254;
}

.gr{
	color: #cedbd2;
}


body {
	margin-top: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
}

/*body {
  background-color: #212529;
  color: #fff;
  display: grid;
  gap: 24px;
  height: calc(100vh - 40px);
  margin: 0;
  padding: 20px 0;
  place-items: center;
  width: 100vw;
}*/

.side-menu{
	margin-top: 120px;
    top: 20px;
    right: 40px;
	position: fixed;
	z-index: 99;
}
.side-menu ul{
	display: flex;
	flex-direction: column;
	gap:5px;
}
.side-menu li{
	font-size: 1.25em;
	font-weight: 600;
}
.side-nav__item a {
  text-decoration: none;
	position: relative;
}

.side-nav__item.current a {
  /*border-bottom: 2px solid #D92D35;*/
}

.side-nav__item a::after{
	position: absolute;
    transition: .3s;
    content: '';
    width: 0;
    left: 50%;
    bottom: 0;
    height: 2px;
    background: #D92D35;
}
.side-nav__item a:hover::after{
	width: 100%;
    left: 0;
}
.side-nav__item.current a::after{
    /*width: 0;
    height: 0;*/
}
.breadcrumb {
  padding: 1em 0;
}

.breadcrumb ol {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

.breadcrumb li {
  align-items: center;
  justify-content: center;
  display: flex;
	font-weight: 600;
}

.breadcrumb li + li::before {
  align-items: center;
  justify-content: center;
  display: inline-flex;
  font: var(--fa-font-solid);
  content: "\f105";
  width: 1em;
  height: 1em;
	padding: 0 1em;
}

.breadcrumb a {
  cursor: pointer;
  padding: 0.5em 1em;
  transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: underline;
}
.breadcrumb a.current  {
  	text-decoration: none;
}

.breadcrumb a:hover {
  opacity: 0.3;
}



#wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	position: relative;
}
#wrapper2 {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 0 0;
	overflow: hidden;
	background: #fafafa;
}
#office-wrapper,#sus-wrapper,#policy-wrapper,#sig-wrapper,#contact-wrapper,#privacy-wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 0 0;
	overflow: hidden;
	background: #fafafa;
}
#wrapper3 {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 0 0;
	overflow: hidden;
	background: #fafafa;
}
#wrapper4 {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 5% 0;
	overflow: hidden;
	background: #D92D35;
}

#rc-wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 0 0;
	position: relative;
	overflow: clip;
}
.main-wrap{
	position: relative;
	z-index: 2;
}
.about-main{
	width: 100%;
    min-height: 400px;
    height: auto;
    align-items: center;
    background-image: url(../img/about-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 3%;
    display: flex;
    position: relative;
}
.job-main{
	width: 100%;
    min-height: 400px;
    height: auto;
    align-items: center;
    background-image: url(../img/job-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 3%;
    display: flex;
    position: relative;
}
.bf-main{
	width: 100%;
    min-height: 400px;
    height: auto;
    align-items: center;
    background-image: url(../img/bf-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 3%;
    display: flex;
    position: relative;
}
.faq-main{
	width: 100%;
    min-height: 400px;
    height: auto;
    align-items: center;
    background-image: url(../img/faq-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 3%;
    display: flex;
    position: relative;
}
.req-main{
	width: 100%;
    min-height: 400px;
    height: auto;
    align-items: center;
    background-image: url(../img/faq-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 3%;
    display: flex;
    position: relative;
}
.req-wrap{
	}

.req-wrap dl{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	border: 2px solid #ccc;
	justify-content: space-between;
}
.req-wrap dt{
	width: 20%;
	background: #eee;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-self: stretch;
	padding: 2em;
	border-right: 2px solid #ccc;
	border-bottom: 2px solid #ccc;
	align-items: center;
}
.req-wrap dd{
	width: 80%;
	background: #fff;
	box-sizing: border-box;
	padding: 2em;
	border-bottom: 2px solid #ccc;
}
.req-wrap dt:last-of-type{
	border-bottom: none;
}

.req-wrap dd:last-of-type{
	border-bottom: none;
}

.q-txt{
	display: flex;
}
.lbd{
	margin-left: 0.5em;
	border-left: 1px solid #D92D35;
	padding-left: 0.5em;
}
.bf-box{
	background: #fff;
	padding: 5%;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
	border-radius: 10px;
}
.bf-box dl{
	width: 100%!important;
}
.bf-box dt{
	color: #fff;
	text-align: center;
	background: #DE4A51;
	padding: 0.25em 1em;
	border-radius: 9999px;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem)!important;
    line-height: 1.7;
	display: inline-block;
	margin-bottom: 1%;
}
.bf-box dd{
	padding-left: 1em;
	padding-right: 1em;
	width: 100%!important;
	    text-align: justify;
}
.step-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2%;
}
.step-wrap>div{
	width: 31.333%;
	background: #fff;
	padding: 1em;
}
.t-category-wrap{
	display: flex;
	flex-direction: column;
	margin-top: 2%;
}
.t-category-wrap dl{
	display: flex;
	width: 100%!important;
}
.t-category-wrap dt{
	width: 25%;
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem)!important;
}
.t-category-wrap dd{
	width: 75%;
	background: #fff;
	color: #000;
	padding: 1em
}
.t-category1{
	background: #FC7575;
}
.t-category1-bd{
	border: 2px solid #FC7575;
}
.t-category2{
	background: #54C2A2;
}
.t-category2-bd{
	border: 2px solid #54C2A2;
}
.t-category3{
	background: #B2AB54;
}
.t-category3-bd{
	border: 2px solid #B2AB54;
}
.t-category4{
	background: #53659E;
}
.t-category4-bd{
	border: 2px solid #53659E;
}
.training-wrap {
	display: flex;
	flex-wrap: wrap;
	gap:40px; 
}
.training-wrap-box{
	display: flex;
	flex-direction: row;
	width: 100%;
}
.training-wrap-box-r{
	display: flex;
	flex-direction: row-reverse;
	width: 100%;
}
.training-wrap-box>div,.training-wrap-box-r>div{
	width: 60%;
}
.training-wrap img{
	border-radius: 20px;
}
.c-up {
	background: #fff;
	border: 3px solid #1D79B2;
	padding: 3%;
	margin-top: 5%;
	border-radius: 6px;
}
.c-up h3{
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem)!important;
    font-weight: 700;
	margin-bottom: 2%!important;
}

.c-up h3 span {
    background: linear-gradient(transparent 60%, #FDCA5B 60%);
}


.mess-main1{
	width: 100%;
    margin-top: 0%;
    position: relative;
}
.mess-main1::after{
	content: "";
    background-image: url(../img/cb-tit.png);
    background-repeat: no-repeat;
    /* background-position: center; */
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -2vw;
    left: 5vw;
	max-width: 720px;
    width: 50%;
    height: 205px;
    z-index: 1;
}

.about-main h2,.job-main h2,.bf-main h2,.faq-main h2,.req-main h2{
	position: relative;
    align-self: center;
    font-size: clamp(1.125rem, 0.35rem + 3.88vw, 5rem);
    transform: skewX(-15deg);
    /* text-align: center; */
    margin: 0 auto;
}
.about-main h2::before{
    transform: skewX(15deg);
	content: "";
    background-image: url(../img/about-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -2vw;
    left: 0;
	max-width: 262px;
    width: 100%;
    height: 101px;
    z-index: -1;
}
.job-main h2::before{
    transform: skewX(15deg);
	content: "";
    background-image: url(../img/job-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -2vw;
    left: 0;
	max-width: 200px;
    width: 100%;
    height: 101px;
    z-index: -1;
}
.faq-main h2::before{
    transform: skewX(15deg);
	content: "";
    background-image: url(../img/faq-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -4vw;
    left: 0;
	max-width: 441px;
    width: 100%;
    height: 101px;
    z-index: -1;
}
.req-main h2::before{
    transform: skewX(15deg);
	content: "";
    background-image: url(../img/req-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -1.5vw;
    left: 0;
	max-width: 344px;
    width: 100%;
    height: 101px;
    z-index: -1;
}
.bf-main h2::before{
    transform: skewX(15deg);
	content: "";
    background-image: url(../img/bf-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -2vw;
    left: 0;
	max-width: 220px;
    width: 100%;
    height: 101px;
    z-index: -1;
}
.about-main::before{
	content: "";
    width: 70vw;
    height: 120%;
    display: inline-block;
    background: #FDCA5B;
    position: absolute;
    top: -3vw;
    left: 4vw;
    z-index: -1;
}
.job-main::before{
	content: "";
    width: 70vw;
    height: 120%;
    display: inline-block;
    background: #68D8AA;
    position: absolute;
    top: -3vw;
    left: 4vw;
    z-index: -1;
}
.faq-main::before{
	content: "";
    width: 70vw;
    height: 120%;
    display: inline-block;
    background: #FC7575;
    position: absolute;
    top: -3vw;
    left: 4vw;
    z-index: -1;
}
.req-main::before{
	content: "";
    width: 70vw;
    height: 120%;
    display: inline-block;
    background: #FC7575;
    position: absolute;
    top: -3vw;
    left: 4vw;
    z-index: -1;
}

.bf-main::before{
	content: "";
    width: 70vw;
    height: 120%;
    display: inline-block;
    background: #69C2D6;
    position: absolute;
    top: -3vw;
    left: 4vw;
    z-index: -1;
}

.about-main::after,.job-main::after,.bf-main::after,.faq-main::after,.req-main::after{
	content: "";
    background-image: url(../img/cb-tit.png);
    background-repeat: no-repeat;
    /* background-position: center; */
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -5vw;
    left: 5vw;
    width: 90%;
    height: 205px;
    z-index: 1;
}

.scroll-bd {
    /* border-left: 2px solid #000; */
    position: absolute;
    z-index: 4;
    top: 560px;
    left: 20px;
    width: 20px;
    /* height: 97%; */
    /* display: block; */
}
.scroll-bd::before {
    content: "Scroll";
    position: absolute;
    top: -40px;
    left: -17px;
    font-weight: 800;
    font-size: 20px;
    color: #000;
    transform: rotate(90deg);
}
.chevron {
  position: absolute;
  width: 20px;
  height: 6px;
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation: move 3s ease-out infinite;
}

.chevron:first-child {
  animation: move 3s ease-out 1s infinite;
}

.chevron:nth-child(2) {
  animation: move 3s ease-out 2s infinite;
}

.chevron:before,
.chevron:after {
  content: ' ';
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #000;
}

.chevron:before {
  left: 0;
  transform: skew(0deg, 30deg);
}

.chevron:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}

@keyframes move {
  25% {
    opacity: 1;

  }
  33% {
    opacity: 1;
    transform: translateY(30px);
  }
  67% {
    opacity: 1;
    transform: translateY(40px);
  }
  100% {
    opacity: 0;
    transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
  }
}

.text {
  display: block;
  margin-top: 75px;
  margin-left: -30px;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 12px;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .25;
  animation: pulse 2s linear alternate infinite;
}

@keyframes pulse {
  to {
    opacity: 1;
  }
}




.rc-content,.job-content,.bf-content,.faq-content{
	background: #FAF8F0;
	position: relative;
}
.rc-cont-box{
	max-width: 1440px;
	width: 90%;
	padding: 5% 0;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.rc-cont-box2{
	max-width: 1200px;
	width: 90%;
	padding: 8% 0;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.holida-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #F9F3DC;
	border: 3px solid #FDCA5B;
	padding: 5%;
	border-radius: 10px;
	position: relative;
}
.holida-wrap h4{
	font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);
	font-weight: 700;
	text-align: center;
	margin-top: 5%;
	margin-bottom: 5%;
}
.holida-wrap h4::before{
	content: "";
    background-image: url(../img/holiday.png);
    background-repeat: no-repeat;
    /* background-position: center; */
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 3vw;
    left: 10vw;
    width: 140px;
    height: 100px;
    z-index: 1;
}
.holida-wrap>div{
	width: 52%;
}
.holida-wrap img{
	width:45%;
	border-radius: 10px;
}
.rc-cont{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	align-items:flex-start;
	z-index: 10;
}
.rc-left{
	width: 32%;
	position: sticky;
	top: 120px;
}
.st{
}
.mission img{
	display: inline;
	width: 92px;
}
.rc-right dl {
    width: 73%;
}
.rc-left img{
	border-radius: 20px;
}

.rc-right{
	width: 62%;
	padding-top: 2vw;
}
.rc-right dt{
	font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
	font-weight: 700;
	line-height: 1.3;
}

.rc-right p,.rc-right dd,.rc-left p,.faq-accordion p,.faq-accordion dt,.faq-accordion dd,.info p{
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	line-height: 1.7;
}
.count-box-wrap{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 34px;
}
.graph-box-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 34px;
    justify-content: space-between;
}
.info{
	max-width: 740px;
	text-align: center;
	width: 100%;
	background: #fff;
	padding: 3%;
	border: 4px solid #D92D35;
	margin: 0 auto;
}
.info h4{
	display:inline-block;
	text-align: center;
	margin: 0 auto 3%;
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	background: #D92D35;
	color: #fff;
	padding: 0.1em 1.5em;
	border-radius: 9999px;
}
.info h5{
	display:block;
	text-align: center;
	margin: 0 auto 3%;
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
}
/*.graph-box-wrap .box{
	background: #fff;
	padding: 1em 2em;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
	position: relative;
	text-align: center;
}*/
.chart-wrap h5{
	font-size: clamp(1rem, 1.3vw, 1.375rem);
    line-height: 1.5;
    font-weight: 500;
    background: #D92D35;
    color: #fff;
    text-align: center;
    display: inline-block;
    padding: 0.1em 1.5em 0.2em;
    border-radius: 9999px;
    margin-bottom: 2%;
}
.chart-wrap{
    background: #fff;
    text-align: center;
    padding: 2em 2em;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
	position: relative;
    display: flex;
	flex-wrap: wrap;
    /*flex-direction: column;*/
}
#my-chart {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
#my-chart .pie {
}
#my-chart .legend {
}
#pie-example-2 {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

.chart-area{
	width: 70%;
    /* height: 20vw; */
    height: 100%;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}

.chart-area::after{
	content: "";
    background: url(../img/chart1-bg.svg);
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: relative;
}


.chart-area2{
	width: 95%;
    /* height: 28vw; */
    margin: 2% auto 0;
    position: relative;
}

.chart-area3{
	width: 70%;
    /* height: 20vw; */
    height: 100%;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
}

.chart-area3::after{
	content: "";
    background: url("../img/car-type.svg");
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: relative;
}

.tt{
  writing-mode: vertical-rl;
}
.bar-c1{
	background: #FC7575;
}

.chart-img3 img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 0%);
    z-index: 11;
}
.wd-over{
	width: calc(100% + 20px);
	margin: 0 0 0 -10px;
}


#myPieChart,#myPieChart2{
	width: auto !important;
    height: 100% !important;
    position: absolute;
    left: 50%;
	top: 0;
    transform: translateX(-50%);
    z-index: 0;
}
.map-img{
	width: auto !important;
    height: 100% !important;
    position: absolute;
    left: 50%;
	top: 0;
    transform: translateX(-50%);
    z-index: 0;
}

.bar-box{
	opacity: 1;
}
.bar-box2{
	opacity: 1;
}
.animation-tly .column tbody {
  overflow: hidden;
}

.animation-tly .column tbody th {
  position: relative;
  background-color: #fff;
  z-index: 1;
}

.animation-tly .column tbody td {
  /* min-height: 2rem !important; */
  /* transform-origin: bottom; */
	animation: revealing-bars 0.6s linear;
	animation-fill-mode:forwards;
}

@keyframes revealing-bars {
  0% {
    transform: translateY(100%);
	  opacity: 0;
  }

  100% {
    transform: translateY(0%);
	  opacity: 1;
  }
}

.wdt100{
	width: 100%;
}
.graph1,.graph2,.graph4,.graph5{
	width: 47%;
}
.graph1 img {
	width: 100%;
	margin: 0 auto;
}


.graph3{
	width: 100%;
	position: relative;
}

.count-box-wrap .box{
	background: #fff;
	padding: 1em 2em;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
	width: 47%;
	position: relative;
}
.count-box-wrap .box h5{
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
	font-weight: 700;
}
.count-box-wrap .number{
	font-size: clamp(1.5rem, 0.682rem + 4.09vw, 3.75rem);
}
.count-box-wrap .box p{
	font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
	font-weight: 700;
	line-height: 1.1;
}

.box.count1::after{
	content: "";
    background: url(../img/count1.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}
.box.count2::after{
	content: "";
    background: url(../img/count2.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}
.box.count3::after{
	content: "";
    background: url(../img/count3.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}
.box.count4::after{
	content: "";
    background: url(../img/count4.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}
.box.count5::after{
	content: "";
    background: url(../img/count5.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}
.box.count6::after{
	content: "";
    background: url(../img/count6.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 30%;
    height: 100%;
    transform: translateY(-50%);
}


.rc-pd{
	padding: 10% 0;
}
.rc-mgb{
	margin-bottom: 20%;
}
.rc-cont .md1{
	font-family: 'Roboto', sans-serif;
	color: #D92D35;
	font-weight: 700;
	font-style: italic;
	font-size: clamp(1.875rem, 0.057rem + 9.09vw, 6.875rem);
	display: block;
	margin: 0;
	padding: 0;
}
.rc-cont h3{
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-weight: 700;
	font-size: clamp(1.125rem, 2.5vw, 2.5rem);
	position: relative;
	line-height: 1.3;
	margin-bottom: 5%;
}
.rc-cont h4{
	font-size: clamp(1.125rem, 0.761rem + 1.82vw, 2rem);
	line-height: 1.4;
	margin-bottom: 3%;
}


.rc-content::before{
	content: "";
    display: block;
    position: absolute;
    top: 100vh;
    width: 100%;
    height: 1300px;
    background: #FDD57C;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
.rc-content::after{
	content: "";
    display: block;
    position: absolute;
    top: 300vh;
    width: 100%;
    height: 1300px;
    background: #FDD57C;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
.job-content::before{
	content: "";
    display: block;
    position: absolute;
    top: 60vh;
    width: 100%;
    height: 1300px;
    background: #68D8AA;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
/*.job-content::after{
	content: "";
    display: block;
    position: absolute;
    top: 300vh;
    width: 100%;
    height: 1300px;
    background: #68D8AA;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}*/

.bf-content::before{
	content: "";
    display: block;
    position: absolute;
    top: 100vh;
    width: 100%;
    height: 1300px;
    background: #87CEDE;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
.bf-content::after{
	content: "";
    display: block;
    position: absolute;
    top: 450vh;
    width: 100%;
    height: 1300px;
    background: #87CEDE;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
.faq-content::before{
	content: "";
    display: block;
    position: absolute;
    top: 30vh;
    width: 100%;
    height: 1300px;
    background: #FD9191;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
/*.faq-content::after{
	content: "";
    display: block;
    position: absolute;
    top: 300vh;
    width: 100%;
    height: 1300px;
    background: #FD9191;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}*/
.faq-h4{
	font-size: clamp(1.125rem, 0.761rem + 1.82vw, 2.125rem);
	line-height: 1.7;
}
.rc-cp-btn{
	position: relative;
	z-index: calc(infinity);
	width: 70%;
	display: flex;
	margin: 0 auto;
}
.rc-cp-btn2{
	position: relative;
	z-index: calc(infinity);
	width: 40%;
	display: flex;
	margin: 0 auto;
}
.rc-cp-btn3{
	position: relative;
	z-index: calc(infinity);
	width: 50%;
	display: flex;
	margin: 0 auto;
}
.rc-cp-btn a,.rc-cp-btn2 a,.rc-cp-btn3 a{
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	background: #D92D35;
	color: #fff;
	padding: 1em 0;
	text-align: center;
	display: block;
	position: relative;
	width: 100%;
	border-radius: 9999px;
	text-decoration: none;
	font-weight: 600;
	margin: 0 auto;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.rc-cp-btn a:hover,.rc-cp-btn2 a:hover,.rc-cp-btn3 a:hover{
	opacity: 0.6;
}
.rc-cp-btn a::after,.rc-cp-btn2 a::after{
	position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f138";
		transform: translateY(-50%);
		font-size: 1em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
}
.rc-cp-btn3 a::after{
	position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f56d";
		transform: translateY(-50%);
		font-size: 1em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
}

.pg-scr-btn,.pg-scr-btn2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 10%;
}
.pg-scr-btn a{
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	background: #D92D35;
	color: #fff;
	padding: 1em 0;
	text-align: center;
	display: block;
	position: relative;
	width: 47%;
	border-radius: 9999px;
	text-decoration: none;
	font-weight: 600;
	margin: 0 auto;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.pg-scr-btn2 a{
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	background: #D92D35;
	color: #fff;
	padding: 1em 0;
	text-align: center;
	display: block;
	position: relative;
	width: 30%;
	border-radius: 9999px;
	text-decoration: none;
	font-weight: 600;
	margin: 0 auto;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}

.pg-scr-btn a:hover,.pg-scr-btn2 a:hover{
	opacity: 0.6;
}
.pg-scr-btn a::after,.pg-scr-btn2 a::after{
	position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f13a";
		transform: translateY(-50%);
		font-size: 1em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
}

.job-accordion {
  width: 100%;
  margin: 2% auto;
}

.job-accordion details {
  margin-bottom: 5%;
  border-radius: 5px;
  overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

.job-accordion summary {
    padding: 0.7em 1em;
    background-color: #D92D35;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    font-size: clamp(1.125rem, 2vw, 2.125rem);
    font-weight: 700;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.job-accordion summary:hover {
    opacity: 0.6;
}

.job-accordion summary::-webkit-details-marker {
  display: none;
}

.job-accordion .icon {
  width: 30px;
    height: 30px;
    position: relative;
}

.job-accordion .icon::before,
.job-accordion .icon::after {
  content: '';
  position: absolute;
  background-color: #fff;
  transition: transform 0.3s ease;
}

.job-accordion .icon::before {
  width: 4px;
    height: 30px;
    top: 0;
    left: 13px;
    transform-origin: center;
}

.job-accordion .icon::after {
  width: 30px;
    height: 4px;
    top: 12px;
    left: 0;
}

.job-accordion details[open] .icon::before {
  transform: scaleY(0);
}

.job-accordion .content {
  padding: 1.5em 2em 2em 2em;
    background: #fff;
}

.faq-accordion {
  width: 100%;
  margin: 2% auto;
}

.faq-accordion details {
  margin-bottom: 5%;
  border-radius: 5px;
  overflow: hidden;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

.faq-accordion summary {
    padding: 0.7em 1em;
    background-color: #FBEAEB;
	color: #D92D35;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
    font-weight: 700;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.faq-accordion summary:hover {
    opacity: 0.6;
}

.faq-accordion summary::-webkit-details-marker {
  display: none;
}

.faq-accordion .icon {
  width: 30px;
    height: 30px;
    position: relative;
}

.faq-accordion .icon::before,
.faq-accordion .icon::after {
  content: '';
  position: absolute;
  background-color: #D92D35;
  transition: transform 0.3s ease;
}

.faq-accordion .icon::before {
  width: 4px;
    height: 30px;
    top: 0;
    left: 13px;
    transform-origin: center;
}

.faq-accordion .icon::after {
  width: 30px;
    height: 4px;
    top: 12px;
    left: 0;
}

.faq-accordion details[open] .icon::before {
  transform: scaleY(0);
}

.faq-accordion .content {
  padding: 1.5em 2em 2em 2em;
    background: #fff;
	display: flex;
}
.faq-accordion .content2 {
  padding: 0em 2em 2em 2em;
    background: #fff;
	display: flex;
}
.faq-accordion .content>h4 {
  font-size: clamp(1.125rem, 2vw, 2.125rem);
    margin-right: 1em;
    display: flex;
    align-items: start;
	line-height: 1;
}
.faq-accordion .content dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.faq-accordion .content dt{
	margin-right: 1em;
    background: #D92D35;
    color: #fff;
    padding: 0.25em 1em;
    font-weight: 800;
    letter-spacing: 0.05em;
}
.faq-accordion .content dd{
}
.iv-btn-wrap{
	display: flex;
	flex-direction: column;
	gap:40px;
	width: 100%;
	position: relative;
}
.iv-btn-box a{
	display: block;
	width: 100%;
}
.iv-btn-box{
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
	cursor: pointer;
}

.iv-btn-box:hover img{
	transform:scale(1.1,1.1);
	transition: transform 0.6s ease;
}

.iv-btn-box::before {
  background: rgba(0, 0, 0, .5); /* マスクの色(黒の50%) */
  bottom: 0;
  content: '';
  height: auto;
  left: 0;
  opacity: 0; /* 最初は透明（非表示） */
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity .6s ease; /* ゆっくりopacityのみへ変化させる */
  width: 100%;
  z-index: 1;
}
.iv-btn-box:hover::before {
  opacity: 1;
}



.iv-btn-box.itv1::after{
	content: "";
	background: url("../img/iv-btn1-sub.png")no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 2em;
    width: 414px;
    height: 100%;
    transform: translateY(-50%);
	z-index: 1;
}

.iv-btn-box.itv2::after{
	content: "";
	background: url("../img/iv-btn2-sub.png")no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    left: 2em;
    width: 414px;
    height: 100%;
    transform: translateY(-50%);	
	z-index: 1;
}
.iv-btn-box.itv3::after{
	content: "";
	background: url("../img/iv-btn3-sub.png")no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 2em;
    width: 414px;
    height: 100%;
    transform: translateY(-50%);
	z-index: 1;
}
.iv-btn-box.itv4::after{
	content: "";
	background: url("../img/iv-btn4-sub.png")no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    left: 2em;
    width: 414px;
    height: 100%;
    transform: translateY(-50%);
	z-index: 1;
}
.itv-cont-wrap{
	display: flex;
	flex-direction: column;
	gap:120px;
}
.itv-cont-wrap h3{
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	font-weight: 700;
}
.itv-cont-wrap h3::first-letter{
	font-size: 1.5em;
}

.itv-cont-wrap h3 span{
	background: linear-gradient(transparent 60%, #FDCA5B 60%);
}

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

.itv-box-r{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.itv-box img,.itv-box-r img {
	width: 48%;
	border-radius: 10px;
}

.itv-box>div,.itv-box-r>div{
	width: 48%;
}

.interview-link-wrap h4{
	color: #D92D35;
	font-weight: 900;
	font-size: clamp(1.625rem, 1.261rem + 1.82vw, 2.625rem);
	text-align: center;
}
.interview-link-wrap {
	width: 90%;
    margin: 0 auto;
}

.itv-link-box{
	margin: 0 20px;
	max-width: 1200px;
	width: 100%;
}
.itv-link-box img {
	border-radius: 10px;
	margin-bottom: 5%
}
.itv-link-box dl {
}
.itv-link-box dt {
	margin-bottom: 2%;
}
.itv-link-box dt img {
	border-radius: 0;
	max-width: 185px;
	margin: 0 auto;
}
.itv-link-box dd {
	font-weight: 700;
	text-align: center;
	font-size: clamp(1.0rem, 1.1vw, 1.375rem);
	margin-bottom: 2%;
}

.itv-lk-btn a{
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	background: #D92D35;
	color: #fff;
	padding: 0.5em 0;
	text-align: center;
	display: block;
	position: relative;
	width: 98%;
	border-radius: 9999px;
	text-decoration: none;
	font-weight: 600;
	margin: 0 auto;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}

.itv-lk-btn a:hover{
	opacity: 0.6;
}
.itv-lk-btn a::after{
	position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f138";
		transform: translateY(-50%);
		font-size: 1em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
}

.itv-link-box-top{
	margin: 0 20px;
	width: 90%;
}
.itv-link-box-top img {
	margin-bottom: 5%
}
.itv-link-box-top dl {
}
.itv-link-box-top dt {
	margin-bottom: 2%;
}
.itv-link-box-top dt img {
	margin: 0 auto;
}
.itv-link-box-top dd {
}



#pagetop {
    position: fixed;
    bottom: 2%;
    right: 2%;
}


#footer a:visited {
	color:#666;
}
#footer a:hover {
	color:#ccc;
}

.txt-s {
	font-size: 70%;
	line-height: 120%;
}
.txt-m {
	font-size: 80%;
	line-height: 140%;
}
.txt-l {
	font-size: 100%;
	line-height: 160%;
}
.ind {
	text-indent: -1em;
	padding-left: 1em;
}

.ind2{
	text-indent: -2em;
	padding-left: 2em;
}

.ind3{
	text-indent: -3em;
	padding-left: 3em;
}

.ind4{
	text-indent: -0.85em;
	padding-left: 0.85em;
}

.ta_c{
	text-align: center;
}

.ta_r{
	text-align: right;
}

.mt_10{
	margin-top: 10px;
}

.mt_20{
	margin-top: 20px;
}

.mt_30{
	margin-top: 30px;
}

.mt_50{
	margin-top: 50px;
}

.mt_70{
	margin-top: 70px;
}

.mt_80{
	margin-top: 80px;
}

.mt_100{
	margin-top: 100px;
}

.mt_150{
	margin-top: 150px;
}

.mt_200{
	margin-top: 200px;
}

.mb_20{
	margin-bottom: 20px;
}

.mb_30{
	margin-bottom: 30px;
}

.mb_50{
	margin-bottom: 50px;
}

.mb_100{
	margin-bottom: 50px;
}
.mb_1l{
	margin-bottom: 1em;
}
.mr_10{
	margin-right: 10px;
}

.mr_20{
	margin-right: 20px;
}

.mr_30{
	margin-right: 30px;
}

.mr_50{
	margin-right: 50px;
}

.mr_100{
	margin-right: 100px;
}

.mr_200{
	margin-right: 200px;
}

.mr_250{
	margin-right: 250px;
}

.mr_280{
	margin-right: 280px;
}

.ml_10{
	margin-left: 10px;
}

.ml_20{
	margin-left: 20px;
}

.ml_30{
	margin-left: 30px;
}

.ml_50{
	margin-left: 50px;
}

.ml_60{
	margin-left: 60px;
}

.ml_100{
	margin-left: 100px;
}

.ml_150{
	margin-left: 100px;
}

.ml_210{
	margin-left: 210px;
}

.ml_300{
	margin-left: 300px;
}

.pt_20{
	padding-top: 20px;
}

.pt_30{
	padding-top: 30px;
}

.pt_50{
	padding-top: 50px;
}

.pt_100{
	padding-top: 100px;
}

.pt_200{
	padding-top: 200px;
}

.pb_20{
	padding-bottom: 20px;
}

.pb_50{
	padding-bottom: 50px;
}

.pb_100{
	padding-bottom: 100px;
}

.pl_20{
	padding-left: 20px;
}

.txt_box{
	padding: 0 15px;
}

.lh-1{
	line-height: 1.5;
}

.big{
	font-size: 1.6em;
	font-weight: bold;
}

.big2{
	font-size: 1.2em;
	margin-bottom:10px;
}

.small{
	font-size: 0.7em;
}

.small2{
	font-size: 0.8em;
}
.mdl {
	font-size: 0.9em;
}
.small3 {
    font-size: 0.6em;
}

.mb_10{
	padding-bottom: 10px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}

.w-860{
	width: 860px;
	margin: 0 auto;
}

.flex1{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.flex2{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    margin: auto;
    -webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex3{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack: distribute;
	justify-content: space-around;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
}

.flex4{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-pack:justify;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.flex5{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex6{
    display:-ms-flexbox;
    display: -webkit-flex;
    display:flex;
    -ms-flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex7 {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    align-items: center;
    justify-content: space-between;
}
.flex8{
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    column-gap: 13px;
}
.flex9{
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    column-gap: 95px;
}
.flex10{
    display:flex;
	justify-content: flex-start;
    flex-wrap:wrap;
	gap:45px;
}
.flex11{
    display:flex;
	justify-content: flex-start;
    flex-wrap:wrap;
	gap:60px;
}
.flex12{
    display:flex;
	justify-content: flex-start;
    flex-wrap:wrap;
	gap:20px;
	align-items: center;
}
.flex-c {
	display: flex;
    flex-direction: column;
}
.flex-c-ft {
	display: flex;
    flex-direction: column;
}
.flex-c2 {
	display: flex;
    flex-direction: column;
	gap: 20px;
}
.spbr {
		display: none;
	}



button {
	border: none;
	background: none;
	outline:none;
}
	
.fullscreenmenu{
	width: 50px;
	height: 70px;
}
	
.menu,.menu span {
	display: inline-block;
	-webkit-transition:all .4s;
	transition: all .4s;
	box-sizing: border-box;
}

.menu{
	position: fixed;
	top: 25px;
	right:  20px;
	width: 60px;
	height: 60px;
	z-index: 100000;
	cursor: pointer;
	padding: 0;
	transition: all 0.3s ease-out;
}
	
.menu .bar{
	position: absolute;
	left: 9px;
	/*width: 50%;*/
	height: 2px;
	background-color: #d92d35;
	z-index: 10;
	/*transform: translate3d(-50%,-4px,0);*/
	/*-webkit-transform: translate3d(-50%,-4px,0);*/
}

.menu .menu-txt{
	font-size: 1em;
	font-weight: 700;
	color: #d92d35;
	position: absolute;
	left: 50%;
	transform: translate3d(-50%,0,0);
	-webkit-transform: translate3d(-50%,0,0);
}
	
.menu .menu-txt.active{
	font-size: 0;
	margin: 0;
	opacity: 0;
}
.menu span:nth-of-type(1) {
	top: 20px;
	width: 70%;
}


.menu span:nth-of-type(2) {
	bottom: 29px;
	width: 40%;
}
	
.menu.active span:nth-of-type(1) {
	-webkit-transform: translateX(-50%) rotate(30deg);
	transform: translateX(-50%) rotate(30deg);
	background-color: #d92d35;
	width: 50px;
	left: 50%;
}

.menu.active span:nth-of-type(2) {
	-webkit-transform: translateX(-50%)translateY(-9px)rotate(-30deg);
	transform: translateX(-50%)translateY(-9px)rotate(-30deg);
	background-color: #d92d35;
	width: 50px;
	left: 50%;
}

#nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	width: 100%;
	height: 100vh;
	opacity: 0;
	background-color: #fff;
	transition: all 0.3s ease-in-out;
	visibility:hidden;
}
	
#nav.active{
	right: 0;
	opacity: 1;
	-moz-transform: translateX(0);
	-webkit-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
	overflow: auto;
	z-index: 10000;
}
	
#nav ul{

}
	
#nav ul li{
}
	
#nav ul li a{
}
	
	
#nav ul li ul{
	margin: 0;
	padding: 0;
}



.nv-list-wrap{
	max-width: 1200px;
	margin: 120px auto 0;
}

.nv-list-inner{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	max-width: 1200px;
}

.nv-list-box{
	/*display: flex;
	flex-direction: column;*/
}
.nv-list-box a{
	display: inline-block;
}
.nv-list-box h3{
	font-size: 2.5em;
	font-weight: 900;
	margin: 0;
    padding: 0;
}
.nv-list-box p{
	font-size: 1em;
	font-weight: 600;
	color: #D92D35;
	margin-top: -1.4em;
	margin-bottom: 0.5em;
    padding: 0;
}
.nv-list-box li{
	font-size: 1.25em;
	font-weight: 600;
	margin-bottom: 0.8em;
}
.ft-list-box {
	width:780px;
}
.ft-list {
	display: flex;
	flex-wrap: wrap;
	    justify-content: space-between;
}
.ft-list li{
	font-size: 1.25em;
	font-weight: 700;
	margin-bottom: 0.8em;
	/*flex-grow: 1;*/
}
/*.ft-list::after{
  content:"";
  display: block;
  width:23%;
}*/




.nv-list-inner2{
	margin-top: 20px;
}
.nv-list-inner2 ul{
	width: 740px;
	
}
.nv-list-inner2 h4{
	font-size: 1.2em;
	font-weight: 600;
	margin: 0;
    padding: 0;
}
.nv-list-box:nth-child(1) {
     grid-area: 1 / 1 / 3 / 2;
}
.nv-list-box:nth-child(2) {
     grid-area: 3 / 1 / 4 / 2; 
}
.nv-list-box:nth-child(3) {
     grid-area: 1 / 2 / 2 / 3;
}
.nv-list-box:nth-child(4) {
     grid-area: 2 / 2 / 3 / 3;
}
.nv-list-box:nth-child(5) {
     grid-area: 3 / 2 / 4 / 3;
}
.nv-list-box:nth-child(6) {
     grid-area: 1 / 3 / 4 / 4;
}
.bdb{
	border-bottom: 1px solid #000;
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
}
.bdb2{
    margin-bottom: 1.5em;
	margin-top: 1.5em;
    padding-bottom: 1.5em;
	font-weight: 700;
}
.logos{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width:300px;
	align-items: center;
	margin-top: 3em;
}

.lg-tmp{
     width: 230px;
}
.lg-ig{
     width: 30px;
}
.rec-wrap{
	width: 300px;
	margin-top: -3em;
}
.mynavi{
	border: 1px solid #ccc;
	border-radius: 10px;
}

.ft-list-box h4 {
    font-size: 1.2em;
    font-weight: 600;
    margin: 0;
    padding: 0;
}

/* mnav */
.mnav {
	width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
    gap: 25px;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}

.mnav li {
    flex-basis: 220px;
    max-width: 220px;
    transform: skewX(150deg);
}
.mnav li span {
  display: block;
  transform: skewX(-150deg);
}
.mnav li a {
  display: block;
  width: 100%;
  padding:0.5em 0;
  text-decoration: none;
}
.mnav li.tmp-n  {
	background: #fff;
	color: #000;
	border: 1px solid #000;
	will-change: opacity;
}
.mnav li.tmp-n a::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f061";
    transform: translateY(-50%);
	font-size: 0.8em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}
.mnav li.tmp-r  {
	background: #d92d35;
	border: 1px solid #d92d35;
}
.mnav li.tmp-r a::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f061";
    transform: translateY(-50%);
	font-size: 0.8em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}
.mnav li.tmp-r a  {
	color: #fff;
}
.mnav li{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.mnav li:hover{
	opacity: 0.3;
}


.pgnav {
	width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
    gap: 25px;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}

.pgnav li {
    flex-basis: 220px;
    max-width: 220px;
    transform: skewX(150deg);
}
.pgnav li span {
  display: block;
  transform: skewX(-150deg);
}
.pgnav li a {
  display: block;
  width: 100%;
  padding:0.5em 0;
  text-decoration: none;
}
.pgnav li.tmp-r  {
	background: #d92d35;
	border: 1px solid #d92d35;
}
.pgnav li.tmp-r a::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f107";
    transform: translateY(-50%);
	font-size: 0.8em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}
.pgnav li.tmp-r a  {
	color: #fff;
}
.pgnav li{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.pgnav li:hover{
	opacity: 0.3;
}
.pg-link{
	width: 1000px;
	margin: 0 auto 10%;
}


.pg-tit2{
	font-size: clamp(2.5rem, 1.864rem + 3.18vw, 4.25rem);
	line-height: 1.1;
	font-weight: 900;
	margin-top: 5%;
}
.pg-sub{
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	font-weight: 900;
	margin-top: 0.4em;
	margin-bottom: 5%;
}
.pg-tit3{
	font-size: clamp(1.1rem, 0.773rem + 1.64vw, 2rem);
	line-height: 1.6;
	font-weight: 900;
	color: #D92D35;
	text-align: center;
	margin-bottom: 5%;
}
.pg-tit4{
	font-size: clamp(1.7rem, 1.227rem + 2.36vw, 3rem);
	line-height: 1.3;
	font-weight: 900;
	text-align: center;
	margin-bottom: 7%;
	position: relative;
}

.pg-tit4::after{
	background-color: #D92D35;
	bottom: -37px;
	content: "";
	height: 8px;
	left: 50%;
	position: absolute;
	width: 40px;
	transform: translateX(-50%) skewX(130deg);
}
.pg-tit5{
	font-size: clamp(1.1rem, 0.773rem + 1.64vw, 2rem);
	line-height: 1.6;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin-bottom: 5%;
}
.wp4{
	color: #fff;
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	font-weight: 600;
	line-height: 1.5;
}
.cp-sec{
	max-width: 1200px;
	width: 100%;
	border: 6px solid #D92D35;
	padding: 3em 0;
	margin-bottom: 10%;
	text-align: center;
	background: #fff;
}
.cp-sec h5{
	font-size: clamp(1.5rem, 0.909rem + 2.95vw, 3.125rem);
	font-weight: 900;
	text-align: center;
	color: #D92D35;
	line-height: 1.2;
}
.cp-sub{
	text-align: center;
	font-size: clamp(1.1rem, 1rem + 0.5vw, 1.375rem);
	font-weight: 900;
	margin-bottom: 2%;
}

.cp-sec1{
	display: inline-block;
	text-align: left;
}
.cp-sec1 li{
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
    font-weight: 800;
    margin-bottom: 4%;
    line-height: 1.6;
    text-align: justify;
}
.cp-sec1 li:last-child{
	margin-bottom: 0;
}

.wd960{
	width: 960px;
	margin: 0 auto;
}
.rd-wrap{
	font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);
	font-weight: 600;
	background: #D92D35;
	color: #fff;
	display: inline-block;
	padding: 0.3em 0;
	line-height: 1.2;
	width: 46%;
}
.left-right{
	font-size: 2.5em;
	color: #D92D35;
	align-self: center;
}
.up-tr{
	font-size: 2.5em;
	color: #D92D35;
	align-self: center;
}
.up-tr2{
	font-size: 2.5em;
	color: #D92D35;
	align-self: center;
}
.rd-wrap2{
	font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
	font-weight: 600;
	border: 3px solid #D92D35;
	padding: 0.7em 0;
	line-height: 1.3;
	text-align: center;
	background: #fff;
}
.rd-wrap2 .big-r{
	font-size: 1.25em;
	font-weight: 800;
	color: #D92D35;
}
.gra-wrap{
	font-weight: 600;
	background: #EFEFEF;
	padding: 3% 15%;
	display: flex;
    flex-direction: column;
	gap: 20px;
}
.rd-wrap3{
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	font-weight: 600;
	background: #D92D35;
	color: #fff;
	display: inline-block;
	padding: 0.3em 0;
	line-height: 1.2;
	width: 46%;
}
.gra-wrap-p{
	font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
	font-weight: 600;
}
.rd-c{
	color: #D92D35;
}

.flex-c3 {
	display: flex;
    flex-direction: column;
	gap: 20px;
}

.cp-sec2{
	display: inline-block;
	text-align: left;
}
.cp-sec2 li{
	font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
	font-weight: 600;
	margin-bottom: 2%;
	line-height: 1.6;
	text-align: justify;
}
.cp-sec2 li:last-child{
	margin-bottom: 0;
}
.cp-sec2 .big-r{
	font-size: 1.25em;
	font-weight: 900;
}

#prof-wrap{
	width: 100%;
    margin: 0 auto;
    padding: 0;
}

.prof-back {
    background: url(../img/prof-back.jpg) top center / cover;
	padding: 5% 0;
}
.prof-back p{
	color: #fff;
}
.pg-tit4-w{
	font-size: clamp(1.7rem, 1.227rem + 2.36vw, 3rem);
	line-height: 1.6;
	font-weight: 900;
	text-align: center;
	margin-bottom: 7%;
	position: relative;
	color: #fff;
}
.pg-tit4-w::after{
	background-color: #fff;
	bottom: -17px;
	content: "";
	height: 8px;
	left: 50%;
	position: absolute;
	width: 40px;
	transform: translateX(-50%) skewX(130deg);
}

#prof-wrap dl{
	width: 980px;
	margin: 0 auto; 
    display: flex;
    flex-wrap: wrap;
}
#prof-wrap dt, #prof-wrap dd {
  box-sizing: border-box;
}
#prof-wrap dl dt{
	display: flex;
	align-items: center;
	width: 13%;
    border-top: 1px solid #fff;
    margin: 0;
    padding: 1.5em 0;
	color: #fff;
	font-size: 1.2em;
}
#prof-wrap dl dd{
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	display: flex;
	align-items: center;
	width: 87%;
    padding: 1.5em 0;
    border-top: 1px solid #fff;
	color: #fff;
}
#prof-wrap li{
	color: #fff;
	line-height: 1.5;
	margin-bottom: 2%;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}
#prof-wrap dl dt:first-of-type{
    border-top: none;
}
#prof-wrap dl dd:first-of-type{
    border-top: none;
}

.grad-wrap{
	position: relative;
	    margin: 0 0 8% 0;
}
.grad-btn {
    /*z-index: 2;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 148px;
    margin: auto;
    padding: .5em 0;
    border-radius: 2px;
    background: #009e8f;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgba(0, 0, 0, .3);*/
	text-align: center;
	z-index: 2;
	position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
	flex-basis: 220px;
	max-width: 220px;
    margin: auto;
    padding: 1em 0;
	transform: skewX(150deg);
	font-size: 1em;
	background: #000;
	color: #fff;
    cursor: pointer;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	will-change: opacity;
}
.grad-btn:hover {
	opacity: 0.8;
}
.grad-btn::before {
	content: "もっと見る";
	transform: skewX(-150deg);
	display: block;
}
.grad-btn::after {
	position: absolute;
	top: 50%;
	right: 1em;
	font: var(--fa-font-solid);
	content: "\2b";
	transform: translateY(-50%) skewX(-150deg);
	font-size: 0.8em;
	width: 1em;
	height: 1em;
	padding: 0.2em;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 480px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(245,245,245,0) 0%, rgba(245,245,245,0.9) 50%, rgba(245,245,245,0.9) 50%, #f5f5f5 100%);
  background: linear-gradient(top, rgba(245,245,245,0) 0%, rgba(245,245,245,0.9) 50%, rgba(245,245,245,0.9) 50%, #f5f5f5 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-btn::after {
  	position: absolute;
	top: 50%;
	right: 1em;
	font: var(--fa-font-solid);
	content: "\f068";
	transform: translateY(-50%) skewX(-150deg);
	font-size: 0.8em;
	width: 1em;
	height: 1em;
	padding: 0.2em;
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}


.stepbar {
  margin: 0 auto;
  width: 80%;
    background: url(../img/his-bg.png) top right no-repeat;
}

.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 50%;
  background: #D92D35;
  border: 1px solid #D92D35;
}

.stepbar .stepbarwrap .steptitle .stepnum {
  padding-left: 1em;
  font-size: 1.625em;
	font-weight: 800;
  color: #D92D35;
}

.stepbar .stepbarwrap .steptxt {
	padding: 1em 0 3em 2.8em;
}

.stepbar .stepbarwrap .steptxt .steptxt-title {
  margin: 0.5em 0;
  font-weight: 600;
  font-size: 1.2em;
}

.stepbar .stepbarwrap .steptxt .steptxt-txt {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	line-height: 1.5em
}

.stepbar .stepbarwrap .stepline {
  width: 4px;
    height: calc(100% + 1em);
    background-color: #D92D35;
    position: absolute;
    top: 1.5em;
    left: 0.5em;
    z-index: 1;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  /*display: none;*/
}

.products-list{
	display: flex;
	flex-wrap: wrap;
	gap:40px;
	justify-content: space-between;
	margin-top: 5%;
	margin-bottom: 5%;
}
.products-box{
	width: 370px;
	height: 310px;
	background: #fff;
	display: flex;
    flex-direction: column;
}
.products-box h6{
	font-size: clamp(0.875rem, 0.602rem + 1.36vw, 1.625rem);
	font-weight: 600;
	color: #D92D35;
	text-align: center;
	margin: 0;
	padding: 1.2em 0 1em 0;
}
.products-box img{
	display: block;
	max-width: 300px;
	margin: 0 auto;
}

.products-list a {
	text-decoration: none;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
	transition: transform 0.3s ease;
	position: relative;
	display: block;
	background: #fff;
	height: 310px
}
.products-list a::after {
	position: absolute;
	bottom: 1em;
	right: 1em;
	font: var(--fa-font-solid);
	content: "\f08e";
	font-size: 1em;
	width: 1em;
	height: 1em;
	color: #D92D35;
	}

.products-list a:hover {
  transform: scale(1.05);
}


.office-map{
	max-width: 700px;
	width: 100%;
	margin: 0 auto 5%;
}
.att{
	text-align: center;
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	font-weight: 600;
	margin-bottom: 2%;
}

.att2{
	background: #D92D35;
	color: #fff;
	padding: 0.5em 1em;
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	font-weight: 600;
	display: inline-block;
	margin-bottom: 2%;
}
.att3{
	text-align: center;
	font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
	font-weight: 600;
	margin-bottom: 10%;
}
.att3 a{
	color: #D92D35;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}

.att3 a:hover{
	opacity: 0.3;
}
.office-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 15%;
	row-gap: 80px;
}
.office-wrap2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 10%;
	row-gap: 80px;
}
.office-wrap::after {
	display: block;
	content:"";
	width: 30%;
}
.office-box{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: 30%;
}

.map-link{
	width: 100%;	
    transform: skewX(150deg);
}

.map-link span {
	display: block;
	transform: skewX(-150deg);
}

.map-link a {
	display: block;
	width: 100%;
	padding:0.7em 0;
	text-decoration: none;
	background: #d92d35;
	color: #fff;
	text-align: center;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.map-link a:hover{
	opacity: 0.3;
	will-change: opacity;
}
.map-link a::before {
	color: #fff;
    position: absolute;
    top: 50%;
    left: 1em;
	font: var(--fa-font-solid);
    content: "\f3c5";
    transform: translateY(-50%) skewX(-150deg);
	font-size: 1.3em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}

#office-wrapper dl dt,#office-wrapper dl dd{
	color: #000;
	line-height: 1.5;
}
#office-wrapper dl{
	margin: 2% 0 5%;
	    flex-grow: 1;
}
#office-wrapper dt{
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	font-weight: 600;
}
#office-wrapper dd{
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}


.sus-wrap{
	margin: 5% auto 5%;
	max-width: 1080px;
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.sus-box{
	background: #fff;
	margin: 0 auto 10%;
	padding: 5% 5%;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.5);
	width: 100%;
	border-radius: 10px;
}
.sus-tit4{
	font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
	line-height: 1.6;
	font-weight: 900;
	text-align: center;
	margin-bottom: 7%;
	position: relative;
}

.sus-tit4::after{
	background-color: #D92D35;
	bottom: -17px;
	content: "";
	height: 8px;
	left: 50%;
	position: absolute;
	width: 40px;
	transform: translateX(-50%) skewX(130deg);
}
.sg-ph img{
	max-width: 540px;
	width: 100%;
	display: block;
	margin: 0 auto 2%;
}
.sg-ph2 img{
	max-width: 760px;
	width: 100%;
	display: block;
	margin: 0 auto 2%;
}
.sg-tx{
	text-align: center;
}
.lgt{
    max-width: 760px;
	width: 100%;
    margin: 0 auto;
}
.db-ph{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	max-width: 760px;
	width: 100%;
	margin: 0 auto 2%;
}
.db-ph img{
	max-width: 360px;
	width: 100%;
	display: block;
}
.sus-box ul{
	max-width: 760px;
	width: 100%;
	margin: 0 auto;
}
#policy-wrapper p{
	line-height: 1.6;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}
#policy-wrapper dl dd{
	line-height: 1.6;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}
.wd800{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

#policy-wrapper dt{
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
	font-weight: 600;
}
#policy-wrapper dd{
	margin-left: 3em;
}
.privacy dt{
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
	font-weight: 600;
}
.privacy dd{
	margin-left: 1.2em;
	line-height: 1.6;
}
.privacy h5{
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
}

.hdm-list{
	display: inline-block;
	text-align: left;
}

.hdm-flow{
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
.ls-1{
	letter-spacing: 0.01em;
}

.sig-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap:60px;
	width: 100%;
}

.sig-wrap::after {
	display: block;
	content:"";
	width: 30%;
}

.sig-box{
	width: 30%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.sig-box dt{
	border-radius: 5px;
	width: 100%;
	margin-bottom: 5%;
	text-align: center;
}

.sig-box dt img{
	width: auto;
}
.sig-box dd{
	position: relative;
}
.sig1{
	background: #870025;
}
.sig2{
	background: #005951;
}
.sig3{
	background: #f18900;
}
.sig4{
	background: #2952c5;
}
.sig5{
	background: #547f17;
}
.sig-box dd a{
	display: block;
	background: #fff;
	color: #000;
	padding: 1em 0;
	text-align: center;
	border: 1px solid #808080;
	border-radius: 5px;
	width: 100%;
	margin-bottom: 5%;
	text-decoration: none;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.sig-box dd a::after {
	position: absolute;
	top: 50%;
	right: 1em;
	font: var(--fa-font-solid);
	content: "\f105";
	transform: translateY(-50%);
	font-size: 1em;
	width: 1em;
	height: 1em;
	padding: 0.2em;
	color: #d92d35;
	}
.sig-box dd a:hover{
	opacity: 0.3;
}
.link_btn{
	flex-basis: 220px;
	max-width: 220px;
    margin: 0 auto;
	transform: skewX(150deg);
	background: #d92d35;
	will-change: opacity;
}

.link_btn span {
	display: block;
	transform: skewX(-150deg);
}

.link_btn a {
	display: block;
	width: 100%;
	padding:0.7em 0;
	text-decoration: none;
	color: #fff;
	font-size: 1em;
	text-align: center;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	will-change: opacity;
}

.link_btn a::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f061";
    transform: translateY(-50%);
	font-size: 0.8em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}
.link_btn a:hover{
	opacity: 0.3;
}

.ctc-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	width: 100%;
}
.ctc-list-img{
	width: 58%;
}
.ctc-list-txt{
	width: 40%;
}
.ctc-list-txt dt{
	font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
	font-weight: 800;
}
.ctc-list-txt dd{
	padding-bottom: 1%;
}

.csr-list ul li {
	line-height: 1.6;
}

.csr-list li {
	margin-bottom: 2%;
}
.privacy-list{
}

#privacy-wrapper p{
	line-height: 1.6;
}


.ib-c {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

.btn {
}
.btn a {
	display: block;
    text-align: center;
    width: 320px;
    background: #A50E35;
    color: #fff;
    padding: 1.5em 0;
    text-decoration: none;
    font-size: 1em;
    line-height: 0;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 2% auto;
}

.as_c{
	align-self: center;
	-ms-flex-flex-item-align: center;
	-webkit-align-self: center;
}

.jc_c{
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}

.as_fe{
	-ms-flex-item-align: end;
	align-self: flex-end;
}


.p_r{
	position: relative;
}


.p_a{
	position: absolute;
}




/*以下個別*/

.cont-box{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}

.cont-box2{
	max-width: 800px;
	width: 90%;
	margin: 0 auto;
}

.cont-box3 {
    max-width: 880px;
    width: 90%;
    margin: 0 auto;
}
.cont-box4 {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
}
.cont-box5 {
    max-width: 700px;
    width: 90%;
    margin: 0 auto;
}
.cont-box-ft{
	width: 100%;
	padding: 0 40px;
	margin: 0 auto;
}


.mb2p{
	margin-bottom: 2%;
}
.mb3p{
	margin-bottom: 3%;
}
.mb5p{
	margin-bottom: 5%;
}
.mb10p{
	margin-bottom: 10%;
}
.mb15p{
	margin-bottom: 15%;
}
.mt2p{
	margin-top: 2%;
}
.mt3p{
	margin-top: 3%;
}
.mt5p{
	margin-top: 5%;
}
.mt10p{
	margin-top: 10%;
}
.mt15p{
	margin-top: 15%;
}

header{
	position: fixed;
    top: 0;
    width: 100%;
    height: 120px;
    z-index: 999;
    opacity: 1;
}

header a{
	text-decoration: none;
}
footer a{
	text-decoration: none;
	color: #000;
}

.top{
	padding: 0 0 30px;
}

.pc-header{
	width: 100%;
    padding: 0 20px;
    /* transition: all 0.4s ease; */
    /* background: transparent; */
    /* transform: translate(0, -100%); */
    position: relative;
    background: #fff;
}

.pc-header>.cont-box{
	position: relative;
}

/*.pc-header h2{
	font-size: clamp(1em,1.5vw,1.6em);
	font-weight: 900;
	 align-self: center;
	position: absolute;
    left: 220px;
}*/
.pc-header h1{
	align-items: center;
}
.pc-header h1 img{
	display: block;
}
.header-logo{
	display: flex;
    width: 38%;
    justify-content: flex-start;
    gap: 20px;
}

.header-logo img{
	max-width: 150px;
    width: 100%;
}

.header-logo a{
    transition: 0.3s ease-in-out all;
    opacity: 1;
}
.header-logo a:hover{
	opacity: 0.3;
}
.dsf{
	    display: flex;
}

.r-menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-self: center;
    max-width: 880px;
    width: 60%;
}
.r-menu ul{
	display: flex;
    /* flex-wrap: wrap; */
    justify-content: flex-end;
    align-items: center;
    /* max-width: 620px; */
    width: 80%;
    /* margin-right: 20px; */
}
.r-menu li{
	flex-shrink: 0;
}
.r-menu li a{
	font-size: clamp(0.8rem, 1.1vw, 1.125rem);
    font-weight: 700;
    line-height: 1;
}
.entry-btn a{
    transition: 0.3s ease-in-out all;
	opacity: 1;
}
.r-menu li a{
	position: relative;
}
.r-menu li a::after {
    position: absolute;
    transition: .3s;
    content: '';
    width: 0;
    left: 50%;
    bottom: -6px;
    height: 3px;
    background: #D92D35;
}

.r-menu li a:hover::after{
	width: 100%;
    left: 0;
}

.r-menu li::after{
	content: "／";
    /* width: 1em; */
    /* height: 1em; */
    padding: 0 0.5rem;
    /* display: block; */
    font-size: clamp(0.8rem, 1.1vw, 1.125rem);
}
.r-menu li:last-child::after{
	display: none;
}
.entry-btn a:hover{
	opacity: 0.3;
}
.entry-btn{
	width: 16%;
}
.entry-btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	text-align: center;
	background: #D92D35;
	font-size: clamp(1.2rem, 1.5vw, 1.625rem);
	font-weight: 900;
	color: #fff;
	border-radius: 9999px;
}

/*.pc-menu li:nth-last-child(1) a{
	padding-right: 0;
}*/

.h-sml{
	font-size: 14px;
}

.h-big{
	font-size: 30px;
}

.main{
	width: 100%;
	margin: 120px 0 0;

}
.main2{
	width: 100%;
	margin: 40px 0 0;
	position: relative;
}


.btn2 {
}
.btn2 a {
	display: block;
    text-align: center;
    width: 100%;
    background: #A50E35;
    color: #fff;
    padding: 1.5em 0;
    text-decoration: none;
    font-size: clamp(0.8em,3.6vw,1em);
    line-height: 0;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 5% auto 0;
}

.wdp{
	line-height: 1.6;
	font-size: clamp(0.8em, 1.5vw, 0.95em);
}


.cont-box{
	z-index: 10;
	position: inherit;
}


footer{
	background: #fff;
	padding: 70px 0 50px;
	z-index: 50;
    position: relative;
}
footer h4{
	color: #fff;
}

footer a {
    transition: 0.3s ease-in-out all;
    opacity: 1;
    display: block;
}
footer a:hover{
	opacity: 0.3;
}

.foot-cont{
	position: relative;
    background-image: url(../img/car-img.png);
    background-repeat: no-repeat;
    background-position: right 20px bottom;
	background-size: 380px;
}

.foot-cont .logo{
	width: 230px;
	/*margin: 0 auto;
	text-align: center;*/
}
.foot-cont .ig-logo{
	width: 30px;
    margin: 40px 0 0 22px;

}

.foot-txt{
	margin: 40px auto 0;
}
.foot-txt dt{
	font-size: 1.25em;
	font-weight: 700;
}
.foot-txt dl dt{
	color: #000;
}
.foot-txt dl dd{
	color: #000;
	font-weight: 700;
}

.foot-txt p{
}

address{
	text-align: left;
	font-style: normal;
	align-self: end;
	font-size: 0.7em;
	color: #000;margin-top: 2em;
}

#pagetop{
	position: fixed;
	width: 56px;
	bottom: 0;
	right: 0;
	z-index: 999;
}
.wd100{
	width: 100%;
}
.wd100s{
	flex-shrink: 0;
	font-size: clamp(0.875rem, 1.1vw, 1.375rem);
    font-weight: 900;
    line-height: 1.2;
	display: block;
}
.mb80s{
	margin-bottom: 80px;
}


.modalOpen{
	padding: 0;
	border: 0;
	width: 100%;
	margin-bottom: 0.9%;
	border-radius: 0;
	z-index: 10;
	cursor: pointer;
}
.modalOpen2{
	padding: 0;
	border: 0;
	width: 19.3%;
	margin-bottom: 0.9%;
	/* margin-right: 10px; */
	border-radius: 0;
	z-index: 10;
	cursor: pointer;
}

.modalOpen-ex{
	padding: 0;
	border: 0;
	margin-bottom: 0.9%;
	/* margin-right: 10px; */
	border-radius: 0;
	z-index: 10;
	cursor: pointer;
}


.modalOpen:nth-of-type(5n){
	margin-right: 0;
}

.c4-izmir {
	background-color: #000;
	background-color: var(--primary-color);
}

.c4-izmir {
	--primary-color: #000;
}

.modal {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.8);
	z-index: 1000;
	animation: show 0.3s linear 0s;
}

.modal-box{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	flex-wrap: wrap;
}

.modal-cont{
    margin: 10% auto;
    max-width: 640px;
    width: 90%;
    animation-duration: 1s;
    position: relative;
	background-color: #fff;
	padding: 40px;
	border: 5px solid #d92d35;
	animation: show 0.3s linear 0s;
	transform: translate(0,50px);
	z-index: 150;
}

.modal-cont2 {
    margin: 0 auto;
    max-width: 1000px;
    width: 90%;
    animation-duration: 1s;
    position: relative;
    background-color: #fff;
    padding: 0px;
    /* border: 5px solid #d92d35; */
    animation: show 0.3s linear 0s;
    transform: translate(0, 50px);
    z-index: 150;
}

.modal-cont3 {
    margin: 10% auto;
    max-width: 640px;
    width: 90%;
    animation-duration: 1s;
    position: relative;
    background-color: #fff;
    padding: 0px;
    border: 5px solid #d92d35;
    animation: show 0.3s linear 0s;
    transform: translate(0,50px);
    z-index: 150;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
  
.modalClose{
	position: absolute;
	right: 0;
	top: 0;
	width: 40px;
	height: 40px;
	background: #fff;
	border: 1px solid #ccc;
	cursor: pointer;
	z-index: 10;
}

.modal-cont figure{
	width: 42%;
}

.modal-txt-box{
	width: 58%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

.modal-txt-box h3{
	font-family: 'Roboto', sans-serif;
	font-size: 4em;
	font-weight: 900;
	font-style: italic;
	letter-spacing: 2px;
	color: #d92d35;
	padding: 0 0 5px 20px;
	margin-bottom: 10px;
	border-bottom: 2px solid #d92d35;
	line-height: 1.2;
	width: 100%;
}

.modal-txt{
	margin-left: 20px;
	font-size: 3.2em;
	font-weight: 700;
	letter-spacing: 5px;
	line-height: 1.4;
	width: 100%;
	align-self: flex-start;
}

.modal-mini,.modal-mini2{
	margin-left: 20px;
	align-self: flex-end;
	font-size: 1.4em;
	font-weight: 600;
	letter-spacing: 3px;
	width: 100%;
	margin-top: auto;
	line-height: 1;
}

.modal-mini2{
	margin-top: 10px;
}

.modal-mini2 big{
	font-size: 1.8em;
}

.modalClose{
	right: -25px;
	top: -25px;
	border: none;
	background: #A50E35;
	color: #fff;
	font-weight: 900;
	font-size: 2em;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	cursor: pointer;
}
.sp-header{
	display: none;
}


.rc-tit{
	width: 70%;
	margin: 0 auto 3%;
}
.cp-ann{
	position: relative;
}
.cp-ann::before {
  animation: cp-ann 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	animation-delay: 1.2s;
  background: #fff;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
@keyframes cp-ann {
  100% {
     transform: translateX(100%);
  }
}


.rc-copy{
	font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
	line-height: 3;
	text-align: center;
	margin: 0 auto 5%;
}
#company-area{
	margin: 0 0 10%;
	position: relative;
}
#company-area::before {
    content: "";
    display: block;
    position: absolute;
    top: 10vh;
    width: 100%;
    height: 50%;
    background: #F2F2F2;
    clip-path: polygon(0 0, 100% 40%, 100% 100%, 0% 100%);
}
#company-area::after {
    content: "";
    display: block;
    position: absolute;
    top: 4vh;
    width: 100%;
    height: 120%;
    background: #FDCA5B;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
#company-area h3 {
    position: relative;
    align-self: center;
    font-size: clamp(2.125rem, 1.08rem + 5.23vw, 5rem);
    transform: skewX(-15deg);
    text-align: center;
    margin: 0 auto 5%;
}
#company-area h3::before {
    transform: skewX(15deg) translate(-50%, -50%);
    content: "";
    background-image: url(../img/about-h2-sub-gray.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    max-width: 236px;
    width: 100%;
    top: 11%;
    left: 48%;
    height: 62px;
    z-index: -1;
    text-align: center;
}

#company-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.841rem + 2.05vw, 2.375rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#company-area h4 span {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    line-height: 0.7;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
}
#company-area img{
	border-radius: 20px;
	margin-bottom: 3%
}
#company-area .l-side{
	width: 48%;
}
#company-area .r-side{
	width: 40%;
	margin-top: 10%;
}
#company-area p{
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
	margin-bottom: 3%
}



#works-area{
	margin: 0 0 5%;
	position: relative;
}

#works-area h3 {
    position: relative;
    align-self: center;
    font-size: clamp(2.125rem, 1.08rem + 5.23vw, 5rem);
    transform: skewX(-15deg);
    text-align: center;
    margin: 0 auto 5%;
}
#works-area h3::before {
    transform: skewX(15deg) translate(-50%, -50%);
    content: "";
    background-image: url(../img/job-h2-sub-gray.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 11%;
    left: 48%;
    max-width: 188px;
    width: 100%;
    height: 69px;
    z-index: -1;
}

#works-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.841rem + 2.05vw, 2.375rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#works-area h4 span {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    line-height: 0.7;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
}
#works-area h4.case2{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.5rem, 2.7vw, 2.375rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
#works-area h4.case2 span {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    line-height: 0.7;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
}
#works-area img{
	border-radius: 20px;
	margin-bottom: 3%
}
#works-area .l-side{
	width: 60%;
}
#works-area .r-side{
	width: 35%;
}
.works-img{
	margin-bottom: 3%;
}
.works-img>div{
	width: 30%;
}
.works-img img{
	width: 100%;
}
.works-img>div:nth-child(2){
	margin-top: 50px;
}
.senior-wrap{
	position: relative;
    padding-bottom: 50%;
}
.senior1{
	width: 29%;
    position: absolute;
    top: 60%;
    left: 0;
}
.senior1 img{
	width: 36%;
    position: absolute;
    top: -20%;
    left: 54%;
    transform: translate(-50%, -50%);
	transition: 0.3s ease-in-out all;
}
.senior1 a{
	text-decoration: none;
	display: block;
}
.senior1 a img:hover{
	transform:translate(-50%, -50%) scale(1.2);
	transition: 0.3s ease-in-out all;
}
.senior2{
	width: 29%;
    position: absolute;
    top: 34%;
    left: 26%;
}
.senior2 img{
	width: 28%;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: 0.3s ease-in-out all;
}
.senior2 a{
	text-decoration: none;
	display: block;
}
.senior2 a img:hover{
	transform:translate(-50%, -50%) scale(1.2);
	transition: 0.3s ease-in-out all;
}

.senior3{
	width: 29%;
    position: absolute;
    top: 65%;
    left: 42%;
}
.senior3 img{
	width: 34%;
    position: absolute;
    top: -10%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: 0.3s ease-in-out all;
}
.senior3 a{
	text-decoration: none;
	display: block;
}
.senior3 a img:hover{
	transform:translate(-50%, -50%) scale(1.2);
	transition: 0.3s ease-in-out all;
}

.senior4{
	width: 29%;
    position: absolute;
    top: 57%;
    right: 0;
}
.senior4 img{
	width: 92%;
    position: absolute;
    top: -80%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: 0.3s ease-in-out all;
}
.senior4 a{
	text-decoration: none;
	display: block;
}
.senior4 a img:hover{
	transform:translate(-50%, -50%) scale(1.2);
	transition: 0.3s ease-in-out all;
}

.senior1 h5,.senior2 h5,.senior3 h5,.senior4 h5{
	color: #fff;
	background: linear-gradient(transparent 0%, #D92D35 0%);
	line-height: 1.7;
	font-weight: 700;
	font-size: clamp(1rem, 1.5vw, 1.375rem);
	padding: 0.4em 0.5em;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	position: relative;
	z-index: 1;
}
.senior-name{
	font-weight: 700;
	line-height: 1.5!important;
	margin-top: 3%;
	margin-left: 0.5em;
}
#works-area p{
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
	margin-bottom: 3%
}

#bf-area{
	margin: 0 0 12%;
	position: relative;
}
#bf-area::before {
    content: "";
    display: block;
    position: absolute;
    top: -60vh;
    width: 100%;
    height: 50%;
    background: #F2F2F2;
    clip-path: polygon(0 0, 100% 40%, 100% 100%, 0% 100%);
}
#bf-area::after {
    content: "";
    display: block;
    position: absolute;
    top: -84vh;
    width: 100%;
    height: 240%;
    background: #68D8AA;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 70%);
}
#bf-area h3 {
    position: relative;
    align-self: center;
    font-size: clamp(2.125rem, 1.08rem + 5.23vw, 5rem);
    transform: skewX(-15deg);
    margin: 0 auto 5%;
}
#bf-area h3::before {
    transform: skewX(15deg) translate(-50%, -50%);
    content: "";
    background-image: url(../img/bf-h2-sub-gray.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 11%;
    left: 10%;
    max-width: 204px;
    width: 100%;
    height: 65px;
    z-index: -1;
}

#bf-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.841rem + 2.05vw, 2.375rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#bf-area h4 span.num {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    line-height: 0.7;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
    position: absolute;
    top: -2vw;
    left: 1vw;
}
#bf-area .sub-tit {
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1rem, 2vw, 2rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex
;
    justify-content: center;
    align-items: flex-end;
}
#bf-area img{
	border-radius: 20px;
	margin-bottom: 2%;
}

#bf-area p {
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
    margin-bottom: 3%;
}

#stb-area{
	margin: 0 0 12%;
	position: relative;
}
#stb-area h3 {
    position: relative;
    align-self: center;
    font-size: clamp(2.125rem, 1.08rem + 5.23vw, 5rem);
    transform: skewX(-15deg);
    margin: 0 auto 2%;
	text-align: center;
}
#stb-area h3::before {
    transform: skewX(15deg) translate(-50%, -50%);
    content: "";
    background-image: url(../img/stb-h2-sub-gray.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 11%;
    left: 50%;
    max-width: 340px;
    width: 100%;
    height: 83px;
    z-index: -1;
}

#stb-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.841rem + 2.05vw, 2.375rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#stb-area p {
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
    margin-bottom: 3%;
	text-align: center;
}
#stb-area img{
	border-radius: 20px;
}
.stb-img-1{
	max-width:255px;
	width: 100%;
	position: absolute;
	top: calc(50% + -120px);
    left: calc(50% + -380px);
	transform: translate(-50%,-50%)
}
.stb-img-2{
	max-width:180px;
	width: 100%;
	position: absolute;
	top: calc(50% + -110px);
    left: calc(50% + 350px);
    transform: translate(-50%, -50%);
}
.stb-img-3{
	max-width:155px;
	width: 100%;
	position: absolute;
	top: calc(50% + 180px);
    left: calc(50% + -300px);
	transform: translate(-50%,-50%)
}
.top-bf-box{
	width: 30%;
}


#rfi-area{
	margin: 0 0 0%;
	position: relative;
	background: #FED6D6;
	padding: 45px 0 110px
}
#rfi-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.625rem, 1.307rem + 1.59vw, 2.5rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#rfi-area p{
	text-align: center;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
    margin-bottom: 3%;
}
.rfi-1{
	width: auto;
	height: 64px;
	margin: 0 auto 5%;
}
.rfi-2{
	width: auto;
	height: 64px;
	margin: 0 auto 5%;
}
.rfi-3{
	width: auto;
	height: 64px;
	margin: 0 auto 5%;
}
.rfi-wrap{
	display: flex;
	justify-content: center;
}
.rfi-wrap li{
	border-right: 2px solid #FD9797;
	padding: 32px;
	
}
.rfi-wrap li:last-of-type{
	border-right: none;
	
}

#cb-area{
	margin: 0 0 0%;
	position: relative;
	background: #D92D35;
	padding: 155px 0 90px
}
#cb-area .l-side{
	max-width: 600px;
	width: 50%;
}
#cb-area .r-side{
	max-width: 420px;
	width: 40%;
	margin: 5% 5% 0 0;
}
#cb-area .mynavi-btn{
	max-width: 380px;
	margin: 0 auto;
}
#cb-area .mynavi-btn a{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
#cb-area .mynavi-btn a:hover{
	opacity: 0.6;
}
#cb-area .mynavi-btn img{
	border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}
#cb-area h4{
	font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    font-weight: 700;
    font-size: clamp(1.875rem, 1.193rem + 3.41vw, 3.75rem);
    position: relative;
    line-height: 1.2;
    margin-bottom: 3%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
#cb-area p{
	text-align: center;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
    line-height: 1.7;
    margin-bottom: 5%;
	color: #fff;
}
.cb-tit{
	position: absolute;
	top: 13%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 1300px;
	width: 90%;
}
.btn-rc1 a {
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    background: #D92D35;
    color: #fff;
    text-align: center;
    display: block;
    position: relative;
    width: 100%;
	padding: 0.8em 0;
    border-radius: 9999px;
    text-decoration: none;
    font-weight: 600;
    margin: 0 auto;
    transition: 0.3s ease-in-out all;
    opacity: 1;
}
.btn-rc2 a {
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    background: #D92D35;
    color: #fff;
    text-align: center;
    display: block;
    position: relative;
    width: 330px;
	padding: 0.8em 0;
    border-radius: 9999px;
    text-decoration: none;
    font-weight: 600;
    margin: 0 auto;
    transition: 0.3s ease-in-out all;
    opacity: 1;
}
.btn-etr a {
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    background: #fff;
    color: #D92D35;
    text-align: center;
    display: block;
    position: relative;
    width: 100%;
	padding: 0.8em 0;
    border-radius: 9999px;
    text-decoration: none;
    font-weight: 600;
    margin: 0 auto;
    transition: 0.3s ease-in-out all;
    opacity: 1;
}
.btn-rc1 a::after,.btn-rc2 a::after,.btn-etr a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
    font-size: 1em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
}
.btn-rc1 a:hover,.btn-rc2 a:hover,.btn-etr a:hover{
	opacity: 0.6;
}

#wrapper .recruit-main{
	width: 100%;
    margin: 120px auto 0;
    position: relative;
}

.fv-tit{
	max-width: 906px;
    width: 90%;
    margin: 0 auto;
}
.tmp-fv{
	max-width: 1494px;
    width: 95%;
    margin: -5% auto 0;
}
#isometric{
	position: absolute;
    max-width: 945px;
    /* height: 679px; */
    width: 42%;
    top: 13%;
    right: -7%;
    z-index: 90;
}
	.bf-h4-sub{
		display: none;
	}
@media screen and (max-width:1024px){
	#wrapper .recruit-main{
	    padding: 0;
        margin: 60px 0 0;
}
	#isometric {
    position: static;
    width: 90%;
    margin: -5% 0 7% 26%;
}
.tmp-fv-sp {
    	position: relative;
        width: 90%;
        margin: 0 auto 5%;
        transform: none;
}

	#animate2 {
	  animation-duration: 1s; /* アニメーションの時間 */
	  animation-delay: 0.5s; /* アニメーション開始時間 */
		top: 2%;
        width: 52%;
        right: 2%;
		position: absolute;
	}
	#animate3 {
	  animation-duration: 1s; /* アニメーションの時間 */
	  animation-delay: 1s; /* アニメーション開始時間 */
		bottom: 2%;
        width: 61%;
        left: 2%;
		position: absolute;
	}
	.fv-tit{
		display: none;
	}
	.rc-copy {
    font-size: 0.85em;
        width: 90%;
        line-height: 2;
        text-align: center;
        margin: 0 auto;
}
	#company-area .l-side {
    width: 100%;
	margin-bottom: 10%;
}
	#company-area .r-side {
    width: 100%;
	margin-top: 0;
}
	.btn-rc2 a {
    height: auto;
    padding: 0.7em 0;
	width: 85%;
}
	.btn-etr a {
    height: auto;
    padding: 0.7em 0;
	width: 85%;
}
	
	#company-area {
    margin: 0 0 20%;
}
	#works-area .l-side {
    width: 100%;
}
	#works-area .r-side {
    width: 100%;
	margin-bottom: 10%;
}
	#works-area h4.case2 {
    justify-content: center;
}
	.works-img>div:nth-child(2) {
    margin-top: 5%;
    margin-bottom: 5%;
}
	
	.senior-wrap {
    display: none;
}
	#works-area {
    margin: 0 0 20%;
    position: relative;
}
	.bf-h4-sub{
		display: block;
	}
	.top-bf-box {
    width: 100%;
    margin-bottom: 10%;
}
	#bf-area h3 {
    text-align: center;
}
	#bf-area h4 span {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    line-height: 0.7;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
}
	#stb-area img{
		border-radius: 0;
		margin-bottom: 5%;
	}
	
	#stb-area p {
    text-align: left;
}
	#rfi-area {
    padding: 15% 0 15%;
}
	
	.rfi-wrap li {
    border-right: none;
    padding: 0;
    width: 100%;
}
	
	.rfi-wrap {
    display: flex
;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
}
	#cb-area .l-side {
    max-width: 600px;
    width: 100%;
	margin-bottom: 3%
}
	#cb-area .r-side {
    max-width: 420px;
    width: 100%;
    margin: 0;
		text-align: left;
}
	#cb-area p {
    text-align: left;
}
	#cb-area {
    padding: 15% 0 15%;
}
	.rfi-1{
	width: auto;
	height: 50px;
	margin: 0 auto 1%;
}
.rfi-2{
	width: auto;
	height: 50px;
	margin: 0 auto 1%;
}
.rfi-3{
	width: auto;
	height: 50px;
	margin: 0 auto 1%;
}
	
	#cb-area p,#stb-area p,#bf-area p,#works-area p,#company-area p{
		font-size: 0.95em;
	}
	#rfi-area p{
		font-size: 1em!important;
	}
	
	#cb-area .mynavi-btn img {
    width: 75%;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .5);
    margin: 0 auto;
    display: block;
}
	
	#company-area h3::before {
    width: 40%;
    top: 31%;
}
	#works-area h3::before {
    top: 21%;
    width: 40%;
}
	#bf-area h3::before {
    top: 21%;
    left: 43%;
    width: 40%;
}
	#stb-area h3::before {
    top: 23%;
    width: 67%;
}
	
	.modal-cont2,.modal-cont3 {
    	width: 90%;
    	/*padding: 5%;*/
    	transform: translate(0,0);
	}
	

	.flex8{
		column-gap: 3px;
	}
	
	.flex9{
        row-gap: 0px;
	}
	.flex10{
		row-gap: 20px;
	}

	.sp-header{
		width: 100%;
		height: 60px;
		padding: 0 10px;
		background: #fff;
		position: relative;
		display: inline-flex;
	}
	.splogo-wrapper{
		display: flex;
        gap: 5px;
        justify-content: flex-start;
        width: 67%;
        align-items: center;
        height: 60px;
	}
	.sp-header .tit{
		font-size: 0.7em;
		font-weight: 900;
		 align-self: center;
		line-height: 1.2;
	}
	.sp-header-logo {
		align-self: center;
		width: 24%;
		}

	.side-menu{
		display: none;
	}
	.sp-bl,.slick-slide .sp-bl{
		display: block;
	}

	.sp-nn{
		display: none!important;
	}
	.sp-ta_l {
    	text-align: left;
	}


	p,li,dt,dd,td,th,a{
		font-size: 0.95em;
	}

	p{
		line-height: 1.6;
	}

	h2{
		font-size: 1em;
	}

	img{
		width: 100%;
	}

	.sp-img{
		width: 100%;
	}

	body{
		overflow-x: hidden;
	}

	header{
		height: auto;
		position: fixed;
	}
	
	.pc-header{
		display: none;
	}

	#wrapper{
		margin-top: 0;
	}

	button {
		border: none;
		background: none;
		outline:none;
	}
	
	.fullscreenmenu{
		width: 50px;
		height: 70px;
	}
	
	.menu,.menu span {
		display: inline-block;
		-webkit-transition:all .4s;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu{
		position: fixed;
		top: 0;
        right: 0;
        width: 60px;
        height: 60px;
		z-index: 100000;
		cursor: pointer;
		padding: 0;
		transition: all 0.3s ease-out;
	}
	
	.menu .bar{
		position: absolute;
		left: 12px;
		/*width: 50%;*/
		height: 2px;
		background-color: #d92d35;
		z-index: 10;
		/*transform: translate3d(-50%,-4px,0);*/
		/*-webkit-transform: translate3d(-50%,-4px,0);*/
	}

	.menu .menu-txt{
		font-size: 0.8em;
		font-weight: 700;
		color: #d92d35;
		position: absolute;
		left: 50%;
		transform: translate3d(-50%,0,0);
		-webkit-transform: translate3d(-50%,0,0);
	}
	
	.menu .menu-txt.active{
		font-size: 0;
		margin: 0;
		opacity: 0;
	}
	.menu span:nth-of-type(1) {
		top: 18px;
		width: 60%;
	}


	.menu span:nth-of-type(2) {
		bottom: 32px;
		width: 35%;
	}

	.menu.active span:nth-of-type(1) {
		-webkit-transform: translateX(-50%) rotate(30deg);
		transform: translateX(-50%) rotate(30deg);
		background-color: #d92d35;
		width: 35px;
		left: 50%;
	}

	.menu.active span:nth-of-type(2) {
		-webkit-transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		background-color: #d92d35;
		width: 35px;
		left: 50%;
	}

	.rc-entry{
		position: fixed;
		top: 0;
		right:  60px;
		width: 60px;
		height: 60px;
		z-index: 100000;
		cursor: pointer;
		padding: 0;
		transition: all 0.3s ease-out;
		background: #d92d35;
	}
	.rc-entry .rc-entry-txt{
		font-size: 0.9em;
		font-weight: 900;
		color: #fff;
		position: absolute;
		left: 50%;
		transform: translate3d(-50%,-50%,0);
		-webkit-transform: translate3d(-50%,-50%,0);
	}
	.menu .menu-txt{
		font-size: 0.8em;
		font-weight: 700;
		color: #d92d35;
		position: absolute;
		left: 50%;
		transform: translate3d(-50%,0,0);
		-webkit-transform: translate3d(-50%,0,0);
	}
	
	#sp-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		width: 100%;
		height: 100vh;
		opacity: 0;
		background-color: #fff;
		transition: all 0.3s ease-in-out;
		visibility:hidden;
	}
	
	#sp-nav.active{
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		overflow: auto;
		z-index: 10000;
	}

	.nv-list-wrap {
		max-width: 90%;
		margin: 15vw auto 10vw;
	}
	.nv-list-inner {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: max-content max-content 1fr auto;
		column-gap: 40px;
 		row-gap: 30px;
		max-width: 90%;
	}
	
	.nv-list-box:nth-child(1) {
		grid-area: 1 / 1 / 3 / 2; }
	.nv-list-box:nth-child(2) {
		grid-area: 3 / 1 / 4 / 2; }
	.nv-list-box:nth-child(6) {
		grid-area: 4 / 1 / 5 / 2; }
	.nv-list-box:nth-child(3) {
		grid-area: 1 / 2 / 2 / 3; }
	.nv-list-box:nth-child(4) {
		grid-area: 2 / 2 / 3 / 3; }
	.nv-list-box:nth-child(5) {
		grid-area: 3 / 2 / 4 / 3; }
	.nv-list-box:nth-child(7) {
		grid-area: 4 / 2 / 5 / 3; }

	.nv-list-box h3 {
		font-size: 1.6em;
	}
	
	.nv-list-box p {
    font-size: 0.8em;
    margin-top: -1.0em;
	}
	.nv-list-box li {
    font-size: 0.95em;
}
	.nv-list-box li::before {
        font: var(--fa-font-solid);
        content: "\f105";
        transform: translateY(-50%);
        font-size: 0.8em;
        padding: 0.2em;
	}
	
	.rec-wrap {
    width: 100%;
    margin-top: 3em;
	}
	.nv-list-inner2 ul {
		width: 100%;
	}
	.nv-list-inner2 li {
		width: 50%;
	}
	
		.bdb li::before,.bdb3 li::before {
        font: var(--fa-font-solid);
        content: "\f105";
        transform: translateY(-50%);
        font-size: 0.8em;
        padding: 0.2em;
	}
	
		.flex11 {
		gap: 0px;
	}

	
	.logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	align-items: center;
	margin-top: 2em;
		gap:40px;
	}
	
	.lg-tmp {
    width: 44%;
	}

	.lg-ig {
    width: 12%;
	}
	.r-parts2 {
		width: 100%;
		margin-top: 20px;
	}
	
	
	.mnav2 {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		text-align: center;
		gap: 25px;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
		overflow:hidden;
	}

	.mnav2 li {
		flex-basis: 42%;
		max-width: 42%;
		transform: skewX(150deg);
		font-size: 0.8em;
	}
	.mnav2 li span {
	  display: block;
	  transform: skewX(-150deg);
	}
	.mnav2 li a {
	  display: block;
	  width: 100%;
	  padding:0.5em 0;
	  text-decoration: none;
	}
	.mnav2 li.tmp-n  {
		background: #fff;
		color: #000;
		border: 1px solid #000;
		will-change: opacity;
	}
	/*.mnav2 li.tmp-n a::after {
		position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f061";
		transform: translateY(-50%);
		font-size: 0.8em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
	}*/
	.mnav2 li.tmp-r  {
		background: #d92d35;
		border: 1px solid #d92d35;
	}
	/*.mnav2 li.tmp-r a::after {
		position: absolute;
		top: 50%;
		right: 1em;
		font: var(--fa-font-solid);
		content: "\f061";
		transform: translateY(-50%);
		font-size: 0.8em;
		width: 1em;
		height: 1em;
		padding: 0.2em;
	}*/
	.mnav2 li.tmp-r a  {
		color: #fff;
	}
	
	
	.pure-txt{
		position: absolute;
		bottom: 15%;
		left: 50%;
		transform: translate3d(-50%,-4px,0);
		-webkit-transform: translate3d(-50%,-4px,0);
		transition: all 500ms ease-in-out;
		-webkit-transition: all 500ms ease-in-out;
	}
	
	#sp-list a{
		color: #fff;
		text-decoration: none;
		text-align: center;
		display: block;
		padding: 10px;
	}

	.main h2{
		font-size: 9vw;
		letter-spacing: 1px;
		line-height: 1;
		text-align: center;
		margin-top: 5%;
	}

	.main img{
		width: 100%;
	}


	.header-logo img,.main-tit{
		width: 100%;
	}

	.main-txt2{
		font-size: 3.5vw;
		margin: 5% 0 0;
		letter-spacing: 2px;
	}

	.cont-box,.cont-box3 {
		width: 90%;
	}


	.main{
		margin: 70px 0 0;
		position: relative;
	}
	.title{
		margin: 70px 0 8%;
		position: relative;
	}
	.main .swiper {
	width: 18.5%;
    position: absolute;
    bottom: 0;
    right: 10px;
	}
	.message h3 {
		padding: 0.5em 0.5em;
	}
	.sp-logo{
		margin: 0 auto;
		width: 50%;
		padding-top: 50px;
	}


	footer{
		padding: 5% 0;
		background-image: none;
	}

	.cont-box-ft {
    padding: 0 5%;
}
	
	.foot-cont figure{
		width: 50%;
	}
	.foot-cont{
		background: none;
	}
	.foot-txt{
		font-size: 3vw;
		text-align: center;
		margin: 1em 0 0;
		background: none;
	}
	.foot-txt dl{
		
		background-image: url(../img/car-img.png);
    	background-repeat: no-repeat;
    	background-position: bottom right;
		background-size: 37%;
	}
	.foot-txt dt {
    	font-size: 1.2em;
		line-height: 1.4;
    	text-align: left;
		margin-bottom: 1%;
	}
	.foot-txt dl dd {
		line-height: 1.2;
    	text-align: left;
	}
	.foot-txt .big{
		font-size: 2.8vw;
		margin-bottom: 5px;
	}

	.foot-txt p{
		line-height: 1;
	}

	address{
		margin: 4vw auto 0;
		text-align: center;
	}

	#pagetop {
		width: 40px;
		bottom: 0;
		right: 0;
	}



	.modalOpen{
		width: 100%;
		margin-bottom: 5%;
		margin-right: 0;
	}
	
	.modalOpen2{
		width: 100%;
		margin-bottom: 5%;
		margin-right: 0;
	}

	.modal-cont{
		width: 90%;
		padding: 5%;
		transform: translate(0,0);
	}

	.modal-cont figure {
		width: 70%;
		margin: 0 auto;
	}

	.modal-txt-box{
		width: 100%;
		margin-top: 5%;
	}

	.modal-txt-box h3{
		font-size: clamp(14px, 6vw, 4em);
		text-align: center;
		padding: 0 0 10px 0;
	}

	.modal-txt{
		font-size: clamp(14px, 5vw, 3.2em);
		margin: 0 0 30px 0;
		letter-spacing: 1px;
	}

	.modal-mini,.modal-mini2{
		margin-left: 0;
		font-size: clamp(13px, 3vw, 1.6em);
		letter-spacing: 0;
	}

	.modalClose{
		width: auto;
        height: auto;
        right: -15px;
        top: -15px;
        font-size: 1em;
        padding: 8px;
        line-height: 1;
	}

	.btn a {
    width: 100%;
	}

	#header{
		background: #fff;
	}
	#wrapper a:hover {
    opacity:1;
	}

	.exhibition-wrap{
	grid-row-gap: 30px;
	}
	.mb80s{
	margin-bottom: 30px;
	}
	.ft-list-box{
		display: none;
	}
	.flex-c-ft {
		display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
	}
	.foot-cont .logo {
    	width: 40%;
	}
		.foot-cont .ig-logo {
		width: 10%;
		margin: 0;
	}
	.breadcrumb {
		display: none;
	}
	.pg-link {
    width: 100%;
    margin: 0 auto 10%;
}
	.pgnav {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    gap: 20px;
}
	.pgnav li {
    flex-basis: 42%;
    max-width: 42%;
    transform: skewX(150deg);
}
	.pg-tit4 {
		margin-bottom: 9%;
	}
	.pg-tit4::after {
    bottom: -18px;
    content: "";
    height: 6px;
    width: 28px;
	}
	.cp-sec {
		border: 4px solid #D92D35;
		padding: 1em;
	}
	.cp-sub {
    margin-bottom: 4%;
	}
	.wd960 {
    width: 100%;
    margin: 0 auto;
}
	.left-right {
    font-size: 1.8em;
}
	.rd-wrap {
    font-size: 1em;
    width: 43%;
}
	.flex-c3 {
    gap: 10px;
}
	.rd-wrap2 {
    padding: 0.7em 0.5em;
}
	.rd-wrap2 .big-r {
    font-size: 1.2em;
}
	.up-tr {
    font-size: 1.8em;
}
    .up-tr2 {
        font-size: 1.5em;
    }
	
	.gra-wrap {
    font-weight: 600;
    background: #EFEFEF;
    padding: 3% 6%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
	.rd-wrap3 {
    font-size: 1em;
    width: 43%;
}
	.cp-sec2 .big-r {
    font-size: 1.2em;
    font-weight: 900;
    line-height: 1.2;
}
	
	.pg-tit4-w::after {
        bottom: -13px;
        content: "";
        height: 6px;
        width: 28px;
    }
	
	#prof-wrap dl {
    width: 100%;
    flex-direction: column;
}
	    #prof-wrap dl dt {
        display: block;
        align-items: center;
        width: 100%;
        border-top: 1px solid #fff;
        margin: 0;
        padding: 0.5em 0;
        color: #fff;
        font-size: 1em;
        text-align: center;
    }
	#prof-wrap dl dd {
        display: block;
        /* align-items: center; */
        width: 100%;
        padding: 0 0 1em 0;
        line-height: 1.5;
        border-top: none;
        color: #fff;
        text-align: center;
    }
	#prof-wrap li {
    text-align: left;
	margin-bottom: 5%;
}
	.prof-back {
    padding: 10% 0 5%;
}
	#wrapper3 {
    padding: 10% 0 0 0;
}
	.stepbar {
    margin: 0 auto;
    width: 100%;
    background: url(../img/his-bg-sp.png) top right no-repeat;
	background-size:40%;
}
	.grad-wrap {
    position: relative;
    margin: 0 0 20% 0;
}
	.grad-btn {
    text-align: center;
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -27px;
    left: 0;
    flex-basis: 220px;
    max-width: 160px;
    margin: auto;
    padding: 0.5em 0;
    transform: skewX(150deg);
    font-size: 0.95em;
    background: #000;
    color: #fff;
    cursor: pointer;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    will-change: opacity;
}
	.grad-item {
    position: relative;
    overflow: hidden;
    height: 290px;
}
	.stepbar .stepbarwrap {
    margin: 0.5em 0 0 0;
    position: relative;
}
	.stepbar .stepbarwrap .steptitle .stepnum {
    padding-left: 1em;
    font-size: 1.2em;
    font-weight: 800;
    color: #D92D35;
}

	.stepbar .stepbarwrap .steptxt {
    padding: 0.5em 0 2em 2.5em;
}
	
	.stepbar .stepbarwrap .steptxt .steptxt-txt {
    line-height: 1.5em;
}
	
	.stepbar .stepbarwrap .stepline {
    width: 4px;
    height: calc(100% + 1em);
    background-color: #D92D35;
    position: absolute;
    top: 1.2em;
    left: 0.5em;
    z-index: 1;
	}
	
	#wrapper2,#office-wrapper,#sus-wrapper,#policy-wrapper,#sig-wrapper,#contact-wrapper,#privacy-wrapper {
    padding: 20% 0 0 0;
	}
	#wrapper4 {
    padding: 10% 0 5% 0;
	}
	.wp4 {
    text-align: justify;
	}
	.products-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    margin-top: 5%;
	}
	.products-box {
    width: 46%;
    height: auto;
	}
	.products-list a {
	width: 100%;
    height: 100%;
	}
	
	.products-box img {
    max-width: 80%;
	margin-bottom: 4%;
	}
	.products-list a::after {
    font-size: 0.8em;
	}
	
	.office-box {
    width: 45%;
	}
	.office-wrap,.office-wrap2 {
    row-gap: 40px;
	}
	.map-link a {
    padding: 0.5em 0;
	}
	.map-link a::before {
    font-size: 1em;
	}
	.sg-tx{
	text-align: justify;
	}
	.sus-tit4 {
		margin-bottom: 12%;
	}
	.sus-tit4::after {
    bottom: -13px;
    content: "";
    height: 6px;
    width: 28px;
	}
	.db-ph{
	flex-direction: column;
	gap:10px; 
	}
	.sus-box li{
		line-height: 1.6;
	}	
	.sus-box {
    border-radius: 5px;
	}
	.tac-sp{
		text-align: center;
		display: block;
	}
	#policy-wrapper dd {
    margin-left: 2.5em;
	}
	.privacy dd {
    margin-left: 0.9em;
	}
	.att{
	text-align: left;
	}
	.sig-box dt img {
    width: 80%;
	}
	.sig-box {
    width: 47%;
	}
	.sig-box dd {
    font-size: 0.8em;
		line-height: 1.5;
	}
	.sig-box dd a::after {
    right: 0.8em;
	}
	.sig-wrap {
    row-gap: 20px;
	}
	.ctc-list{
		flex-direction: column;
		width: 100%;
	}
	.ctc-list-img{
	width: 100%;
		margin-bottom: 2%;
	}
	.ctc-list-txt{
		width: 100%;
	}
	.link_btn{
		width: 100%;
	}
	.link_btn a{
		font-size: 0.95em;
	}
	.scroll-bd {
    display: none;
	}
	#rc-wrapper {
    padding: 60px 0 0 0;
	}
	.about-main,.job-main,.bf-main,.faq-main,.req-main {
    min-height: 180px;
	margin-top: 5%;
	}
	.about-main::after,.job-main::after,.bf-main::after,.faq-main::after,.req-main::after  {
    content: "";
    background-image: url(../img/cb-tit.png);
    background-repeat: no-repeat;
        /* background-position: center; */
        background-size: contain;
        display: inline-block;
        position: absolute;
        top: -5vw;
        left: 5vw;
        width: 72%;
        /* height: 205px; */
        z-index: 1;
	}
	.about-main h2,.job-main h2,.bf-main h2,.faq-main h2,.req-main h2 {
    font-size: 2em;
	}
	.about-main::before {
    content: "";
    width: 90vw;
    height: 120%;
    display: inline-block;
    background: #FDCA5B;
    position: absolute;
    top: -5vw;
    right: 0;
	margin-left: auto;
    z-index: -1;
	}
	.job-main::before {
    content: "";
    width: 90vw;
    height: 120%;
    display: inline-block;
    background: #68D8AA;
    position: absolute;
    top: -5vw;
    right: 0;
	margin-left: auto;
    z-index: -1;
	}
	.faq-main::before {
    content: "";
    width: 90vw;
    height: 120%;
    display: inline-block;
    background: #FC7575;
    position: absolute;
    top: -5vw;
    right: 0;
	margin-left: auto;
    z-index: -1;
	}
	.req-main::before {
    content: "";
    width: 90vw;
    height: 120%;
    display: inline-block;
    background: #FC7575;
    position: absolute;
    top: -5vw;
    right: 0;
	margin-left: auto;
    z-index: -1;
	}
	
	.about-main h2::before {
    transform: skewX(15deg);
    content: "";
    background-image: url(../img/about-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -2vw;
    left: 1vw;
    width: 70%;
    height: 100%;
    z-index: -1;
	}

	.bf-main::before {
    content: "";
    width: 90vw;
    height: 120%;
    display: inline-block;
    background: #69C2D6;
    position: absolute;
    top: -5vw;
    right: 0;
	margin-left: auto;
    z-index: -1;
	}
	.bf-main h2::before {
    transform: skewX(15deg);
    content: "";
    background-image: url(../img/bf-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
            top: -5vw;
        left: 1vw;
        width: 58%;
    height: 100%;
    z-index: -1;
	}
	.job-main h2::before {
    transform: skewX(15deg);
    content: "";
    background-image: url(../img/job-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -3vw;
        left: 1vw;
        width: 59%;
    height: 100%;
    z-index: -1;
	}
	.faq-main h2::before {
    transform: skewX(15deg);
    content: "";
    background-image: url(../img/faq-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -8vw;
        left: 1vw;
        width: 78%;
    height: 100%;
    z-index: -1;
	}
	.req-main h2::before {
    transform: skewX(15deg);
    content: "";
    background-image: url(../img/req-h2-sub.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
            top: -3vw;
        left: -3vw;
        width: 105%;
    height: 100%;
    z-index: -1;
	}
	.job-accordion .content {
    padding: 1em 1em 1em 1em;
    background: #fff;
	}
	
	.rc-cont {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    position: relative;
	}
	.rc-left {
    width: 100%;
    margin-bottom: 5%;
	position: static;
	}
	.rc-right {
    width: 100%;
	}
	.rc-cont h4 {
    font-size: clamp(1.125rem, 0.761rem + 1.82vw, 2.125rem);
    line-height: 1.4;
    margin-bottom: 3%;
    text-align: center;
	}
	
	.rc-right p, .rc-right dd, .rc-left p,.faq-accordion p,.faq-accordion dt,.faq-accordion dd {
    font-size: 0.95em;
    line-height: 1.7;
	}
	.mission img {
    display: inline;
    width: 20%;
	}
	.rc-right dl {
    width: 73%;
	}
	.rc-cont h3 {
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.3rem, 2.5vw, 2.5rem);
    position: relative;
    line-height: 1.3;
    margin-bottom: 1%;
    display: flex;
	justify-content: center;
	align-items: center;
	}
	.rc-cont .md1 {
    font-family: 'Roboto', sans-serif;
    color: #D92D35;
    font-weight: 700;
    font-style: italic;
    font-size: 3em;
    display: block;
    margin: 0 0.1em 0 0;
    padding: 0;
	}
	.rc-content::before {
    content: "";
    display: block;
    position: absolute;
    top: 115vh;
    width: 100%;
    height: 110vh;
    background: #FDD57C;
    clip-path: polygon(0 10%, 100% 0, 100% 70%, 0 60%);
	}
	.bf-content::before {
    content: "";
    display: block;
    position: absolute;
    top: 115vh;
    width: 100%;
    height: 110vh;
    background: #87CEDE;
    clip-path: polygon(0 10%, 100% 0, 100% 70%, 0 60%);
	}
	.faq-content::before {
    content: "";
    display: block;
    position: absolute;
    top: 25vh;
    width: 100%;
    height: 110vh;
    background: #FD9191;
    clip-path: polygon(0 10%, 100% 0, 100% 70%, 0 60%);
	}
	
	.count-box-wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
	}
	.count-box-wrap .box {
    background: #fff;
    padding: 0.2em 1em 0.5em 1em;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    width: 48%;
    position: relative;
	}
	.count-box-wrap .box h5 {
    font-size: 0.95em;
    font-weight: 700;
    text-align: center;
	}
	    .box.count1::after {
        content: "";
        background: url(../img/count1.svg) no-repeat right / contain;
        display: block;
        position: absolute;
        bottom: 0;
        right: 0.7em;
        width: 30%;
        height: 100%;
        transform: translateY(-33%);
    }
	.box.count2::after {
    content: "";
    background: url(../img/count2.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    bottom: -16px;
    right: 0.4em;
    width: 26%;
    height: 100%;
    transform: translateY(-33%);
	}
	.box.count3::after {
    content: "";
    background: url(../img/count3.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 0.7em;
    width: 27%;
    height: 100%;
    transform: translateY(-33%);
	}
	
	    .box.count4::after {
        content: "";
        background: url(../img/count4.svg) no-repeat right / contain;
        display: block;
        position: absolute;
        top: 50%;
        right: 0.2em;
        width: 26%;
        height: 100%;
        transform: translateY(-33%);
    }
	.box.count5::after {
    content: "";
    background: url(../img/count5.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 0.7em;
    width: 27%;
    height: 100%;
    transform: translateY(-33%);
	}
	.box.count6::after {
    content: "";
    background: url(../img/count6.svg) no-repeat right / contain;
    display: block;
    position: absolute;
    top: 50%;
    right: 0.4em;
    width: 27%;
    height: 100%;
    transform: translateY(-33%);
	}
	.graph1, .graph2, .graph4, .graph5 {
    width: 100%;
	}
	.rc-cp-btn,.rc-cp-btn2,.rc-cp-btn3 {
    width: 100%;
	}
	.pg-scr-btn,.pg-scr-btn2 {
		margin-top: 2%;
		flex-direction: column;
		gap:20px; 
		}
	.pg-scr-btn a {
		width: 100%;
		font-size: 0.8em;
		}
	.pg-scr-btn2 a {
		width: 100%;
		font-size: 0.95em;
		}
	.pg-scr-btn a::after{
		right: 0.5em;
		font-size: 0.9em;
	}
		.pg-scr-btn2 a::after{
		right: 1em;
		font-size: 0.9em;
	}
	
	.iv-btn-box.itv1::after{
	content: "";
	background: url("../img/iv-btn1-sub.png")no-repeat right / contain;
    right: 1em;
    width: 200px;
    height: 100%;
	}

	.iv-btn-box.itv2::after{
	content: "";
	background: url("../img/iv-btn2-sub.png")no-repeat right / contain;
    left: 0.2em;
    width: 200px;
    height: 100%;
	}
	.iv-btn-box.itv3::after{
	content: "";
	background: url("../img/iv-btn3-sub.png")no-repeat right / contain;
    right: 1em;
    width: 200px;
    height: 100%;	
	}
	.iv-btn-box.itv4::after{
	content: "";
	background: url("../img/iv-btn4-sub.png")no-repeat right / contain;
    left: 0.2em;
    width: 200px;
    height: 100%;
	}

	.iv-btn-wrap{
	gap:20px;
	}
	
	.mess-main1::after {
    content: "";
    background-image: url(../img/cb-tit.png);
    background-repeat: no-repeat;
    /* background-position: center; */
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 0vw;
    left: 5vw;
    max-width: 720px;
    width: 58%;
    height: 205px;
    z-index: 1;
	}
	.itv-box {
    gap:15px;
	}
	
	.itv-box-r {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap:15px;
	}
	
	.itv-box>div, .itv-box-r>div {
    width: 100%;
	}
	.itv-box img, .itv-box-r img {
    width: 100%;
    border-radius: 10px;
	}
	
	.itv-cont-wrap {
    display: flex;
    flex-direction: column;
    gap: 30px;
	}
	.itv-cont-wrap h3 {
    font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
    font-weight: 700;
    text-align: center;
	}
	.holida-wrap {
    gap:15px;
	}
	.holida-wrap img {
    width: 100%;
	}
	
	.holida-wrap h4::before {
    left: 18vw;
    width: 100px;
	}
	
	.holida-wrap>div{
	width: 100%;
	}
	
	.t-category-wrap dl {
    display: flex;
    width: 100%;
    flex-direction: column;
	}
	.t-category-wrap dd {
    width: 100%;
    background: #fff;
    color: #000;
    padding: 1em;
	}
	.t-category-wrap dt {
    width: 100%;
    color: #fff;
    text-align: center;
    padding: 0.25em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem) !important;
	}
	.training-wrap-box>div, .training-wrap-box-r>div {
		width: 100%;
	}
	.training-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
	}
	.rc-cp-btn2 a {
    font-size: 0.8em;
	}
	.faq-h4 {
    font-size: clamp(1.125rem, 0.761rem + 1.82vw, 2.125rem);
    line-height: 1.5;
	}
	.job-accordion .icon,.faq-accordion .icon {
    width: 16px;
    height: 16px;
    position: relative;
	}
	.job-accordion .icon::before,.faq-accordion .icon::before {
    width: 2px;
    height: 16px;
    top: 0;
    left: 7px;
    transform-origin: center;
	}
	.job-accordion .icon::after,.faq-accordion .icon::after {
    width: 16px;
    height: 2px;
    top: 7px;
    left: 0;
	}
	.step-wrap>div {
    width: 31.333%;
    background: #fff;
    padding: 0.5em;
	}
	.step-wrap p {
    font-size: 0.7em;
	}
	.req-wrap dt {
    width: 100%;
    background: #eee;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-self: stretch;
    padding: 0.25em;
    border-right: none;
    border-bottom: 2px solid #ccc;
    align-items: center;
	}
	.req-wrap dd {
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    line-height: 1.6;
    padding: 1em 1em;
    border-bottom: 2px solid #ccc;
	}
	.req-wrap dt:last-of-type {
    border-bottom: 2px solid #ccc;
	}
	.rc-cp-btn3 a {
    font-size: 0.8em;
	}
	.chart-wrap {
    background: #fff;
    text-align: center;
    padding: 2em 1em;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    position: relative;
	}
	
	.chart-area {
        width: 100%;
        height: 100vw;
        position: relative;
        margin: 0;
    }

	.chart-area3 {
        width: 100%;
        height: 80vw;
        position: relative;
        margin: 0;
    }

	.graph1 img {
	width: 100%;
	}
	.graph-box-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 34px;
    flex-direction: column;
    /* justify-content: space-between; */
	}
.interview-link-wrap {
    width: 75%;
    margin: 0 auto;
	}
	.slick-prev:before, .slick-next:before {
    font-size: 24px;
	}
	.slick-prev, .slick-next {
    top: 33%;
	}
	.itv-lk-btn a::after {
    right: 0.5em;
	}
	
	.itv-link-box dd {
    font-size: 0.8em
	}
	.spc{
		margin-top: 5%;
		margin-bottom: 7%;
	}
	.rc-cp-btn a:hover,.rc-cp-btn2 a:hover,.rc-cp-btn3 a:hover,.pg-scr-btn a:hover,.pg-scr-btn2 a:hover,.job-accordion summary:hover,.faq-accordion summary:hover,.itv-lk-btn a:hover,#footer a:hover,.mnav li:hover,.pgnav li:hover,.grad-btn:hover,.products-list a:hover,.att3 a:hover,.map-link a:hover,.sig-box dd a:hover,.link_btn a:hover,.header-logo a:hover,.r-menu li a:hover,.entry-btn a:hover,footer a:hover,.side-nav__item a:hover {
    opacity: 1;
  }
	.itv-lk-btn a{
		font-size: 1em;
	}
	
	#company-area::after {
    content: "";
    display: block;
    position: absolute;
    top: 4vh;
    width: 100%;
    height: 100%;
    background: #FDCA5B;
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 90%);
}
	
	#bf-area::after {
    content: "";
    display: block;
    position: absolute;
    top: -84vh;
    width: 100%;
    height: 100%;
    background: #68D8AA;
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 90%);
}
	#bf-area::before {
    content: "";
    display: block;
    position: absolute;
    top: -80vh;
    width: 100%;
    height: 50%;
    background: #F2F2F2;
    clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);
}
	.multiple-items-top>.slick-prev,.multiple-items-top>.slick-next{
		top:39%;
	}
	.multiple-items-top>.slick-next {
    right: 0;
}
	.multiple-items-top>.slick-prev {
    left: 0;
}
	.cb-tit {
    top: 5%;
}
}


