@charset "utf-8";


/* ---------------------------------------------------------------------------------------------

　   COMMMON

--------------------------------------------------------------------------------------------- */
.works-template-default,
.privacy-policy {
  background: #f7f3ec;
}
#page_title {
  color: #fff;
  background: url('../img/news/title.jpg') no-repeat left center / cover;
}
.coporate #page_title {
  background: url('../img/coporate/title.jpg') no-repeat left center / cover;
}
.post-type-archive-works #page_title,
.works-template-default #page_title {
  background: url('../img/works/title.jpg') no-repeat left center / cover;
}
.blog #page_title,
.single-post #page_title,
.category #page_title {
  background: url('../img/news/title.jpg') no-repeat left center / cover;
}
.privacy-policy #page_title {
  background: url('../img/policy/title.jpg') no-repeat left center / cover;
}
.service #page_title {
  background: url('../img/service/title.jpg') no-repeat left center / cover;
}
.recruit #page_title {
  background: url('../img/recruit/title.jpg') no-repeat left center / cover;
}
.contact #page_title,
.confirm #page_title,
.thanks #page_title {
  background: url('../img/contact/title.jpg') no-repeat left center / cover;
}
#page_title .container {
  display: flex;
  align-items: center;
}
#breadcrumbs,
#breadcrumbs a {
  color: #808080;
}
.bg-color {
  background: #f7f3ec;
}
.bg-color02 {
  background: #d0c3a8;
}
.white_box {
  position: relative;
}
.white_box:last-child {
  margin-bottom: 0;
}
.white_box_inner {
  background: #fff;
  clip-path: var(--clip);
  position: relative;
  z-index: 2;
}
.title {
  text-align: center;
}
.title span {
  display: inline-block;
  border-bottom: 1px solid var(--mainColor);
  padding-bottom: .1em;
  letter-spacing: .15em;
}
.bg02 {
  color: #fff;
}
.bg02 .title_en {
  background: #fff;
  color: var(--mainColor);
}
.bg02 .title_jp {
  border-bottom: 1px solid #fff;
}
.circle_num_list li {
  position: relative;
  padding-left: 1.4em;
  line-height: 1.8em;
}
.circle_num_list li span {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1.8em;
}
.table,
.table02 {
  width: 100%;
}
.table th,
.table td {
  border: 1px solid var(--mainColor);
  vertical-align: middle;
}
.table th {
  font-weight: 400;
  background: var(--mainColor);
  color: #fff;
  border-bottom: 1px solid #fff;
}
.table tr:last-of-type th {
  border-bottom: 1px solid var(--mainColor);
}
.table02 th,
.table02 td {
  vertical-align: middle;
  border: 1px solid #d0c3a8;
}
.table02 th {
  background: #d0c3a8;
  color: #fff;
  font-weight: 400;
  border-bottom: 1px solid #fff;
}
.table02 tr:last-of-type th {
  border-bottom: 1px solid #d0c3a8;
}
.table02 td {
  color: var(--mainColor);
}
.table02 td span {
  font-weight: 700;
}
@media only screen and ( max-width : 767px ) {
  #page_title {
  }
  #page_title .container {
    height: 12rem;
  }
  #breadcrumbs {
    display: none;
  }
  .title {
    margin-bottom: 3rem;
  }
  .title span {
    font-size: 2.4rem;
  }
  .white_box {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    margin-bottom: 2rem;
  }
  .white_box_inner {
    padding: 2rem 1.5rem;
  }
  .table th {
    white-space: nowrap;
  }
  .table th,
  .table td {
    padding: 1rem;
  }
  .table02 th,
  .table02 td {
    padding: 1rem;
  }
  .box {
    margin-bottom: 4rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  #page_title {
    padding-top: 11.6rem;
  }
  #page_title .container {
    height: 35rem;
  }
  #breadcrumbs {
    font-size: 1.2rem;
    padding: 1.5rem 0;
  }
  .white_box {
    margin-bottom: 7.4rem;
  }
  .white_box:after {
    content: "";
    display: block;
    background: #ccc;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 3rem rgba(0, 0, 0, 0.3);
    width: 96%;
    height: 96%;
  }
  .white_box_inner {
    padding: 6rem 8rem;
  }
  .title {
    margin-bottom: 4rem;
  }
  .title span {
    font-size: 3.5rem;
  }
  .table th {
    width: 28rem;
    text-align: left;
  }
  .table th,
  .table td {
    font-size: 1.5rem;
    padding: 2rem;
    line-height: 2em;
  }
  .table02 th,
  .table02 td {
    font-size: 1.5rem;
    padding: 2rem;
    line-height: 2em;
  }
  .box {
    margin-bottom: 8rem;
  }
}

/* ---------------------------------------------------------------------------------------------

　   NEWS

--------------------------------------------------------------------------------------------- */


.news-category span {
  display: inline-block;
  background: var(--mainColor);
  border-radius: 3rem;
  color: #fff;
  padding: 0.4em 1em;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  text-align: center;
}
#news_detail .news-date {
  color: #80949f;
  margin-bottom: .5rem;
  letter-spacing: 0.1em;
}
.news_single_content {
  margin-top: 4.5rem;
}
.news_single_content p {
  margin-bottom: 3em;
  line-height: 2em;
}
#news_detail .news_title {
  letter-spacing: 0.1em;
}
.news_single_content figure {
  margin: 4em 0;
}
@media only screen and ( max-width : 767px ) {
  #news_detail .news_title {
    font-size: 1.6rem;
    margin-bottom: 5rem;
  }
  #news_detail .news-date {
    font-size: 1rem;
    margin-top: 2.5rem;
  }
  .news-category span {
    font-size: 1.1rem;
    min-width: 15rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  #news_detail .container {
    max-width: calc(80rem + 6rem);
  }
  .news_single_content {
    font-size: 1.4rem;
  }
  #news_detail .news_title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .news-category span {
    font-size: 1.4rem;
    min-width: 19rem;
  }
  #news_detail .news-date {
    font-size: 1.3rem;
    margin-top: 2.5rem;
  }
}

/* ---------------------------------------------------------------------------------------------

　   PRIVACY POLICY

--------------------------------------------------------------------------------------------- */
#policy_detail h2,
#policy_detail h3 {
  letter-spacing: .15em;;
}
.policy_item {
  border-bottom: 1px dashed var(--mainColor);
}
.policy_item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.policy_item p {
  line-height: 2em;
}
@media only screen and ( max-width : 767px ) {
  #policy_detail h2 {
    font-size: 2rem;
    margin-bottom: 3rem;
    text-align: center;
  }
  #policy_detail h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .policy_item {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    font-size: 1.2rem;
  }
  
}
@media print, screen and ( min-width : 768px ) {
  #policy_detail h2 {
    font-size: 2.5rem;
    margin-bottom: 6rem;
  }
  #policy_detail h3 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
  }
  .policy_item {
    margin-bottom: 4rem;
    padding-bottom: 4rem;
    font-size: 1.5rem;
  }
}


/* ---------------------------------------------------------------------------------------------

　   COPORATE

--------------------------------------------------------------------------------------------- */
#message .message_text {
  line-height: 2.4em;
}
#philosophy li {
  position: relative;
  padding-left: 2.2em;
  line-height: 2.4em;
}
#philosophy li span {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 2.4em;
}
@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
  .message_name {
    font-size: 2rem;
    margin-top: 5rem;
  }
}



/* ---------------------------------------------------------------------------------------------

　   WORKS

--------------------------------------------------------------------------------------------- */
.accordion_wrap {
  margin-bottom: 1rem;
}
.accordion_header {
  background: #f7f3ec;
  margin-bottom: 1rem;
  position: relative;
  cursor: pointer;
}
.accordion_header:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
  background: url('../img/arrow.png') no-repeat center center / 100%;
  width: 2rem;
  height: 2rem;
  transition: transform .3s;
}
.accordion_header.open:after {
  transform: translateY(-50%) rotate(270deg);
}
.accordion_content {
  background: #f7f3ec;
  display: none;
}
.acc_ym {
  position: absolute;
  top: 0;
  left: 0;
}
.award_text dl {
  display: flex;
  flex-wrap: wrap;
}
.award_text dt,
.award_text dd {
  border-bottom: 1px dashed var(--mainColor);
}
.award_img img {
  box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, 0.16);
  display: block;
  margin: 0 auto;
  width: auto;
}
#works .works_list .works-title {
  margin-top: 0;
}
#works .works_list .works-category {
  margin-top: 0;
}
.post-type-archive-works.paged #awards {
  display: none;
}
.works-category-title {
  text-align: center;
  font-weight: 600;
}
.works-category-title:before {
  content: "[";
  margin-right: .5em;
}
.works-category-title:after {
  content: "]";
  margin-left: .5em;
}
#works-category {
  background: #ccd4d9;
}
.works-category-list-title {
  letter-spacing: 0.05em;
}
.works-category-list li:last-child {
  margin-right: 0;
}
.works-category-list li a {
  background: var(--mainColor);
  color: #fff;
  border-radius: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  font-size: 1.4rem;
  height: 3.6rem;
}
.works-category-list li.is-active a {
  background: #80949f;
}
.works-category-list li a span {
  text-align: center;
}
@media only screen and ( max-width : 767px ) {
  .accordion_header {
    padding: 1rem 4.5rem 1rem 10rem;
  }
  .accordion_header:after {
    right: 1.5rem;
  }
  .acc_ym {
    width: 8rem;
    left: 1.5rem;
    top: 1rem;
  }
  .accordion_content {
    padding: 2rem;
    border-radius: 0 0 2rem 2rem;
  }
  .award_img {
    margin-bottom: 1rem;
  }
  .award_img img {
    max-height: 19rem;
  }
  .award_text dt,
  .award_text dd {
    padding: 1rem 0;
  }
  .award_text dt {
    width: 6.4rem;
  }
  .award_text dd {
    width: calc(100% - 6.4rem);
  }
  .works_list .works_item .btn {
    margin-top: 2rem;
  }
  #works .works_list .works_item {
    margin-bottom: 3.6rem;
  }
  #works .works_list .works_item:last-child {
    margin-bottom: 0;
  }
  #works .works_list .works_img {
    margin-bottom: 2rem;
  }
  #works .works_list .works-date {
    margin-top: 1rem;
    margin-bottom: .5rem;
    font-size: 1rem;
  }
  .works-category-title {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
  .works-category-list-title {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .works-category-list {
    justify-content: space-between;
    max-width: 27rem;
    margin: 0 auto;
  }
  .works-category-list li {
    width: 48%;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  #works .works_list .works_img {
    margin-bottom: 3rem;
  }
  #works .works_list .works-date {
    margin-top: 3rem;
    margin-bottom: 1rem;
  }
  .accordion_header {
    padding: 1rem 3.6rem 1rem 14.6rem;
    font-size: 1.5rem;
  }
  .accordion_header:after {
    right: 3.6rem;
  }
  .acc_ym {
    width: 11rem;
    left: 3.6rem;
    top: 1rem;
  }
  .accordion_content {
    padding: 4rem 8rem;
    border-radius: 0 0 2.5rem 2.5rem;
  }
  .award_img {
    width: 40rem;
  }
  .award_img img {
    max-height: 29rem;
  }
  .award_text {
    width: 42rem;
  }
  .award_text dt,
  .award_text dd {
    padding: 2rem 0;
    font-size: 1.5rem;
  }
  .award_text dt {
    width: 12rem;
  }
  .award_text dd {
    width: calc(100% - 12rem);
  }
  .works_list .works_item {
    width: 31%;
    margin-right: 3.5%;
    margin-top: 9rem;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
  }
  .works_list .works_item:nth-child(3n) {
    margin-right: 0;
  }
  .works_list .works_item:nth-child(-n+3) {
    margin-top: 0;
  }
  .works_list .works_item .btn {
    margin-top: auto;
  }
  .works_list .works_item .works-title {
    margin-bottom: 2.5rem;
  }
  .works-category-title {
    font-size: 3.5rem;
    margin-bottom: 5rem;
  }
  .works-category-list-title {
    font-size: 2.3rem;
    width: 26rem;
  }
  .works-category-list {
    width: calc(100% - 26rem);
    margin-top: -1rem;
  }
  .works-category-list li {
    width: 16.4%;
    margin-right: 3.93%;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .works-category-list li:nth-child(5n) {
    margin-right: 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   WORKS SINGLE

--------------------------------------------------------------------------------------------- */

.works_slider .thumb-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.works_slider .splide__arrow svg {
  opacity: 0;
}
.works_slider .splide__arrow {
  width: 3.6rem;
  height: 3.6rem;
  transform: translateY(0%);
  opacity: 1;
}
.works_slider .splide__arrow:disabled {
  opacity: .6;
}
.works_slider .splide__arrow--prev {
  background: url(../img/prev02.png) no-repeat center / 100%;
  left: -1.8rem;
}
.works_slider .splide__arrow--next {
  background: url(../img/next02.png) no-repeat center / 100%;
  right: -1.8rem;
}
.works_slider .thumb-wrapper .thumb-media {
  background-color: var(--mainColor);
}
.works_slider .thumb-wrapper .thumb-media img {
  opacity: .4;
}
.works_slider .thumb-wrapper .thumb-media.is-active img {
  opacity: 1;
}
.works_detail .works-category span {
  border:1px solid var(--mainColor);
}
.works_slider .works-media {
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.works_detail .works-category,
.works_detail .works-title {
  margin-top: 0;
}
@media only screen and ( max-width : 767px ) {
  .works_slider .thumb-wrapper {
    gap: .5rem;
    margin-bottom: 4rem;
  }
  .works_slider .thumb-wrapper .thumb-media {
    width: 5.9rem;
    height: 5.9rem;
  }
  .works_slider .thumb-wrapper .thumb-media:last-child {
    margin-right: 0;
  }
  .works_slider .works-media {
    height: 20rem;
  }
  .works_slider .splide__arrow {
    top: 8.5rem;
  }
  .works_slider .splide__arrow {
    width: 2.8rem;
    height: 2.8rem;
  }
  .works_slider .splide__arrow--prev {
    left: -1.4rem;
  }
  .works_slider .splide__arrow--next {
    right: -1.4rem;
  }
  .works_detail .works-category  {
    margin-bottom: 2.5rem;
  }
  .works_detail .works-date {
    margin-bottom:1.5rem;
  }
  .works_detail {
    margin-bottom:2rem;
  }
  .works_content .table th {
    width: 8rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  .works_detail .works-category  {
    margin-bottom: 3.5rem;
  }
  .works_detail .works-date {
    margin-bottom:2rem;
  }
  .works_slider {
    width: 57rem;
    margin: 0 auto 4.2rem;
  }
  .works_detail {
    margin-bottom:5rem;
  }
  .works_detail .works-date {
    margin-bottom: 2.5rem;
  }
  .works_slider .thumb-wrapper {
  }
  .works_slider .works-media {
    height: 36rem;
  }
  .works_slider .splide__arrow {
    top: 17rem;
  }
  .works_slider .thumb-wrapper {
    gap: 1rem;
    margin-top: 2.5rem;
  }
  .works_slider .thumb-wrapper .thumb-media {
    width: 7rem;
    height: 7rem;
  }
  .works_content .table th {
    width: 16rem;
  }
}



/* ---------------------------------------------------------------------------------------------

　   CONTACT

--------------------------------------------------------------------------------------------- */
.contact_text {
  line-height: 2em;
}
.contact_tel_link {
  display:flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 1.5rem;
  color: #00a97b;
  background: url('../img/contact.jpg') no-repeat center center / cover;
}
.contact_tel_link .contact_tel {
  position: relative;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .05em;
}
.contact_tel_link .contact_tel:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url('../img/ico-tel.svg') no-repeat center center / 100%;
}
.contact_form_inner {
}
.required {
  background: #00a97b;
  color: #fff;
  padding: .2em .5em;
  display: inline-block;
  line-height: 1;
  margin-right: 1rem;
}
.privacy_checkbox a {
  color: #00a97b;
  text-decoration: underline;
}
.contact_form_privacy {
  line-height: 1.6em;
}
.wpcf7-not-valid-tip {
  font-size: 1.2rem;
}
.confirm_text {
  line-height: 2em;
}
.confirm .back_btn {
  background: #fff;
  color: var(--mainColor);
}
@media only screen and ( max-width : 767px ) {
  .contact_text {
    margin-bottom: 4rem;
  }
  .contact_tel_link {
    background-position: 100% 0%;
    height: 18rem;
    padding: 0 2rem;
  }
  .contact_tel_link .contact_tel_title,
  .contact_form_title {
    font-size: 1.6rem;
  }
  .contact_tel_link .contact_tel {
    font-size: 3.6rem;
    padding-left: 3.4rem;
    margin: .5rem 0;
  }
  .contact_tel_link .contact_tel:before {
    width: 2.6rem;
    height: 2.6rem;
  }
  .contact_tel_link .contact_tel_time {
    font-size: 1.2rem;
  }


  .contact_form {
    margin-top: 6rem;
  }
  .contact_form_title {
    margin-bottom: 2rem;
  }
  .contact_form_inner {
  }
  .contact_form_list {
    margin-bottom: 5rem;
  }
  .contact_form_list dt,
  .contact_form_list dd {
  }
  .contact_form_list dt {
    margin-bottom: 1rem;
  }
  .contact_form_list dd {
    margin-bottom: 3rem;
  }
  .required {
    font-size: 1.1rem;
  }
  .contact_form_privacy {
    font-size: 1.3rem;
    margin: 2rem 0 3rem;
  }
  .contact_form_item {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: .5px solid var(--mainColor);
  }
  .contact_form_item_title {
    margin-bottom: .5rem;
  }
  .doui_box_item {
    margin: 5rem 0 0;
  }
  .contact_form .doui_box_item label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 1.6rem;
  }
  .confirm_text {
    margin-bottom: 4rem;
  }
  .back_btn {
    margin-bottom: 2rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  .contact_form_inner {
    max-width: 85rem;
    margin: 0 auto;
  }
  .contact_text {
    margin-bottom: 4rem;
  }
  .thanks .contact_text {
    margin-bottom: 8rem;
  }
  .contact_tel_link {
    height: 18rem;
    padding: 0 3.4rem;
  }
  .contact_tel_link .contact_tel_title,
  .contact_form_title {
    font-size: 2.2rem;
  }
  .contact_tel_link .contact_tel {
    font-size: 6rem;
    padding-left: 6rem;
    margin: .5rem 0;
  }
  .contact_tel_link .contact_tel:before {
    width: 4.2rem;
    height: 4.2rem;
  }
  .contact_form {
    margin-top: 9rem;
  }
  .contact_form_title {
    margin-bottom: 3rem;
  }
  .contact_form_inner {
  }
  .contact_form_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 7rem;
  }
  .contact_form_list dt,
  .contact_form_list dd {
    margin-bottom: 1.5rem;
  }
  .contact_form_list dt {
    width: 24rem;
  }
  .contact_form_list dd {
    width: calc(100% - 24rem);
  }
  .required {
    font-size: 1.3rem;
  }
  .contact_form_privacy {
    font-size: 1.5rem;
    margin: 2.5rem 0 4.5rem;
  }
  .contact_form_item {
    background: #f7f3ec;
    display: flex;
    align-items: center;
    min-height: 6rem;
    margin-bottom: 1rem;
    padding: 1rem 0;
  }
  .contact_form_item_title {
    width: 19rem;
    position: relative;
    padding: 0 3.5rem;
  }
  .contact_form_item_title:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: var(--mainColor);
    width: .5px;
    height: 2.8rem;
  }
  .contact_form_item_content {
    width: calc(100% - 19rem);
    padding: 0 2rem;
  }
  .contact_form_item_fullw {
    display: block;
    height: auto;
    padding: 2.5rem 3.5rem;
  }
  .contact_form_item_fullw .contact_form_item_title {
    width: 100%;
  }
  .contact_form_item_fullw .contact_form_item_title {
    width: 100%;
    padding: 0 0 1rem 0;
    border-bottom: .5px solid var(--mainColor);
  }
  .contact_form_item_fullw .contact_form_item_title:after {
    content: none;
  }
  .contact_form_item_fullw .contact_form_item_content {
    width: 100%;
    padding: 0;
  }
  .confirm_text {
    margin-bottom: 7rem;
  }
  .confirm .contact_form_item {
    background: #fff;
  }
}

/* ---------------------------------------------------------------------------------------------

　   FORM

--------------------------------------------------------------------------------------------- */
.contact_form input,
.contact_form textarea {
  border-radius:0;
  line-height: 1em;
}
.contact_form input[type="text"],
.contact_form input[type="tel"],
.contact_form input[type="email"],
.contact_form input[type="number"] {
  height: 4rem;
  padding:0 1.5rem;
}
.contact_form input[type="text"],
.contact_form textarea,
.contact_form input[type="tel"],
.contact_form input[type="email"],
.contact_form input[type="number"] {
  border: none;
  margin:0;
  display: block;
  background: #f7f3ec;
  font-family: inherit;
  -webkit-appearance: none;
  font-size: inherit;
  width: 100%;
  border-radius: .5rem;
  font-size: 1.4rem;
}
.contact_form input.short_input {
  width: 10em;
  display: inline-block;
}
.contact_form textarea {
  padding:1.5rem 1.5rem;
  width: 100%;
  display: block;
  resize: vertical;
  line-height: 1.8em;
  font-size: 1.4rem;
}
.contact_form button {
  -webkit-appearance: none;
  border:none;
  display: block;
  text-align: center;
  /* background: none; */
  font-size: inherit;
  cursor: pointer;
  position: relative;
  /* font-family: inherit; */
  width: 32rem;
}
.contact_form button:hover {
  opacity: .8;
}

.contact_form label input[type="radio"] + span {
  position: relative;
  padding: 0 .8rem .5rem 2.6rem;
}
.contact_form label {
  position: relative;
  display: inline-block;
  word-break: break-all;
}
.contact_form label span {
  display: inline-block;
}

.contact_form label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.contact_form label input[type="radio"] + span::before {
  position: absolute;
  display: inline-block;
  content: '';
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 1.6rem;
}
.contact_form label input[type="radio"] + span::before {
  z-index: 0;
  top: .35rem;
  left: 0;
  background-color: transparent;
  width: 2rem;
  height: 2rem;
  background: #fff;
}
.contact_form label input[type="radio"]:checked + span::before {
  border: 6px #00a97b solid;
}
.contact_form select-wrap {
  position: relative;
  display: block;
}
.contact_form select-wrap:before {
content: "";
  z-index: 1;
  position: absolute;
  right: 1.5rem;
  top: 1.8rem;
  height: 1em;
  line-height: 1em;
  pointer-events: none;
  font-weight: bold;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../img/arrow_down.png) no-repeat center / 100%;
}
.contact_form select{
  outline:none;
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 50px;
  padding: .8rem 3.4rem .8rem 1.2rem;
  border: none;
  /*color:#D3D3D3;*/
  width:100%;
  background: #F8F8F8;
}
.contact_form select option{
  background-color: #fff;
  color: #333;
}
.contact_form select::-ms-expand {
  display: none;
}
.contact_form select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
.contact_form ::placeholder {
  color: #D3D3D3;
}
.doui_box p {
  line-height: 2em;
}
.submit_box input {
  cursor: pointer;
}
.thanks_title {
  text-align: center;
  font-weight: 600;
  letter-spacing: .05em;
  line-height: 1.8em;
}
.thanks_text {
  text-align: center;
}
@media only screen and ( max-width : 767px ) {
  .contact_form textarea {
    height: 16rem;
  }
  .thanks_title {
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }
  .submit_box {
    margin-top: 5rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  .contact_form textarea {
    height: 24rem;
  }
  .doui_box {
    font-size: 1.3rem;
    margin: 9rem 0 8rem;
    text-align: center;
  }
  .doui_box .doui_box_item {
    font-size: 1.6rem;
    margin-top: 6rem;
  }
  .submit_box {
    margin-top: 8rem;
  }
  .submit_box input {
    font-size: 1.7rem;
    width: 28rem;
  }
  .submit_box .back_btn {
    margin-right: 3.5rem;
  }
  .thanks_title {
    font-size: 3.5rem;
    margin-bottom:8rem;
  }
}

/* ---------------------------------------------------------------------------------------------

　   SERVICE

--------------------------------------------------------------------------------------------- */
.balloon_title {
  background: #fff;
  border: solid 1px var(--mainColor);
  position: relative;
  text-align: center;
}
.balloon_title span {
  display: block;
}
.balloon_title::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 15px;
  background: #fff;
  bottom: -15px;
  left: 50%;
  border-right: 1px solid var(--mainColor);
  transform: skew(-45deg);
  z-index: 1;
}
.balloon_title span:before,
.balloon_title span:after {
  content: "";
  position: absolute;
  width: 2rem;
  height: 2rem;
  background: #fff;
  z-index: 2;
}
.balloon_title span:before {
  top: -1px;
  left: -1px;
}
.balloon_title span:after {
  bottom: -1px;
  right: -1px;
}
.service_sec h2 {
  text-align: center;
}
.service_sec_text {
  text-align: center;
  line-height: 2em;
}
.service_list_menu {
  max-width: 87.4rem;
  margin: 0 auto;
}
.service_list_menu li {
  width: 48%;
}
.service_list_menu li:nth-child(-n+2) {
  margin-top: 0;
}
.service_list_menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--mainColor);
  color: #fff;
  position: relative;
  text-align: center;
  line-height: 1.3em;
}
.service_list_menu a:after {
  content: "";
  position: absolute;
  background: url(../img/next.png) no-repeat center / 100%;
}
.marker_title span {
  display: inline-block;
  background: var(--mainColor);
  color: #fff;
  padding: 0 .2em;
  letter-spacing: .15em;;
}
.service_sec p {
  line-height: 2em;
}
.service_list li figcaption {
  border-left: .5rem solid var(--mainColor);
  padding-left: .5em;
}
.service_sec_inner {
  border-bottom: .25px dashed var(--mainColor);
}
.service_sec_inner:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.service_point_box {
  clip-path: var(--clip);
  background-color: #e5eaec;
}
.service_point_box .balloon_title::before {
  background-color: #e5eaec;
}
.service_point_list_item figcaption {
  text-align: center;
}
.service_point_list_item:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.service_point_list_item:last-child img {
  width: 48%;
}
.service_point_list_item figcaption {
  width: 100%;
}
#service04 .service04_title_02 {
  border-top: .25px dashed var(--mainColor);
}
.service_sec p small {
  font-weight: 300;
}
@media only screen and ( max-width : 767px ) {
  .balloon_title span:before,
  .balloon_title span:after {
    width: 1.5rem;
    height: 1.5rem;
  }
  .balloon_title {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
  .balloon_title span {
    padding: 1rem .6rem;
    letter-spacing: .05em;
  }
  .service_list_menu li {
    margin-top: 4%;
  }
  .service_list_menu a {
    height: 8.5rem;
    padding-bottom: 2.6rem;
  }
  .service_list_menu a:after {
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: 1.4rem;
    height: 1.4rem;
    bottom: 1.2rem;
  }
  .service_sec_text {
    margin-bottom: 5rem;
  }
  .service_sec h2 {
    margin-bottom: 2.5rem;
  }
  .service_sec h2 img {
    width: 20.8rem;
  }
  #service04 .service04_title_02 {
    margin-top: 4rem;
    padding-top: 4rem;
  }
  #service04 .service04_title_02 img {
    width: 26rem;
  }
  /* スマホ用スライダー設定 */
  .service_list_slider {
    margin-top: 2rem;
    padding-bottom: 5rem;
  }
  .service_list_slider .splide__track {
    overflow: visible;
  }
  .service_list_slider .splide__list {
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  .service_list_slider .splide__slide {
    width: 100%;
    flex-shrink: 0;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding: 0 1rem;
  }
  .service_list_slider .splide__slide figure {
    margin-bottom: 1.5rem;
  }
  .service_list_slider .splide__slide figcaption {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
  }
  .service_list_slider .splide__slide p {
    font-size: 1.2rem;
    line-height: 1.8em;
  }
  .service_list_slider .splide__pagination__page.is-active {
    background: var(--mainColor);
    transform: scale(1);
  }
  .service_list_slider .splide__arrow svg {
    opacity: 0;
  }
  .service_list_slider .splide__arrow {
    width: 2.2rem;
    height: 2.2rem;
    top: 7rem;
    transform: translateY(0%);
  }
  .service_list_slider .splide__arrow--next {
    background: url(../img/next02.png) no-repeat center / 100%;
    right: 3.5rem;
  }
  .service_list_slider .splide__arrow--prev {
    background: url(../img/prev02.png) no-repeat center / 100%;
    left: 3.5rem;
  }
  .marker_title {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
  .service_sec_inner {
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
  }
  .service_point_list {
    justify-content: space-between;
    margin-top: 2.5rem;
  }
  .service_point_box {
    padding: 3rem;
  }
  .service_point_list_item {
    width: 48%;
  }
  .service_point_list_item:last-child {
    width: 100%;
    margin-top: 1.5rem;
  }
  .service_point_list_item figcaption {
    text-align: left;
    font-size: 1.2rem;
    margin-top: .6rem;
  }
  .service_point_list_item:last-child figcaption {
    text-align: center;
  }
  .service_sec p small {
    font-size: 1rem;
  }
  .service_sec_dl dt {
    width: 11rem;
    padding-right: 1rem;
  }
  .service_sec_dl dd {
    width: calc(100% - 12rem);
  }
  #main_vehicles {
    margin-top: 7rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  .balloon_title {
    font-size: 3rem;
    margin-bottom: 5.5rem;
  }
  .balloon_title span {
    padding: 2rem;
    letter-spacing: .12em;
  }
  .service_sec h2 {
    margin-bottom: 3.5rem;
  }
  .service_sec h2 img {
    width: 32.5rem;
  }
  #service04 .service04_title_02 {
    margin-top: 9rem;
    padding-top: 9rem;
  }
  #service04 .service04_title_02 img {
    width: 40.5rem;
  }
  .service_sec_text {
    margin-bottom: 8rem;
    letter-spacing: 0.1em;
  }
  .service_list_menu li {
    margin-top: 5rem;
  }
  .service_list_menu a {
    height: 7rem;
    font-size: 2.5rem;
  }
  .service_list_menu a:after {
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 2rem;
    width: 2rem;
    height: 2rem;
  }
  .marker_title {
    font-size: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .service_list {
    margin-top: 2rem;
  }
  .service_list li {
    width: 23.5%;
    margin-right: 2%;
    margin-top: 3rem;
    font-size: 1.2rem;
  }
  .service_list li figcaption {
    font-size: 1.7rem;
    margin-bottom: 1rem;
    margin-top: 2rem;
  }
  .service_list li:nth-child(4n) {
    margin-right: 0;
  }
  /* PC用スライダー無効化時の設定 */
  .service_list_slider {
    margin-top: 2rem;
    visibility: visible !important;
  }
  .service_list_slider .splide__track {
    display: block !important;
  }
  .service_list_slider .splide__list {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .service_list_slider .splide__slide {
    width: 23.5% !important;
    margin-right: 2% !important;
    margin-top: 3rem !important;
    font-size: 1.2rem;
  }
  .service_list_slider .splide__slide:nth-child(4n) {
    margin-right: 0 !important;
  }
  .service_list_slider .splide__slide figcaption {
    font-size: 1.7rem;
    margin-bottom: 1rem;
    margin-top: 2rem;
  }
  .service_sec_inner {
    padding-bottom: 10rem;
    margin-bottom: 7rem;
  }
  .service_point_box {
    padding: 4.6rem 8rem 6.8rem;
    margin-top: 8rem;
  }
  .service_point_box .balloon_title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
  .service_point_box .balloon_title span {
    padding: 1rem;
  }
  .service_point_list {
    justify-content: space-between;
    margin-top: 3rem;
  }
  .service_point_list_item {
    width: 23.5%;
  }
  .service_point_list_item:last-child {
    width: 49%;
  }
  .service_point_list_item figcaption {
    font-size: 1.2rem;
    margin-top: 1.5rem;
  }
  .service_sec_dl dt,
  .service_sec_dl dd {
    font-size: 1.7rem;
  }
  .service_sec_dl dt {
    width: 14.5rem;
    padding-right: 1rem;
  }
  .service_sec_dl dd {
    width: calc(100% - 14.5rem);
  }
  #main_vehicles {
    margin-top: 12rem;
  }
}


/* ---------------------------------------------------------------------------------------------

　   VEHICLE SLIDER

--------------------------------------------------------------------------------------------- */
.vehicle_list_item_img.splide {
  visibility: visible !important;
}
.vehicle_list_item_img .splide__track {
  overflow: hidden;
}
.vehicle_list_item_img .splide__list {
  display: flex !important;
  flex-wrap: nowrap !important;
}
.vehicle_list_item_img .splide__slide {
  width: 100%;
  flex-shrink: 0;
}
.vehicle_list_item_img .splide__slide figure {
  width: 100%;
}
.vehicle_list_item_img .splide__arrow svg {
  opacity: 0;
}
.vehicle_list_item_img .splide__arrow {
  transform: translateY(-50%);
  opacity: 1;
  width: 3.6rem;
  height: 3.6rem;
}
.vehicle_list_item_img .splide__arrow:disabled {
  opacity: 0;
}
.vehicle_list_item_img .splide__arrow--prev {
  background: url(../img/prev02.png) no-repeat center / 100%;
  left: 1rem;
}
.vehicle_list_item_img .splide__arrow--next {
  background: url(../img/next02.png) no-repeat center / 100%;
  right: 1rem;
}
.vehicle_list_item_img .splide__pagination {
  bottom: 1rem;
}
.vehicle_list_item_img .splide__pagination__page.is-active {
  background: var(--mainColor);
  transform: scale(1);
}

.service_sec_dl {
  display: flex;
  flex-wrap: wrap;
}
.vehicle_list_item { 
  border-bottom: .5px solid var(--mainColor);
}
.vehicel_list_item_text dl dd {
  font-weight: 300;
}
@media only screen and ( max-width : 767px ) {
  /* vehicle アコーディオン（スマホのみ） */
  .vehicle_list_item {
    margin-bottom: 1.5rem;
  }
  .vehicle_list_item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .vehicel_list_item_text {
    position: relative;
    cursor: pointer;
    padding-right: 4rem;
  }
  .vehicel_list_item_text:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    width: 2.6rem;
    height: 2.6rem;
    background: url('../img/arrow.png') no-repeat center center / 100%;
    transition: transform 0.3s ease;
  }
  .vehicle_list_item.is-open .vehicel_list_item_text:after {
    transform: translateY(-50%) rotate(270deg);
  }
  .vehicle_list_item_img {
    overflow: hidden;
    transition: height 0.4s ease;
  }
  .vehicle_list_item_img .splide__arrow {
    width: 2.2rem;
    height: 2.2rem;
  }
  .vehicle_list_item_img .splide__arrow--prev {
    left: 0.5rem;
  }
  .vehicle_list_item_img .splide__arrow--next {
    right: 0.5rem;
  }
  .vehicle_list_item_img .splide__pagination {
    bottom: 0.5rem;
  }
  .vehicle_list_item {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
  }
  .vehicle_list_item_img {
    margin-bottom: 1.5rem;
  }
  .vehicel_list_item_text dl {
    display: flex;
    flex-wrap: wrap;
  }
  .vehicel_list_item_text dl dt,
  .vehicel_list_item_text dl dd {
    border-bottom: 1px dashed var(--mainColor);
    padding: 1rem 0;
  }
  .vehicel_list_item_text dl dt:last-of-type,
  .vehicel_list_item_text dl dd:last-of-type {
    border-bottom: none;
  }
  .vehicel_list_item_text dl dt {
    width: 8rem;
    padding-right: 1rem;
  }
  .vehicel_list_item_text dl dd {
    width: calc(100% - 8rem);
  }
}

@media print, screen and ( min-width : 768px ) {
  /* vehicle アコーディオン（PC） */
  .vehicle_list_item_img {
    overflow: hidden;
    transition: height 0.4s ease;
    width: 32rem;
    opacity: 0;
    pointer-events: auto;
  }
  .is-open .vehicle_list_item_img {
    opacity: 1;
  }
  .vehicle_list_item_img .splide__arrow {
    width: 2.2rem;
    height: 2.2rem;
  }
  .vehicle_list_item_img .splide__arrow--prev {
    left: 0.5rem;
  }
  .vehicle_list_item_img .splide__arrow--next {
    right: 0.5rem;
  }
  .vehicle_list_item_img .splide__pagination {
    bottom: 0.5rem;
  }
  .vehicle_list_item {
    position: relative;
    padding-right: 10rem;
  }
  .vehicle_list_item.is-open {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    /* margin-bottom: 3rem; */
    padding: 3rem 10rem 3rem 0;
  }
  .vehicel_list_item_text {
    width: 100%;
    cursor: pointer;
    padding-right: 5rem;
    padding: 3rem 0;
  }
  .vehicel_list_item_text:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    width: 3.4rem;
    height: 3.4rem;
    background: url('../img/arrow.png') no-repeat center center / 100%;
    transition: transform 0.3s ease;
  }
  .vehicle_list_item.is-open .vehicel_list_item_text:after {
    transform: translateY(-50%) rotate(270deg);
  }
  .is-open .vehicel_list_item_text {
    width: 38rem;
    padding: 0;
  }
  .is-open .vehicel_list_item_text dl dt,
  .is-open .vehicel_list_item_text dl dd {
    padding: 1.5rem 0;
    font-size: 1.5rem;
  }
  .vehicel_list_item_text dl {
    display: flex;
    flex-wrap: wrap;
  }
  .vehicel_list_item_text dl dt:first-of-type,
  .vehicel_list_item_text dl dd:first-of-type {
    display: none;
  }
  .is-open .vehicel_list_item_text dl dt:first-of-type,
  .is-open .vehicel_list_item_text dl dd:first-of-type {
    display: block;
  }
  .is-open .vehicel_list_item_text dl dt,
  .is-open .vehicel_list_item_text dl dd {
    border-bottom: 1px dashed var(--mainColor);
    padding: 1rem 0;
  }
  .is-open .vehicel_list_item_text dl dt:last-of-type,
  .is-open .vehicel_list_item_text dl dd:last-of-type {
    border-bottom: none;
  }
  .vehicel_list_item_text dl dt {
    width: 11rem;
  }
  .vehicel_list_item_text dl dt:nth-of-type(2) {
    font-weight: 700;
  }
  .vehicel_list_item_text dl dd:nth-of-type(2) {
    min-width: 15rem;
  }
  .vehicel_list_item_text dl dd {
    min-width: 25rem;
  }
  .is-open .vehicel_list_item_text dl dt {
    width: 12rem;
    padding-right: 1rem;
    font-weight: 400;
  }
  .is-open .vehicel_list_item_text dl dd {
    width: calc(100% - 12rem);
    min-width: auto;
  }

}

/* ---------------------------------------------------------------------------------------------

　   RECRUIT

--------------------------------------------------------------------------------------------- */
.recruit_sec {
  position: relative;
}
.recruit_sec:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#recruit_info:before {
  background-image: url(../img/recruit/illust01.png);
}
#recruit_4points:before {
  background-image: url(../img/recruit/illust02.png);
}
#recruit_about:before {
  background-image: url(../img/recruit/illust03.png);
}
#recruit_4points .title_heading .title_en, .page_title_heading .title_en {
  background: #fff;
}
.recruit_intro_text {
  text-align: center;
}
.recruit_text {
  line-height: 2em;
  letter-spacing: .1em;
}
.recruit_4points_list_item p {
  line-height: 2em;
}
.recruit_sec .title_heading .title_jp {
  padding-bottom: 0;
  border-bottom: none;
}
.recruit_about_img {
  position: relative;
}
.recruit_about_img:after {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/illust04.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 2;
}
.recruit_voice_list_item_inner {
  clip-path: var(--clip);
  color: #fff;
}
#recruit_voice01 .recruit_voice_list_item_inner {
  background: var(--mainColor);
}
#recruit_voice02 .recruit_voice_list_item_inner {
  background: #d0c3a8;
}
.recruit_voice_list_item {
  position: relative;
}
.recruit_voice_list_item:before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 2;
}
#recruit_voice01:before {
  background-image: url(../img/recruit/illust05.png);
}
#recruit_voice02:before {
  background-image: url(../img/recruit/illust06.png);
}
.recruit_voice_list_item_inner h3 {
  text-align: center;
}
.recruit_voice_list_item_inner h3 span {
  border-bottom: .25px solid #fff;
  display: inline-block;
  padding-bottom: .1em;
  letter-spacing: .15em;
}

.recruit_voice_list_item_inner h4 {
  font-weight: 400;
}
 .recruit_voice_faq_list_inner {
   background: transparent;
   transition: height 0.2s ease-in-out;
 }
 .recruit_voice_faq_list_item {
   background: #fff;
   clip-path: var(--clip);
 }
 #recruit_voice01 .recruit_voice_faq_list_item {
   color: var(--mainColor);
 }
 #recruit_voice02 .recruit_voice_faq_list_item {
   color: #d0c3a8;
 }
 
 /* recruit_voice_faq スライダー設定 */
 .recruit_voice_faq_list {
   margin-top: 2rem;
   visibility: visible !important;
   height: auto !important;
   transition: height 0.2s ease-in-out;
 }
 .recruit_voice_faq_list .splide__track {
   overflow: hidden;
   height: auto !important;
   transition: height 0.2s ease-in-out;
 }
 .recruit_voice_faq_list .splide__list {
   display: flex !important;
   flex-wrap: nowrap !important;
   align-items: flex-start !important;
   transition: height 0.2s ease-in-out;
 }
 .recruit_voice_faq_list .splide__slide {
   width: 100% !important;
   flex-shrink: 0;
   min-width: 100%;
   height: auto !important;
   min-height: auto !important;
 }
 .recruit_voice_faq_list_item {
   width: 100%;
   line-height: 2em;
   box-sizing: border-box;
   display: block;
   height: auto !important;
   min-height: auto !important;
 }
 .recruit_voice_faq_title {
   display: flex;
   align-items: center;
   gap: 1rem;
   margin-bottom: 1.5rem;
 }
 .recruit_voice_faq_title .en {
   font-weight: bold;
 }
 .recruit_voice_faq_list .splide__pagination {
   bottom: -3rem;
 }
 .recruit_voice_faq_list .splide__pagination__page.is-active {
   transform: scale(1);
 }
 .recruit_voice_faq_list .splide__pagination__page {
  background: #fff;
  opacity: .4;
 }
 #recruit_voice01 .recruit_voice_faq_list .splide__pagination__page.is-active {
   /* background: var(--mainColor); */
   opacity: 1;
 }
 #recruit_voice02 .recruit_voice_faq_list .splide__pagination__page.is-active {
   /* background: #d0c3a8; */
   opacity: 1;
 }
 .recruit_voice_faq_list .splide__arrow svg {
   opacity: 0;
 }
 .recruit_voice_faq_list .splide__arrow {
   transform: translateY(-50%);
   opacity: 1;
   top: 50%;
 }
 .recruit_voice_faq_list .splide__arrow:disabled {
   opacity: .6;
 }
.recruit_voice_faq_list .splide__arrow--prev {
   background: url(../img/prev02.png) no-repeat center / 100%;
 }
.recruit_voice_faq_list .splide__arrow--next {
   background: url(../img/next02.png) no-repeat center / 100%;
 }

 .recruit_voice_list_item_inner p {
  line-height: 1.8em;
 }
 .recruit_voice_list_item_inner h4 {
  margin: .5em 0;
 }
 .recruit_voice_list_item_inner figcaption {
  letter-spacing: .15em;
 }
 #recruit_voice01 .recruit_voice_faq_title .en {
  border-right: 1px solid var(--mainColor);
 }
 #recruit_voice02 .recruit_voice_faq_title .en {
  border-right: 1px solid #d0c3a8;
 }
 .recruit_voice_faq_title h5 {
  font-weight: 600;
 }

#recruit_life h3 span {
  box-decoration-break: clone;  
  -webkit-box-decoration-break: clone;
  display: inline;
  padding: .1em .3em;
  line-height: 2;
  background-color: var(--mainColor);
  color: #fff;
}
.recruit_life_text p {
  line-height: 2em;
}
#spot_slider .splide__slide figcaption {
  padding-left: 0;
  border-left: none;
  letter-spacing: .1em;
  font-weight: 500;
}
.recruit_guide_text {
  text-align: center;
  line-height: 2em;
}
.recruit_life_img {
  position: relative;
}
.recruit_life_img:before {
  content: "";
  position: absolute;
  background-image: url(../img/recruit/illust07.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 2;
}
 @media only screen and ( max-width : 767px ) {
  .recruit_4points_list_item {
    margin-bottom: 5rem;
  }
  .recruit_4points_list_item:last-child {
    margin-bottom: 0;
  }
  .recruit_4points_list_item h3 {
    margin-bottom: 2rem;
  }
  #recruit_info:before {
    width: 6rem;
    height: 4.1rem;
    top: -1rem;
  }
  .recruit_intro_text {
    margin-top: 4rem;
  }
  #recruit_4points {
    padding: 17rem 0 7rem;
  }
  #recruit_4points:before {
    width: 8rem;
    height: 16.1rem;
    top: -2rem;
  }
  #recruit_about:before {
    width: 22.5rem;
    height: 6rem;
    top: -3rem;
  }
  #recruit_about {
    padding-top: 6rem;
  }
  /* recruit_voice_faq スライダー - スマホ用 */
  .recruit_voice_faq_list .splide__arrow {
    width: 2.2rem;
    height: 2.2rem;
  }
  .recruit_voice_faq_list .splide__arrow--prev {
    left: -1rem;
  }
  .recruit_voice_faq_list .splide__arrow--next {
    right: -1rem;
  }
  .recruit_voice_faq_list_inner {
    padding: 0;
  }
  .recruit_voice_faq_list_item {
    padding: 2rem 1.5rem 5rem;
  }
  .recruit_voice_list_item_inner {
    padding: 2rem 1.8rem 5rem;
  }
  .recruit_voice_list_item_inner h3 {
    margin-bottom: 2.5rem;
  }
  .recruit_voice_list_item_inner h3 span {
    font-size: 2rem;
    padding-bottom: .5em;
  }
  .recruit_voice_list_item_inner figcaption {
    font-size: 2.1rem;
    margin: 2rem 0 1rem;
  }
  .recruit_voice_list_item_inner figcaption span {
    font-size: 1.3rem;
  }
  .recruit_voice_faq_title .en {
    width: 5rem;
    font-size: 2.6rem;
  }
  .recruit_voice_faq_title h5 {
    font-size: 1.8rem;
    width: calc(100% - 5rem);
    padding-left: 1rem;
  }
  .recruit_voice_faq_list_item {
    padding: 2rem 1.8rem 5rem;
  }
  #recruit_voice01 {
    margin-bottom: 9rem;
  }
  #recruit_life h3 {
   margin-bottom: 2rem;
  }
  #recruit_life h3 span {
   font-size: 1.7rem;
  }
  .recruit_life_img {
    margin-bottom: 2rem;
  }
  #spot h3 {
    text-align: center;
  }
  #spot_slider .splide__slide figcaption {
    font-size: 1.3rem;
  }
  #spot_slider .splide__arrow {
    top: 8rem;
  }
  .recruit_guide_text {
   margin-bottom: 6rem;
  }
  .recruit_voice_list_item:before {
    left: 50%;
    transform: translateX(-50%);
  }
  #recruit_voice .title_heading {
    margin-bottom: 10rem;
  }
  #recruit_voice01:before {
   width: 6.6rem;
   height: 9.2rem;
   top: -7rem;
  }
  #recruit_voice02:before {
   width: 16.4rem;
   height: 9rem;
   top: -7rem;
  }
  .recruit_life_img:before {
   width: 9rem;
   height: 12.7rem;
   right: -1.8rem;
   bottom: -3.4rem;
  }
 }
@media print, screen and ( min-width : 768px ) {
  #recruit_info:before {
    width: 16.2rem;
    height: 11.2rem;
    top: -11rem;
  }
  #recruit_4points {
    padding-top: 25rem;
  }
  #recruit_4points:before {
    width: 12.4rem;
    height: 25rem;
    top: -5rem;
  }
  #recruit_about:before {
    width: 35rem;
    height: 9.3rem;
    top: -5rem;
  }
  .recruit_intro_text {
    margin-top: -12rem;
  }
  .recruit_4points_list_item {
    width: 48%;
    font-size: 1.5rem;
    margin-top: 8rem;
  }
  .recruit_4points_list_item:nth-child(-n+2) {
    margin-top: 0;
  }
  .recruit_4points_list_item h3 {
    margin-bottom: 3rem;
  }
  #recruit_4points .white_box_inner {
    padding: 6rem 5rem;
  }
  .recruit_about_img:after {
    width: 17rem;
    height: 15.9rem;
    right: -6.8rem;
    top: -6.8rem;
  }
  .recruit_voice_list_item_inner .qualification {
    min-height: 3em;
  }
  .recruit_voice_list_item {
    width: 48%;
  }
  .recruit_voice_list_item_inner {
    padding: 4rem 2rem 7rem;
  }
  .recruit_voice_list_item_inner h3 {
    margin-bottom: 3rem;
  }
  .recruit_voice_list_item_inner h3 span {
    font-size: 3.5rem;
  }
  .recruit_voice_list_item_inner figcaption {
    margin-top: 3.5rem;
    font-size: 2.8rem;
    margin-bottom: 1rem;
  }
   .recruit_voice_list_item_inner figcaption span {
     font-size: 1.8rem;
   }
   /* recruit_voice_faq スライダー - PC用 */
   .recruit_voice_faq_list .splide__arrow {
     width: 3.6rem;
     height: 3.6rem;
     top: 50%;
   }
   .recruit_voice_faq_list .splide__arrow--prev {
     left: -1.8rem;
   }
   .recruit_voice_faq_list .splide__arrow--next {
     right: -1.8rem;
   }
   .recruit_voice_faq_list_inner {
     padding: 0;
   }
   .recruit_voice_faq_list {
    margin: 7rem 2.4rem 0;
    height: auto !important;
    transition: height 0.2s ease-in-out;
   }
   .recruit_voice_faq_list .splide__track {
     height: auto !important;
     transition: height 0.2s ease-in-out;
   }
   .recruit_voice_faq_list .splide__list {
     align-items: flex-start !important;
     transition: height 0.2s ease-in-out;
   }
   .recruit_voice_faq_list .splide__slide {
     height: auto !important;
     min-height: auto !important;
   }
   .recruit_voice_faq_list_item {
     padding: 4rem 3rem 6rem;
     font-size: 1.5rem;
   }
   .recruit_voice_faq_title {
    margin-bottom: 3rem;
   }
   .recruit_voice_faq_title .en {
    font-size: 3.3rem;
    width: 6.4rem;
   }
   .recruit_voice_faq_title h5 {
    font-size: 1.9rem;
    width: calc(100% - 6.4rem);
    padding-left: 1rem;
   }
   #recruit_life h2 {
    margin-bottom: 6rem;
    margin-left: -5rem;
    margin-right: -5rem;
   }
   #recruit_life h3 {
    margin-bottom: 3rem;
   }
   #recruit_life h3 span {
    font-size: 2.7rem;
   }
   .recruit_life_text {
    width: 50rem;
   }
   .recruit_life_img {
    width: 48rem;
   }
   #spot_slider .splide__slide {
    font-size: 1.5rem;
    margin-top: 0 !important;
   }
   #spot_slider .splide__slide figcaption {
    font-size: 1.6rem;
   }
   .recruit_guide_text {
    margin-bottom: 10rem;
    letter-spacing: .1em;
   }
   #recruit_voice01:before {
    width: 14rem;
    height: 19.4rem;
    top: -12.8rem;
    left: -3.6rem;
   }
   #recruit_voice02:before {
    width: 25.7rem;
    height: 12.6rem;
    top: -8.8rem;
    right: -7rem;
   }
   .recruit_life_img:before {
    width: 14rem;
    height: 19.7rem;
    right: -6.8rem;
    bottom: -10rem;
   }
 }

/* ---------------------------------------------------------------------------------------------

　   RECRUIT TABLE

--------------------------------------------------------------------------------------------- */
.recruit_guide_list_item h3 {
  border-bottom: 1px solid var(--mainColor);
}
.recruit_guide_list_item h3 span {
  display:block;
}
.guide_table {
  width: 100%;
}
.guide_table th,
.guide_table td {
  vertical-align: middle;
}
.guide_table th {
  color: #fff;
  border-bottom: 1px solid #fff;
  letter-spacing: .1em;
  font-weight: 400;
}
.guide_table01 th {
  background-color: var(--mainColor);
}
.guide_table02 th {
  background-color: #d0c3a8;
}
.guide_table tr:last-of-type th {
  border-bottom: none;
}
.guide_table td {
  background-color: #fff;
  color: var(--mainColor);
}
.guide_table01 tr:nth-child(even) td {
  background-color: #e5eaec;
}
.guide_table01 tr:nth-child(odd) td {
  background-color: #ccd4d9;
}
.guide_table02 tr:nth-child(even) td {
  background-color: #efeae1;
}
.guide_table02 tr:nth-child(odd) td {
  background-color: #f8f6f2;
}
.recruit_guide_list_item_type02 h3 {
  color: #d0c3a8;
  border-bottom: 1px solid #d0c3a8;
}
.recruit_guide_list_item_link {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e50012;
  color: #fff;
  margin: 0 auto;
  font-weight: 700;
  position: relative;
}
.recruit_guide_list_item_link span {
  position: relative;
  padding-left: 3rem;
}
.recruit_guide_list_item_link span:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8rem;
  height: 1.8rem;
  background: url('../img/ico-mail.svg') no-repeat center center / 100%;
}
.recruit_guide_list_item_link:after {
  content: '';
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8rem;
  height: 1.8rem;
  background: url('../img/recruit/btn_arrow.png') no-repeat center center / 100%;
}
@media only screen and ( max-width : 767px ) {
  /* アコーディオンのスタイル（スマホのみ） */
  .recruit_guide_list_item {
    margin-bottom: 2rem;
  }
  .recruit_guide_list_item h3 {
    border-left: .7rem solid var(--mainColor);
    position: relative;
    transition: background-color 0.3s ease;
  }
  .recruit_guide_list_item_type02 h3 {
    border-left: .7rem solid #d0c3a8;
  }
  .recruit_guide_list_item h3:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    width: 2.6rem;
    height: 2.6rem;
    background: url('../img/arrow.png') no-repeat center center / 100%;
    transition: transform 0.3s ease;
  }
  .recruit_guide_list_item_type02 h3:after {
    background: url('../img/arrow_02.png') no-repeat center center / 100%;
  }
  .recruit_guide_list_item.is-open h3:after {
    transform: translateY(-50%) rotate(270deg);
  }
  .recruit_guide_list_item_inner {
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .recruit_guide_list_item h3 {
    padding: 1.5rem 4rem 1.5rem 2rem;
    font-size: 1.9rem;
    margin-bottom: 2.5rem;
  }
  .recruit_guide_list_item h3 span {
    font-size: 1.2rem;
    margin-top: .5rem;
  }
  .guide_table th,
  .guide_table td {
    padding: 1.5rem 1rem;
  }
  .guide_table th {
    width: 7rem;
  }
  .recruit_guide_list_item_link {
    font-size: 1.4rem;
    height: 5rem;
    margin-top: 3rem;
  }
  .recruit_guide_list_item_link span {
    padding-left: 2.5rem;
  }
  .recruit_guide_list_item_link span:before {
    width: 1.5rem;
    height: 1.5rem;
  }
  .recruit_guide_list_item_link:after {
    right: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media print, screen and ( min-width : 768px ) {
  .recruit_guide_list_item {
    margin-bottom: 5rem;
  }
  .recruit_guide_list_item h3 {
    border-left: 1rem solid var(--mainColor);
    padding: 2rem 0 2rem 3rem;
    font-size: 2.7rem;
    margin-bottom: 3.4rem;
  }
  .recruit_guide_list_item_type02 h3 {
    border-left: 1rem solid #d0c3a8;
  }
  .recruit_guide_list_item h3 span {
    font-size: 1.7rem;
    margin-top: 1rem;
  }
  .guide_table th,
  .guide_table td {
    padding: 2rem;
  }
  .guide_table th {
    width: 16rem;
  }
  .recruit_guide_list_item_link {
    font-size: 1.7rem;
    height: 6.4rem;
    width: 32.5rem;
    margin-top: 6rem;
  }
}



/* ---------------------------------------------------------------------------------------------

　   XXX

--------------------------------------------------------------------------------------------- */

@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
}
