@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 130px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 48%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}
section p:not(:last-child){
  margin-bottom: 1.5em;
}

/*タイトル
========================================== */
.h2Tit{
 font-size: 4rem;
}
.h3Tit {
  font-size: 3.6rem;
	margin-bottom: 45px;
}
.h4Tit {
	font-size: 2.4rem;
	margin-bottom: 20px;
}
.h5Tit {  
	font-size: 2rem;
	margin-bottom: 20px;
}
.h6Tit{
	font-size: 1.8em;
	margin-bottom: 20px;
}

/*
　テキスト
========================================== */
.leadTxt{
  font-size: min(1.85vw,1.8rem);
  text-align: center;
}
.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */
.btn{
  font-size: 1.6rem;
  width: 215px;
}

.icArrow::after{
 width: 40px;
 height: 40px;
}

.icArrowWhite{
	padding: 7px 94px 7px 0;
}
.icArrowWhite::after{
	width: 56px;
	height: 56px;
	top: calc(50% - 28px);
}

/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	gap:0 1.5%;
 margin-top: 80px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	font-size: 1.8rem;
	width: 40px;
	height: 40px;
}
/*-- pager --*/
.pager{
	margin-top: 50px;
}
.pager a{
font-size: 1.6rem;
  width: 200px;
}

/* =======================================
	header
========================================== */
header::before{
 content: "";
 display: block;
 background: #D9D9D9;
 width: 100%;
 height: 1px;
 position: absolute;
 top: 82px;
 left: 0;
}
#top header:not(.fixed){
 background: transparent;
}
header.fixed{
 background: #fff;
}

header .inner1200{
 position: relative;
 height: 160px;
}
header #logo{
 padding: 19px 0;
 max-width: 326px;
}

/* =======================================
	gnavi
========================================== */
.gnavi{
 align-items: center;
 padding-top: 20px;
 padding-bottom: 20px;
}
.gnavi > dl{
	border: 1px solid var(--red);
	border-radius: 35px;
	align-items: center;
	min-height: 70px;
	padding: 10px 0;
	width: min(74vw,1027px);
}
.gnavi .recruitLogo{
	border-right: 1px solid #ffc5c5;
	padding:0 min(2.5vw,30px) 0 min(2.8vw,38px);
	font-size: min(1.4vw,16px);
	/*width: min(16vw,286px);*/
}
.gnavi .recruitLogo span{
 display: inline-block;
}
.gnavi > dl dd{
	padding-right: min(2.8vw,40px);
 display: flex;
  width: 70%;
  text-align: center;
}

#gnaviList{
 /*flex: 1;*/
 flex-wrap: wrap;
  height: 100%;
 justify-content: flex-start;
 align-items: center;
  margin: auto;
}
#gnaviList > li{
 position: relative;
 margin-left: min(2.8vw,46px);
}
#gnaviList > li > a{
 display:flex;
 align-items: center;
 color: #535353;
 font-size: min(1.3vw,15px);
 font-weight:500;
 white-space: nowrap;
}
#gnaviList li.current a,
#gnaviList li a:hover{
 opacity: .7;
}
#gnaviList .hasSub > a{
 position: relative;
 gap:0 5px;
}
#gnaviList .hasSub > a::after{
 content: "";
 display: inline-block;
	border-bottom: 1px var(--red) solid;
	border-right: 1px var(--red) solid;
	width: 4px;
	height: 4px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.gnavi .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
#gnaviList .sub{
	display: none;
	visibility: hidden;
	position: absolute;
 top: calc(100% - 1px);
 left: 50%;
 transform: translate(-50%, 0);
	z-index: 2;
	transition: all 0.6s ease-in-out;
 min-width:100px;
}
#gnaviList .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
#gnaviList .sub li{
	font-size: min(1.0vw,1.4rem);
}
#gnaviList .sub li + li{
 border-top: 1px #fff solid;
}
#gnaviList .sub li a{
	display: block;
 background: var(--yellow);
	padding: 8px 20px 10px;
 color: var(--base);
 font-weight: 400;
 text-align: center;
	white-space: nowrap;
}
#gnaviList .sub li a:hover,
.gnavi .entry:hover{
 opacity: .7;
}

.gnavi .entry{
	border-radius: calc(infinity * 1px);
  background-image: linear-gradient(90deg, rgba(216, 24, 14, 1), rgba(255, 126, 28, 1) 60%, rgba(255, 204, 23, 1));
 color: var(--wh);
 display: flex;
 align-items: center;
 font-size: min(1.4vw,16px);
 font-weight: 700;
 height: 70px;
 margin-left: min(1.9vw,28px);
 padding: 0 min(2.8vw,38px);
}

.gnavi .headerLinks{
 align-items: flex-end;
	position: absolute;
	right: 0;
	top: 0px;
 gap:0 16px;
}
.headerLinks .hasSub{
 position: relative;
}
.headerLinks .hasSub> a{
 padding-bottom: 4px;
 color: var(--base);
 font-size: min(1.0vw,14px);
 font-weight: 700;
}
.headerLinks .hasSub> a::before,
.headerLinks .hasSub> a::after{
 border-color: #0E0E0E;
}
.headerLinks .hasSub .sub{
 display: none;
	visibility: hidden;
	position: absolute;
 top: calc(100% - 1px);
	z-index: 2;
	transition: all 0.6s ease-in-out;
 width: auto;
 background: rgba(255,255,255,.8);
}
.headerLinks .hasSub .sub a{
 padding: 0 20px;
 color: var(--base);
 font-size: min(1.0vw,14px);
 white-space: nowrap;
}
.headerLinks .event,
.headerLinks .kaigo{
 border-radius: 0 0 10px 10px;
 padding: 10px 9px 4px 17px;
}
.headerLinks dl dt{
 font-size: min(1.4vw,16px);
 line-height: 1.4;
}
.headerLinks dd{
 font-size: min(1.0vw,14px);
}
.headerLinks a:hover{
 opacity: .7;
}

/* =======================================
	footer
========================================== */
footer{
 overflow: hidden;
 padding-top: 60px;
}
footer a:hover{
	opacity: .7;
}

footer .address{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 min(5.25vw,95px) 25px;
}
footer .footerLeft{
 flex:1 0 auto;
}
footer .footerRight{
 position: relative;
 justify-content: flex-end;
 align-items:flex-start;
 flex-flow: row wrap;
 gap:30px 5.8%;
 flex:1 0 auto;
}
footer .footerRight p{
	text-align: right;
}
footer .tel{
	font-size: 3.2rem;
}
footer .tel a{
	padding-left: 30px;
}
footer .tel a::before{
	width: 27px;
	height: 36px;
	top: -4px;
}
footer .teltxt{
	font-size: 1.4rem;
}

.footerNavi{
	border-bottom: 1px solid #b7b7b7;
	margin-bottom: 35px;
	padding: 0 min(5.25vw,95px) 45px;
}
.footerNavi ul li{
	font-size: 1.5rem;
}
.footerNavi > ul > li{
 margin-bottom: 20px;
}
.footerNavi ul li:last-child{
	margin-bottom: 0;
}
.footerNavi > ul > li > a{
 font-weight: 700;
}
.footerNavi .hasSub span.flex .sub{
	width: 48%;
	min-width: 157px;
}
.footerNavi .hasSub .sub li{
	margin-top: 10px;
	padding-left: 1.3em;
	position: relative;
}
.footerNavi .hasSub .sub li::before{
	content: "";
	background: #b7b7b7;
	display: inline-block;
	width: 5px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
}

footer .otherLink{
	font-size: 1.4rem;
	margin-top: 60px;
}
footer .footSns{
	margin-left: 28px;
 width: 30px;
 height: auto;
}
footer copy{
 font-size: 1.2rem;
 text-align: right;
}

#pageTop{
	right: 4vw;
	bottom: 73px;
}

/* =======================================
	main
========================================== */
main{
	margin-top: 200px;
}

/* =======================================
	pgs common
========================================== */
/*-- mainTitle --*/
.mainTitle{
	height: 300px;
}
.mainTitle h2{
	font-size: 3.6rem;
}

/*-- table --*/
.basicTable >dt{
	border-right: 1px dotted var(--blue);
	padding: 15px 2.5%;
	width: 23%;
}
.basicTable >dd{
	padding: 15px 2.5%;
	width: 77%;
}
.basicTable >dt:last-of-type{
	border-bottom: none;
}
 .basicTable >dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: 1.8rem;
}

/*		anchorLink
-----------------------------*/
.anchorLink,
.anchorLink ul{
	padding: 35px 0 ;
	gap:15px 20px;
}
.pageLinks{
	padding: 35px 0 ;
	gap:15px 20px;
}
.anchorLink li,
.pageLinks li{
	width: calc((100% - 20px * 3) / 4);
	height: 56px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 10px;
}

/*		other window
-----------------------------*/

/* =======================================
	top
========================================== */
/*		#mv
-----------------------------*/
#mv{
 /*height: min(47.8vw,598px);*/
 padding-top: 0;
}
#mv .mvTxt{
}
#mv .mvTxt h2{
	padding-bottom: 24px;
}
#mv .mvTxt h2::after{
	height: 93px;
}
#mv .mvTxt p{
	font-size: 1.8rem;
}


/*		#topNews
-----------------------------*/
#topNews{
	margin-top: 45px;
}
#topNews::after{
	width: 286px;
	height: 324px;
	right: -146px;
	top: 10px;
}
#topNews > div{
	align-items: center;
	padding: 25px 0;
}
#topNews h2{
	border-right: 1px solid var(--LRed);
	padding-left: 55px;
	padding-right: 42px;
	width: 195px;
}
#topNews h2 img{
	margin-bottom: 10px;
	max-width: 92px;
}
#topNews h2 .txtJp{
	font-size: 1.4rem;
	width: 100%;
}
#topNews .newsList{
	padding-left: 55px;
	padding-right: 50px;
	width: calc(100% - 195px);
}
#topNews .newsList h3{
	font-size: 1.5rem;
}
#topNews .newsList li p{
	font-size: 1.5rem;
}
#topNews .newsList .date{
	font-size: 1.4rem;
}

/*		#topMessage
-----------------------------*/
#topMessage{
	padding-top: 60px;
}
#topMessage::before{
	width: min(44.7%,625px);
	height: 543px;
	left: max(-10.2vw,-144px);
}
#topMessage::after{
	width: min(57.6%,806px);
	height: 543px;
	right: max(-37.3vw,-523px);
}
#topMessage > div::before{
	width: 157px;
	height: 126px;
	left: -62px;
	top: -40px;
}
#topMessage h2{
	margin-bottom: 20px;
}
#topMessage h2 .txtJp{
	font-size: 1.4rem;
}
#topMessage h2 img{
	height: 40px;
}
#topMessage p{
	font-size: 1.8rem;
	margin-bottom: 2.3em;
	text-align: center;
}
#topMessage .leadTxt{
	font-size: 3.4rem;
	margin-bottom: 0.3em;
}

/*		#topCoreValue
-----------------------------*/
#topCoreValue h2{
	margin-bottom: 10px;
}
#topCoreValue h2 img{
	height: 80px;
	margin-bottom: 16px;
}
#topCoreValue h2 .txtJp{
	font-size: 1.5rem;
}
#topCoreValue > div{
	background-position: -86px -12px;
	background-size: 286px 240px;
	margin-top: -85px;
	padding: 80px 50px 55px;
}
#topCoreValue h3{
	font-size: 3.4rem;
}
#topCoreValue .valueTxt01{
	margin-top: max(-6vw,-120px);
}
#topCoreValue .valueTxt01 .txt01{
	background: url("../images/top_core_baloon01.png") no-repeat left top / 100% auto;
	margin-right: min(2.16vw,45px);
	padding: 25px min(14%,65px) 60px;
	width: 462px;
}
#topCoreValue .valueTxt01 .txt02{
	background: url("../images/top_core_baloon02.png") no-repeat left top / 100% auto;
	margin-top: -100px;
	margin-left: min(2.16vw,35px);
	padding: 55px 40px 25px;
	max-width: 483px;
}
#topCoreValue .valueTxt01 figure{
	background: url("../images/top_bg_core_center.png") no-repeat right 25px / 865px auto;
	margin-top: -50px;
	padding: 0 98px 20px;
	max-width: 948px;
}
#topCoreValue .valueTxt01 figure img{
	max-width: 555px;
}
#topCoreValue .valueTxt02{
	justify-content: center;
	margin-top: 60px;
}
#topCoreValue .valueTxt02 figure{
	margin-right: min(4.8vw,70px);
	width: min(48vw,491px);
}
#topCoreValue .valueTxt02 .txts{
	width: 545px;
}
#topCoreValue .valueTxt02 h3{
	font-size: min(2.325vw,3.4rem);
	line-height: 1.9;
}
#topCoreValue .valueTxt02 h3 .txtS{
	font-size: 2.5rem;
}
#topCoreValue .valueTxt02 ul li span.bgRed{
	border-radius: 52px;
	width: 104px;
	height: 104px;
	font-size: 3.5rem;
}
#topCoreValue .valueTxt02 ul li .detailTxt{
	margin-left: -74px;
	padding: 15px 15px 15px 84px;
	width: min(39vw,486px);
}
#topCoreValue .catchTxt{
	font-size: 2.2rem;
	margin-top: 80px;
	margin-bottom: 20px;
}
#topCoreValue .photoArea .ph01{
	margin: 18px 0 0 28px;
	max-width: 268px;
	height: 181px;
}
#topCoreValue .photoArea .ph01::before{
	width: 44%;
	height: 44%;
	top: 240px;
	left: -30px;
}
#topCoreValue .photoArea .ph01::after{
	width: 91.4%;
	height: 91.7%;
	top: 83px;
	right: -123px;
}
#topCoreValue .photoArea .ph02{
	margin: 168px 0 0 6.67%;
	max-width: 246px;
}
#topCoreValue .photoArea .ph03{
	margin: 40px 0 0 11.92%;
	max-width: 400px;
}
#topCoreValue .photoArea .ph03::before{
	width: 43%;
	height: 116px;
	top: -39px;
	left: -154px;
}
#topCoreValue .photoArea .ph03::after{
	width: 67%;
	height: 181px;
	top: 130px;
	right: -36px;
}

/*		#topOurWork
-----------------------------*/
#topOurWork{
	padding-bottom: 75px;
}
#topOurWork h2{
	margin-bottom: 10px;
}
#topOurWork h2 img{
	height: 80px;
	margin-bottom: 16px;
}
#topOurWork h2 .txtJp{
	font-size: 1.5rem;
}
#topOurWork h3{
	font-size: 3.4rem;
}
#topOurWork .pcFlex p{
	margin-bottom: 0;
}
#topOurWork ul{
	gap: 0 15px;
	margin-top: 40px;
}
#topOurWork ul li{
	width: calc(100% / 3);
}
#topOurWork figure{
	margin-bottom: 20px;
}
#topOurWork figcaption{
	font-size: min(1.4vw,16px);
	margin: -3.375em 0 0;
}
#topOurWork figcaption .icArrow::after{
	width: 30px;
	height: 30px;
}

/*		#topInsta
-----------------------------*/
#topInsta figure{
	width: 52.7%;
	max-width: 632px;
}
#topInsta .txts{
	margin-top: 95px;
	margin-left: min(4.26vw,60px);
	max-width: 415px;
}
#topInsta h2{
	font-size: 3.2rem;
	margin-bottom: 20px;
}
#topInsta p{
	margin-bottom: 35px;
}
#topInsta .linkMore{
	max-width: 272px;
	height: 62px;
}
#topInsta .linkMore .icArrow{
	border-radius: 31px;
}

/*		#entryBnr
-----------------------------*/

#entryBnr a{
 display: block;
	padding: 60px 0;
	font-size: 3rem;
}


/* =======================================
	business
========================================== */
#business .anchorLink li{
	width: calc((100% - 20px * 2) / 3);
}
#business .season{
 gap:0 20px;
 align-items: flex-start;
}
#business .season > li{
 width: calc((100% - 20px*3)/4);
}
#businessIntro .others{
 justify-content: space-between;
 gap:20px 0;
}
#businessIntro .others li{
 width: 24%;
}

#businessIntro .flowHead .bubble::after{
 content: "";
 display: block;
 background: var(--LGray);
	width:20px;
	height:15px;
clip-path: polygon( 0 40%, 100% 100%, 100% 0);
 position: absolute;
 right: 100%;
 top: 30%;
}

#businessIntro .flow{
 flex-flow:  row wrap;
 gap:50px 80px;
}
#businessIntro .flow li{
 width: calc((100% - 80px*2)/3);
}
#businessIntro .flow li + li::before{
 content: "";
	position: absolute;
	top: 35%;
	right: 100%;
	display: block;
	border-top: 5px var(--base) solid;
	border-right: 5px var(--base) solid;
	width: 12px;
	height: 12px;
	margin-right: 35px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
/**/
#job .pcFlex.interview{
 max-width: 1000px;
 justify-content: space-between;
 margin: 0 auto 50px;
}
#job .interview figure{
 margin-top: 20px;
}
#job .pcFlex.interview dl{
 width: calc(100% - 210px - 50px);
}

/**/



/* =======================================
	numbers
========================================== */
.numbersList{
 justify-content: space-between;
 flex-flow: row wrap;
 gap:40px 0px;
}
.numbersList >li{
 width: 48%;
}
.numbersList >li:nth-of-type(1){
 width: 100%;
 /* padding: 30px 10%; */
}
.numbersList figure{
 padding: 10px;
}
.numbersList p{
	text-align: center;
}
.numbersList .note{
	text-align: left;
}
.numbersList dl{
 margin-bottom: 20px;
}
.numbersList dl dt{
	border-left: 1px solid #CCBC89;
	padding: 5px 0 5px 15px;
 width: 30%;
}
.numbersList dl dt:nth-of-type(even){
	border-left: none;
}
.numbersList dl dd{
	border-right: 1px solid #CCBC89;
	padding: 5px 15px 5px 0;
 width: 20%;
}

.numbersList .listTxts li{
	font-size: 1.8rem;
  padding: 5px 7px;
}
.numbersList .listTxts li.bgRed{
	font-size: 2.2rem;
}

/* =======================================
	environment
========================================== */
.txtImgBox{
 justify-content: space-between;
 align-items: flex-start;
}
.txtImgBox .txts{
 width: 55%;
}
.txtImgBox figure{
 width: 42%;
}

.after3 .h4Tit{
	font-size: 2.8rem;
	padding: 15px;
}
.after3 .pcFlex{
 gap: 0 2%;
}
.after3 .pcFlex > div{
 width: 32%;
}
.after3 > p{
	padding: 0 40px;
	text-align: center;
}
.after3 > div{
	padding: 0 40px 40px;
}
.after3 .trainingSales,
.after3 .trainingShop,
.after3 .trainingDlivery{
	padding: 20px;
}
.after3 li{
 margin-top: 20px;
}

#training .leadImg{
	border-radius: 15px;
	padding: 30px;
}

#philosophy .pcFlex{
 justify-content: center;
 gap: 0 4%;
}
#philosophy li figure{
 height: 255px;
}
#philosophy li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}

#committee li{
 width: 32%;
}
#benefits ul.flexWrap{
 gap:40px 40px;
}
#benefits li{
 width: calc((100% - 40px*3)/4);
}

#gallery .pcFlex{
 gap:20px 0;
 justify-content: space-between;
 flex-flow: row wrap;
}



/* =======================================
	interview PC
========================================== */
.interviewHead{
 align-items: center;
}
.interviewHead .txts{
 position: relative;
 width: 50%;
 margin-right: -10%;
}
.interviewHead figure{
 width: 60%
}


/* =======================================
entry PC
========================================== */
#entry .leadArea .btns{
 justify-content: center;
 gap:0 20px;
}
#entry .leadArea .btns li{
 width: 40%;
}
#entry .anchorLink li{
 width: calc((100% - 20px * 2) / 3);
}

#entry .flow h5{
	font-size: 1.8rem;
  height: 3.4em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#entry .h4Tit.bgLRed{
  padding: 10px;
}

/* =======================================
	news
========================================== */
/*		一覧
-----------------------------*/
.newsBox.pcFlex{
 justify-content: space-between;
}
.newsBox .imgs{
 width: 30%;
}
.newsBox .txts{
 width: 66%;
}

/*		single
-----------------------------*/
article{
 padding: 100px 0;
}

/* =======================================
	contact
========================================== */
#contactLead .icTel{
	font-size: 5rem;
}

/* =======================================
	form
========================================== */
.tb_cont th{
	border-bottom: 1px solid var(--wh);
	padding: 15px 2.5%;
	width: 25%;
}
.tb_cont td{
	border-bottom: 1px solid var(--base);
	padding: 15px 2.5%;
	width: 75%;
}
.tb_cont td input:not([type=checkbox]):not([type=radio]){
	padding: 8px;
	width: 80%;
}
.tb_cont td textarea{
	padding: 8px;
	width: 80% !important;
	height: 100px !important;
}
.tb_cont .hissu{
	padding: 3px 3%;
}
.tb_cont .zip{
	margin-right: 10px;
	width: 20%;
}
.tb_cont .zipBtn{
	font-size: 1.4rem;
	padding: 10px 14px;
}
.tb_cont .w50{
	width: 58%;
}
.tb_cont .fileBtn li{
	width: 33%;
}
.confirm {
  margin-top: 40px;
}
.tb_cont td input.radiobtn{
    width: auto;
}
/* =======================================
	privacypolicy
========================================== */





