@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Syncopate:wght@400;700&display=swap');

/* *****************************************************************************
=01 reset style
=02 option style
=03 common style
=04 layout style
***************************************************************************** */
/*---------- =02 option style ----------*/
.tal{text-align:left!important;}
.tac{text-align:center!important;}
.tar{text-align:right!important;}
.mtNone{margin-top:0!important;}
.mbNone{margin-bottom:0!important;}
.mbShort{margin-bottom:1em!important;}
.mbMiddle{margin-bottom:2em!important;}
.mbLong{margin-bottom:3em!important;}
.bold{font-weight:bold;}
.red{color:#c1272d;}
/*---------- //end option style ----------*/

/*---------- =03 common style ----------*/
*{
	-o-box-sizing: border-box;
	box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
html{
	font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-feature-settings: "palt";
}
body{
  font-size: 1.6rem;
  line-height: 1.75;
  color: #333333;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  background-color: #f7f7f7;
}
a{
  color: #333333;
	text-decoration: none;
}
a:hover,
a:active{
	text-decoration: none;
}
img{
  height: auto;
	display: block;
}
img,a img{
	vertical-align: bottom;
}
b,
strong,
.bold{
    font-weight: bold;
}
::selection{
	background-color: #333333;
	color: #f7f7f7;
}
::-moz-selection{
	background-color: #333333;
	color: #f7f7f7;
}
.en{
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/*---------- //end common style ----------*/

/*---------- =04 layout style ----------*/
/*========================================
header layout
========================================*/
/* site-header */
.site-header{
  width: 100%;
	height: 120px;
  z-index: 10;
  position: relative;
}
.site-header > .-inner{
	height: 120px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 5.5556%;
	padding-right: 4.8611%;
}

@media print, screen and (max-width: 1200px){
	/* site-header */
	.site-header > .-inner{
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

@media print, screen and (max-width: 760px){
	/* site-header */
	.site-header{
		height: 64px;
	}
  .site-header > .-inner{
    height: 64px;
    padding-left: 1.5rem;
		padding-right: 1.5rem;
  }
}

/* site-name */
.site-name{
  width: 210px;
}
.site-name > a{
	-webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: block;
  vertical-align: bottom;
}
.site-name > a:hover{
  opacity: 0.75;
}
.site-name > a > img{
	width: 100%;
  vertical-align: bottom
}

@media print, screen and (max-width: 760px){
  /* site-name */
  .site-name{
    width: 180px;
  }
}

/* header-primary */
.header-primary{
	display: flex;
  align-items: center;
}

@media print, screen and (max-width: 1000px){
  /* header-primary */
  .header-primary{
    display: none;
  }
}

/* header-nav */
.header-nav > .-main{
	letter-spacing: -.4em;
	text-align: right;
}
.header-nav > .-main > .-item{
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-block;
	white-space: nowrap;
	line-height: 1;
	letter-spacing: normal;
	margin-left: 2.8rem;
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.header-nav > .-main > .-item:nth-child(1){
	margin-left: 0;
}
.header-nav > .-main > .-item.-window{
  padding-right: 2.8rem;
  position: relative;
}
.header-nav > .-main > .-item.-window::after{
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: -0.5rem;
  right: 0;
  content: "";
  background: url(/assets/images/icon-window-nav-red.svg) center center no-repeat;
  background-size: 1.8rem auto;
}
.header-nav > .-main > .-item > a{
	-webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; 
	position: relative;
	color: #c1272d;
}
.header-nav > .-main > .-item > a::after{
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  transition-delay: 0;
  background: #c1272d;
  position: absolute;
  left: 0;
  bottom: -6px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}
.header-nav > .-main > .-item > a:hover::after{
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

/* header-button */
.header-button{
  margin-left: 4rem;
}
.header-button > a{
  background-color: #c1272d;
  color: #ffffff;
  width: 140px;
  line-height: 4rem;
  font-size: 1.4rem;
	font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; 
	display: inline-block;
	border-radius: 9999px;
}
.header-button > a:hover{
  opacity: 0.75;
}

@media print, screen and (max-width: 1200px){
  /* header-button */
  .header-button{
    margin-left: 2.8rem;
  }
}

/* hamburger-button */
.hamburger-button{
  display: none;
}

@media screen and (max-width: 1000px){
  /* hamburger-button */
  .hamburger-button{
    display: block;
    position: absolute;
    width: 80px;
    height: 80px;
    cursor: pointer;
    top: 2rem;
    right: 2rem;
    background-color: #c1272d;
    z-index: 11;
  }
  .fixed .hamburger-button{
    position: fixed;        
  }
  .hamburger-button > .-line{
    position: absolute;
    top: 21px;
    left: 27px;
  }
  .hamburger-button > .-line > span{
    background-color: #ffffff;
    display: block;
    width: 26px;
    height: 2px;
    transition: 0.4s;
    margin: 5px 0;
  }
  .hamburger-button.is-open span:nth-child(1){
    transform: rotate(45deg) translate(4px, 4px);
  }
  .hamburger-button.is-open span:nth-child(2){
    opacity: 0;
  }
  .hamburger-button.is-open span:nth-child(3){
    transform: rotate(-45deg) translate(6px, -6px);
  }
  .hamburger-button > .-text{
    font-size: 1rem;
    color: #ffffff;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 13px;
    width: 80px;
  }
}

@media screen and (max-width: 760px){
  /* hamburger-button */
  .hamburger-button{
    width: 64px;
    height: 64px;
    top: 0;
    right: 0;
  }
  .hamburger-button > .-line{
    top: 15px;
    left: 20px;
  }
  .hamburger-button > .-line > span{
    width: 24px;
  }
  .hamburger-button > .-text{
    font-size: 0.8rem;
    bottom: 9px;
    width: 64px;
  }
}

/* hamburger-nav */
.hamburger-nav{
  display: none;
}

@media screen and (max-width: 1000px){
  /* hamburger-nav */
  .hamburger-nav{
    background-color: #f7f7f7;
    display: block;
    height: 100%;
    opacity: 0;
    overflow: auto;
    padding-top: 12rem;
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    visibility: hidden;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 10;
  }
  .hamburger-nav.is-show{
    opacity: 1;
    top: 0;
    visibility: visible;
  }
  .hamburger-nav-main > li{
    margin-left: 6rem;
    margin-right: 6rem;
    border-bottom: 1px solid #e4e4e4;
    font-size: 2.2rem;
    line-height: 1;
    font-family: "Syncopate", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .hamburger-nav-main > li > a{
    background: url(/assets/images/arrow-link-red.svg) right 15px center no-repeat;
    background-size: 28px auto;
    display: block;
    padding: 3.2rem 0.5rem;
    color: #c1272d;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; 
  }
  .hamburger-nav-main > li > a:hover{
    opacity: 0.75;
  }
  .hamburger-nav-main > li.-window > a > span{
    padding-right: 3.2rem;
    background: url(/assets/images/icon-window-nav-red.svg) right top no-repeat;
    background-size: 1.8rem auto;
    padding-top: 0.1rem;
  }
}

@media screen and (max-width: 760px){
  /* hamburger-nav */
  .hamburger-nav{
		padding-top: 8rem;
	}
  .hamburger-nav-main > li{
    margin-left: 2rem;
    margin-right: 2rem;
    font-size: 2.1rem;
  }
  .hamburger-nav-main > li > a{
    padding-top: 3rem;
    padding-bottom: 3rem;
    background: url(/assets/images/arrow-link-red.svg) right 15px center no-repeat;
    background-size: 26px auto;
  }
  .hamburger-nav-main > li > a:hover{
    opacity: 1;
  }  
}

/* header-button-sp */
.header-button-sp{
  margin-top: 6rem;
  padding-left: 6rem;
  padding-right: 6rem;
}
.header-button-sp > a{
  display: inline-block;
  width: 100%;
  line-height: 6.4rem;
  color: #ffffff;
  background-color: #c1272d;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-size: 2.4rem;
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  white-space: nowrap;
	border-radius: 9999px;
}

@media screen and (max-width: 760px){
  /* header-button-sp */
  .header-button-sp{
    margin-top: 3.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .header-button-sp > a{
    line-height: 6rem;
    font-size: 2.3rem;
  }
}

/*========================================
contents layout
========================================*/
/* note */
.note{
    margin-left: 1em;
    display: block;
}
.note::before{
    content: '※';
    margin-left: -1em;
}

/* gradation-box */
.gradation-box{
  background: url(/assets/images/bg-page.jpg) center top no-repeat;
  background-size: cover;
}
.gradation-box.-second{
  padding-top: 12rem;
}

@media screen and (max-width: 1000px){
  /* gradation-box */
  .gradation-box.-second{
    padding-top: 10rem;
  }
}

@media screen and (max-width: 760px){
  /* gradation-box */
  .gradation-box.-second{
    padding-top: 8rem;
  }
}

/* black-box */
.black-box{
  padding-top: 10rem;
  background-color: #333333;
  color: #ffffff;
}
.black-box ::selection{
	background-color: #ffffff;
	color: #333333;
}
.black-box ::-moz-selection{
	background-color: #ffffff;
	color: #333333;
}

@media screen and (max-width: 760px){
  /* black-box */
  .black-box{
    padding-top: 8rem;
  }
}

/* breadcrumbs-list */
.breadcrumbs-list{
  padding-left: 6rem;
  padding-right: 6rem;
}
.breadcrumbs-list > .-primary{
  display: flex;
  flex-wrap: wrap;
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
  line-height: 2;
}
.breadcrumbs-list > .-primary > .-item{
  font-size: 1.2rem;
  border-left: 1px solid #333333;
  line-height: 1;
  padding-left: 1.8rem;
  margin-right: 1.8rem;
  white-space: nowrap;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 700;
}
.breadcrumbs-list > .-primary > .-item:nth-child(1){
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}  
.breadcrumbs-list > .-primary > .-item > a{
  color: #333333;
  position: relative;
}
.breadcrumbs-list > .-primary > .-item > a::after{
  position: absolute;
  left: 0;
  bottom: -0.4rem;
  content: '';
  width: 100%;
  height: 1px;
  background: #333333;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.breadcrumbs-list > .-primary > .-item > a:hover::after{
  transform: scale(0, 1);
  transform-origin: right top;
}

@media screen and (max-width : 1000px){
  /* breadcrumbs-list */
  .breadcrumbs-list{
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

@media screen and (max-width : 760px){
  /* breadcrumbs-list */
  .breadcrumbs-list{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .breadcrumbs-list > .-primary{
    padding-top: 2rem;
  }
  .breadcrumbs-list > .-primary > .-item{
    font-size: 1.1rem;
    padding-left: 1.2rem;
    margin-right: 1.2rem;
    margin-top: 0;
    margin-bottom: 1.5rem;
  }
}

/* page-title */
.page-title{
  height: 800px;
  display: flex;
  align-items: center;
  padding-bottom: 450px;
  position: relative;
  padding-left: 6rem;
  padding-right: 6rem;
}
.page-title.-no-image{
  padding-bottom: 0;
  height: 350px;
  margin-bottom: 10rem;
}
.page-title::after{
  content: "";
  width: 100%;
  height: 450px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.page-title.-no-image::after{
  display: none;
}
.page-title > .-inner{
  width: 100%;
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}
.page-title > .-inner > .-en{
  font-size: 7rem;
  line-height: 1;
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  white-space: nowrap;
  margin-bottom: 2.5rem;
}
.page-title.-long > .-inner > .-en{
  font-size: 5.5rem;
}
.page-title.-long > .-inner > .-en > br{
  display: none;
}
.page-title > .-inner > .-main{
  position: relative;
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
  padding-left: 1.6rem;
  font-weight: 700;
}
.page-title > .-inner > .-main::before{
  border-radius: 50%;
  content: "";
  background-color: #c1272d;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0.5rem;
  left: 0;
}

@media screen and (max-width : 1000px){
  /* page-title */
  .page-title{
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

@media screen and (max-width : 760px){
  /* page-title */
  .page-title{
    padding-left: 2rem;
    padding-right: 2rem;
    height: auto;
    padding-bottom: 0;;
  }
  .page-title.-no-image{
    height: auto;
    margin-bottom: 8rem;
  }
  .page-title::after{
   display: none;
  }
  .page-title > .-inner{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .page-title > .-inner > .-en{
    font-size: 6rem;
    margin-bottom: 2rem;
  }
  .page-title.-long > .-inner > .-en{
    font-size: 4.75rem;
    line-height: 1.05;
  }
  .page-title.-long > .-inner > .-en > br{
    display: inline;
  }
}

@media screen and (max-width : 540px){
  /* page-title */
  .page-title > .-inner{
    padding-top: 18.5vw;
    padding-bottom: 18.5vw;
  }
  .page-title > .-inner > .-en{
    font-size: 11.1vw;
    margin-bottom: 3.8vw;
  }
  .page-title.-long > .-inner > .-en{
    font-size: 8.79vw;
  }
}

/* img-page-title-sp */
.img-page-title-sp{
  display: none;
}

@media screen and (max-width : 760px){
  /* img-page-title-sp */
  .img-page-title-sp{
    display: block;
  }
  .img-page-title-sp > img{
    width: 100%;
  }
}

/* basic-contents */
.basic-contents{
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 12rem;
}
.basic-contents > .-inner{
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width : 1000px){
  /* basic-contents */
  .basic-contents{
    padding-bottom: 10rem;
  }
}

@media screen and (max-width : 760px){
  /* basic-contents */
  .basic-contents{
    padding-bottom: 8rem;
  }
}

/* basic-box */
.basic-box{
  padding-left: 6rem;
  padding-right: 6rem;
  padding-bottom: 12rem;
}
.basic-box > .-inner{
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width : 1000px){
  /* basic-box */
.basic-box{
    padding-left: 4rem;
    padding-right: 4rem;
    padding-bottom: 10rem;
  }
}

@media screen and (max-width : 760px){
  /* basic-box */
  .basic-box{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-bottom: 8rem;
  }
}

/* basic-two-column-box */
.basic-two-column-box{
  display: flex;
  justify-content: space-between;
}
.basic-two-column-box > .-heading{
  padding-right: 4rem;
  flex: 1;
}
.basic-two-column-box > .-primary{
  width: 65.6604%;
  padding-top: 7.2rem;
}

@media screen and (max-width : 1000px){
  /* basic-two-column-box */
  .basic-two-column-box{
    display: block;
  }
  .basic-two-column-box > .-primary{
    width: 100%;
    padding-top: 8rem;
  }
}

/* basic-field */
.basic-field > .-field{
  margin-top: 10rem;
}
.basic-field > .-field:nth-child(1){
  margin-top: 0;
}

@media screen and (max-width : 760px){
  /* basic-field */
  .basic-field > .-field{
    margin-top: 8rem;
  }
}

/* section-heading */
.section-heading.-white{
  color: #ffffff;
}
.section-heading > .-main{
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
  padding-left: 1.6rem;
  position: relative;
}
.section-heading > .-main::before{
  border-radius: 50%;
  content: "";
  background-color: #c1272d;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
.section-heading > .-en{
  margin-top: 2.2rem;
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  font-size: 4.1rem;
  white-space: nowrap;
}

@media print, screen and (max-width: 760px){
  /* section-heading */
  .section-heading > .-en{
    font-size: 3.8rem;
  }
}

/* section-primary */
.section-primary{
  margin-top: 2.8rem;
}

/* section-text */
.section-text > p{
  font-size: 1.6rem;
  line-height: 1.75;
}

/* section-text-link */
.section-text-link{
  margin-top: 3.4rem;
}
.section-text-link > a{
  display: inline-block;
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
  line-height: 3rem;
  padding-right: 5rem;
  background: url(/assets/images/arrow-circle-red.svg) right center no-repeat;
  background-size: 3rem auto;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.section-text-link.-white > a{
  color: #ffffff;
}
.section-text-link > a:hover{
  color: #c1272d;
}
.section-text-link.-white > a:hover{
  color: #ffffff;
}
.section-text-link > a > span{
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; 
	position: relative;
}
.section-text-link > a > span::after{
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  transition-delay: 0;
  background: #c1272d;
  position: absolute;
  left: 0;
  bottom: -7px;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}
.section-text-link.-white > a > span::after{
  background: #ffffff;
}
.section-text-link > a:hover > span::after{
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

/* section-recruit */
.section-recruit{
  height: 420px;
  background: url(/assets/images/bg-recruit.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
  padding-left: 6rem;
  padding-right: 6rem;
  color: #ffffff;
}
/*
.section-recruit::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000000;
  opacity: 0.2;
}
*/
.section-recruit > .-inner{
  max-width: 1060px;
  height: 420px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
}

@media print, screen and (max-width: 1000px){
  /* section-recruit */
  .section-recruit{
    padding-left: 4rem;
    padding-right: 4rem;
	}
}

@media print, screen and (max-width: 760px){
	/* section-recruit */
  .section-recruit{
    padding-left: 2rem;
    padding-right: 2rem;
    background: url(/assets/images/bg-recruit.jpg) right 40% center no-repeat;
    background-size: cover;
	}
}

/* basic-heading */
.basic-heading.-white{
  color: #ffffff;
}
.basic-heading > .-en{
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.1rem;
  line-height: 1.15;
  margin-bottom: 3rem;
}
.basic-heading > .-en-red{
  font-family: "Syncopate", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #c1272d;
  line-height: 1.35;
  font-size: 2.1rem;
  margin-bottom: 1.5rem;

}
.basic-heading > .-main{
  position: relative;
  font-size: 1.6rem;
  line-height: 1;
  white-space: nowrap;
  padding-left: 1.6rem;
  font-weight: 700;
}
.basic-heading > .-main::before{
  border-radius: 50%;
  content: "";
  background-color: #c1272d;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0.5rem;
  left: 0;
}

@media print, screen and (max-width: 760px){
  /* basic-heading */
  .basic-heading > .-en{
    font-size: 3.8rem;
  }
  .basic-heading > .-en{
    margin-bottom: 1.8rem;
  }
}

/* basic-heading-middle */
.basic-heading-middle{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.65;
  padding-left: 3.2rem;
  position: relative;
  /*margin-bottom: 3.5rem;*/
  margin-bottom: 1.5rem;
}
.basic-heading-middle::before{
  content: "";
  position: absolute;
  width: 16px;
  height: 4px;
  top: 1.7rem;
  left: 0;
  background-color: #c1272d;
}

@media print, screen and (max-width: 760px){
  /* basic-heading-middle */
  .basic-heading-middle{
    font-size: 2.1rem;
    padding-left: 3rem;
    /*margin-bottom: 3rem;*/    
  }
  .basic-heading-middle::before{
    width: 15px;
    top: 1.5rem;
  }
}

/* basic-list */
.basic-list > .-item{
    font-size: 1.6rem;
    line-height: 1.75;
    padding-left: 1em;
    position: relative;
    margin-top: 5px;
}
.basic-list > .-item::before{
    content: "";
    background-color: #333333;
    position: absolute;
    top: 12px;
    left: 0.4rem;
    width: 4px;
    height: 4px;
    border-radius: 50%;
}
.basic-list > .-item:nth-child(1){
    margin-top: 0;
}

/* basic-number-list */
.basic-number-list{
  margin-top: 3.5rem;
}
.basic-number-list > .-item{
  counter-increment: basic-number-list;
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  padding-left: 3rem;
}
.basic-number-list > .-item::before{
  content: counter(basic-number-list) ".";
  position: absolute;
  top: 0;
  left: 0;
}

/* basic-table */
.basic-table{
  width: 100%;
  border-top: 1px solid #c8c8c8;
}
.basic-table > tbody > tr > th,
.basic-table > tbody > tr > td{
  border-bottom: 1px solid #c8c8c8;
  font-size: 1.6rem;
  line-height: 1.75;
}
.basic-table > tbody > tr > th{
  width: 160px;
  padding: 2.5rem 2rem;
  font-weight: 700;
}
.basic-table > tbody > tr > td{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media print, screen and (max-width: 760px){
  /* basic-table */
  .basic-table > tbody > tr > th{
    width: 140px;
  }
}

@media print, screen and (max-width: 640px){
  /* basic-table */
  .basic-table > tbody > tr > th,
  .basic-table > tbody > tr > td{
    display: block;
  }
  .basic-table > tbody > tr > th{
    width: 100%;
    border-bottom: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .basic-table > tbody > tr > td{
    padding-top: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* recruit-box */
.recruit-box{
  position: relative;
  z-index: 1;
}

/*========================================
footer layout
========================================*/
/* site-footer */
.site-footer{
  padding-left: 6rem;
  padding-right: 6rem;
  background-color: #f7f7f7;
}
.site-footer > .-inner{
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (max-width: 1000px){
	/* site-footer */
	.site-footer{
    padding-left: 4rem;
    padding-right: 4rem;
	}
}

@media print, screen and (max-width: 760px){
	/* site-footer */
	.site-footer{
    padding-left: 2rem;
    padding-right: 2rem;
	}
}

/* footer-top */
.footer-top{
  display: flex;
	justify-content: space-between;
	align-items: center;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.footer-top > .-base{
  padding-left: 6rem;
}

@media print, screen and (max-width: 1240px){
  /* footer-top */
  .footer-top{
    display: block;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .footer-top > .-base{
    margin-top: 4rem;
    padding-left: 0;
  }
}

@media print, screen and (max-width: 760px){
  /* footer-top */
  .footer-top > .-base{
    margin-top: 3rem;
  }
}

/* site-name-footer */
.site-name-footer{
  width: 388px;
}
.site-name-footer > a{
  width: 100%;
  display: flex;
	justify-content: space-between;
	align-items: center;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.site-name-footer > a:hover{
  opacity: 0.75;
}
.site-name-footer > a > .-logo{
  width: 210px;
}
.site-name-footer > a > .-name{
  width: 144px;
}
.site-name-footer > a > .-logo > img,
.site-name-footer > a > .-name > img{
  width: 100%;
}

@media print, screen and (max-width: 760px){
  /* site-name-footer */
  .site-name-footer{
    width: 330px;
  }
  .site-name-footer > a{
    display: flex;
  }
  .site-name-footer > a > .-logo{
    width: 180px;
  }
  .site-name-footer > a > .-name{
    width: 125px;
    margin-top: 0;
  }
}

@media print, screen and (max-width: 450px){
  /* site-name-footer */
  .site-name-footer{
    width: 180px;
  }
  .site-name-footer > a{
    display: block;
  }
  .site-name-footer > a > .-name{
    margin-top: 1.5rem;
  }
}

/* footer-base */
.footer-base{
  font-size: 1.4rem;
  line-height: 1.75;
}
.footer-base > .-item{
  display: flex;
}
.footer-base > .-item{
  margin-top: 0.5rem;
}
.footer-base > .-item:nth-child(1){
  margin-top: 0;
}
.footer-base > .-item > .-name{
  white-space: nowrap;
  width: 140px;
  padding-right: 1em;
}
.footer-base > .-item > .-detail{
  display: flex;
}
.footer-base > .-item > .-detail > .-data{
  display: flex;
  width: 350px;
}
.footer-base > .-item > .-detail > .-data > .-post{
  padding-right: 1em;
  white-space: nowrap;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.footer-base > .-item > .-detail > .-contact{
  display: flex;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.footer-base > .-item > .-detail > .-contact > .-tel{
  padding-right: 1em;
}

@media print, screen and (max-width: 1380px){
  /* footer-base */
  .footer-base > .-item{
    display: block;
    margin-top: 2rem;
  }
  .footer-base > .-item > .-detail{
    margin-top: 0.5rem;
  }
}

@media print, screen and (max-width: 760px){
  /* footer-base */
  .footer-base > .-item > .-detail{
    display: block;
  }
  .footer-base > .-item > .-detail > .-data{
    width: 100%;
  }
}

@media print, screen and (max-width: 400px){
  /* footer-base */
  .footer-base > .-item > .-detail > .-data,
  .footer-base > .-item > .-detail > .-contact{
    display: block;
  }
  .footer-base > .-item > .-detail > .-contact{
    margin-top: 0.5rem;
  }
}

/* footer-bottom */
.footer-bottom{
  border-top: 1px solid #999999;
  display: flex;
	justify-content: space-between;
	align-items: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.footer-bottom > .-nav{
  flex: 1;
  margin-right: 4rem;
}

@media print, screen and (max-width: 760px){
  /* footer-bottom */
  .footer-bottom{
    display: block;
  }
  .footer-bottom > .-copyright{
    margin-top: 2rem;
  }
}

/* footer-nav */
.footer-nav{
  letter-spacing: -.4em;
}
.footer-nav > .-item{
  display: inline-block;
  letter-spacing: normal;
  font-size: 1.2rem;
  margin-top: 0.5rem;
  margin-right: 2.5rem;
  margin-bottom: 0.5rem;
}
.footer-nav > .-item:last-child{
  margin-right: 0;
}
.footer-nav > .-item > a{
	color: #333333;
	font-size: 1.4rem;
	white-space: nowrap;
	line-height: 1;
	-webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: relative;
}
.footer-nav > .-item.-window > a{
  padding-right: 2.1rem;
  position: relative;
}
.footer-nav > .-item > a:hover{
  color: #c1272d;
}
.footer-nav > .-item.-window > a::after{
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 0.1rem;
  right: 0;
  content: "";
  background: url(/assets/images/icon-window-nav-black.svg) center center no-repeat;
  background-size: 1.4rem auto;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.footer-nav > .-item.-window > a:hover::after{
  background: url(/assets/images/icon-window-nav-red.svg) center center no-repeat;
  background-size: 1.4rem auto;
}

@media print, screen and (max-width: 1000px){
  /* footer-nav */
  .footer-nav{
    max-width: 320px;
  }
}

@media print, screen and (max-width: 760px){
  /* footer-nav */
  .footer-nav{
    max-width: none;
  }
  .footer-nav > .-item > a:hover{
    color: #333333;
  }
  .footer-nav > .-item.-window > a:hover::after{
    background: url(/assets/images/icon-window-nav-black.svg) center center no-repeat;
    background-size: 1.4rem auto;
  }
}

/* copyright */
.copyright{
	font-size: 1.2rem;
	font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
	line-height: 1.6667;
}
