@charset "UTF-8";
/*===================================
  
  コンテンツ幅

===================================*/
.inner {
  width: 960px;
  margin: 0 auto; }

.inner_s {
  width: 880px;
  margin: 0 auto; }

/* SP */
@media screen and (max-width: 991px) {
  .inner, .inner_s {
    width: 100%;
    padding: 0 5%; }

  .inner .inner_s {
    padding: 0; } }
/*===================================
  
  pタグ間の余白

===================================*/
section p + p {
  margin-top: 30px; }

/* SP */
@media screen and (max-width: 991px) {
  section p + p {
    margin-top: 15px; } }
/*===================================
  
  flex

===================================*/
.flex_2column, .flex_3column {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.flex_2column > .flex_item {
  width: 450px; }

.flex_3column > .flex_item {
  width: 260px; }

/* PC */
@media screen and (min-width: 992px) {
  .flex_2column > .flex_item:nth-child(n+3),
  .flex_3column > .flex_item:nth-child(n+4) {
    margin-top: 50px; }

  .flex_3column {
    position: relative; }

  .flex_3column::after {
    content: '';
    display: block;
    width: 260px;
    height: 0; } }
/* SP */
@media screen and (max-width: 991px) {
  .flex_2column > .flex_item {
    width: 100%; }
    .flex_2column > .flex_item:not(:last-child) {
      margin-bottom: 30px; }

  .flex_3column > .flex_item {
    width: 47%; }
    .flex_3column > .flex_item:nth-child(n+3) {
      margin-top: 30px; } }
/*===================================
  
  list

===================================*/
.list_no > li, .list_dot > li, .list_caution > li {
  position: relative;
  padding-left: 1.3em; }
  .list_no > li::before, .list_dot > li::before, .list_caution > li::before {
    position: absolute;
    display: block;
    left: 0;
    font-size: inherit; }

.list_no > li:nth-child(1)::before {
  content: '1.'; }

.list_no > li:nth-child(2)::before {
  content: '2.'; }

.list_no > li:nth-child(3)::before {
  content: '3.'; }

.list_no > li:nth-child(4)::before {
  content: '4.'; }

.list_no > li:nth-child(5)::before {
  content: '5.'; }

.list_no > li:nth-child(6)::before {
  content: '6.'; }

.list_no > li:nth-child(7)::before {
  content: '7.'; }

.list_no > li:nth-child(8)::before {
  content: '8.'; }

.list_no > li:nth-child(9)::before {
  content: '9.'; }

.list_no > li:nth-child(10)::before {
  content: '10.'; }

.list_dot > li::before {
  content: '・'; }

.list_caution > li::before {
  content: '※'; }

.list_check > li {
  position: relative;
  padding-left: 40px; }
  .list_check > li::before {
    content: '';
    position: absolute;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: 3px;
    transform: translate(0, -50%);
    background: url(../img/img-common/icon_check.png);
    background-size: 25px auto;
    background-repeat: no-repeat;
    width: 25px;
    height: 25px; }
  .list_check > li:not(:last-child) {
    margin-bottom: 15px; }

@media screen and (max-width: 991px) {
  .list_check > li {
    padding-left: 30px; }
    .list_check > li::before {
      margin-top: 1px;
      background-size: 20px auto;
      background-repeat: no-repeat;
      width: 20px;
      height: 20px; }
    .list_check > li:not(:last-child) {
      margin-bottom: 15px; } }
/*===================================
  
  text

===================================*/
.lead01 {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  font-family: YuMincho,'Yu Mincho',serif;
  line-height: 1.7; }

.lead02 {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px; }

.lead03 {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  padding-bottom: 30px;
  font-family: YuMincho,'Yu Mincho',serif; }
  .lead03 > span {
    display: inline-block;
    position: relative;
    padding: 0 60px; }
    .lead03 > span::before {
      content: '「';
      font-size: 3.2rem;
      color: #009FE9;
      position: absolute;
      left: 0;
      top: -15px; }
    .lead03 > span::after {
      content: '」';
      font-size: 3.2rem;
      color: #009FE9;
      position: absolute;
      right: 0;
      bottom: -15px; }

/* SP */
@media screen and (max-width: 991px) {
  .lead01 {
    font-size: 1.8rem;
    margin-bottom: 30px;
    line-height: 1.6; }

  .lead02 {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 20px; }

  .lead03 {
    font-size: 1.8rem;
    padding-bottom: 20px; }
    .lead03 > span {
      padding: 0 40px; }
      .lead03 > span::before {
        font-size: 2.6rem;
        top: -15px;
        left: -15px; }
      .lead03 > span::after {
        font-size: 2.6rem;
        bottom: -10px;
        right: -15px; } }
/*===================================
  
  img

===================================*/
.img_block {
  margin-top: 20px; }

/*===================================
  
  table

===================================*/
.tbl_bd {
  margin: 0;
  padding: 0px;
  width: 100%;
  table-layout: fixed;
  word-wrap: break-word;
  white-space: normal; }

.tbl_bd th, .tbl_bd td {
  font-size: 1.5rem;
  vertical-align: middle;
  border-bottom: 1px solid #bbbbbb;
  padding: 20px 15px;
  line-height: 1.6; }

.tbl_bd th {
  font-weight: bold;
  border-bottom-color: #37beff;
  width: 20%; }

.tbl_bd td {
  padding-left: 20px; }

/* SP */
@media screen and (max-width: 991px) {
  .tbl_bd th, .tbl_bd td {
    font-size: 1.2rem;
    padding: 15px 10px; }

  .tbl_bd th {
    width: 30%; }

  .tbl_bd td {
    padding-left: 25px; } }
/*===================================
  
  section（上部の余白）

===================================*/
.sect {
  margin-top: 90px; }

.sect_s {
  margin-top: 80px; }

/* SP */
@media screen and (max-width: 991px) {
  .sect {
    margin-top: 50px; }

  .sect_s {
    margin-top: 40px; } }
/*===================================
  
  メインビジュアル

===================================*/
.main_mv {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-top: 196px; }

.service .main_mv {
  background-image: url(../img/img-service/mv_pc.jpg); }

.products .main_mv {
  background-image: url(../img/img-products/mv_pc.jpg);
  padding-bottom: 100px;}

.vision .main_mv {
  background-image: url(../img/img-vision/mv_pc.jpg); }

.company .main_mv {
  background-image: url(../img/img-company/mv_pc.jpg); }

.pressrelease .main_mv {
  background-image: url(../img/img-pressrelease/mv_pc.jpg);
  padding-bottom: 100px;}

.form .main_mv {
  background-image: url(../img/img-form/mv_pc.jpg);
  padding-bottom: 100px;}
  
.privacy .main_mv {
  background-image: url(../img/img-privacy/mv_pc.jpg);
  padding-bottom: 100px;}

.declaration .main_mv {
  background-image: url(../img/img-declaration/mv_pc.jpg); }


@media screen and (min-width: 992px) {
  .main_mv {
    background-position: center top;
    background-size: auto 260px;
    min-height: 260px; } }
/* SP */
@media screen and (max-width: 991px) {
  .main_mv {
    padding-top: 35%; }

  .service .main_mv {
    background-image: url(../img/img-service/mv_sp.jpg); }

  .products .main_mv {
    background-image: url(../img/img-products/mv_sp.jpg); }

  .vision .main_mv {
    background-image: url(../img/img-vision/mv_sp.jpg); }

  .company .main_mv {
    background-image: url(../img/img-company/mv_sp.jpg); }

  .pressrelease .main_mv {
    background-image: url(../img/img-pressrelease/mv_sp.jpg); }

  .form .main_mv {
    background-image: url(../img/img-form/mv_sp.jpg); } 
    
  .privacy .main_mv {
    background-image: url(../img/img-privacy/mv_sp.jpg); } 
	
.declaration .main_mv {
  background-image: url(../img/img-declaration/mv_sp.jpg); }
    
}
.top_mv {
  position: relative; }
  .top_mv > img {
    width: 100%; }
  .top_mv_inner {
    position: absolute;
    width: 1280px;
    padding: 0 30px;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: auto; }
  .top_mv_scroll {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30px;
    position: relative;
    z-index: 2; }
    .top_mv_scroll > img {
      width: 11px;
      margin-left: 3px; }
    .top_mv_scroll > span {
      margin-top: 10px;
      position: relative;
      height: 120px; }
      .top_mv_scroll > span::before {
        position: absolute;
        content: '';
        left: 0;
        width: 1px;
        height: 100%;
        background: #00A0E9;
        z-index: 2; }
      .top_mv_scroll > span::after {
        position: absolute;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        transform: translate(-50%, 0);
        width: 9px;
        height: 9px;
        border: 1px solid #fff;
        background: #1CB5FF;
        border-radius: 50%;
        z-index: 2;
        animation: drop 2s ease-in-out 0.5s infinite; }

@keyframes drop {
  0% {
    opacity: 0;
    transform: translate(-50%, 0); }
  25% {
    opacity: 1; }
  75% {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate(-50%, 120px); } }
@media screen and (min-width: 992px) {
  .top_mv {
    height: 615px; }
    .top_mv > img {
      width: auto;
      height: auto;
      min-width: 100%;
      min-height: 100%;
      max-width: inherit;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      position: absolute; } }
@media (min-width: 992px) and (max-width: 1280px) {
  .top_mv_inner {
    width: 1100px; } }
/*===================================
  
  ttl_main

===================================*/
.ttl_main {
  padding-top: 40px;
  margin-bottom: 60px;
  color: #009FE9;
  background: rgba(255, 255, 255, 0.8); }

.ttl_main > span {
  font-family: 'Roboto', sans-serif;
  font-size: 2.2rem;
  font-weight: bold;
  display: block;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em; }

.ttl_main > h1 {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  color: #009FE9;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-bottom: 5px; }

/* SP */
@media screen and (max-width: 991px) {
  .ttl_main {
    padding-top: 30px;
    margin-bottom: 40px;
    width: 100%; }

  .ttl_main > h1 {
    font-size: 2rem; }

  .ttl_main > span {
    font-size: 1.2rem; } }
.ttl_sect {
  margin-bottom: 50px; }

.ttl_sect > span {
  font-family: 'Roboto', sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  display: block;
  color: #009FE9;
  text-align: center;
  letter-spacing: 0.2em; }

.ttl_sect_main {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.2em; }

/* SP */
@media screen and (max-width: 991px) {
  .ttl_sect {
    margin-bottom: 30px; }

  .ttl_sect > span {
    font-size: 1.2rem; }

  .ttl_sect_main {
    font-size: 1.8rem; } }
/*===================================
  
  block_bg

===================================*/
.block_bg {
  background: #EEF9FE;
  padding: 50px 0 100px;
  position: relative; }
  .block_bg::before {
    content: '';
    position: absolute;
    opacity: 0.6;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 350px 600px 0 0;
    border-color: #fff transparent transparent transparent;
    z-index: 1; }

.block_bg > div {
  z-index: 2;
  position: relative; }

/* SP */
@media screen and (max-width: 991px) {
  .block_bg {
    padding: 30px 0 50px; }
    .block_bg::before {
      border-style: solid;
      border-width: 80px 150px 0 0;
      border-color: #fff transparent transparent transparent; } }
.block_bg02 {
  position: relative;
  padding-bottom: 100px;}
  .block_bg02::before {
    content: '';
    position: absolute;
    opacity: 0.6;
    right: 0;
    bottom: -140px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 350px 600px;
    border-color: transparent transparent #EEF9FE transparent;
    z-index: 1; }

.block_bg02 > div {
  z-index: 2;
  position: relative; }

/* SP */
@media screen and (max-width: 991px) {
  .block_bg02::before {
    bottom: -60px;
    border-style: solid;
    border-width: 0 0 150px 250px;
    border-color: transparent transparent #EEF9FE transparent; } }
.block_bg03 {
  background: #EEF9FE;
  padding: 70px 0 100px;
  position: relative; }

/* SP */
@media screen and (max-width: 991px) {
  .block_bg03 {
    padding: 40px 0 50px; } }
/*===================================
  
  block_img

===================================*/
.block_img {
  position: relative; }
  .block_img_mv {
    width: 100%;
    max-width: 960px;
    display: block;
    margin: 0 auto;
    z-index: 2;
    position: relative; }
  .block_img_bg {
    padding-top: 40px;
    position: relative;
    z-index: 2; }
    .block_img_bg::before {
      content: '';
      position: absolute;
      background: #00A1E9;
      width: 100%;
      top: 0;
      left: 0;
      right: 0;
      bottom: 120px;
      z-index: 1; }
    .block_img_bg .ttl_sect {
      position: relative;
      z-index: 2;
      margin-bottom: 40px; }
      .block_img_bg .ttl_sect > span, .block_img_bg .ttl_sect_main {
        color: #fff; }
  .block_img_ttl {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin: 0 auto 30px;
    max-width: 770px; }
  .block_img .list_check {
    margin: 50px 70px 70px; }
    .block_img .list_check > li {
      font-size: 1.8rem;
      font-weight: bold; }
  .block_img .box_cmn {
    border: 1px solid #DDDDDD; }
    .block_img .box_cmn_ttl {
      margin-bottom: 15px;
      padding-bottom: 12px; }

/* PC */
@media screen and (min-width: 992px) {
  .block_img .box_cmn_ttl > span:nth-child(1) {
    margin-bottom: 0; }
  .block_img .box_cmn_ttl > span:nth-child(2) {
    font-size: 2.2rem; } }
/* SP */
@media screen and (max-width: 991px) {
  .block_img::before {
    top: 60px; }
  .block_img_bg {
    padding-top: 30px; }
    .block_img_bg::before {
      bottom: 40px; }
  .block_img .ttl_sect {
    margin-bottom: 30px; }
  .block_img_mv {
    margin: 0 auto 15px; }
  .block_img_ttl {
    font-size: 1.3rem;
    margin: 0 auto 15px;
    max-width: 240px; }
  .block_img_text > .txt_center {
    text-align: left !important; }
  .block_img .list_check {
    margin: 30px 10px 40px; }
    .block_img .list_check > li {
      font-size: 1.1rem; }
  .block_img .box_cmn_ttl {
    margin-bottom: 15px;
    padding-bottom: 10px; }
    .block_img .box_cmn_ttl > span:nth-child(2) {
      font-size: 1.7rem; }
  .block_img .box_cmn_icon {
    margin-bottom: 20px; }
    .block_img .box_cmn_icon > li {
      font-size: 1.1rem; } }
/*===================================
  
  box_menu

===================================*/
.box_menu {
  display: block; }
  .box_menu_img {
    overflow: hidden; }
    .box_menu_img > img {
      width: auto; }
  .box_menu_main {
    width: 350px;
    height: 100%;
    margin: -85px 0 0 auto;
    padding: 30px;
    opacity: 0.9;
    background: #fff;
    border-top: 2px solid #00A0E9; }
  .box_menu_ttl {
    margin-bottom: 15px; }
    .box_menu_ttl > span {
      display: block; }
    .box_menu_ttl > span:nth-child(1) {
      color: #00A0E9;
      font-size: 1.5rem;
      font-weight: bold; }
    .box_menu_ttl > span:nth-child(2) {
      font-size: 1.8rem;
      font-weight: bold;
      letter-spacing: 0.1em; }
  .box_menu_more {
    text-align: right; }
    .box_menu_more > span {
      font-size: 1.3rem;
      color: #00A0E9;
      display: inline-block;
      position: relative;
      padding-left: 35px; }
      .box_menu_more > span::before {
        content: '';
        position: absolute;
        background: #00A0E9;
        height: 2px;
        width: 25px;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); }

/* PC */
@media screen and (min-width: 992px) {
  .box_menu {
    height: 100%;
    overflow: hidden;
    position: relative; }
    .box_menu_img > img {
      width: 400px;
      -webkit-transition: all 0.4s ease;
      transition: all 0.4s ease; }
    .box_menu:hover .box_menu_img > img {
      transform: scale(1.1, 1.1); }
    .box_menu_description {
      padding-bottom: 50px; }
    .box_menu_more {
      position: absolute;
      right: 30px;
      bottom: 30px; } }
/* SP */
@media screen and (max-width: 991px) {
  .box_menu_img > img {
    width: 84%; }
  .box_menu_main {
    width: 70%;
    margin: -60px 0 0 auto;
    padding: 20px; }
  .box_menu_ttl {
    margin-bottom: 10px; }
    .box_menu_ttl > span:nth-child(1) {
      font-size: 0.9rem; }
    .box_menu_ttl > span:nth-child(2) {
      font-size: 1.4rem; }
  .box_menu_more {
    margin-top: 30px; }
    .box_menu_more > span {
      font-size: 1.1rem; } }
/*===================================
  
  box_article

===================================*/
.box_article > img {
  width: 100%; }
.box_article_main {
  font-size: 1.5rem;
  margin-top: 10px; }
.box_article_ttl {
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 10px; }

a.box_article {
  text-decoration: underline; }
  a.box_article:hover {
    text-decoration: none; }

/* SP */
@media screen and (max-width: 991px) {
  .box_article_main {
    font-size: 1.1rem;
    margin-top: 10px; }
    .box_article_main > .txt_center {
      text-align: left; }
  .box_article_ttl {
    font-size: 1.3rem; } }
/*===================================
  
  box_cmn

===================================*/
.box_cmn {
  display: flex;
  background: #fff;
  padding: 30px 35px 35px 35px;
  position: relative; }
  .box_cmn:not(:last-child) {
    margin-bottom: 40px; }
  .box_cmn > a > img {
    width: 320px; }
  .box_cmn_ttl {
    font-weight: bold;
    margin-bottom: 15px;
    padding-bottom: 15px;
    position: relative; }
    .box_cmn_ttl::before {
      content: '';
      position: absolute;
      background: #37BEFF;
      bottom: 0;
      left: 0;
      width: 50%;
      height: 1px; }
    .box_cmn_ttl::after {
      content: '';
      position: absolute;
      background: #bbbbbb;
      bottom: 0;
      right: 0;
      width: 50%;
      height: 1px; }
    .box_cmn_ttl > span {
      display: block; }
    .box_cmn_ttl > span:nth-child(1) {
      margin-bottom: 2px; }
    .box_cmn_ttl > span:nth-child(2) {
      font-size: 1.8rem;
      color: #1D1F86;
      line-height: 1.5; }
  .box_cmn_link {
    text-align: right; }
    .box_cmn_link > a {
      font-size: 1.4rem;
      color: #009FE9;
      display: inline-block;
      position: relative;
      font-weight: bold;
      padding-left: 35px;
      padding-right: 30px; }
      .box_cmn_link > a::before {
        content: '';
        position: absolute;
        background: #009FE9;
        height: 2px;
        width: 25px;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); }
      .box_cmn_link > a::after {
        content: '';
        position: absolute;
        background: url(../img/img-common/icon_external.png);
        width: 16px;
        background-position: right center;
        background-repeat: no-repeat;
        top: 50%;
        right: 0;
        transform: translate(0, -50%);
        height: 16px;
        background-size: 16px auto;
        -webkit-transition: all 0.4s ease;
        transition: all 0.4s ease; }
      .box_cmn_link > a:hover {
        text-decoration: underline; }
        .box_cmn_link > a:hover::after {
          opacity: 0.6; }
  .box_cmn_icon {
    margin-bottom: 13px;
    display: flex;
    align-items: center; }
    .box_cmn_icon > li {
      font-size: 1.3rem;
      font-weight: bold;
      color: #fff;
      line-height: 1;
      padding: 5px 10px;
      background: #FF5C26; }
      .box_cmn_icon > li:not(:last-child) {
        margin-right: 10px; }

.block_bg02 .box_cmn {
  background: #EEF9FE; }

/* PC */
@media screen and (min-width: 992px) {
  .box_cmn_link {
    position: absolute;
    right: 35px;
    bottom: 30px; }
  .box_cmn > dl {
    min-height: 240px; }
  .box_cmn_ttl {
    margin-left: 320px; }
  .box_cmn_main > a > img {
    height: 240px; }
  .box_cmn_main > p {
    margin-left: 320px; }
  .box_cmn_main > a {
    position: absolute;
    left: 35px;
    top: 35px; }
  .box_cmn_icon {
    margin-left: 320px; }
  .box_cmn > dl {
    width: 100%;
    margin-left: 35px; }
}


/* SP */
@media screen and (max-width: 991px) {
  .box_cmn {
    flex-direction: column;
    padding: 25px; }
    .box_cmn_ttl > span:nth-child(2) {
      font-size: 1.4rem; }
    .box_cmn_link {
      margin-top: 20px; }
      .box_cmn_link > a {
        font-size: 1.1rem;
        padding-left: 30px;
        padding-right: 27px; }
        .box_cmn_link > a::before {
          height: 2px;
          width: 20px; }
    .box_cmn > dl > dt {
      margin-bottom: 20px; }
    .box_cmn > dl > dd > a > img {
      display: block;
      margin: 0 auto 20px;
      width: 85%; } 
}


/*===================================
  
  プレスリリース

===================================*/
.pressrelease_list_item {
  position: relative;
  padding-bottom: 30px;
  border-bottom: 2px dotted #1FACEC; }
  .pressrelease_list_item:not(:last-child) {
    margin-bottom: 30px; }
  .pressrelease_list_item > a {
    display: flex;
    align-items: flex-start; }
.pressrelease_list_main {
  margin-left: 30px; }
.pressrelease_list_date {
  position: absolute;
  top: 0;
  left: 226px;
  display: block;
  color: #1FACEC;
  margin-bottom: 10px;
  z-index: 99; }
.pressrelease_list_text {
  margin-top: 35px;
  display: flex;
  align-items: flex-start;
  text-decoration: underline; }
  .pressrelease_list_text > img {
    margin-left: 8px; }
.pressrelease_list_item > a:hover .pressrelease_list_text {
  text-decoration: none; }

/* SP */
@media screen and (max-width: 991px) {
  .pressrelease_list_item {
    padding-bottom: 25px; }
    .pressrelease_list_item:not(:last-child) {
      margin-bottom: 25px; }
    .pressrelease_list_item > a > img {
      width: 120px; }
  .pressrelease_list_main {
    margin-left: 20px; }
  .pressrelease_list_date {
    left: 140px; }
  .pressrelease_list_text {
    display: block;
    margin-top: 25px; }
    .pressrelease_list_text > img {
      width: 18px;
      display: inline-block;
      vertical-align: middle;
      margin-left: 5px; } }
/*===================================
  
  ビジョン

===================================*/
/*------------------------------------
経営理念
------------------------------------*/
.vision_management {
  z-index: 2; }
  .vision_management > dl {
    padding: 40px 150px 40px 70px;
    border: 1px solid #D7F0FD;
    box-shadow: 0 0 8px #D7F0FD;
    background: #fff;
    position: relative; }
    .vision_management > dl:not(:last-child) {
      margin-bottom: 70px; }
    .vision_management > dl > dt {
      font-size: 1.8rem;
      font-weight: bold;
      margin-bottom: 15px; }
    .vision_management > dl > dd > img {
      position: absolute;
      right: 10px;
      bottom: -34px; }

@media screen and (max-width: 991px) {
  .vision_management {
    margin-bottom: 10px; }
    .vision_management > dl {
      padding: 30px 30px 40px 30px; }
      .vision_management > dl:not(:last-child) {
        margin-bottom: 50px; }
      .vision_management > dl > dt {
        font-size: 1.4rem;
        margin-bottom: 10px; }
      .vision_management > dl > dd > img {
        position: absolute;
        width: 35%;
        right: 15px;
        bottom: -20px; } }
/*===================================
  
  会社概要

===================================*/
/*------------------------------------
代表メッセージ
------------------------------------*/
/* PC */
@media screen and (min-width: 992px) {
  .company_message {
    display: flex;
    align-items: flex-start; }
    .company_message_text {
      margin-left: 40px; }
      .company_message_text > img {
        display: block;
		  	line-height: 2.2;
        margin: 20px 20px 0 auto;
        width: 236px; } }
/* SP */
@media screen and (max-width: 991px) {
  .company_message > img {
    float: left;
    width: 40%;
    margin: 0 20px 20px 0; }
  .company_message_text > img {
    width: 50%;
	line-height: 2.4;
    display: block;
    margin: 20px 0 0 auto; } }
/*------------------------------------
沿革
------------------------------------*/
.company_history {
  position: relative; }
  .company_history::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    top: 10px;
    left: 9px;
    background: #ACE4FF; }
  .company_history > dl {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 50px; }
    .company_history > dl:last-child::before {
      content: '';
      position: absolute;
      width: 2px;
      height: 8px;
      bottom: -42px;
      left: 9px;
      background: #ACE4FF; }
    .company_history > dl:last-child::after {
      content: '';
      position: absolute;
      width: 2px;
      height: 10px;
      bottom: -27px;
      left: 9px;
      background: #ACE4FF; }
    .company_history > dl > dd {
      margin-left: 30px; }
  .company_history_date {
    padding-left: 35px;
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 180px;
    font-weight: bold; }
    .company_history_date::before {
      content: '';
      position: absolute;
      width: 20px;
      height: 20px;
      left: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      background: #009FE9;
      border: 5px solid #ACE4FF;
      border-radius: 50%; }
  .company_history_img {
    display: block;
    margin-top: 30px; }

/* SP */
@media screen and (max-width: 991px) {
  .company_history > dl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 50px; }
    .company_history > dl > dd {
      margin-left: 30px;
      width: calc(100% - 120px); }
  .company_history_date {
    padding-left: 35px;
    justify-content: flex-start;
    flex-wrap: wrap;
	width: 120px;}
    .company_history_date > span {
      display: block;
      margin: 0 0 0 auto;
      text-align: right; }
    .company_history_date::before {
      bottom: auto; }
  .company_history_img {
    margin-top: 30px;
    width: 70%; } }
/*===================================
  
  topページ

===================================*/
.top_lead {
  padding-top: 50px; }
  .top_lead > dt {
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: #1BB4FF; }

.top_service,
.top_products {
  background-position: center center;
  background-repeat: no-repeat;
  padding: 50px 0; }
  .top_service .ttl_sect > span,
  .top_products .ttl_sect > span {
    font-size: 2.2rem; }
  .top_service .ttl_sect_main,
  .top_products .ttl_sect_main {
    font-size: 4rem;
    line-height: 1.5;
    color: #fff; }
  .top_service p,
  .top_products p {
    font-weight: bold;
    text-align: center; }

.top_service {
  min-height: 468px;
  background-size: auto 468px; }
  .top_service p {
    color: #fff; }
  .top_service .btn_cmn {
    margin-top: 30px; }

.top_products {
  min-height: 617px;
  background-size: auto 617px;
  margin-bottom: 25px; }
  .top_products .btn_cmn {
    margin-top: 50px; }

.top_info_ttl {
  margin-bottom: 20px; }
  .top_info_ttl > span {
    display: block;
    font-weight: bold;
    letter-spacing: 0.2em; }
    .top_info_ttl > span:nth-child(1) {
      font-family: 'Roboto', sans-serif;
      color: #009FE9; }
    .top_info_ttl > span:nth-child(2) {
      font-size: 1.8rem; }
.top_info_date {
  color: #aaa;
  margin-bottom: 0px; }
.top_info dl:not(:last-child) {
  margin-bottom: 20px; }
.top_info dd > a {
  display: block;
  text-decoration: underline; }
  .top_info dd > a:hover {
    text-decoration: none; }
.top_info_pressrelease dl:not(:last-child) {
  border-bottom: 2px dotted #1FACEC;
  padding-bottom: 20px; }
.top_info_pressrelease dd > a {
  display: flex;
  align-items: flex-start;
  text-decoration: underline; }
.top_info_pressrelease dd > a > img {
  margin-left: 8px; }
.top_info_btn {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: #00A0E9;
  width: 100%;
  max-width: 200px;
  margin: 40px auto 0;
  padding: 5px 10px;
  text-decoration: none;
  border: 1px solid #00A0E9;
  cursor: pointer;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease; }
  .top_info_btn::after {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #00A0E9;
    border-right: solid 2px #00A0E9;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 15px; }
  .top_info_btn:hover {
    background: #00A0E9;
    color: #fff;
    border-color: #fff; }
    .top_info_btn:hover::after {
      border-color: #fff; }
      
  .topic.ifwp2{
      width: 100%;
      height: auto;
      overflow: hidden;
  }
  .topic.ifwp2 iframe{
      width: 100%;
      height: 300px;
  }            
      
      
      

.top_service {
  background-image: url(../img/img-index/img_service_main_pc.jpg); }

.top_products {
  background-image: url(../img/img-index/img_products_main_pc.jpg); }

@media screen and (max-width: 991px) {
  .top_lead {
    padding-top: 30px; }
    .top_lead > dt {
      font-size: 1.8rem; }

  .top_service,
  .top_products {
    min-height: auto;
    padding: 35px 0;
    background-size: 100% auto; }
    .top_service p,
    .top_products p {
      text-align: left; }
    .top_service .ttl_sect > span,
    .top_products .ttl_sect > span {
      font-size: 1.3rem;
      margin-bottom: 3px; }
    .top_service .ttl_sect_main,
    .top_products .ttl_sect_main {
      font-size: 1.8rem; }

  .top_service {
    padding: 10% 0 11%; }

  .top_products {
    padding: 21% 0 54%; }
    .top_products .btn_cmn {
      margin-top: 30px; }

  .top_info_ttl > span:nth-child(2) {
    font-size: 1.6rem; }
  .top_info > dl:not(:last-child) {
    margin-bottom: 15px; }
  .top_info_news {
    padding-bottom: 25px; }
  .top_info_date {
    margin-bottom: 0px; }
  .top_info_pressrelease dd > a {
    display: block; }
  .top_info_pressrelease dd > a > img {
    width: 18px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px; }
  .top_info_btn {
    width: 75%;
    max-width: 250px;
    font-size: 1.4rem;
    padding: 10px 15px; }

  .top_service {
    background-image: url(../img/img-index/img_service_main_sp.jpg); }

  .top_products {
    background-image: url(../img/img-index/img_products_main_sp.jpg); } }
    
    
/*===================================
  
  プライバシーポリシー

===================================*/
.l_cmn_ttl06 {
	font-size: 1.6rem;
    background: none;
    border-top: none;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.6;
    padding: 0 0 1% 0px;
	margin:40px 0 12px;
    text-align: left;
    background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
    background-size: 5px 1px;
    background-position: bottom;
    background-repeat: repeat-x;
	vertical-align: middle;
}
.l_cmn_ttl06 span{
    padding: 0 0 0 2%;
    border-left: 5px solid #00A0E9;
    display: block;
}

@media screen and (max-width: 991px) {
.l_cmn_ttl06 {
    background: none;
    border-top: none;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.6;
    padding: 0 0 2% 0px;
	margin:6% 0 3%;
    text-align: left;
    background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
    background-size: 5px 1px;
    background-position: bottom;
    background-repeat: repeat-x;
	vertical-align: middle;
}
.l_cmn_ttl06 span{
    padding: 0 0 0 2%;
    border-left: 5px solid #00A0E9;
    display: block;
	font-size: 1.4rem;
}
}


/*===================================
  
  10大サービス宣言

===================================*/

.declaration .sect {
    margin-top: 50px; }
.declaration .ttl_main {
    margin-bottom: 30px;
}
.declaration .box_cmn_ttl > span:nth-child(1) {
    margin-bottom: 2px; 
}
.declaration .box_cmn_ttl > span:nth-child(1) {
    font-size: 1.8rem;
    color: #1D1F86;
    line-height: 1.5;
}

@media screen and (min-width: 992px) {
  .declaration .box_cmn_main > div > img {
    height: 240px; }
  .declaration .box_cmn_main > div {
    position: absolute;
    left: 35px;
    top: 35px; }
}

@media screen and (max-width: 991px) {
    .declaration .sect {
    margin-top: 0px;
    }	
    .declaration .ttl_main {
    margin-bottom: 20px;
    }	
    .declaration .box_cmn_ttl > span {
    font-size: 1.4rem !important; 
	}
    .declaration .box_cmn > dl > dd > div > img {
    display: block;
    margin: 0 auto 20px;
    width: 85%; 
	}
}

/*-----------------------------------------------
SNSボタン
--------------------------------------------------*/
.sns_block {
	background: #F7F7F7;
}
.sns_block .inner{
	width: 1000px;
	margin: 0 auto;
	padding: 30px 0;
}
.sns_block .inner p.title{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.sns_block .inner ul{
	width: 760px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sns_block .inner ul li{
	width: 50%;
	text-align: left; 
	margin: 0 0 20px 0;
	font-size: 1.3rem;
}
.sns_block .inner ul li a{
	color: #333;
	text-decoration: none;
	position: relative;
	display: block;
	padding: 14px 0 0 60px;
}
.sns_block .inner ul li:nth-child(3) a,
.sns_block .inner ul li:nth-child(4) a{
	padding: 5px 0 0 60px;
}
.sns_block .inner ul li a:hover{
	text-decoration: underline;
}
.sns_block .inner ul li a::before{
	content: "";
	width: 50px;
	height: 50px;
	background: url("../img/img-common/Instagram.png") no-repeat left top/contain;
	image-rendering: -webkit-optimize-contrast;
	position: absolute;
	left: 0;
	top: 0;
}
.sns_block .inner ul li.line a::before{
	background: url("../img/img-common/line.png") no-repeat left top/contain;
}
.sns_block .inner ul li.twitter a::before{
	background: url("../img/img-common/Twitter.png") no-repeat left top/contain;
}
.sns_block .inner ul li.youtube a::before{
	background: url("../img/img-common/Youtube.png") no-repeat left top/contain;
}


@media screen and (max-width: 991px) {
	.sns_block {
		background: #F7F7F7;
	}
	.sns_block .inner{
		width: 90%;
		margin: 0 auto;
		padding: 30px 0;
	}
	.sns_block .inner p.review{
		font-size: 1.1rem;
		font-weight: bold;
		border-bottom: 1px dotted #333;
		margin: 0 0 10px 0;
		min-height: 7vh;
	}
	.sns_block .inner p.review a{
		padding: 13px 20px 0 60px;
		position: relative;
		text-decoration: none;
	}
	.sns_block .inner p.review a:before{
		content: "";
		width: 45px;
		height: 45px;
		background: url("../img/img-common/review.png") no-repeat left top/contain;
		position: absolute;
		left: 0;
		top: 0;
	}
	.sns_block .inner p.review a:after{
		content: "";
		width: 18px;
		height: 17px;
		background: url("../img/img-common/ico_blank.png") no-repeat left top/contain;
		position: absolute;
		right: 0;
		top: 42%;
	}
	.sns_block .inner p.title{
		font-size: 1.6rem;
		font-weight: bold;
		text-align: center;
		margin:10px 0 18px;
	}
	.sns_block .inner ul{
		width: 100%;
		display: block;
	}
	.sns_block .inner ul li{
		font-size: 1.1rem;
		text-align: left; 
		margin: 0 0 10px 0;
		min-height: 6vh;
		width: 100%;
	}
	.sns_block .inner ul li a{
		color: #333;
		text-decoration: none;
		position: relative;
		display: block;
		padding: 13px 0 0 60px;
	}
	.sns_block .inner ul li:first-of-type a,
	.sns_block .inner ul li:nth-child(3) a,
	.sns_block .inner ul li:nth-child(4) a{
		padding: 7px 0 0 60px;
	}
	.sns_block .inner ul li a:hover{
		text-decoration: underline;
	}
	.sns_block .inner ul li a::before{
		content: "";
		width: 50px;
		height: 50px;
		background: url("../img/img-common/Instagram.png") no-repeat left top/contain;
		image-rendering: -webkit-optimize-contrast;
		position: absolute;
		left: 0;
		top: 0;
	}
	.sns_block .inner ul li.line a::before{
		background: url("../img/img-common/line.png") no-repeat left top/contain;
	}
	.sns_block .inner ul li.twitter a::before{
		background: url("../img/img-common/Twitter.png") no-repeat left top/contain;
	}
	.sns_block .inner ul li.youtube a::before{
		background: url("../img/img-common/Youtube.png") no-repeat left top/contain;
	}
}


/*-----------------------------------------------
動画組み込み
--------------------------------------------------*/
.movie_block {
	position: relative;
    padding-bottom: 100px;
}

.movie_block .inner_s {
	text-align: center;
}

.movie_block .ttl_sect_main {
	position: relative;
	color: #009FE9;
	display: inline-block;
	font-size:3.6rem;
}

.movie_block .ttl_sect > span{
	color: #333333;
	font-size:2.4rem;
}

.movie_block .txt{
	width: 720px;
    margin: 0 auto;
    text-align: left;
}
.movie_block .txt.mb{
	margin-bottom:20px;
}

.movie_block .ttl_sect_main::before {
	content: "";
	background: url("../img/img-index/icon_movie01.png");
	width: 33px;
	height: 39px;
	position: absolute;
	left: -38px;
	top: 10px;
}

.movie_block .ttl_sect_main::after {
	content: "";
	background: url("../img/img-index/icon_movie02.png");
	width: 41px;
	height: 46px;
	position: absolute;
	right: -40px;
	bottom: 0;
}
.movie_block iframe {
	max-width:100%;
	margin-bottom:20px;
}

@media screen and (max-width: 991px) {
	
.movie_block {
    padding-bottom: 50px;
}
	
	
.movie_block .ttl_sect_main::before {
    background: url("../img/img-index/icon_movie01.png") no-repeat left top/contain;
    width: 21px;
    left: -5.5vw;
    top: 0.5vh;
  }
.movie_block .ttl_sect_main::after {
    content: "";
    background: url("../img/img-index/icon_movie02.png") no-repeat left top/contain;
    width: 24px;
    right: -4vw;
    bottom: -2.0vh;
  }
	
.movie_block .ttl_sect_main{
	font-size:1.8rem;
}
.movie_block .ttl_sect > span{
	font-size:1.2rem;
}
.movie_block .txt	{
	width:100%;
	}

}


/*-----------------------------------------------
レビューページ
--------------------------------------------------*/
/*body.review{
overscroll-behavior-y: none;
}*/
 .review  .header_inner {
      max-width: 1110px;
      min-width: 960px;
      width: 100%;
      margin: 0 auto;
      padding: 0 30px;
      display: flex;
      justify-content: flex-start;
      align-items:center; 
}
 .review  .header_inner ul.category_list {
	display: flex;
	margin-left: 70px;
}
 .review  .header_inner ul.category_list li{
	position: relative;
	padding-left: 12px;
	margin-right: 20px;
	font-weight: bold;
}
 .review  .header_inner ul.category_list li::before{
 	content: "";
 	position: absolute;
	top: 35%;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #52C3F1; 
}
 .review  .header_inner ul.category_list li a:hover{
	text-decoration: underline;
}
.review .main_mv {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-top: 0; 
  min-height: 1000px;
}
.review .ttl_main > h1 {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  color: #1D2088;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-bottom: 5px; 
}
.ttl_main > span {
  color: #1D2088;
}
.review main .sect{
	padding: 40px 0;
	margin: 0;
	background: #FFFCF0;
}
.review main .sect:nth-child(even){
	background: #fff;
}
.review .review_box {
	width: 720px;
	margin: 0 auto;
}
.review .review_box .review_cat {
	display: flex;
	justify-content:flex-start;
	margin-bottom: 10px;
}
.review .review_box .review_cat span{
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	background: #1D2088;
	padding: 2px 10px;
	border-radius: 100px;
	display: block;
	margin-right: 10px;
	text-align: center;
	min-width: 70px;
}
.review .review_box .review_cat span:not(:last-of-type){
	margin-right: 10px;
}
.review .review_box .review_title{
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4;
	display: flex;
	margin-bottom: 10px;
}
.review .review_box .review_title .rate-stars{
	padding-right: 15px;
}
.review .review_box .review_title .kowa-rating_stars{
	color: #FF7F00;
}
.review .review_box .review_title .title{
	color: #333;
}
.review .review_box .review_data{
	display: flex;
	justify-content: flex-start;
	margin-bottom: 15px;
}
.review .review_box .review_data li:not(:first-of-type){
	padding-left: 30px;
}
.review .review_box .review_detail{
	border: 2px solid #1D2088;
	border-radius: 30px;
	background: #fff;
	padding: 15px 30px;
	margin-bottom: 25px;
}
.review .review_box .review_detail h3{
	font-size: 1.6rem;
	font-weight: bold;
}
.review .review_box .review_detail p{
	padding: 0 15px;
	line-height: 1.4;
}
.review .review_box .review_detail p + p{
	margin: 10px 0 10px -5px;
}
.review .review_box .review_detail ul{
	display: flex;
	justify-content: flex-start;
	margin: 0 0 0 20px;
}
.review .review_box .review_detail ul li{
	height: auto;
}
.review .review_box .review_detail ul li:not(:first-of-type){
	margin-left: 8px;
}
.review .review_box .review_detail ul li a{
	display: block;
	width: 50px;
	height: 50px;
}
.review .review_box .review_purpose{
	border: 2px solid #ccc;
	border-radius: 15px;
	background: #fff;
	padding: 15px 30px;
}
.review .review_box .review_purpose p{
	padding: 0 15px;
	line-height: 1.4;
}
.review .review_box .review_purpose h3{
	font-size: 1.6rem;
	font-weight: bold;
}
.lb-nav a.lb-prev,
.lb-nav a.lb-next{
	opacity: 1 !important;
}

@media screen and (max-width: 991px) {
.review .ttl_main > h1 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: #1D2088;
  line-height: 1.6;
  letter-spacing: 0.2em;
  margin-bottom: 5px; 
}
 .review ul.category_list {
	display: flex;
	justify-content: center;
	margin: 30px auto 0;	
}
 .review ul.category_list li{
	position: relative;
	padding-left: 12px;
	margin-right: 20px;
	font-weight: bold;
	font-size: 1.3rem;
}
 .review ul.category_list li::before{
 	content: "";
 	position: absolute;
	top: 25%;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #52C3F1; 
}
	.review main .sect{
		padding: 40px 0;
		margin: 0;
	}
	.review main .sect:nth-child(odd){
		background: #FFFCF0;
	}
	.review .review_box {
		width: 100%;
		margin: 0 auto;
	}
	.review .review_box .review_cat {
		display: flex;
		justify-content:flex-start;
		margin-bottom: 5px;
		padding-left: 8px;
	}

	.review .review_box .review_cat span:not(:last-of-type){
		margin-right: 10px;
	}
	.review .review_box .review_title{
		line-height: 1.3;
		margin-bottom: 10px;
		padding-left: 8px;
		font-size: 1.6rem;
		display: block;
	}
	.review .review_box .review_title .rate-stars{
		padding: 0 0 8px 0;
		display: block;
	}
	.review .review_box .review_data{
		display: flex;
		justify-content: flex-start;
		margin-bottom: 15px;
		flex-wrap: wrap;
		padding-left: 8px;
	}
	.review .review_box .review_data li{
		font-size: 1.3rem;
		padding-left: 0;
	}
	.review .review_box .review_data li:first-of-type{
		width: 100%;
	}
	.review .review_box .review_data li:not(:first-of-type){
		padding: 0 30px 0 0;
	}	
	.review .review_box .review_detail ul li a{
	display: block;
	width: 50px;
	height: 50px;
	}
	.review .review_box .review_detail{
		border: 2px solid #1D2088;
		border-radius: 30px;
		background: #fff;
		padding: 15px 20px;
		margin-bottom: 25px;
	}
	.review .review_box .review_detail h3{
		font-size: 1.3rem;
		font-weight: bold;
	}
	.review .review_box .review_detail p{
		padding: 0;
		font-size: 1.3rem;
	}
	.review .review_box .review_detail p + p{
		margin: 10px 0 10px -5px;
	}
	.review .review_box .review_detail ul{
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0;
	}
	.review .review_box .review_detail ul li{
		margin-bottom: 8px;
	}
	.review .review_box .review_detail ul li:not(:first-of-type),
	.review .review_box .review_detail ul li:not(:last-of-type){
		margin-left: 8px;
	}	

	.review .review_box .review_purpose{
		border: 2px solid #ccc;
		border-radius: 15px;
		background: #fff;
		padding: 15px 30px;
	}
	.review .review_box .review_purpose h3{
		font-size: 1.3rem;
		font-weight: bold;
	}
	.review .review_box .review_purpose p{
		padding: 0;
		font-size: 1.3rem;
	}	
	.review .footer_logo > a {
	 display: inline; 
	 margin: 20px 10px 0 0; 
	}
	.review .footer_logo > a > img {
	height: 30px;
	margin: 0 auto; 
	}
	
	.review .footer_logo > span {
         width: auto; 
		 padding: 5px 0 0 0;
        }
	.review .footer_inner {
      padding-bottom: 20px; }
	
}

/*===================================
  
  2022/09/12 レビューURLレイアウトのために追加

===================================*/
.review .review_box .review_detail ul.review_url {
	display: block;
}
.review .review_box .review_detail ul.review_url  li{
	margin: 15px 0 0 0;
    line-height: 1.5;
}
.review .review_box .review_detail ul.review_url li span {
	word-break: break-all;
}
.review .review_box .review_detail ul.review_url li a {
	height: auto;
    width: 100%;
    color: #0000ee;
	text-decoration: underline;
	word-break: break-all;
}
.review .review_box .review_detail ul.review_url  li:last-child{
	margin-bottom: 10px;
}
.review .review_box .review_detail ul.review_url li a:hover {
	text-decoration: none;
}



/*===================================
  
  採用情報

===================================*/

.recruit .ttl_main {
  margin-bottom: 30px;
  }

.recruit .ttl_main > p {
    font-size: 3.8rem;
    font-weight: bold;
    text-align: center;
    color: #009FE9;
    line-height: 1.6;
    letter-spacing: 0.2em;
    margin-bottom: 5px;
}

.recruit .block_bg01{
	background:#80cbee;
	padding: 100px 0 100px;
	margin-top:60px;
}

.recruit .block_bg02{
	background:#bfe5f6;
	padding: 50px 0 100px;
}
.recruit .block_bg02::before {
	content:none;
}

.recruit .sect .inner{
	border:3px solid #00aeff;
	border-radius: 20px;
	background:#FFF;
	padding:60px 80px;
}

.recruit .block_bg01  .sect .inner{
	padding:80px 80px;
}

/* メニュー */
.recruit .menu{
	display: flex;
    justify-content: space-around;
    margin: 0 -20px
}

.recruit .menu li{
	width:100%;
	position: relative;
	border:3px solid #00aeff;
	border-radius: 50px;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	margin:0px 20px;
	background:#FFF;
}
@media screen and (min-width: 992px) {
.recruit .menu li:hover{
	-webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    transition: all .3s;
	background:#00aeff;
	color:#FFF;
}

.recruit .menu li:hover a{
	color:#FFF;
}

.recruit .menu li:hover a::before{
	background: #FFF;
}

.recruit .menu li:hover a::after{
	border-top: 2px solid #00aeff;
    border-right: 2px solid #00aeff;
}

.recruit .menu li:hover {
	-webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    transition: all .3s;
}
}
.recruit .menu li span{
	position: absolute;
	top: -23px;
	left:10px;
}

.recruit .menu a{
	
	display: block;
	padding:19px 15px;
	position: relative;
}

.recruit .menu a::after {
    content: '';
    position: absolute;
    right: 34px;
    bottom: 38px;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all .3s;
}

.recruit .menu a::before{
	content: '';
    position: absolute;
    right: 26px;
    bottom: 28px;
    margin: auto;
    width: 25px;
    height: 25px;
    background: #009fe9;
    border-radius: 50%;
    cursor: pointer;
}

.recruit .sect .inner .blk{
	display: flex;
	
}

.recruit .sect .inner{
	position: relative;
}
.recruit .block_bg01 .sect .inner .ttl{
	position: absolute;
	top: -33px;
    left: 25px;
	color:rgba(128,203,238,0.2);
	font-size:6.0rem;
	font-weight: bold;
	
}

.recruit .sect .inner .ttl_sect{
	width:380px;
	padding:0 55px 0 0;
}

.recruit .sect .inner .ttl_sect_main{
	padding:20px 0;
	font-size: 3.8rem;
}

.recruit .sect .inner .blk .img{
	position: relative;
	margin-top: -20px;
}

.recruit .sect .inner .blk .icon01,
.recruit .sect .inner .blk .icon02{
	position: absolute;
	z-index: 100;
}

.recruit .sect .inner .blk .icon01{
	left: 0px;
    top: 57px
}
.recruit .sect .inner .blk .icon02{
	right: -18px;
    bottom: -6px
}

.recruit .sect#job02 .inner .blk .icon01 {
    right: -9px;
    top: 37px;
	text-align: right;
}

.recruit .sect#job02 .inner .blk .icon02 {
    left: -31px;
    bottom: 13px;
}

.recruit .sect#job03 .inner .blk .icon01 {
    left: 0px;
    top: 85px;
}

.recruit .sect#job03 .inner .blk .icon02 {
    right: 23px;
    bottom: -29px;
}

/* リンク */
.recruit .link{
	text-align: right;
}

.recruit .link a{
	
	display: inline-block;
	padding:10px 40px 30px 30px;
	position: relative;
	color:#009fe9;
	font-size:1.4rem;
	font-weight: bold;
}

.recruit .link a::after {
    content: '';
    position: absolute;
    right: 13px;
    top: 17px;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all .3s;
}

.recruit .link a::before{
	content: '';
    position: absolute;
    right: 5px;
    top: 10px;
    margin: auto;
    width: 25px;
    height: 25px;
    background: #009fe9;
    border-radius: 50%;
    cursor: pointer;
}

.recruit .link a:hover{
	opacity: 0.7;
}

/* エントリーボタン */
.recruit .btn{
	text-align: center;
}

.recruit .btn p{
	position: relative;
	border:3px solid #00aeff;
	border-radius: 50px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	margin:0px 20px;
	background:#00aeff;
	display: inline-block;
	
}

.recruit .btn a{
	display: block;
	padding: 10px 70px;
	position: relative;
	color:#FFF;
}

.recruit .btn a::after {
    content: '';
    position: absolute;
    right: 34px;
    top: 19px;
    margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #009fe9;
    border-right: 2px solid #009fe9;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.recruit .btn a::before{
	content: '';
	position: absolute;
	right: 26px;
	top: 12px;
	margin: auto;
	width: 25px;
	height: 25px;
	background: #FFF;
	border-radius: 50%;
	cursor: pointer;
}


.recruit .btn p:hover{
    transition: all .3s;
	background:#FFF;
	color:#FFF;
	border:3px solid #00aeff;
	transition: all .3s;
}

.recruit .btn p:hover a{
	color:#00aeff;
}

.recruit .btn p:hover a::before{
	background: #00aeff;
}

.recruit .btn p:hover a::after{
	border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
}

.recruit #location .ttl,
.recruit #location .txt{
	text-align: center;
}

.recruit #location .ttl span{
	position: relative;
	padding: 7px 0 0 70px;
	color:#009fe9;
	font-size:2.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-right: 70px;
}

.recruit #salary .ttl span::before{
	content: "";
	width: 50px;
	height: 50px;
	background: url("../img/img-recruit/ttl_icon02.png") no-repeat left top/contain;
	image-rendering: -webkit-optimize-contrast;
	position: absolute;
	left: 0;
	top: 0;
}

.recruit #location .ttl span::before{
	content: "";
	width: 50px;
	height: 50px;
	background: url("../img/img-recruit/ttl_icon01.png") no-repeat left top/contain;
	image-rendering: -webkit-optimize-contrast;
	position: absolute;
	left: 0;
	top: 0;
}


.recruit #salary .ttl{
	text-align: center;
}

.recruit #salary .ttl span{
	position: relative;
	padding: 7px 0 0 70px;
	color:#009fe9;
	font-size:2.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}

.recruit #salary dt{
	color:#009fe9;
	font-size:1.3rem;
	font-weight: bold;
}

.recruit #salary dl{
	width: 85%;
    margin: 0 auto;
}

.recruit #salary dl:nth-of-type(1){
	margin:20px auto 30px;
}


/*.img-wrap {
  animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1);
}

@keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }

  100% {
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}*/


/*.img-wrap {
  opacity: 0;
}

.img-wrap.started,
.started .img-wrap {
  animation: img-wrap2 10s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
	
}

@keyframes img-wrap2 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.img-wrap {
  animation: img-wrap 10s cubic-bezier(.4, 0, .2, 1);
}

@keyframes img-wrap {
  0% {
	opacity: 1;  
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }

  100% {
	opacity: 1;  
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}
*/


/* フェードイン */
.fade {
  opacity: 0;
}

.fade.started,
.started .fade {
  animation: fadeIn 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
	
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 下からふわっと */
.fade_b {
  opacity: 0;
}

.fade_b.started,
.started .fade_b {
  animation: fadeIn_b 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards;
}

@keyframes fadeIn_b {
  0% {
    opacity: 0;
    transform: translateY(25px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


.recruit .inner#js_entry_btn{
	position: relative;
}

.recruit .entry_btn{
  width: 140px;
  height: 140px;
  position: fixed;
  bottom: 127px;
    right: 8px;
  transition: opacity 1s;
  opacity: 0;
  cursor: pointer;
  z-index: 99;
}

.recruit .entry_btn img{
	width:100%;
}

.recruit .entry_btn.is_active {
  opacity: 1;
}

.recruit .entry_btn:hover{
	opacity: 0.7;
}

@media screen and (max-width: 991px) {
	.recruit .lead02{
		letter-spacing: 0.03em;
	}
	
	.recruit .blk .txt{
	font-size:1.1rem;
	margin-bottom:13%;
}
	
	.recruit .ttl_main > p {
		font-size: 1.8rem;
	}
	.recruit .sect{
		padding: 0 5%;
	}
	
	.recruit .block_bg01 {
    padding: 50px 0 40px;
    margin-top: 30px;
		
}
	
	.recruit .menu {
    	display: block;
		margin: 0;
		width: 80%;
    margin: 0 auto;
	}
	
	.recruit .menu a {
    padding: 15px 15px;
}
	
	.recruit .menu li {
		margin:0;
		font-size: 1.4rem;
		margin-bottom:20px;
	}
	.recruit .menu li span {
		top: 16px;
		left: 3px;
	}
	
	.recruit .menu li:nth-child(2) span {
		top: 18px;
	}
	
	.recruit .menu li:nth-child(3) span {
		top: 9px;
	}
	
	.recruit .menu li span img{
		width:70%;
	}
	
	.recruit .menu a::before {
    	bottom: 18px;
	}
	.recruit .menu a::after {
    	bottom: 28px;
	}
	
	.recruit .block_bg01 .sect .inner .ttl {
		font-size: 3.0rem;
    	top: -16px;
		left: 15px;
	}
	
	.recruit .block_bg01 #job02 .inner .ttl,
	.recruit .block_bg01 #job03 .inner .ttl{
		font-size: 2.0rem;
		left: 15px;
		top: -5px;
	}
	
	.recruit .sect .inner .blk {
    	display: block;
	}
	
	.recruit .sect .inner .blk .img{
		width: 81%;
    	margin: 0 auto 10%;
	}
	
	.recruit .sect#job03 .inner .blk .img{
		width: 80%;
    	margin: 0 auto 10%;
	}
	
	.recruit .sect .inner .blk .main img{
		width: 100%;
	}
	
	.recruit .sect .inner .blk .icon01 {
		left: -8px;
    	top: -25px;
	}
	.recruit .sect .inner .blk .icon01 img{
		width: 72%;
	}
	
	.recruit .sect#job03 .inner .blk .icon01 img{
		width: 67%;
	}
	
	.recruit .sect .inner .blk .icon02 {
		right: -55px;
		bottom: -12px;
	}
	.recruit .sect .inner .blk .icon02 img{
		width: 70%;
	}
	
	.recruit .sect#job03 .inner .blk .icon02 img{
		width: 63%;
	}
	
	.recruit .sect#job02 .inner .blk .icon01 {
		right: -2px;
    top: -33px;
    /* width: inherit; */
    left: auto;
	}
	
	.recruit .sect#job02 .inner .blk .icon01 img {
		width: 65%
	}
	
	.recruit .sect#job02 .inner .blk .icon02 {
		left: -17px;
    	bottom: -13px;
		width: inherit;
	}
	
	.recruit .sect#job02 .inner .blk .icon02 img {
    width: 50%;
}
	
	.recruit .sect#job03 .inner .blk .icon01 {
		left: 0px;
    	top: -2px;
	}
	.recruit .sect#job03 .inner .blk .icon02 {
		right: -36px;
    	bottom: -20px;
	}
	
	.recruit .block_bg01 .sect .inner {
    	padding: 50px 25px 40px;
		border-radius: 15px;
	}
	
	.recruit .sect .inner .ttl_sect {
    	width: 100%;
    	padding: 0;
	}
	.recruit .sect .inner .ttl_sect_main {
		font-size: 1.8rem;
		padding: 10px 0;
	}
	.recruit .btn p {
		font-size: 1.4rem;
		font-size: 1.4rem;
    	width: 85%;
    	margin: 0 auto;
	}
	.recruit .btn a {
    	padding: 10px 10px;
	}
	
	.recruit .link a {
    padding: 10px 40px 30px 0px;
    font-size: 1.2rem;
	}
	.recruit #location .ttl span,
	.recruit #salary .ttl span{
    font-size: 1.4rem;
		padding: 7px 0 0 55px;
	}
	.recruit .sect .inner {
    padding: 8% 2%;
	}
	
	.recruit .btn a::before{
		top: 10px;
    	right: 15px;
	}
	.recruit .btn a::after{
		top: 17px;
		right: 24px;
	}
	.recruit .block_bg02 {
    background: #bfe5f6;
    padding: 20px 0 50px;
}

	.recruit .block_bg02 #location{
		margin-bottom:40px;
	}
	.recruit .block_bg02 .sect{
		margin-top: 20px;
	}
	
	.recruit .entry_btn {
    	bottom: 4%;
		right: 2%;
		text-align: right;
	}
	
	.recruit .entry_btn img {
    	width: 70%;
	}
	.recruit #location .ttl span::before,
	.recruit #salary .ttl span::before{
		width: 40px;
    	height: 40px;
	}
	
	.recruit #salary dt{
		font-size:1.1rem;
	}
	
}


@media screen and (min-width: 1280px){
  .recruit .entry_btn {
    right: calc(50% - 630px);
  }
}
