@charset "utf-8";
/*------------------------------------------------------------
	jinji
------------------------------------------------------------*/
.pageTitle.page01 {
  margin-bottom: 0;
}
.pageTitle.page01::before {
  height: 12.3vw;
  bottom: 0;
  min-height: 157px;
  background-size: 100% 100%;
}
.pageTitle.page01 .photo {
  padding-bottom: 1.05vw;
  width: calc(50% + 96px);
}
.pageTitle.page01 .textBox {
  margin: 10vw 0 0 -40px;
  width: calc(50% - 56px);
}
.pageTitle.page01 .textBox .subBox h2 .txt {
  font-size: 7.56rem;
  line-height: 1.22;
}
.pageTitle.page01 .textBox .subBox h2 .sub {
  margin-top: 17px;
  font-size: 2.18rem;
}
#main .topBox {
  margin-bottom: 115px;
  padding-top: 83px;
  position: relative;
}
#main .topBox .pho {
  width: 303px;
  position: absolute;
  right: 0;
  top: -311px;
}
#main .topBox .linkList {
  margin: -30px -20px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#main .topBox .linkList li {
  margin: 30px 45px 0;
  width: 194px;
  display: flex;
}
#main .topBox .linkList a {
  width: 100%;
  height: 194px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 50%;
  background-color: #eb5f28;
}
#main .topBox .linkList span {
  margin: 0 -90px;
  width: 200%;
  transform: scaleX(0.75);
}
#main .titleBox {
  margin-bottom: 81px;
  position: relative;
  z-index: 3;
}
#main .titleBox::before {
  width: 100%;
  height: 50%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #fff;
  content: "";
  z-index: -1;
}
#main .titleBox img {
  width: 100%;
}
#main .titleBox h2 {
  width: calc(100% - 40px);
  position: absolute;
  left: 50%;
  top: calc(50% + 8px);
  color: #fff;
  font-size: 6rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-align: center;
  transform: translate(-50%, -50%);
}
#main .titleBox h2 span {
  display: inline-block;
  vertical-align: top;
  transform: scaleX(0.8);
}
#main .talent {
  margin-bottom: 226px;
  padding-bottom: 185px;
  position: relative;
  background-color: #fff6e9;
}
#main .talent::after {
  width: 100%;
  height: 75px;
  position: absolute;
  left: 0;
  bottom: -75px;
  content: "";
}
#main .talent .inner {
  position: relative;
}
#main .talent .inner .pho {
  width: 368px;
  position: absolute;
  left: -20px;
  top: 150px;
}
#main .talent .inner .content01 {
  position: relative;
  z-index: 4;
}
#main .talent .inner .tText {
  margin-bottom: 75px;
  font-size: 2rem;
  line-height: 3.45;
  letter-spacing: 0.095em;
  text-align: center;
}
#main .talent .inner .headLine05 {
  margin-bottom: 68px;
  font-size: 3.68rem;
}
#main .talent .inner .headLine05 span {
  padding-bottom: 14px;
}
#main .talent .area {
  margin-bottom: 167px;
  position: relative;
}
#main .talent .area:last-of-type {
  margin-bottom: 0;
}
#main .talent .area .text {
  margin-bottom: 59px;
  font-size: 2rem;
  line-height: 2.69;
  letter-spacing: 0.095em;
  text-align: center;
}
#main .talent .area .text span {
  color: #eb5f28;
  font-weight: 700;
}
#main .talent .area .lead {
  margin-bottom: 52px;
  text-align: center;
}
#main .talent .area .lead span {
  padding: 4px 39px;
  display: inline-block;
  color: #fff;
  font-size: 2.74rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-radius: 60px;
  vertical-align: top;
  background-color: #eb5f28;
}
#main .talent .area .textImg {
  margin: 0 auto 134px;
  width: 992px;
}
#main .talent .area .imgBox {
  margin-bottom: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#main .talent .area .imgBox .phoBox {
  margin-right: 39px;
  width: 293px;
}
#main .talent .area .imgBox .txtBox {
  margin-top: -30px;
  width: 400px;
}
#main .talent .area .imgBox .txtBox .headLine05 {
  margin-bottom: 36px;
  font-size: 3rem;
  letter-spacing: 0.4em;
}
#main .talent .area .imgBox .txtBox .headLine05 span {
  padding-bottom: 4px;
}
#main .talent .area .imgBox .txtBox .name {
  color: #3e3a39;
  font-size: 2.16rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-align: center;
}
#main .talent .area .imgBox .txtBox .name span {
  font-size: 3.68rem;
}
#main .talent .area .imgBox .txtBox .name small {
  margin-top: 14px;
  display: block;
  font-size: 2.23rem;
}

#main .talent .area .imgBox .txtBox .name .note {
  margin-top: 10px;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

#main .talent .area .textDl {
  margin: 0 auto;
  width: 870px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
#main .talent .area .textDl::before {
  width: 9px;
  height: calc(100% - 80px);
  position: absolute;
  left: 46px;
  background-image: linear-gradient(to bottom, #f9bb52, #e67f3f, #e74f2c);
  content: "";
}
#main .talent .area .textDl dt {
  padding: 10px 2px 5px;
  width: 102px;
  height: 102px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #eb5f28;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-radius: 50%;
  border: 1px solid #eb5f28;
  box-sizing: border-box;
  background-color: #fff6e9;
  z-index: 3;
  white-space: nowrap;
}
#main .talent .area .textDl dd:last-of-type::after {
  width: 102px;
  height: calc(100% - 102px);
  position: absolute;
  left: -140px;
  top: 102px;
  background-color: #fff6e9;
  content: "";
  z-index: 2;
}
#main .talent .area .textDl dt .txt {
  padding: 27px 0;
  position: absolute;
  right: calc(100% + 13px);
  top: calc(50% + 3px);
  color: #eb5f28;
  font-size: 2.36rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.3em;
  transform: translateY(-50%);
}
#main .talent .area .textDl dt .txt::before,
#main .talent .area .textDl dt .txt::after {
  width: 31px;
  height: 16px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  content: "";
}
#main .talent .area .textDl dt .txt::after {
  top: auto;
  bottom: 0;
}
#main .talent .area .textDl dt span {
  margin: -4px 4px 0 0;
  font-size: 4.6rem;
  letter-spacing: -0.1em;
  line-height: 1;
}
#main .talent .area .textDl dd {
  margin-bottom: 89px;
  min-height: 50px;
  width: calc(100% - 140px);
  font-size: 1.7rem;
  line-height: 1.65;
  letter-spacing: 0.095em;
}
#main .talent .area .textDl dd .ttl {
  display: block;
  font-size: 2rem;
  font-weight: 500;
}
#main .talent .area .textDl dd.special {
	margin-bottom: 37px;
	min-height: 102px;
	display: flex;
	align-items: center;
}
#main .talent .area .textDl dd.ddStyle01 {
  margin-bottom: 109px;
}
#main .talent .area .textDl dd:last-of-type {
  margin-bottom: 0;
}
#main .talent .area .bPhoto {
  width: 239px;
  position: absolute;
  right: -47px;
  bottom: -59px;
}
#main .talent .area01 .headLine05 {
  margin-bottom: 78px;
}
#main .talent .area01 .text {
  margin-bottom: 90px;
  letter-spacing: 0.03em;
}
#main .talent .head {
  margin: 0 auto 32px;
  padding: 5px 20px;
  width: 995px;
  position: relative;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
  border-radius: 80px;
  box-sizing: border-box;
  background-color: #eb5f28;
}
#main .talent .head::after {
  width: 41px;
  height: 36px;
  position: absolute;
  left: 50%;
  bottom: -23px;
  transform: translateX(-50%);
  content: "";
}
#main .talent .head span {
  font-size: 3.2rem;
}
#main .talent .textImg01 {
  margin: 0 auto;
  width: 990px;
}
#main .train {
  padding-bottom: 151px;
  position: relative;
}
#main .train .content01 {
  position: relative;
  z-index: 2;
}
#main .topBanner {
  width: 78px;
  position: absolute;
  right: 32px;
  bottom: 13px;
}
#main .topBanner a {
  display: block;
}
#main .train .pho {
  width: 263px;
  position: absolute;
  left: 6px;
  top: 65px;
}
#main .train .text {
  margin-bottom: 68px;
  font-size: 2rem;
  line-height: 3.45;
  letter-spacing: 0.03em;
  text-align: center;
}
#main .train .headLine05 {
  margin-bottom: 59px;
  font-size: 3.68rem;
}
#main .train .headLine05 span {
  padding: 0 50px 13px;
}
#main .train .txtDl {
  margin: 0 0 66px 154px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main .train .txtDl dt {
  width: 109px;
  height: 109px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 2.92rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  border-radius: 50%;
  background-color: #f8b629;
}
#main .train .txtDl dt.cor01 {
  background-color: #e4ab29;
}
#main .train .txtDl dt .txt {
  margin: 0 -20px;
  font-feature-settings: "palt";
  transform: scaleX(0.8);
}
#main .train .txtDl dt .txt span {
  font-size: 6.12rem;
  line-height: 1;
  vertical-align: -9px;
}
#main .train .txtDl dt.cor01 .txt span {
  margin-right: 25px;
  font-size: 5.5rem;
  letter-spacing: -0.4em;
}
#main .train .txtDl dt.cor02 {
  background-color: #de4b0d;
}
#main .train .txtDl dt.cor02 .txt span {
  font-size: 5.25rem;
}
#main .train .txtDl dt.cor03 {
  background-color: #ed6f28;
}
#main .train .txtDl dt.cor04 {
  background-color: #f2922a;
}
#main .train .txtDl dt.cor04 .txt span,
#main .train .txtDl dt.cor03 .txt span {
  font-size: 5.45rem;
}
#main .train .txtDl dd {
  margin-bottom: 29px;
  padding-top: 5px;
  width: calc(100% - 137px);
  min-height: 109px;
  display: flex;
  align-items: center;
  font-size: 1.89rem;
  line-height: 1.5;
  letter-spacing: 0.095em;
  box-sizing: border-box;
}
#main .train .txtDl dd:last-of-type {
  margin-bottom: 0;
}
#main .train .txtDl dd span {
  margin-right: 23px;
  color: #3e3a39;
  font-size: 3.68rem;
  font-weight: 500;
  letter-spacing: 0.25em;
}
#main .train .comBtn {
  text-align: center;
}
#main .way {
  padding-bottom: 84px;
  position: relative;
}
#main .way .titleBox {
  margin-bottom: 93px;
}
#main .way .text {
  margin: 0 -20px 81px;
  font-size: 2rem;
  line-height: 3.45;
  letter-spacing: 0.03em;
  text-align: center;
}
#main .way .textImg01 {
  margin: 0 auto 51px;
  width: 891px;
}
#main .way .textImg02 {
  margin: 0 auto 64px;
  width: 948px;
  transform: translateX(-28px);
}
#main .way .btn {
  margin: 0 auto;
  width: 700px;
}
#main .way .btn a {
  padding-right: 10px;
  position: relative;
  display: block;
  text-align: center;
}
#main .way .btn a::after {
  width: calc(100% - 10px);
  height: calc(100% - 1px);
  position: absolute;
  left: 10px;
  top: 10px;
  background-color: #eb5f28;
  content: "";
}
#main .way .btn span {
  padding: 19px 55px 19px 40px;
  position: relative;
  display: block;
  color: #eb5f28;
  font-size: 2.48rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  z-index: 2;
  box-sizing: border-box;
  border: 2px solid #eb5f28;
}
#main .way .headLine05 {
  margin: 135px 0 75px;
  font-size: 3.68rem;
}
#main .way .headLine05 span {
  padding-bottom: 15px;
}
#main .way .headLine05 .sml {
  padding: 0;
  font-size: 2.97rem;
  border: none;
  vertical-align: 0;
}
#main .way .headLine05 small {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
#main .way .comBtn {
  text-align: center;
}
#main .way .textBox {
  margin-top: 163px;
  position: relative;
}
#main .way .textBox .pho {
  width: 171px;
  position: absolute;
  right: -34px;
  top: -91px;
}
#main .way .textBox h3 {
  margin-bottom: 49px;
  color: #fff;
  font-size: 2.67rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-align: center;
}
#main .way .textBox h3 span {
  padding: 16px 53px 15px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  border-radius: 60px;
  background-color: #eb5f28;
}
#main .way .textBox h3 span::after {
  width: 41px;
  height: 36px;
  position: absolute;
  left: 50%;
  bottom: -22px;
  transform: translateX(-50%);
  content: "";
}
#main .way .textBox .txt {
  margin-bottom: 54px;
  color: #3e3a39;
  font-size: 2.67rem;
  font-weight: 500;
  line-height: 1.79;
  letter-spacing: 0.35em;
  text-align: center;
}
#main .way .textBox .btn span {
  font-size: 2.48rem;
  letter-spacing: 0.05em;
}
#main .service {
  padding-bottom: 85px;
  background-color: #fff6e9;
}
#main .service .headLine05 {
  margin-bottom: 72px;
  font-size: 3.68rem;
}
#main .service .headLine05 span {
  padding-bottom: 15px;
}
#main .service .tableBox {
  margin: 0 auto 23px;
  width: 727px;
}
#main .service .tableBox table {
  width: 100%;
  border-collapse: collapse;
}
#main .service .tableBox th,
#main .service .tableBox td {
  padding: 8px 10px 9px;
  width: 50%;
  color: #3e3a39;
  font-size: 2.18rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
  box-sizing: border-box;
  border-right: 1px solid #3e3a39;
  border-bottom: 1px solid #3e3a39;
}
#main .service .tableBox th:last-of-type,
#main .service .tableBox td:last-of-type {
  border-right: none;
}
#main .service .tableBox td:nth-of-type(2) {
  font-size: 1.8rem;
}
#main .service .tableBox th {
  padding: 6px 10px 5px;
  color: #fff;
  border-right-color: #fff;
  background-color: #eb5f28;
}
#main .service .tableBox td span {
  font-size: 2.4rem;
}
#main .service .tableBox .note {
  margin-top: 3px;
  color: #3e3a39;
  font-size: 1.06rem;
  text-align: right;
  letter-spacing: 0.05em;
}
#main .service .text {
  margin-bottom: 27px;
  font-size: 1.97rem;
  line-height: 2.01;
  letter-spacing: 0.095em;
  text-align: center;
}
#main .service .text01 {
  margin-bottom: 21px;
}
#main .service .comBtn {
  margin-bottom: 143px;
  text-align: center;
}
#main .service .headLine05.btm01 {
  margin-bottom: 60px;
}
#main .service .headLine05.btm01 span {
  min-width: 200px;
}
#main .service .lead {
  margin-bottom: 23px;
  text-align: center;
}
#main .service .lead.btm01 {
  margin-bottom: 39px;
}
#main .service .lead.btm02 {
  margin-bottom: 28px;
}
#main .service .lead span {
  padding: 4px 5px;
  min-width: 198px;
  display: inline-block;
  color: #fff;
  font-size: 2.74rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 60px;
  box-sizing: border-box;
  background-color: #eb5f28;
  vertical-align: top;
}
#main .service .txtList {
  margin: -20px -10px 155px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#main .service .txtList li {
  margin: 20px 10px 0;
  width: 124px;
  height: 124px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff6e9;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.33;
  letter-spacing: 0.025em;
  text-align: center;
  border-radius: 50%;
  background-color: #eb5f28;
}
#main .service .txtList span {
  margin: 0 -20px;
  transform: scaleX(0.9);
}
#main .service .head01 {
  margin-bottom: 85px;
}
#main .service .head01 span {
  min-width: 484px;
}
#main .service .text02 {
  margin-bottom: 29px;
  color: #3e3a39;
  font-size: 2.88rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-align: center;
}
#main .service .text02 .txt {
  display: inline-block;
  vertical-align: top;
  text-align: left;
}
#main .service .text02 .img {
  margin-right: 20px;
}
#main .service .text02 img {
  width: 151px;
}
#main .service .text02 small {
  font-size: 2.24rem;
}
#main .service .text02 .note {
  margin-top: 3px;
  display: block;
  font-size: 1rem;
  letter-spacing: 0.2em;
}
#main .service .textImg {
  margin: 0 auto 86px;
  width: 931px;
  transform: translateX(-20px);
}
#main .service .text03 {
  font-size: 2.24rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
#main .service .text03 strong {
  font-size: 2.88rem;
  font-weight: 500;
}
#main .service .comBtn.btm01 {
  margin-bottom: 0;
}
@media all and (min-width: 897px) {
  #main .topBox .linkList a:hover {
    opacity: 0.7;
  }
  #main .topBanner a:hover {
    opacity: 0.7;
  }
  #main .way .btn a:hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 896px) {
  #main {
    overflow: hidden;
  }
  .pageTitle.page01::before {
    min-height: inherit;
  }
  .pageTitle.page01 .photo {
    padding-bottom: 0.6vw;
    width: 50%;
  }
  .pageTitle.page01 .textBox {
    margin: -5vw 0 0;
    padding: 0 10px;
    width: 50%;
    box-sizing: border-box;
  }
  .pageTitle.page01 .textBox .subBox h2 .txt {
    font-size: 5vw;
    line-height: 1.22;
  }
  .pageTitle .textBox .subBox p {
    margin: 0;
  }
  .pageTitle.page01 .textBox .subBox h2 .sub {
    margin-top: 17px;
    font-size: 3vw;
  }
  .pageTitle .textBox .subBox .txt {
    font-size: 2.67vw;
  }
  #main .topBox {
    margin-bottom: 60px;
    padding-top: 120px;
  }
  #main .topBox .pho {
    width: 100px;
    top: -50px;
  }
  #main .topBox .linkList {
    margin: -30px -10px 0;
  }
  #main .topBox .linkList li {
    margin: 30px 7px 0;
    width: 100px;
  }
  #main .topBox .linkList a {
    height: 100px;
    font-size: 2rem;
  }
  #main .topBox .linkList span {
    margin: 0 -90px;
    width: 200%;
    transform: scaleX(0.75);
  }
  #main .titleBox {
    margin-bottom: 40px;
  }
  #main .titleBox h2 {
    font-size: 3rem;
  }
  #main .talent {
    margin-bottom: 100px;
    padding-bottom: 90px;
  }
  #main .talent::after {
    height: 38px;
    bottom: -38px;
  }
  #main .talent .inner .pho {
    width: 120px;
    left: -20px;
    top: 120px;
  }
  #main .talent .inner .tText {
    margin-bottom: 75px;
    font-size: 1.5rem;
    line-height: 2;
  }
  #main .talent .inner .headLine05 {
    margin-bottom: 35px;
    font-size: 2.2rem;
  }
  #main .talent .inner .headLine05 span {
    padding-bottom: 7px;
  }
  #main .talent .area {
    margin-bottom: 80px;
  }
  #main .talent .area .text {
    margin-bottom: 30px;
    font-size: 1.5rem;
  }
  #main .talent .area .lead {
    margin-bottom: 52px;
    text-align: center;
  }
  #main .talent .area .lead span {
    font-size: 1.8rem;
  }
  #main .talent .area .textImg {
    margin-bottom: 60px;
    width: auto;
  }
  #main .talent .area .imgBox {
    margin-bottom: 50px;
    display: block;
  }
  #main .talent .area .imgBox .phoBox {
    margin: 0 0 40px;
    width: auto;
    text-align: center;
  }
  #main .talent .area .imgBox .txtBox {
    margin-top: 0;
    width: auto;
  }
  #main .talent .area .imgBox .txtBox .headLine05 {
    margin-bottom: 20px;
    font-size: 2.4rem;
  }
  #main .talent .area .imgBox .txtBox .name {
    font-size: 1.6rem;
  }
  #main .talent .area .imgBox .txtBox .name span {
    font-size: 2.4rem;
  }
  #main .talent .area .imgBox .txtBox .name small {
    margin-top: 7px;
    font-size: 1.6rem;
  }
  #main .talent .area .textDl {
    margin-left: 30px;
    width: auto;
  }
  #main .talent .area .textDl::before {
    width: 4px;
    left: 38px;
  }
  #main .talent .area .textDl dt {
    padding: 10px 2px 5px;
    width: 80px;
    height: 80px;
    font-size: 1.5rem;
  }
  #main .talent .area .textDl dd:last-of-type::after {
    width: 80px;
    height: calc(100% - 80px);
    left: -100px;
    top: 80px;
  }
  #main .talent .area .textDl dt .txt {
    padding: 20px 0;
    right: calc(100% + 2px);
    font-size: 1.6rem;
  }
  #main .talent .area .textDl dt .txt::before,
  #main .talent .area .textDl dt .txt::after {
    width: 21px;
    height: 11px;
  }
  #main .talent .area .textDl dt span {
    font-size: 3rem;
  }
  #main .talent .area .textDl dd {
    margin-bottom: 40px;
    min-height: 80px;
    position: relative;
    width: calc(100% - 100px);
    font-size: 1.5rem;
  }
  #main .talent .area .textDl dd.ddStyle01 {
    margin-bottom: 50px;
  }
  #main .talent .area .textDl dd.special {
	margin-bottom: 40px;
	min-height: 80px;
  }
  #main .talent .area .bPhoto {
    margin: 40px auto;
    width: 239px;
    position: relative;
    right: 0;
    bottom: 0;
  }
  #main .talent .area01 .headLine05 {
    margin-bottom: 30px;
  }
  #main .talent .area01 .text {
    margin-bottom: 40px;
    text-align: left;
  }
  #main .talent .head {
    padding: 5px 20px;
    width: auto;
    font-size: 1.8rem;
  }
  #main .talent .head::after {
    width: 31px;
    height: 26px;
    bottom: -15px;
  }
  #main .talent .head span {
    font-size: 2rem;
  }
  #main .talent .textImg01 {
    width: auto;
  }
  #main .train {
    padding-bottom: 90px;
  }
  #main .topBanner {
    width: 50px;
    right: 15px;
    bottom: 20px;
  }
  #main .topBanner a {
    display: block;
  }
  #main .train .pho {
    width: 75px;
    left: 0;
    top: 95px;
  }
  #main .train .text {
    margin-bottom: 35px;
    position: relative;
    font-size: 1.5rem;
    line-height: 2.3;
    letter-spacing: 0.1em;
    z-index: 3;
  }
  #main .train .headLine05 {
    margin-bottom: 30px;
    font-size: 2.4rem;
  }
  #main .train .headLine05 span {
    padding: 0 30px 7px;
  }
  #main .train .txtDl {
    margin: 0 0 66px;
  }
  #main .train .txtDl dt {
    width: 80px;
    height: 80px;
    font-size: 1.8rem;
  }
  #main .train .txtDl dt .txt {
    margin: 0 -20px;
  }
  #main .train .txtDl dt .txt span {
    margin-right: 4px;
    font-size: 4rem;
  }
  #main .train .txtDl dt.cor01 .txt span {
    margin-right: 15px;
    font-size: 3.6rem;
    letter-spacing: -0.35em;
    vertical-align: -5px;
  }
  #main .train .txtDl dt.cor02 .txt span {
    font-size: 3.6rem;
    vertical-align: -5px;
  }
  #main .train .txtDl dt.cor04 .txt span,
  #main .train .txtDl dt.cor03 .txt span {
    font-size: 3.6rem;
    vertical-align: -5px;
  }
  #main .train .txtDl dd {
    margin-bottom: 29px;
    width: calc(100% - 95px);
    min-height: inherit;
    display: block;
    font-size: 1.4rem;
  }
  #main .train .txtDl dd span {
    margin: 0 0 10px;
    display: block;
    font-size: 2rem;
    letter-spacing: 0.15em;
  }
  #main .way {
    padding-bottom: 84px;
  }
  #main .way .titleBox {
    margin-bottom: 50px;
  }
  #main .way .text {
    margin: 0 0 30px;
    font-size: 1.5rem;
    line-height: 2;
    text-align: left;
  }
  #main .way .textImg01 {
    margin-bottom: 30px;
    width: auto;
  }
	#main .way .textImg02 {
		margin: 0 auto 30px;
		width: auto;
		transform: translateX(0);
	}
  #main .way .btn {
    width: auto;
    max-width: 450px;
  }
  #main .way .btn a {
    padding-right: 5px;
  }
  #main .way .btn a::after {
    width: calc(100% - 5px);
    height: calc(100% - 1px);
    left: 5px;
    top: 5px;
  }
  #main .way .btn span {
    padding: 12px 30px;
    font-size: 1.6rem;
  }
  #main .way .headLine05 {
    margin: 60px 0 40px;
    font-size: 2rem;
  }
  #main .way .headLine05 span {
    padding-bottom: 7px;
  }
  #main .way .headLine05 .sml {
    padding: 0;
    font-size: 1.8rem;
  }
  #main .way .headLine05 small {
    font-size: 1.3rem;
  }
  #main .way .textBox {
    margin-top: 80px;
  }
  #main .way .textBox .pho {
    width: 60px;
    right: -10px;
    top: -45px;
  }
  #main .way .textBox h3 {
    margin: 0 50px 40px;
    font-size: 1.8rem;
  }
  #main .way .textBox h3 span {
    padding: 16px 20px 15px;
  }
  #main .way .textBox h3 span::after {
    width: 31px;
    height: 26px;
    bottom: -15px;
  }
  #main .way .textBox .txt {
    margin-bottom: 30px;
    font-size: 1.8rem;
    text-align: left;
  }
  #main .way .textBox .btn span {
    font-size: 1.6rem;
  }
  #main .service {
    padding-bottom: 85px;
  }
  #main .service .headLine05 {
    margin-bottom: 30px;
    font-size: 2rem;
  }
  #main .service .headLine05 span {
    padding-bottom: 15px;
  }
  #main .service .tableBox {
    margin: 0 auto 23px;
    width: auto;
  }
  #main .service .tableBox th,
  #main .service .tableBox td {
    padding: 8px 5px 9px;
    width: 50%;
    font-size: 1.4rem;
  }
  #main .service .tableBox td:nth-of-type(2) {
    font-size: 1.4rem;
  }
  #main .service .tableBox th {
    padding: 6px 5px 5px;
  }
  #main .service .tableBox td span {
    font-size: 1.6rem;
  }
  #main .service .text {
    font-size: 1.5rem;
    text-align: left;
  }
  #main .service .comBtn {
    margin-bottom: 40px;
  }
  #main .service .lead span {
    font-size: 1.8rem;
  }
  #main .service .txtList {
    margin: -20px -10px 50px;
  }
  #main .service .txtList li {
    margin: 20px 10px 0;
    width: 100px;
    height: 100px;
    font-size: 1.6rem;
  }
  #main .service .txtList span {
    margin: 0 -10px;
  }
  #main .service .head01 {
    margin-bottom: 40px;
  }
  #main .service .head01 span {
    padding: 0 10px 7px;
    min-width: inherit;
  }
  #main .service .text02 {
    margin-bottom: 29px;
    font-size: 2rem;
  }
  #main .service .text02 .img {
    margin-right: 10px;
  }
  #main .service .text02 img {
    width: 80px;
  }
  #main .service .text02 small {
    font-size: 1.6rem;
  }
  #main .service .textImg {
    margin: 0 auto 40px;
    width: auto;
    transform: translateX(0);
  }
  #main .service .text03 {
    font-size: 1.6rem;
    text-align: left;
  }
  #main .service .text03 strong {
    font-size: 2rem;
    vertical-align: -1px;
  }
}
@media all and (max-width: 374px) {
  #main .titleBox h2 {
    font-size: 2.5rem;
  }
  #main .service .tableBox th,
  #main .service .tableBox td {
    font-size: 1.1rem;
  }
  #main .service .tableBox td:nth-of-type(2) {
    font-size: 1.2rem;
  }
  #main .service .tableBox td:nth-of-type(2) span {
    font-size: 1.4rem;
    vertical-align: -1px;
  }
  #main .service .headLine05 {
    font-size: 1.7rem;
  }
}
