@charset "utf-8";

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

　   Common

--------------------------------------------------------------------------------------------- */
.color_pink {
  color: var(--color1);
}
#page_title_area {
  height: 30rem;
  border-radius: 0 0 3rem 3rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/title.jpg) no-repeat center center / cover;
}
.page_title {
  position: relative;
  z-index: 2;
  text-align: center;
  font-weight: 500;
}
.page_title span {
  display:inline-block;
  border: 1px solid var(--color2);
  background: rgba(255,255,255,.45);
  font-size: 2.6rem;
  color: var(--color1);
  position: relative;
  padding: .1em .5em;
}
.page_title span:after {
  content: "";
  display: block;
  width: 3.6rem;
  height: 4.1rem;
  background: url(../img/butterfly01.png) no-repeat center / 100%;
  position: absolute;
  top: -2.2rem;
  right: -2.2rem;
}
.page_title_en {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  opacity: .5;
  font-size: 12rem;
}
.job #page_title_area {
  background: url(../img/works/title.jpg) no-repeat center center / cover;
}
.about #page_title_area {
  background: url(../img/about/title.jpg) no-repeat center center / cover;
}
.recruit #page_title_area {
  background: url(../img/recruit/title.jpg) no-repeat center center / cover;
}
.post-type-archive-experience #page_title_area,
.single-experience #page_title_area {
  background: url(../img/voice/title.jpg) no-repeat center center / cover;
}
.blog #page_title_area,
.single-post #page_title_area {
  background: url(../img/blog/title.jpg) no-repeat center center / cover;
}
.qualification #page_title_area {
  background: url(../img/requirements/title.jpg) no-repeat center center / cover;
}
.contact #page_title_area,
.thanks #page_title_area {
  background: url(../img/contact/title.jpg) no-repeat center center / cover;
}
#breadcrumbs {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 1.5rem;
  font-size: 1.1rem;
  text-align: center;
  padding: 0 1.5rem;
}
.page_menu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page_menu_list li {
  width: 49%;
  margin-top: 2%;
}
.page_menu_list li:nth-child(-n+2) {
  margin-top: 0;
}
.page_menu_list li a {
  display: flex;
  align-items: center;
  border: 1px solid var(--color2);
  border-radius: .5rem;
  color: var(--color2);
  font-weight: 500;
  height: 4.2rem;
  padding: 0 1rem;
  position: relative;
  font-size: 1.4rem;
}
.page_menu_list li a:after {
  content: "";
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/arrow_down.png) no-repeat center / 100%;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.page_menu_list li a span {
  line-height: 1.2em;
}
.contents_list {
  margin-left: -2rem;
  margin-right: -2rem;
}
.page_section_title {
  background: var(--gra);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3rem;
  height: 14rem;
}
.page_section_title__main {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  margin-bottom: .5rem;
  text-align: center;
  line-height: 1.3em;
}
.page_section_title__main span {
  font-size: 3.6rem;
  line-height: 1em;
}
.page_section_title__sub {
  font-size: 2rem;
  opacity: .6;
}
.page_section_title__sub span {
  position: relative;
  display: inline-block;
  padding: 0 3rem;
}
.page_section_title__sub span:before,
.page_section_title__sub span:after {
  content: "";
  width: 2rem;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.page_section_title__sub span:before {
  left: 0;
}
.page_section_title__sub span:after {
  right: 0;
}
.text {
  line-height: 1.8em;
}
.small_text {
  font-size: 1.2rem;
}
.btn_list {
  /* margin-top: 3rem; */
}
.btn_list li {
  margin-bottom: 1.5rem;
}
.btn_list li:last-child {
  margin-bottom: 0;
}

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


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

　   Works

--------------------------------------------------------------------------------------------- */
#work_flow .charm_slider {
  margin-left: -1rem;
  margin-right: -1rem;
}
#work_flow .charm_slider .contents_item {
  box-shadow: 0 0 1rem rgba(0,0,0,.1);
  margin: 1rem;
}
#work_flow .charm_slider .contents_item_img {
  margin-top: -1.5rem;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
#work_flow .charm_slider .contents_item_header {
  margin-top: -1rem;
  margin-bottom: 1rem;
}
#work_flow .charm_slider .contents_item_header .contents_item_title {
  margin-top: 1rem;
}
#work_flow .charm_slider .contents_item_text {
  margin-bottom: 0;
  padding: 0 1.5rem;
  width: 100%;
}
#work_flow .charm_slider .slick-next {
  right: -1rem;
}
#work_flow .charm_slider .slick-prev {
  left: -1rem;
}
#work_beginner {
  background: url(../img/bg_gra02.jpg) no-repeat center bottom / 100%;
}
.work_beginner_img {
  margin: 2rem 0;
  display: block;
}
.work_beginner_img img {
  border-radius: 1.5rem;
}
#work_beginner .charm {
  margin-top: 3rem;
}
.switch-feature-list {
  margin-top: 3rem;
}
.switch-feature {
  margin-bottom: 4rem;
}
.switch-feature:last-child {
  margin-bottom: 0;
}
.switch-feature__title {
  margin-bottom: 1.5rem;
  font-weight: 700;
  text-align: center;
  font-size: 2.2rem;
}
.switch-feature__img {
  margin-bottom: 2rem;
}
.switch-feature__img img {
  border-radius: 1.5rem;
}
.switch-feature__text {
  line-height: 1.8em;
}
@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
}

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

　   ABOUT

--------------------------------------------------------------------------------------------- */
.reasons_list {
  margin: 0;
}
.support_merit_list {
  background: var(--bgColor);
  padding: 1.5rem;
  border-radius: .6rem;
  margin: 2rem 0 3rem;
}
.support_merit_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.support_merit_list li {
  border: 1px solid var(--color2);
  color: var(--color2);
  font-weight: 500;
  padding: 1rem;
  border-radius: .6rem;
  margin-top: 2%;
  width: 49%;
  text-align: center;
  background: #fff;
}
.support_merit_list li:nth-child(-n+2) {
  margin-top: 0;
}
.support_merit_title {
  font-weight: 700;
  color: var(--color1);
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
}
.support_merit_img {
  margin: 2rem 0;
}
.sercret_item {
  margin-bottom: 4rem;
}
.sercret_item:last-child {
  margin-bottom: 0;
}
.sercret_item_title {
  font-weight: 700;
  color: var(--color1);
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
  border-left: 2px solid var(--color1);
  padding-left: 1rem;
}
.sercret_item_img {
  margin: 2rem 0;
}
.sercret_vonus_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  box-shadow: 0 0 1rem rgba(0,0,0,.1);
  border-radius: 1.5rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  margin-bottom: 2.5rem;
}
.sercret_vonus_item:last-child {
  margin-bottom: 0;
}
.sercret_vonus_item .contents_item_num {
  margin-bottom: 0;
}
.sercret_vonus_item .contents_item_title {
  width: 100%;
  margin-bottom: .5rem;
}
.contents_item_title {
  /* width: 100%;
  color: var(--color1); */
  /* margin-bottom: 1rem; */
}
.sercret_vonus .contents_item_text {
  width: calc(100% - 11rem);
}
.contents_item_text_bottom {
  width: 100%;
  margin-top: 1.5rem;
}
#gallery .gallery_slider {
  margin-top: 3rem;
}

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

　   Company

--------------------------------------------------------------------------------------------- */
.staff_message_img {
  display: block;
  width: 15rem;;
  margin: 4rem auto 2rem;
}
.staff_message .staff_message_title {
  font-size: 2.2rem;
  color: var(--color1);
  margin-bottom: 1rem;
  font-weight: 700;
}
.info_list dt {
  position: relative;
  padding-left: 1.2em;
  font-weight: 700;
  margin-bottom: .5rem;
}
.info_list dt:before {
  content: "";
  width: 1em;
  height: 1em;
  background: var(--color2);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.info_list dd {
  margin-bottom: 2rem;
}
.disc li {
  list-style: disc;
  margin-left: 1.2em;
  margin-bottom: 1em;
}
.disc li:last-child {
  margin-bottom: 0;
}
@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
}


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

　   Privacy Policy

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

.privacy-section {
  margin-bottom: 4rem;
}

.privacy-section:last-child {
  margin-bottom: 0;
}

.privacy-title {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.privacy-text {
  line-height: 1.8;
  margin-bottom: 1.5rem;
  color: #333;
}

.privacy-text:last-child {
  margin-bottom: 0;
}

.privacy-list {
  margin: 1.5rem 0;
  padding-left: 2rem;
}

.privacy-list li {
  list-style: decimal;
}


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

　   Recruit

--------------------------------------------------------------------------------------------- */
.recruit_title {
  margin-bottom: 4rem;
}
.recruit_title_category {
  background: var(--color2);
  color: #fff;
  font-size: 1.2rem;
  display: inline-block;
  padding: 0.2rem 1rem;
  border-radius: 2rem;
  margin-bottom: .5rem;
}
.recruit_title_txt {
  display: block;
  color: var(--color2);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.3em;
}

.tag_list {
  display: flex;
  flex-wrap: wrap;
}
.tag_list li {
  background: #F0F0F0;
  border-radius: 2rem;
  font-size: 1.4rem;
  padding: 0.2rem 1rem;
  margin: .5rem 1rem .5rem 0;
}
.recruit_sub_title {
  background: var(--bgColor);
  padding: .4em 1em;
  margin-bottom: 2.5rem;
  margin-top: 6rem;
  font-size: 1.8rem;
  font-weight: 700;
}
#recruit_info .btn {
  margin-top: 3rem;
}

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

　   Voice

--------------------------------------------------------------------------------------------- */
.single-experience #page_title_area {
  border-radius: 0;
}
.voice_single_title {
  background: var(--gra);
  color: #fff;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 500;
  border-radius: 0 0 3rem 3rem;
  padding: 3rem 0;
  margin-bottom: 3rem;
}
.voice_list .contents_item {
  margin-top: 8rem;
}
.voice_item_img {
  margin: 0 auto 2rem;
  display: block;
}
.voice_list .voice_item_img img {
  position: relative;
  margin-top: -4rem;
}
.voice_single_content {
  margin-bottom: 4rem;
}
.voice_single_content h4 {
  border-bottom: 1px solid var(--color1);
  color: var(--color1);
  font-weight: 700;
  font-size: 1.6rem;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
  margin-top: 4rem;
}
.voice_single_content p {
  line-height: 1.8em;
}
@media only screen and ( max-width : 767px ) {
}
@media print, screen and ( min-width : 768px ) {
}

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

　   Blog

--------------------------------------------------------------------------------------------- */
.blog_single {
  max-width: 80rem;
  margin: 0 auto;
  padding: 3rem 2rem;
}

.blog_article {
  margin-bottom: 4rem;
}

.blog_hero_img {
  width: 100%;
  height: 24rem;
  overflow: hidden;
  margin-bottom: 2rem;
}

.blog_hero_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 1.5rem;
  border: 1px solid #E0E0E0;
}

.blog_meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.blog_category {
  background: var(--color2);
  color: #fff;
  padding: 0.2rem 1rem;
  border-radius: 2rem;
  font-size: 1.2rem;
  font-weight: 500;
}

.blog_date {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  background: #F0F0F0;
  padding: 0.2rem 1rem;
  border-radius: 2rem;
  color: #808080;
}

.blog_date:before {
  content: "📅";
  margin-right: 0.5rem;
}

#blog_list_wrap .blog_title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1rem;
}
#blog_single .blog_title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 3rem;
  color: var(--color2);
  margin-top: 2rem;
}

#blog_list_wrap .blog_article a {
  display: block;
}

#blog_list_wrap .blog_content p {
  font-size: 1.4rem;
  line-height: 1.8;
}
#blog_single .blog_content p {
  line-height: 1.8;
  margin: 2em 0;
}
#blog_single .blog_content p a {
  text-decoration: underline;
  color: #00ABDE;
}
#blog_single .blog_content p a.btn {
  color: #fff;
  text-decoration: none;
}
#blog_single .blog_content h1 {
  background: var(--gra);
  color: #fff;
  padding: 2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
  font-family: YakuHanMP,"Zen Maru Gothic","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  margin-left: -2rem;
  margin-right: -2rem;
  margin-bottom: 2rem;
}
.blog_content h2 {
  background: var(--color2);
  color: #fff;
  padding: 0.2rem 1rem;
  border-radius: 0 5rem 5rem 0;
  margin-left: -2rem;
  font-size: 1.8rem;
  margin-bottom: 1rem;
  padding: .4em 1em;
  font-family: YakuHanMP,"Zen Maru Gothic","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
}
.blog_content h3 {
  border-left: .5rem solid var(--color1);
  padding-left: 1rem;
  margin-bottom: 1.5rem;
  color: var(--color2);
  font-family: YakuHanMP,"Zen Maru Gothic","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
}
.blog_content figure {
  margin: 2em 0;
}
.blog_content figure img {
  width: 100%;
}
.blog_content figure figcaption {
  font-size: 1.2rem;
  color: #808080;
  margin-top: 1rem;
  text-align: center;
}

#related_blog {
  background: linear-gradient(to bottom,  rgba(255,242,248,1) 0%,rgba(255,255,255,1) 100%);
  padding-top: 6rem;
}
#related_blog .blog_list {
  margin-bottom: 3rem;
}
#related_blog .blog_list li {
  margin-bottom: 2.5rem;
}
#related_blog .blog_list li:last-child {
  margin-bottom: 0;
}
#related_blog .blog_list .blog_item {
  display: flex;
  align-items: flex-start;
}
#related_blog .blog_list .blog_item_img {
  width: 11.4rem;
  height: 11.4rem;
  margin-right: 1.5rem;
}
#related_blog .blog_list .blog_item_img .fit {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: .5rem;
  background: #fff
}
#related_blog .blog_list .blog_item_text {
  width: calc(100% - 12.9rem);
}
#related_blog .blog_list .blog_item_date {
  color: #808080;
  font-size: 1.2rem;
}
#related_blog .blog_list .blog_item_title {
  font-size: 1.6rem;
  font-weight: 700;
  margin: .5rem 0;
}
#related_blog .blog_list .blog_item_excerpt {
  font-size: 1.3rem;
}

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

　   Requirements

--------------------------------------------------------------------------------------------- */
.requirements_title {
  position: relative;
  min-height: 4.8rem;
  display: flex;
  align-items: center;
  padding-left: 5.8rem;
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 2rem;
  margin-top: 3.6rem;
}
.requirements_title:before {
  content: "";
  width: 4.8rem;
  height: 4.8rem;
  background: url(../img/requirements/check.png) repeat-x center bottom / 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.tel_contact_img {
  display: block;
  margin: 2rem 0;
}
.text_color {
  color: var(--color1);
}

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


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

　   Contact

--------------------------------------------------------------------------------------------- */
.contact-area {
  background: #F5F5F5;
  border-radius: 1rem;
  padding: 2.5rem 1.5rem;
  margin: 2rem 0 6rem;
}
.contact-tel {
  width: 28.8rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}
.contact-tel .tel-note {
  background: #fff;
  font-size: 1.2rem;
  display: block;
  text-align: center;
  padding: .2em .6em;
  border-radius: .5rem;
}
.contact-tel .tel-opentime {
  font-weight: 700;
  font-size: 1.3rem;
  display: block;
}
.contact-tel .icon-tel {
  display: inline-block;
  margin-top: -.5rem;
  margin-right: .5rem;
}
.contact-tel .icon-tel img {
  display: block;
}
.contact-tel .tel-number {
  color: var(--color1);
  font-weight: 500;
  line-height: 1;
  font-size: 3.4rem;
}
.contact_text {
  line-height: 1.8em;
  margin-bottom: 3rem;
}

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

　   CONTACT

--------------------------------------------------------------------------------------------- */
.smf-item__col--label {
  position: relative;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::before {
  content: "必須";
  display: inline-block;
  padding: .3em .4em;
  color: #fff;
  background-color: var(--color1);
  font-weight: 400;
  line-height: 1;
  border-radius: .5rem;
  top: 0;
  right: 0;
  position: absolute;
}
.snow-monkey-form[data-screen="confirm"] .smf-item:has([data-validations~="required"]) .smf-item__label__text::before {
  content: none;
}
.smf-action .smf-button-control__control {
  background: var(--gra);
  color: #fff;
  height: 6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-weight: 500;
  width: 36rem;
  border: 1px solid #fff;
  border-radius: 6rem;
  font-size: inherit;
  font-size: 2rem;
  font-family: YakuHanMP,"Zen Maru Gothic","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
}
.smf-action .smf-button-control__control:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url(../img/arrow.svg) no-repeat center / contain;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  transition: .3s;
}
.smf-action .smf-button-control__control[data-action="back"] {
  background: #999;
  margin-bottom: 1.5rem;
}


.smf-action .smf-button-control__control:hover {
    border-color: inherit!important;
    box-shadow: none;
}

.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
  background: url(../img/contact/check.png) no-repeat center / 100%;
  color: transparent;
}
.aria-current .smf-progress-tracker__item__number {
  background: url(../img/contact/check.png) no-repeat center / 100%;
  color: transparent;
}
.smf-progress-tracker__item__number {
  width: 4.4rem;
  height: 4.4rem;
}
.smf-progress-tracker__item:after, .smf-progress-tracker__item:before {
  top: 1.8rem;
  background: var(--color1);
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
  color: var(--color1);
}
.smf-progress-tracker__item__number {
  background: #fff;
  color: #fff;
  border: 1px solid var(--color1);
}
.smf-progress-tracker__item__text {
  font-weight: 700;
}
.form_privacy_txt {
  margin: 1.5rem 0;
  font-size: 1.3rem;
}
.form_privacy_txt a {
  text-decoration: underline;
}
.snow-monkey-form[data-screen="confirm"] .form_privacy_txt {
  display: none;
}
.smf-item__label {
  font-weight: 700;
}
.smf-form--letter .smf-text-control__control {
  border: 1px solid #ccc;
  padding: 1.3rem;
  font-size: inherit;
  font-family: inherit;
}
.smf-form .smf-textarea-control__control {
  border: 1px solid #ccc;
  padding: 1.3rem;
  font-size: inherit;
  font-family: inherit;
}

.smf-complete-content h2 {
  text-align: center;
}
.smf-complete-content p {
  line-height: 2em;
  margin-bottom: 1.5em;
  text-align: center;
}
.smf-placeholder {
  overflow-wrap: break-word;
}
.smf-error {
  color: #cc3033;
  margin-top: var(--_margin-2);
}
.smf-action .smf-button-control+.smf-button-control {
  margin-left: 0;
}



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

　   XXX

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

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