@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2024 Sketches of Design
     version 2024-07-04
------------------------------------- */

/* headline */
main h1, main h2, main h3, main h4, main h5, main h6{
  font-size: 100%;
  font-weight: normal;
  text-align: center;
}
main h1{
  font-size: 5.0rem;
  color: #000;
}
main h2{
  margin: 80px 0 40px 0;
  font-size: 4.0rem;
  color: #303130;
  letter-spacing: 0.1em;
}
main h3{
  margin: 50px 0 20px 0;
  color: #7b5999;
  font-size: 2.4rem;
}
main h4{
  margin: 0 0 15px 0;
  color: #7b5999;
  font-size: 1.8rem;
}
#content{
  color: #231815;
}

/* bind */
body.recruit .c-menu li {
  font-size: 1.4rem;
}
body.recruit #content ol{
  list-style: number;
}
body.recruit footer .c-list-no_mark{
  font-size: 1.4rem;
}
body.recruit footer .c-credit{
  font-size: 1.0rem;
}

/*  Layout
////////////////////////////////////////// */
#wrapper{
  padding: 120px 0 0 0;
}
main .col2,
main .col3,
main .col4{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
main section .inner{
  margin: auto;
  max-width: 1000px;
}
body.recruit footer{
  margin-top: 100px;
}

/**/
#tfbTab{
  position: fixed;
  top: 400px;
  width: 30px;
  height: 119px;
  z-index: 8765;
  cursor: pointer;
  right: 0;
  background: #c26ca8 url(https://sync5-res.digitalstage.jp/_modules/images/twitbatch/follow-us.png);
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
  background-repeat: no-repeat;
  background-position: left top;
}
#tfbAbout{
  position: fixed;
  top: 243px;
  width: 10px;
  height: 11px;
  z-index: 9876;
  cursor: pointer;
  right: 0px;
  background: url("https://sync5-res.digitalstage.jp/_modules/images/twitbatch/icon-about.png") no-repeat;
  display: none;
}

/*  recruit - home
////////////////////////////////////////// */
main #recruit-menu{
  background-color: #f5f0f6;
}
main #recruit-menu .inner{
  padding: 0;
  display: flex;
  justify-content: space-between;
  padding: 12px 20px;
  width: 100%;
  max-width: 1500px;
}
main #recruit-menu p#b-siteid{
  font-size: 2.0rem;
  color: #9268a5;
}
main #recruit-menu p#b-siteid a{
  color: #9268a5;
  text-decoration: none;
}
main #recruit-menu ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}
main #recruit-menu ul,
main #recruit-menu ul li{
  margin: 0;
  padding: 0;
  list-style: none;
}
main #recruit-menu ul li a{
  display: block;
  text-decoration: none;
  color: #45489b;
}
main #recruit-menu ul li a:hover{
  color: #3b71e5;
  transform: none;
}
/**/
#recruit-menu{
  background-color: #f5f0f6;
}
#recruit-menu .inner{
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1500px;
}
#recruit-menu p#b-siteid{
  font-size: 2.0rem;
  color: #9268a5;
  white-space: nowrap;
}
#recruit-menu p#b-siteid a{
  color: #9268a5;
  text-decoration: none;
}

/**/
#recruit-menu #recruit-nav > ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
/*  gap: 30px;*/
  margin: 0;
  padding: 10px;
  list-style: none;
}
#recruit-menu #recruit-nav ul li{
  margin: 0;
  padding: 0;
  list-style: none;
}
#recruit-menu #recruit-nav ul li a{
  display: block;
  text-decoration: none;
  color: #45489b;
  white-space: nowrap;
}
#recruit-menu #recruit-nav ul li a:hover{
  color: #3b71e5;
  transform: none;
  background: none;
}
#recruit-menu li.has-submenu{
  position: relative;
}
#recruit-menu .submenu-trigger{
  display: flex;
  align-items: center;
}
#recruit-menu .submenu-toggle{
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
  border: none;
  background: none;
  cursor: pointer;
  margin-left: 4px;
  padding: 0 18px 0 0;
  font: inherit;
  color: #45489b;
  position: relative;
  white-space: nowrap;
  flex-shrink: 0;
}
#recruit-menu .submenu-toggle:hover{
  color: #3b71e5;
}
#recruit-menu .submenu-toggle::after{
  content: "";
  position: absolute;
  right: 2px;
  top: 40%;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s;
}


#recruit-menu li.has-submenu.is-open .submenu-toggle::after{
  transform: translateY(-20%) rotate(225deg);
}
@media (hover: hover) {
  #recruit-menu li.has-submenu:hover .submenu-toggle::after {
    transform: translateY(-20%) rotate(225deg);
  }
  #recruit-menu li.has-submenu:hover .submenu {
    display: flex;
  }
}


#recruit-menu li.has-submenu:hover .submenu-toggle::after,
#recruit-menu li.has-submenu.is-open .submenu-toggle::after{
  transform: translateY(-20%) rotate(225deg);
}
#recruit-menu .submenu{
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
/*  min-width: 220px;*/
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 8px 0;
  margin: 0;
  z-index: 10;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
#recruit-menu li.has-submenu:hover .submenu{
  display: flex;
}
#recruit-menu .submenu li a{
  padding: 10px 16px;
  white-space: nowrap;
}
#recruit-menu .submenu li a:hover{
  background-color: #f5f0f6;
  color: #3b71e5;
}

/**/
#main-pic h1{
  text-align: left;
  font-size: 3.6rem;
  font-weight: 700;
}
#main-pic .inner{
  margin: 0 auto;
  max-width: 960px;
}
#main-pic .inner .lead{
  margin-bottom: 1.5em;
  color: #c26ca8;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
body#recruit-idx #main-pic{
  margin-top: 60px;
  text-align: center;
}
body#recruit-idx #main-pic .inner{
  position: relative;
  max-width: 1500px;
}
body#recruit-idx #main-pic .link{
  position: absolute;
  bottom: 0;
  right: 20px;
}
body#recruit-idx #main-pic .link a{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px 35px 15px 15px;
  border: 1px solid #45489b;
  background: #45489b;
  text-decoration: none;
  color: #fff;
  line-height: 1;
}
body#recruit-idx #main-pic .link a:hover{
  transform: translateY(5px);
}
body#recruit-idx #main-pic .link a::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
body#recruit-idx #main-pic .link img{
  margin: 0 10px 0 0;
}
body#recruit-idx #main-pic .link a em{
  font-size: 120%;
  color: #fff;
}
body#recruit-idx #mov{
  margin: auto;
  max-width: 1000px;
}
.youtube-container {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube-container iframe {
  width: 100%;
  height: 100%;
}

body#recruit-idx #main-pic .lead{
  margin-bottom: 0;
  font-size: 5.0rem;
  color: #45489b;
}
body#recruit-idx #main-pic h1{
  margin: 0 0 20px 0;
  text-align: center;
  font-size: 4.0rem;
  color: #9268a5;
}
body#recruit-idx #main-pic .image img{
  width: 100%;
}
body#recruit-idx #content{
  margin-top: 60px;
}
body#recruit-idx #content .col2{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#recruit-idx #content .col2 > *{
  margin-bottom: 40px;
  border: 1px solid #45489b;
  width: 48%;
  min-height: 220px;
}
body#recruit-idx #content .col2 > * a{
  display: block;
  padding: 48px;
  height: 100%;
  text-decoration: none;
  color: #303130;
}
body#recruit-idx #content .menu-02 h3,
body#recruit-idx #content .col2 > * a .title{
  color: #45489b;
  font-size: 2.2rem;
}
body#recruit-idx #content .menu-01{
  background: url("../img/bg-recruit-menu-01.jpg") no-repeat;
  background-size: cover;
}
body#recruit-idx #content .menu-02{
  display: flex;
  justify-content: center;
  flex-direction: column;
  background: url("../img/bg-recruit-menu-02.jpg") no-repeat;
  background-size: cover;
  padding: 30px;
}
body#recruit-idx #content .menu-03{
  background: url("../img/bg-recruit-menu-03.jpg") no-repeat right 0;
  background-size: cover;
}
body#recruit-idx #content .menu-04{
  background: url("../img/bg-recruit-menu-04.jpg") no-repeat right 0;
  background-size: cover;
}
body#recruit-idx #content .menu-01 a,
body#recruit-idx #content .menu-02 a{
  padding: 90px 48px;
}
body#recruit-idx #content .menu-02 ul,
body#recruit-idx #content .menu-02 ul li{
  margin: 0;
  padding: 0;
  list-style: none;
}
body#recruit-idx #content ul li::before{
  display: none;
}
body#recruit-idx #content .menu-02 h3{
  margin: 0 0 20px 0;
  text-align: left;
}
body#recruit-idx #content .menu-02 ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  width: 100%;
}
body#recruit-idx #content .menu-02 ul li{
  width: calc(50% - 10px);
  text-align: center;
}
body#recruit-idx #content .menu-02 a{
  padding: 20px 10px;
  background: #DFDFEA;
  color: #45489b;
  font-size: 1.8rem;
}

/*  recruit - person
////////////////////////////////////////// */
body.person main #main-pic{
  background-size: cover !important;
  margin: 0;
  padding: 60px 0 0 0;
  z-index: 1;
  height: 480px;
  text-align: left;
}
body#person-01 main #main-pic{
  background: url("../img/p-person-01-main.jpg") no-repeat right center;
}
body#person-02 main #main-pic{
  background: url("../img/p-person-02-main.jpg") no-repeat right center;
}
body.person main #main-pic .profile{
  color: #231815;
}
body.person main #main-pic .profile .year{
  display: inline-block;
  margin: 0 0 5px 0;
  padding: 0.15em 0.5em;
  border: 1px solid #c26ca8;
  font-size: 1.4rem;
}
body.person main .wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.person main section:nth-child(odd) .wrap{
  flex-direction: row-reverse;
}
body.person main .wrap p.image{
  display: flex;
  justify-content: center;
  overflow: hidden;
  border-radius: 50%;
  margin-right: 3em;
  width: 300px;
  height: 300px;
}
body.person main .wrap p.image img{
  width: auto;
  height: 300px;
  max-width: none;
}
body.person main section:nth-child(odd) .wrap p.image{
  margin: 0 0 0 3em;
}
body.person main .wrap .text{
  flex: 1;
}
body.person main #lv02-02 .text{
  padding: 0 80px;
}
body.person main .schedule dl{
  position: relative;
}
body.person main .schedule dl::before{
  position: absolute;
  content: "";
  top: 0;
  left: 140px;
  background-color: #c6c9c6;
  width: 1px;
  height: 100%;
}
body.person main .schedule dt{
  position: absolute;
  color: #45489b;
}
body.person main .schedule dd{
  position: relative;
  margin: 0 0 1em 160px;
  padding: 0 0 0 0;
}
body.person main .schedule dd::before{
  position: absolute;
  content: "";
  top: 5px;
  left: -25px;
  border-radius: 100px;
  background-color: #45489b;
  width: 11px;
  height: 11px;
}
body.person main .private{
  margin-top: 60px;
}
body.person main .private .inner{
  border: 1px solid #c26ca8;
  padding: 30px;
}
body.person main .private .wrap{
  flex-direction: row !important;
  align-items: center;
}
body.person main .private h2{
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #c26ca8;
  margin: 0 30px 0 0;
  color: #c26ca8;
  font-size: 1.8rem;
  font-weight: 700;
  /*
  border-radius: 50%;*/
  width: 220px;
  height: 220px;
}
body.person main .private .lead{
  font-size: 1.8rem;
}
body#person-01 main .bg{
  background: url("../img/p-person-01-02.jpg") no-repeat scroll center center;
}
body#person-02 main .bg{
  background: url("../img/p-person-02-02.jpg") no-repeat scroll center center;
}
body.person main .bg{
  margin-top: 60px;
  background-size: cover !important;
  background-attachment: fixed !important;
  padding: 0;
  z-index: 1;
  height: 450px;
}


/*  recruit - about
////////////////////////////////////////// */
body#recruit-about #main-pic{
  background: url("../img/bg-recruit-about.png") repeat-x center bottom;
  background-size: auto 1000px;
}
body#recruit-about #main-pic .inner {
  max-width: 1000px;
}
body#recruit-about #main-pic img{
  margin: 20px 0 0 0;
}
body#recruit-about #main-pic .features{
  width: 60%;
}
body#recruit-about #main-pic .image{
  width: calc(40% - 20px);
}
body#recruit-about h1{
  margin-bottom: 40px;
  color: #45489b;
  font-size: 5.0rem;
}
body#recruit-about #main-pic .col2{
  align-items: center;
}
body#recruit-about .feature{
  position: relative;
  margin-bottom: 30px;
  background-color: #fff;
  padding: 20px 30px;
  width: 100%;
}
body#recruit-about .feature::before{
  content: "";
  position: absolute;
  right: -40px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 15px 0 15px 40px;
}
body#recruit-about .feature h2{
  margin: 0 0 1em 0;
  font-size: 1.8rem;
  text-align: left;
}
body#recruit-about section h2{
  margin-top: 0;
}
body#recruit-about #lv02-01 h4{
  margin-top: 0;
  color: #1e1f1e;
}
body#recruit-about #lv02-01 .flow{
  background-color: #f4f0f6;
  padding: 30px;
  width: 48%;
}
body#recruit-about #lv02-01 .flow-02{
  background-color: #ecedf5;
}
body#recruit-about #lv02-01 .flow ul,
body#recruit-about #lv02-01 .flow ul li{
  margin: 0;
  padding: 0;
}
body#recruit-about #lv02-01 .flow ul li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 10px;
  font-size: 1.8rem;
  min-height: 70px;
}
body#recruit-about #lv02-01 .flow ul li::before{
  content: none;
}
body#recruit-about #lv02-01 .flow ul li::after{
  position: absolute;
  content: "";
	left: 0;
	right: 0;
	bottom: -25px;
	margin: auto;
	box-sizing: border-box;
	width: 10px;
	height: 10px;
	border: 10px solid transparent;
	border-top: 10px solid #9268a5;
}
body#recruit-about #lv02-01 .flow-02 ul li::after{
	border-top: 10px solid #45489b;
}
body#recruit-about #lv02-01 .flow ul li:last-of-type::after{
  content: none;
}
body#recruit-about #lv02-01 .flow ul li img{
  margin: 0 10px 0 0;
  width: 50px;
  height: 50px;
}
body#recruit-about #lv02-01 .flow .weak{
  text-align: right;
}
body#recruit-about #lv02-01 .flow ul li p{
  width: calc(100% - 60px);
}
body#recruit-about #lv02-04,
body#recruit-about #lv02-03{
  text-align: center;
}
body#recruit-about #content .col2 > *{
  margin: 0 0 40px 0;
  width: 48%;
  min-height: 220px;
}
body#recruit-about #content ul.pic{
  margin: 20px 0 0 0;
}
body#recruit-about #content ul.pic li{
  padding: 0;
  color: #666;
  text-align: center;
}
body#recruit-about #content ul.pic.col4 > li{
  width: calc(25% - 20px);
}
body#recruit-about #content ul.pic.col3 > li{
  width: calc(33.333% - 20px);
}
body#recruit-about #content ul.pic.col2 > li{
  width: calc(50% - 20px);
}
body#recruit-about #content ul.pic > li::before{
  content: none;
}
body#recruit-about #content ul.pic li ul{
  margin-top: 20px;
}
body#recruit-about #content ul.pic li ul li{
  text-align: left;
  margin-bottom: 0.5em;
  padding-left: 12px;
  width: 100%;
}
body#recruit-about #content table{
  margin: 0 auto;
  max-width: 700px;
}
body#recruit-about #content .tour{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid #9268a5;
  padding: 30px 30px 20px 30px;
}
body#recruit-about #content .tour h3{
  margin: 0 30px 0 0;
}
body#recruit-about #content .tour ul{
  flex: 1;
  margin: 0;
  text-align: left;
}
body#recruit-about #content .tour ul li{
  display: inline-block;
  margin-right: 1.5rem;
}
body#recruit-about #content .tour ul li::before{
  top: 0;
  bottom: 0;
  background-color: #9268a5;
}
body#recruit-about #content table.calendar{
  margin-bottom: 40px;
  border: 1px solid #ccc !important;
}
body#recruit-about #content table.calendar th,
body#recruit-about #content table.calendar td{
  vertical-align: middle;
}
body#recruit-about #content table.calendar .allyear{
  width: 3em;
  position: relative;
  background-color: #fff;
  border: 1px solid #ccc;
}
body#recruit-about #content table.calendar .allyear span{
  -ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: pre;
  width: 1.5em;
  min-height: 4em;
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}
body#recruit-about #content table.calendar .winter{
  background-color: #ebf5fb;
}
body#recruit-about #content table.calendar .spring{
  background-color: #fcf0f3;
}
body#recruit-about #content table.calendar .summer{
  background-color: #e2f8eb;
}
body#recruit-about #content table.calendar .autumn{
  background-color: #fff7e3;
}
body#recruit-about #content table.calendar tr:last-of-type th,
body#recruit-about #content table.calendar tr:last-of-type td{
  border-bottom: 1px solid #ccc;

}
body#recruit-about #content table.calendar th{
  border-right: 1px solid #ccc;
  padding: 15px 8px;
  text-align: right;
  min-width: 4em;
}
body#recruit-about #content table.calendar td{
  padding: 15px 8px;
  font-size: 1.5rem;
}
body#recruit-about #content table.calendar td.recreation{
  padding: 15px 5px;
  text-align: center;
  font-size: 1.3rem;
  width: 12em;
}

body#recruit-about #content table.allowance thead th{
  text-align: center;
}
body#recruit-about #content table.allowance tbody{
  font-size: 1.4rem;
}
body#recruit-about #content table.allowance thead .num:last-of-type{
  width: 8em;
}
body#recruit-about #content table.allowance tbody td{
  padding: 8px 5px;
  vertical-align: middle;
}
body#recruit-about #content table .num{
  text-align: right;
}
body#recruit-about #content table.allowance tbody tr td:last-of-type{
  padding-left: 20px;
}
body#recruit-about #lv02-02 .lv03-02 ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0 0 0;
}
body#recruit-about #lv02-02 .lv03-02 ul li{
  width: 33.33%;
}
body#recruit-about #lv02-02 .lv03-02 ul::after{
  content:"";
  display: block;
  width: 33.33%;
}
body#recruit-about #lv02-04 .col3{
  gap: 20px;
}
body#recruit-about #lv02-04 .col3 img{
  margin: 0 0 5px 0;
}




/*  recruit - guide
////////////////////////////////////////// */
body.guide #main-pic .inner{
  background: #f6f6fa;
  max-width: 100%;
}
body.guide #main-pic h1{
  margin: 0 auto;
  padding: 60px 20px;
  color: #45489b;
  font-size: 5.0rem;
  max-width: 1000px;
  text-align: center;
}
body.guide #lv02-01 h2{
  margin-top: 0;
}
body.guide #lv02-02 ul{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 0;
}
body.guide #lv02-02 li{
  margin: 0;
  padding: 0;
}
body.guide #lv02-02 li::before{
  display: none;
}
body.guide #content section .inner{
  max-width: 740px;
}
body.guide #content .entry{
  text-align: center;
}
body.guide #content table th{
  width: 150px;
}
body#recruit-guide-new #lv02-01 table .right{
  text-align: right;
}
body#recruit-guide-new #lv02-01 table dd{
  margin: -1.6em 0 6px 0;
  padding: 0 0 0 10em;
}