@charset 'utf-8';

/***** System *****/
.boxSystemCaution {
  padding: 60px 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #ff0000;
}

/* 判別 */
.isPc{
  display: none;
  width: 1px;
}
/* /判別 */

.dPc{
  display: block !important;
}
.dPcInline{
  display: inline !important;
}
.dPcInB{
  display: inline-block !important;
}
.dPcTb{
  display: table !important;
}
.dPcLi{
  display: list-item !important;
}
.dTb,
.dSp,
.dTbInline,
.dSpInline,
.dTbInB,
.dSpInB,
.dTbTb,
.dSpTb,
.dTbLi,
.dSpLi{
  display: none !important;
}

.clearfix:after{
  content: ' ';
  display: block;
  clear: both;
}

.oneLine{
  display: inline-block;
  width: 100%;
}

.writeModeLR{
  display: inline-block;
  writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
}
.writeModeRL{
  display: inline-block;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
}
.rlNum{
  text-combine-upright: all;
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  -ms-writing-mode: lr-tb;
}

.bm20{
  margin-bottom: 20px !important;
}

.txtL,
.boxBtnL,
.boxL{
  text-align: left;
}
.txtC,
.boxBtnC,
.boxC{
  text-align: center;
}
.txtR,
.boxBtnR,
.boxR{
  text-align: right;
}

.cRed{
  /*color: #fd0231;*/
}

.pb0{
  padding-bottom: 0 !important;
}
.mb0{
  margin-bottom: 0 !important;
}

.min{
  /* font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif; */
  /*font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;*/
  font-family: "Hiragino Mincho W3 JIS2004", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/***** Post Body *****/
.boxPostBody {
  overflow: hidden;
  line-height: 1.8;
  letter-spacing: 0.11em;
  font-size: 1.0rem;

}
@media all and (max-width: 750px){
  .boxPostBody {
    font-size: 4.0vw;
  }
}

@media all and (max-width: 750px){
  .boxPostBody span[style="font-size: 0.7rem;"] {
    font-size: 3.1vw !important;
  }
  .boxPostBody span[style="font-size: 0.75rem;"] {
    font-size: 3.3vw !important;
  }
  .boxPostBody span[style="font-size: 0.8rem;"] {
    font-size: 3.5vw !important;
  }
  .boxPostBody span[style="font-size: 0.85rem;"] {
    font-size: 3.7vw !important;
  }
  .boxPostBody span[style="font-size: 0.9rem;"] {
    font-size: 3.9vw !important;
  }
  .boxPostBody span[style="font-size: 0.95rem;"] {
    font-size: 4.1vw !important;
  }
  .boxPostBody span[style="font-size: 1.0rem;"] {
    font-size: 4.3vw !important;
  }
  .boxPostBody span[style="font-size: 1.1rem;"] {
    font-size: 4.7vw !important;
  }
  .boxPostBody span[style="font-size: 1.2rem;"] {
    font-size: 5.1vw !important;
  }
  .boxPostBody span[style="font-size: 1.3rem;"] {
    font-size: 5.5vw !important;
  }
  .boxPostBody span[style="font-size: 1.4rem;"] {
    font-size: 5.9vw !important;
  }
  .boxPostBody span[style="font-size: 1.5rem;"] {
    font-size: 6.3vw !important;
  }
  .boxPostBody span[style="font-size: 1.6rem;"] {
    font-size: 6.7vw !important;
  }
  .boxPostBody span[style="font-size: 1.7rem;"] {
    font-size: 7.1vw !important;
  }
  .boxPostBody span[style="font-size: 1.8rem;"] {
    font-size: 7.5vw !important;
  }
  .boxPostBody span[style="font-size: 1.9rem;"] {
    font-size: 7.9vw !important;
  }
  .boxPostBody span[style="font-size: 2.0rem;"] {
    font-size: 8.3vw !important;
  }
  .boxPostBody span[style="font-size: 2.1rem;"] {
    font-size: 8.7vw !important;
  }
  .boxPostBody span[style="font-size: 2.2rem;"] {
    font-size: 9.1vw !important;
  }
  .boxPostBody span[style="font-size: 2.3rem;"] {
    font-size: 9.5vw !important;
  }
}

.boxPostBody h2 {
  margin-bottom: 1.0em;
  padding: 0.1em 0;
}
.boxPostBody h3 {
  margin-bottom: 1.0em;
  padding: 0.1em 0;
}
.boxPostBody h4 {
  margin-bottom: 1.0em;
  padding: 0.1em 0;
}

@media all and (max-width: 750px){
  .boxPostBody table {
    width: 100% !important;
  }
  .boxPostBody table th,
  .boxPostBody table td {
    width: auto !important;
  }
  .boxPostBody table td {
    vertical-align: top;
  }
}

.boxPostBody a {
  text-decoration: underline;
  color: #306751;
}

.boxPostBody p {
  margin: 0;/*Reset*/
  padding: 0;/*Reset*/
  margin-bottom: 20px;
}
@media all and (max-width: 750px){
  .boxPostBody p {
    margin-bottom: 5%;
  }
}

.boxPostBody strong {
  font-weight: 700;
}

.boxPostBody em {
  font-style: italic;
}

.boxPostBody ul {
  padding-left: 20px;
  list-style: disc;
}
@media all and (max-width: 750px){
  .boxPostBody ul {
    padding-left: 5%;
  }
}

.boxPostBody ol {
  padding-left: 20px;
  list-style: decimal;
}
@media all and (max-width: 750px){
  .boxPostBody ol {
    padding-left: 8%;
  }
}

.boxPostBody li {
  margin-bottom: 10px;
}
@media all and (max-width: 750px){
  .boxPostBody li {
    margin-bottom: 3%;
  }
}

@media all and (max-width: 750px){
  .boxPostBody img {
    height: auto;
  }
}

.boxPostBody .alignleft {
  float: left;
  margin: 7px 28px 28px 0;
}
@media all and (max-width: 750px){
  .boxPostBody .alignleft {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    margin: 5% 0 5% 0;
  }
}

.boxPostBody .alignright {
  float: right;
  margin: 7px 0 28px 28px;
}
@media all and (max-width: 750px){
  .boxPostBody .alignright {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    margin: 5% 0 5% 0;
  }
}

.boxPostBody .aligncenter {
  clear: both;
  display: block;
  margin: 7px auto;
}
@media all and (max-width: 750px){
  .boxPostBody .aligncenter {
    clear: both;
    display: block;
    margin: 5% auto;
  }
}

/* --YoutubeBox */
.boxYoutube{
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 56.25%;
  border: 1px #ccc solid;
}
.boxYoutube .youtube{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* --/YoutubeBox */

/* --VimeoBox */
.boxVimeo{
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 56.25%;
  border: 1px #ccc solid;
}
.boxVimeo .vimeo{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* --/VimeoBox */

/* Pagination */
.boxPagination {
  position: relative;
  z-index: 9;
/*  padding: 50px 0; */
  padding: 50px 0 0;
  border-top: 1px #d6d7d7 solid;
  text-align: right;
}
@media all and (max-width: 640px){
  .boxPagination {
    padding: 5% 0;
    /* padding: 5% 0 20% 0; */
    border: 0;
  }
}

.boxPagination.top {
  margin-bottom: 40px;
  padding-bottom: 0;
  border: 0;
}
@media all and (max-width: 640px){
  .boxPagination.top {
    width: 110%;
    margin-left: -5%;
    margin-bottom: 5%;
  }
}

.boxPaginationIn {
  width: 1200px; /* 980px */
  margin: 0 auto;
}
@media all and (max-width: 640px){
  .boxPaginationIn {
    width: 100%;
  }
}

.boxPaginationInLR {
  display: table;
  margin-left: auto;
}
@media all and (max-width: 640px){
  .boxPaginationInLR {
    display: block;
  }
}

.boxPaginationInL {
  display: table-cell;
  vertical-align: middle;
}
@media all and (max-width: 640px){
  .boxPaginationInL {
    display: block;
    width: 100%;
    margin-bottom: 3%;
    text-align: center;
    letter-spacing: 0.15em;
    font-size: 0.9rem;
  }
}

.boxPaginationInL span {
  padding: 0.6em 20px 0.5em 15px;
  display: inline-block;
  background-image: url('./../../images/recruit/pagenation-separation01.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 5% auto;
}
@media all and (max-width: 640px){
  .boxPaginationInL span {
    padding: 1vw 3.5vw;
    background-image: url('./../../images_sp/recruit/sp-pagenation-separation01.png');
    background-size: 1.7vw auto;
  }
}

.boxPaginationInR {
  display: table-cell;
  vertical-align: middle;
}
@media all and (max-width: 640px){
  .boxPaginationInR{
    display: block;
  }
}

ul.page-numbers {
  display: table;
  /*margin-left: auto;*/
}
@media all and (max-width: 640px){
  ul.page-numbers {
    margin: 0 auto;
  }
}

ul.page-numbers li {
  display: table-cell;
  padding-right: 4px;
  vertical-align: middle;
}
@media all and (max-width: 640px){
  ul.page-numbers li {
    padding-right: 1vw;
  }
}

ul.page-numbers li > .page-numbers {
  display: table-cell;
  width: 31px;
  height: 31px;
  /*border: 1px #e3e9f2 solid;
  border-radius: 25px;*/
  border-radius: 2rem;
  background-color: #f2f1eb;
  vertical-align: middle;
  text-align: center;
  line-height: 2;
  letter-spacing: normal;
  font-size: 1.0rem;
  font-weight: bold;
  color: #000;
  text-decoration: none;
}
@media all and (max-width: 640px){
  ul.page-numbers li > .page-numbers {
    width: 8vw;
    height: 8vw;
    padding-top: 0;
    font-size: 3.2vw;
  }
}

ul.page-numbers li > .page-numbers:hover {
  opacity: 1;
  border: 0;
  background-color: #f2ab00;
  color: #fff;
}

ul.page-numbers li > .page-numbers.current {
  border: 0;
  background-color: #f2ab00;
  font-weight: 700;
  color: #fff;
}

ul.page-numbers li > .page-numbers.dots {
  border: 0;
  background-color: transparent;
  cursor: auto;
}
@media all and (max-width: 640px){
  ul.page-numbers li > .page-numbers.dots {
    width: 5vw;
    pointer-events: none;
  }
}

ul.page-numbers li > .page-numbers.dots:hover {
  background-color: transparent;
  color: inherit;
}

ul.page-numbers li > .page-numbers.next,
ul.page-numbers li > .page-numbers.prev {
  width: 115px;
  border: 0;
  border-radius: 2rem;
  background-color: #4f4230;
  letter-spacing: 0.1em;
  font-size: 1.0rem;
  font-weight: 700;
  color: #fff;
}
@media all and (max-width: 640px){
  ul.page-numbers li > .page-numbers.next,
  ul.page-numbers li > .page-numbers.prev {
    width: 17vw;
    border: 0;
    letter-spacing: -0.03em;
    font-size: 1.0rem;
    font-size: 3.0vw;
  }
}

ul.page-numbers li > .page-numbers.next {
  padding-left: 23px;
  background-image: url('./../../images/recruit/pagenation-icn-arrow01-right.png');
  background-repeat: no-repeat;
  background-position: right 10px center;
  text-align: left;
/*  border-radius: 25px; */
}
@media all and (max-width: 640px){
  ul.page-numbers li > .page-numbers.next {
    padding-left: 2vw;
    background-image: url('./../../images_sp/recruit/sp-pagenation-icn-arrow01-right.png');
    background-position: 94% center;
    background-size: 1.5vw;
  }
}

ul.page-numbers li > .page-numbers.prev {
  padding-right: 23px;
  background-image: url('./../../images/recruit/pagenation-icn-arrow01-left.png');
  background-repeat: no-repeat;
  background-position: left 10px center;
  text-align: right;
/*  border-radius: 25px; */
}
@media all and (max-width: 640px){
  ul.page-numbers li > .page-numbers.prev {
    padding-right: 2vw;
    background-image: url('./../../images_sp/recruit/sp-pagenation-icn-arrow01-left.png?1');
    background-position: 6% center;
    background-size: 1.5vw;
  }
}

ul.page-numbers li.liNext {
  padding-left: 10px;
}
@media all and (max-width: 640px){
  ul.page-numbers li.liNext {
    padding-right: 0;
    padding-left: 0.1vw;
  }
}

ul.page-numbers li.liPrev {
  padding-right: 10px;
}
@media all and (max-width: 640px){
  ul.page-numbers li.liPrev {
    padding-right: 1.0vw;
    padding-left: 0;
  }
}

@media all and (max-width: 640px){
  ul.page-numbers li .dots {
    background: none;
    pointer-events: none;
    width: 5vw;
  }
}


/* Single PageNavi */
.boxSinglePageNavi{
  position: relative;
  z-index: 10;
  padding-top: 35px;
}
.boxSinglePageNavi a[rel="prev"],
.boxSinglePageNavi a[rel="next"]{
  position: absolute;
  top: 0;
  display: block;
  width: 90px;
  padding: 10px 0;
  background-image: url('./../../images/common/archive-pagination-bg01.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-align: center;
  font-size: 1.0rem;
  color: #fff;
  text-shadow: 1px 1px 2px #333,-1px -1px 2px #333;
}
.boxSinglePageNavi a[rel="prev"]{
  left: 14%;
}
.boxSinglePageNavi.type2Col a[rel="prev"]{
  left: 0;
}
.boxSinglePageNavi a[rel="next"]{
  right: 14%;
}
.boxSinglePageNavi.type2Col a[rel="next"]{
  right: 0;
}
/* /Single PageNavi */

/* Breadcrumb */
.boxBreadcrumb{
  width: 100%;
  /* margin-top: 1.1em; */
  /* padding: 0; */
  padding-top: 1.1em;
  border-bottom: 0px #ccc solid;
  padding-bottom: 32px;
}
.breadcrumb{
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  text-align: left;
  line-height: 1.9;
}
.breadcrumb div{
  display: inline-block;
  text-align: left;
}
.breadcrumb a{
  border-bottom: 1px #ccc solid;
}
.breadcrumb .sepaBreadcrumb{
  padding: 0 6px;
}
/* /Breadcrumb */


/* Accordion */
.icnAccordion {
  cursor: pointer;
}
.icnAccordion.forSp {
  display: none;
}
@media screen and (max-width: 640px){
  .icnAccordion.forPc {
    display: none;
  }
  .icnAccordion.forSp {
    display: inline-block;
  }
}
.boxAccordion {
  display: none;
}

.icnAccordionPc {
  cursor: pointer;
}
@media screen and (max-width: 640px){
  .icnAccordionPc{
    display: none;
    cursor: auto;
  }
}
.boxAccordionPc {
  display: none;
}
@media screen and (max-width: 640px){
  .boxAccordionPc{
    display: block;
  }
}

.btnAccordionSp,
.btnAccordionSp02 {
  /*display: none;*/
}
@media screen and (max-width: 640px){
  .btnAccordionSp,
  .btnAccordionSp02 {
    display: block;
  }
  .btnAccordionSp02 {
    position: relative;
  }
}
.icnAccordionSp,
.icnAccordionSp02 {
  display: none;
}
@media screen and (max-width: 640px){
  .icnAccordionSp,
  .icnAccordionSp02 {
    display: inline-block;
    cursor: pointer;
  }
  .boxAccordionSp,
  .boxAccordionSp02 {
    display: none;
  }
}
/* /Accordion */


/* upToTop */
.upToTop {
  display: none;
  position: fixed;
  right: 5%;
  bottom: 53px;
  z-index: 10;
  cursor: pointer;
}
@media screen and (max-width: 640px){
  .upToTop {
    bottom: 10vw; /* 27.5vw */
    right: 0.8%;
    width: 9%;
  }
}

.upToTop:hover {
  opacity: 0.8;
}

.upToTop .btnUpToTop {
  /*width: 67px;*/
  width: 3.38vw;
}
@media screen and (max-width: 1300px){
  .upToTop .btnUpToTop {
    width: 44px;
  }
}

@media screen and (max-width: 640px){
  .upToTop .btnUpToTop {
    width: 100%;
  }
}

.upto {
  display: none;
  position: fixed;
  right: 5%;
  bottom: 288px;
  z-index: 3;
  background-color: #c3c3c3;
  color: #fff;
  font-size: 0.7rem;
}
/* /upToTop */



@media screen and (max-width: 640px){/* Sp ***************************************************/


/* 判別 */
.isSp{
  display: none;
  width: 2px;
}
/* /判別 */

.dPc,
.dTb,
.dPcInline,
.dTbInline,
.dPcInB,
.dTbInB,
.dPcTb,
.dTbTb,
.dPcLi,
.dTbLi{
  display: none !important;
}
.dSp{
  display: block !important;
}
.dSpInline{
  display: inline !important;
}
.dSpInB{
  display: inline-block !important;
}
.dSpTb{
  display: table !important;
}
.dSpLi{
  display: list-item !important;
}


/* Breadcrumb */
.boxBreadcrumb{
  display: none;
}
/* /Breadcrumb */



}/* /SP */







.floatingBn_link01 {
  position: fixed;
  top: 450px;
  right: 0;
  /* bottom: 53px; */
  z-index: 10;
  cursor: pointer;
}
@media all and (max-width: 1300px){
  .floatingBn_link01 {
    top: 410px;
  }
}
@media all and (max-width: 640px){
  .floatingBn_link01 {
    top: 38vw;
    pointer-events: none;
    opacity: 0;
  }
  .floatingBn_link01.UpMove {
    pointer-events: auto;
  }
}
.floatingBn_link02 {
  position: fixed;
  top: calc(450px + 11.5vw); /* 370px */
  right: 0;
  /* bottom: 53px; */
  z-index: 10;
  cursor: pointer;
}
@media all and (max-width: 1300px){
  .floatingBn_link02 {
    top: 290px;
  }
}
@media all and (max-width: 640px){
  .floatingBn_link02 {
    top: calc(38vw + 126px);
    pointer-events: none;
    opacity: 0;
  }
  .floatingBn_link02.UpMove {
    pointer-events: auto;
  }
}
.floatingBn img {
  width: 3.08vw;
}
@media all and (max-width: 1300px){
  .floatingBn img {
    width: 38px;
  }
}
@media all and (max-width: 640px){
  .floatingBn img {
    width: 35px;
  }
}


@media all and (max-width: 640px){

  #js_banner{
    /* opacity: 0; */
  }
  /*　上に上がる動き　*/
  
  #js_banner.UpMove,
  #js_banner2.UpMove{
    animation: UpAnime 0.5s forwards;
  }
  @keyframes UpAnime{
    from {
      opacity: 0;
      transform: translateY(100px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /*　下に下がる動き　*/

  #js_banner.DownMove,
  #js_banner2.DownMove{
    animation: DownAnime 0.5s forwards;
  }
  @keyframes DownAnime{
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(100px);
    }
  }
}