/*= 共通 =*/
#body_wrapper {
  margin-top:78px ;
}

.page-body {

}

.page .section a {
  text-decoration: underline;
}

@media screen and (min-width: 768px){
  .grid_wrapper {
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
  }
}

.page .contents_header {
  text-align: center;
  padding: 64px 14px 48px;
  color:  #001751;
  font-size: 3rem;
  position: relative;
  background: #F2FBFF;
}

.page .contents_header img{
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 20%;
  transform: translateY(-12px);
}
.discussion .contents_header img{
  top: 2%;
}
.interview .contents_header img{
  top: 6%;
}


@media screen and (min-width: 768px) {
  .page .contents_header img{
    transform:  translateY(-12px) translateX(-12%);
  }
  .faq .contents_header img,
  .entry .contents_header img{
    transform:  translateY(-12px) translateX(-24%);
  }
}

.page .contents_header .page-title {
  font-weight: 700;
  position: relative;
}

.page .content-lead {
  padding: 1rem;
  font-size: 1.125rem;
}

.table_style {
  width: 100%;
}

.table_style .th,
.table_style .td{
  padding: .5rem;
}
.table_style .th {
  background: #00AEFF;
  color:  #fff;
}
.table_style .td {
  border:1px solid  #d9d9d9;
}

@media screen and (max-width: 768px) {
  .table_style .td {
    border:1px solid  #d9d9d9;
    border-top: none;
    margin-bottom: .5rem;
  }
}

.section .disc_style {
  padding-left: 1.5rem;
  list-style-type: disc;
  margin-bottom: 1rem;
} 

.text_center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .grid_wrapper {
    display: grid;
    gap: 1rem;
  }
  .grid_2 {
    grid-template-columns:repeat(2,1fr);
  }
  .grid_3 {
    grid-template-columns:repeat(3,1fr);
  }
  .grid_4 {
    grid-template-columns:repeat(4,1fr);
  }
  .table_style {
    display: grid;
    grid-template-columns:150px 1fr;
  }
  .table_style .th {
    border-bottom: 1px solid #fff;
  }
  .table_style .td {
    border-bottom: none;
  }
  .table_style .td:last-child {
    border-bottom: 1px solid #d9d9d9;
  }
}

.list_item {
  padding: .25rem 0;
}
.list_item:first-child {
  padding-top:0;
}

.archive_list .entry {
  margin-bottom: 24px;
}

/*= サイドバー =*/
.side_archives .side_title{
  font-weight: 700;
  color: #001751;
  font-size: 1.25rem;
}

.side_archives .page_list {
  margin-bottom: 1rem;
}

.side_archives .page_list li {
  border-bottom: 1px solid #d9d9d9;
}
.side_archives .page_list li a{
  display: block;
  padding: .5rem 1rem .5rem 0;
  position: relative;
}

.side_archives .page_list li a::before {
  content: "";
  width: .75rem;
  height: .75rem;
  border-top: 1px solid #00AEFF;
  border-right: 1px solid #00AEFF;
  transform: rotate(45deg);
  margin: auto;
  top: 0;
  bottom: 0;
  right: .5rem;
  position: absolute;
}

.side_archives .month_list {
  display: none;
  margin:.5rem ;
  margin-right: 0;
}

.side_archives .month_list li{
  border-bottom:1px solid #CCEFFF;
  background: #F2FBFF;
  padding-left: .5rem;
}

.side_archives .month_list li:last-child{
  border-bottom: none;
}

.side_archives .year_header {
  display: block;
  padding: .5rem 1rem .5rem 0;
  position: relative;
  cursor: pointer;
  border-bottom:1px solid #d9d9d9;
}

.side_archives .year_header::before,
.side_archives .year_header::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  background: #00AEFF;
}

.side_archives .year_header::before{
  width: 1.25rem;
  height: 1px;
  right: 0;
}

.side_archives .year_header::after{
  width: 1px;
  height: 1.25rem;
  right: calc(1.25rem / 2);
  transform: rotate(0);
  opacity: 1;
  transition: transform .25s ease,opacity .25s ease;
}

.side_archives .year_header.current + .month_list {
  display: block;
}

.side_archives .year_header.current::after {
  transform: rotate(90deg);
  opacity: 0;
}

/*= 個別記事 =*/
@media screen and (min-width: 768px) {
  .section_post .grid_wrapper {
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
  }
}

.section_post .post_body a{
  color: #FF2D5F;
  text-decoration: underline;
}
.section_post .post_body p,
.section_post .post_body ul{
  margin-bottom: 1rem;
}

.section_post .post_body .date{
  text-align: right;
  font-size: .875rem;
  padding: .25rem;
  background: #f3f3f3;
  margin-top: 2rem;
}

.section_post .post_footer {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(2,1fr);
}

.section_post .post_footer .post_next {
  text-align: right;
}

.section_post .post_footer .post_next a,
.section_post .post_footer .post_prev a{
  color: #FF2D5F;
  padding: .5rem 2rem .5rem 1rem;
  border:1px solid #FF2D5F;
  position: relative;
  display: inline-block;
}

.section_post .post_footer .post_prev a {
  padding-right: 1rem;
  padding-left: 2rem;
}

.section_post .post_footer .post_next a::before,
.section_post .post_footer .post_prev a::before{
  content: "";
  width: .8rem;
  height: .8rem;
  border-top:1px solid #FF2D5F;
  border-right:1px solid #FF2D5F;
  position: absolute;
  right: 1rem;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

.section_post .post_footer .post_prev a::before {
  transform: rotate(-135deg);
  right: auto;
  left: 1rem;
}

/*= フォーム =*/
.form_wrap {
  margin-bottom: 24px;
}
.form_wrap .form_item,
.form_wrap .check_item {
  margin:0 0 1.5rem;
}
.form_wrap .check_item {
  padding: 8px;
}
.form_wrap .form_item label {
  padding: 6px 4px;
  background:#F2FBFF ;
  border-bottom: none;
  display: inline-block;
}
.form_wrap .form_item input,
.form_wrap .form_item textarea {
  padding: 6px;
  border:1px solid #d9d9d9 ;
  width: 100%;
  vertical-align: bottom;
}
.form_wrap .submit_wrap {
  margin-top: 2rem;
}

.form_wrap .submit_wrap input[type="submit"]:disabled{
  background-color: #ddd;
  color: #ccc;
  border:1px solid #ddd ;
  transition: background .25s ease,color .25s ease,border .25s ease;
}

.form_wrap .submit_wrap input[type="submit"]{
  color: #00AEFF;
  font-size: 1.125rem;
  border-radius: 2px;
  padding: .5rem 1rem;
  border: 1px solid #00AEFF;
  transition: background .25s ease,color .25s ease,border .25s ease;
}

.form_wrap .submit_wrap input[type="submit"]:hover{
  background: #00AEFF;
  color: #fff;
}

.form_wrap .wpcf7-spinner {
  display: block;
  margin: 1rem auto;
}

.form_wrap .form_item .wpcf7-checkbox,
.form_wrap .form_item .wpcf7-radio {
  display: inline-block;
  padding: 4px 4px 0;
  vertical-align: text-bottom;
}

.form_wrap .form_item .wpcf7-checkbox .wpcf7-list-item {
  margin-bottom: 8px;
}

.wpcf7-list-item-label {
  vertical-align: text-bottom;
}

.form_wrap .form_item .wpcf7-form-control-wrap label{
  background: none;
  border: none;
}

.form_wrap input[type="checkbox"] + .wpcf7-list-item-label,
.form_wrap .form_item .wpcf7-checkbox label{
  padding-left: 36px;
  position: relative;
}

.form_wrap .form_item .wpcf7-radio label {
  padding-left: 28px;
  position: relative;
  top: 4px;
}

.form_wrap input[type="checkbox"] + .wpcf7-list-item-label:before,
.form_wrap .form_item .wpcf7-checkbox .wpcf7-list-item-label::before,
.form_wrap .form_item .wpcf7-radio .wpcf7-list-item-label::before{
  width: 24px;
  height: 24px;
  border: 1px solid #00AEFF;
  position: absolute;
  left: 0;
  top: 0;
}

.form_wrap .form_item .wpcf7-radio .wpcf7-list-item-label::before{
  width: 20px;
  height: 20px;
  border-radius: 12px;
}

.form_wrap input[type="checkbox"]:checked + .wpcf7-list-item-label:after,
.form_wrap .form_item .wpcf7-checkbox input[type="checkbox"]:checked  + .wpcf7-list-item-label::after {
  width: 8px;
  height: 12px;
  border-right:#00AEFF 4px solid;
  border-bottom:#00AEFF 4px solid;
  position: absolute;
  transform: rotate(45deg);
  left: 8px;
  top: 2px;
}
.form_wrap .form_item .wpcf7-radio input[type="radio"]:checked  + .wpcf7-list-item-label::after {
  width: 14px;
  height: 14px;
  border-radius: 7px;
  background:#00AEFF;
  position: absolute;
  left: 4px;
  top: 4px;
}

.wpcf7-not-valid-tip {
  padding:4px 8px;
}

.section_form .attention {
  margin-bottom: 1rem;
}

.section_form .note_rec a{
  color: #FF2D5F;
  text-decoration: underline;
}

@media screen and (min-width: 768px){
  .form_wrap {
    max-width: 960px;
    margin:0 auto 2rem;
  }
  .form_wrap .form_item label {
    text-align: right;
    padding-right: 8px;
    height: 100%;
  }
  .form_wrap .form_item p{
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 4px;
    align-items: center;
  }
  .contact .lead {
    text-align: center;
    padding-bottom: 2rem;
  }
  .contact .grid_wrapper {
    grid-template-columns: repeat(2,1fr);
  }
}

.form_lead {
  margin:0 auto 2rem;
  padding: 1rem;
  max-width: 960px;
  background: #fafafa;
}

.page .subtitle {
  font-size: 1.5rem;
  background: #001751;
  font-weight: 700;
  color: #fff;
  padding: .5rem 1rem;
}

.page .container {
  background: #F2FBFF;
}

.page .container .section_inner {
  padding: 1rem;
}
.page .container .section_inner ul li{
  margin-bottom: 8px;
  line-height: 1.6;
}

/*= 仕事を知る =*/
.job .content-lead {
  margin-bottom: 1rem;
}
.job .container {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px){
  .job .grid_wrapper {
    margin-top: 1rem;
    gap: 3rem;
  }
  .job .container {
    margin-bottom: 0;
  }
}

.job .products-note {
  background: #F2FBFF;
  padding: 1rem;
}

/*= 募集要項 =*/
.guide .guide_section .guide .guide_body {
  background: #F2FBFF;
}

.guide .info_section {
  background: #F2FBFF;
}

.guide .flow_section .step-box .step-body{
  background: #F2FBFF;
}
@media screen and (min-width: 1024px) {
  .guide .flow_section .step-box{
    background: #F2FBFF;
  }
}

/*= 人を知る =*/
.section_presmessage {
  .section_body {
    .pres_img {
      text-align: center;
    }
    .message_wrapper{
      padding: 1rem;
      background: #F2FBFF;
      font-size: 1.125rem;
      line-height: 1.45;
    }
    .message_body {
      padding: 0 0 1rem;
    }
    .message_body p {
      margin-bottom: 1rem;
    }
    .pres_sign {
      text-align: right;
      font-weight: 700;
    }
    .pres_position{
      margin-right: 8px;
    }
    .pres_name {
      font-size: 1.5rem;
      color: #001751;
    }
  }
}
@media screen and (min-width: 768px) {
  .section_presmessage .section_body {
    display: grid;
    grid-template-columns: 40% 60%;
    img {
      object-fit: cover;
      object-position: center;
      width: 100%;
      height: 100%;
    }
  }
}

.section_newmovie .section_body{
  margin-bottom: 2rem;
}

.section_newmovie .section_body .info_wrapper {
  padding: 1rem 0;
}
.section_newmovie .section_body .info_wrapper .info_name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #001751;
}
.section_newmovie .section_body .info_wrapper .desc_label {
  display: inline-block;
  background: #001751;
  color: #fff;
  padding:0 .25rem;
  margin-right: 8px;
}

.section_oldmovie .section_body{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
}

@media screen and (min-width: 768px) {
  .section_oldmovie .section_body{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 2rem;
  }
  .section_newmovie .section_body{
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
  }
}

/*= 会社を知る =*/
.discussion .section_lead{
  text-align: center;
}

.discussion .section_lead .lead_title,
.discussion .section_lead .lead_sub{
  font-weight: 700;
  font-size: 2.25rem;
  line-height: 1.2;
  margin-bottom: .5rem;
  color: #00AEFF;
}
.discussion .section_lead .lead_body {
  margin-top: 1rem;
  line-height: 1.6;
  text-align: left;
  padding: .5rem;
  background: #fafafa;
}

.discussion .member_name {
  padding: .5rem 0;
}

.discussion .member_name .name{
  display: block;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 0 0 4px;
}
.discussion .member img {
  border-radius: 100%;
  border:6px solid #eee ;
}

.discussion .member_murata img{
  border-color:#40C2FF ;
}
.discussion .member_murata .member_name .name,
.discussion .section_talk .member_murata .member_name {
  color: #00AEFF;
}

.discussion .member_anzai img{
  border-color:#98DD40 ;
}
.discussion .member_anzai .member_name .name,
.discussion .section_talk .member_anzai .member_name {
  color: #75D100;
}

.discussion .member_takahasi img{
  border-color:#FF7A40 ;
}
.discussion .member_takahasi .member_name .name,
.discussion .section_talk .member_takahasi .member_name {
  color: #FF4D00;
}

.discussion .member_hosino img{
  border-color:#B67DFF ;
}
.discussion .member_hosino .member_name .name,
.discussion .section_talk .member_hosino .member_name {
  color: #9D51FF;
}

.discussion .member_itakawa img{
  border-color:#F2D640 ;
}
.discussion .member_itakawa .member_name .name,
.discussion .section_talk .member_itakawa .member_name {
  color: #EEC800;
}

.discussion .section_talk .section_body {
  max-width: 960px;
  margin: 0 auto;
}

.discussion .section_talk .section_title {
  margin-bottom: 2rem;
}

.discussion .section_talk .section_body .section_txt {
  padding: 1rem;
  background: #E6F7FF;
  position: relative;
}

.discussion .section_talk .section_body .section_txt p{
  margin-bottom:.5rem;
}

.discussion .member_list {
  text-align: center;
}

.discussion .section_talk .member_name{
  font-weight: 700;
}

@media screen and (max-width: 620px) {
  .discussion .member_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .discussion .member_list .list_item {
    width: calc(50% - 1rem);
  }
}

@media screen and (min-width: 621px) and (max-width: 980px){
  .discussion .member_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .discussion .member_list .list_item {
    width: calc(33.333% - 1rem);
  }
}

@media screen and (min-width: 981px){
  .discussion .member_list {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .discussion .section_talk .section_body {
    margin-bottom: 3rem;
  }
  .discussion .section_body .member {
    text-align: center;
  }
  .discussion .section_body .member img{
    max-width: 50%;
    display: block;
    margin: 0 auto;
  }
  .discussion .section_talk .section_body .section_txt{
    margin-top: 24px;
  }
  .discussion .section_talk .section_body .section_txt::before {
    content: "";
    width: 0;
    height: 0;
    border: transparent 8px solid;
    border-bottom:#E6F7FF 16px solid ;
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
    margin: auto;
  }
}


@media screen and (min-width: 768px) {
  .discussion .section_lead .lead_body {
    text-align: center;
    background: none;
  }
  .discussion .member_name {
    text-align: center;
  }
  .discussion .section_talk .section_body{
    display: grid;
    grid-template-columns: 1fr 4fr;
    gap: 2rem;
    margin-bottom: 2rem;
  }
  .discussion .section_talk .section_body .member{
    text-align: center;
  }
  .discussion .section_talk .section_body .member img{
    max-width: 70%;
  }

  .discussion .section_talk .section_body .member .member_name{
    display: block;
  }

  .discussion .section_talk .section_body .section_txt::before {
    content: "";
    width: 0;
    height: 0;
    border: transparent 8px solid;
    border-right:#E6F7FF 16px solid ;
    position: absolute;
    top: 36px;
    left: -24px;
  }
}

.discussion .img_header {
  margin-top: 2rem;
}

.discussion .img_wrap{
  text-align: center;
}
.discussion .img_add1 img{
  max-width: 420px;
}

.discussion .img_add2 img{
  max-width: 360px;
}

.discussion .img_footer{
  margin-bottom: 2rem;
} 

/*= よくある質問 =*/
.faq-list .list_item{
  padding: 0;
  border: 2px solid #E6F7FF;
  margin-bottom: .5rem;
}

.faq-list .list_item p{
  position: relative;
  padding: .75rem .75rem .75rem 2.5rem;
}

.faq-list .list_item p::before{
  position: absolute;
  left: .75rem;
  top: .75rem;
  font-weight: 700;
}

.faq-list .list_item .question {
  font-size: 1.125rem;
  background: #E6F7FF;
  color: #001751;
  font-weight: 700;
}

.faq-list .list_item .question::before {
  content:"Q.";
  color: #001751;
}

.faq-list .list_item .answer::before {
  content:"A.";
  color: #FF002E;
  font-size: 1.125rem;
  text-indent: 1px;
}

@media screen and (min-width: 1024px) {
  .faq-list .list_item{
    margin-bottom: 0;
  }
  .faq-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: .5rem;
  }
}


/*= プライバシーポリシー =*/
.section_privacy {
  max-width: 960px;
  line-height: 1.6;
}
.section_privacy .section_body{
  padding: 1.5rem 0 ;
  border-bottom: 1px solid #eee;
}
.section_privacy .section_body:last-child{
  border-bottom: none;
}

.section_privacy .body_title{
  padding: .5rem 0;
}

.section_privacy .section_body li{
  padding-bottom: .25rem;
}

.section_privacy .section_body .disc_style {
  margin-bottom: 0;
}

.section_privacy .privacy_lead {
  padding: 1rem;
  background: #fafafa;
  border-bottom: none;
}

.section_privacy address {
  margin-top: 1rem;
  font-size: 1.125rem;
}