@charset "UTF-8";
/*
Theme Name: 日本セルフメディカル
Author: fois
*/
.js_ofi img {
  font-family: "object-fit: cover;";
  height: 100%;
  object-fit: cover;
  width: 100%; }

@keyframes fade_move_down {
  0% {
    transform: translate(0, -10px) rotate(-135deg);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: translate(0, 20px) rotate(-135deg);
    opacity: 0; } }
@keyframes loading {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px);
    -ms-transform: translateY(15px);
    transform: translateY(15px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
@keyframes tracking-in-expand {
  0% {
    letter-spacing: -0.5em;
    opacity: 0; }
  40% {
    opacity: 0.6; }
  100% {
    opacity: 1; } }
@keyframes opacitybg {
  0% {
    opacity: 1; }
  25% {
    opacity: 0.7; }
  50% {
    opacity: 0.5; }
  75% {
    opacity: 0.7; }
  100% {
    opacity: .9; } }
@keyframes hoverimage {
  0% {
    opacity: 0.5; }
  50% {
    opacity: 0.7; }
  100% {
    opacity: 1; } }
@keyframes hoverimage1 {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.7; }
  100% {
    opacity: 0; } }
code, kbd, samp {
  font-family: "Noto Sans JP", sans-serif; }

*,
*::after,
*::before {
  box-sizing: border-box; }

body,
button,
input,
select,
textarea {
  font-family: "Noto Sans JP", sans-serif; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

img {
  border: 0;
  height: auto;
  line-height: 1;
  vertical-align: bottom;
  max-width: 100%; }

a {
  background: transparent;
  cursor: pointer;
  outline: 0 none; }

html {
  display: flex;
  flex-direction: column;
  font-size: 62.5%; }

body {
  color: #333;
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  min-height: 100vh;
  line-height: 1.8; }

main {
  flex: 1 1 auto; }

.mg_tp5 {
  margin-top: 5px; }

.mg_bt5 {
  margin-bottom: 5px; }

.mg_tp10 {
  margin-top: 10px; }

.mg_bt10 {
  margin-bottom: 10px; }

.mg_tp15 {
  margin-top: 15px; }

.mg_bt15 {
  margin-bottom: 15px; }

.mg_tp20 {
  margin-top: 20px; }

.mg_bt20 {
  margin-bottom: 20px; }

.mg_tp25 {
  margin-top: 25px; }

.mg_bt25 {
  margin-bottom: 25px; }

.mg_tp30 {
  margin-top: 30px; }

.mg_bt30 {
  margin-bottom: 30px; }

.mg_tp35 {
  margin-top: 35px; }

.mg_bt35 {
  margin-bottom: 35px; }

.mg_tp40 {
  margin-top: 40px; }

.mg_bt40 {
  margin-bottom: 40px; }

.mg_tp45 {
  margin-top: 45px; }

.mg_bt45 {
  margin-bottom: 45px; }

.mg_tp50 {
  margin-top: 50px; }

.mg_bt50 {
  margin-bottom: 50px; }

body {
  overflow-x: hidden; }
  @media (max-width: 767px) {
    body {
      font-size: 1.4rem; } }
  @media (min-width: 768px), print {
    body.customize-support header {
      top: 32px; }
    body.customize-support .hm_top {
      height: calc(100vh - 32px); } }
  @media (max-width: 767px) {
    body.customize-support header {
      top: 46px; }
    body.customize-support .hm_top {
      height: calc(100vh - 46px); } }
  body.bodyfix {
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%; }
    body.bodyfix header {
      background: #087dcb;
      height: 100vh; }
    body.bodyfix .hd_inner_top {
      transition: all 0.3s;
      background: #fff;
      margin: 0; }
    body.bodyfix .hd_outer {
      height: calc(100vh - 67px);
      overflow-x: hidden;
      overflow-y: auto; }
    body.bodyfix .hd_nav {
      padding: 40px 0 10px; }
    body.bodyfix .hd_prt_rgt {
      padding: 20px 0 70px; }

.body_top .hd_outer, .body_top .hm_top {
  opacity: 0; }
  .body_top .hd_outer.active, .body_top .hm_top.active {
    opacity: 1 !important; }

@media (max-width: 767px) {
  #wpadminbar {
    position: fixed !important; } }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  transition: all 0.3s;
  color: #087dcb;
  text-decoration: none;
  -webkit-text-decoration-skip: none; }
  a:hover {
    color: #27c4a5; }
  @media (min-width: 768px), print {
    a[href^="tel:"] {
      pointer-events: none; } }

img {
  vertical-align: middle;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; }

@media (min-width: 768px), print {
  .pc_hide {
    display: none; } }

@media (max-width: 767px) {
  .sp_hide {
    display: none; } }

main {
  overflow: hidden; }

.btn_cmn, .btn01, .btn02, .btn_contact, .employ_job_list li a {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  display: block;
  overflow: hidden;
  position: relative;
  text-align: center;
  transition: all 0s; }
  @media (min-width: 768px), print {
    .btn_cmn, .btn01, .btn02, .btn_contact, .employ_job_list li a {
      padding: 16px 25px; }
      .btn_cmn:hover, .btn01:hover, .btn02:hover, .btn_contact:hover, .employ_job_list li a:hover {
        box-shadow: none;
        color: #fff; }
        .btn_cmn:hover::after, .btn01:hover::after, .btn02:hover::after, .btn_contact:hover::after, .employ_job_list li a:hover::after {
          right: 10px; } }
  @media (max-width: 767px) {
    .btn_cmn, .btn01, .btn02, .btn_contact, .employ_job_list li a {
      padding: 13px 12px; } }

.btn_cmn,
.btn01 {
  color: #fff !important; }
  .btn_cmn::before,
  .btn01::before {
    background: #fff;
    content: "";
    height: 155px;
    left: -75px;
    opacity: 0.2;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px; }
  .btn_cmn:hover,
  .btn01:hover {
    background: linear-gradient(to right, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
    color: #fff; }
    .btn_cmn:hover::before,
    .btn01:hover::before {
      left: 120%;
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }

.btn_cmn {
  background-color: #087dcb; }
  .btn_cmn::after {
    transition: all 0.3s;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .btn_cmn::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .btn_cmn::after {
        height: 8px;
        right: 10px;
        width: 8px; } }

.btn01 {
  background-color: #27c4a5; }
  .btn01::after {
    transition: all 0.3s;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .btn01::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .btn01::after {
        height: 8px;
        right: 10px;
        width: 8px; } }

.btn02 {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  color: #087dcb !important; }
  .btn02::after {
    transition: all 0.3s;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .btn02::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .btn02::after {
        height: 8px;
        right: 10px;
        width: 8px; } }
  .btn02:hover::before {
    left: 120%;
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
  .btn02::after {
    transition: all 0.3s;
    border-top: 1px solid #087dcb;
    border-left: 1px solid #087dcb;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .btn02::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .btn02::after {
        height: 8px;
        right: 10px;
        width: 8px; } }
  .btn02::before {
    background: #087dcb;
    content: "";
    height: 155px;
    left: -75px;
    opacity: 0.2;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px; }

.btn_contact {
  transition: all 0.3s;
  background: #fff;
  color: #087dcb !important;
  transition: all 0s; }
  @media (min-width: 768px), print {
    .btn_contact::before {
      height: 20px;
      width: 20px; } }
  @media (max-width: 767px) {
    .btn_contact::before {
      height: 16px;
      width: 16px; } }
  .btn_contact:hover {
    transition: all 0.3s;
    color: #087dcb; }
    .btn_contact:hover::before {
      transition: all 0.3s; }
    .btn_contact:hover::after {
      left: 120%;
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
  .btn_contact::before {
    background: url(images/common/ico-forge.svg) 0 0/contain no-repeat;
    content: "";
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 4px; }
  .btn_contact::after {
    background: #087dcb;
    content: "";
    height: 155px;
    left: -75px;
    opacity: 0.2;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px; }

.hm_top::before, .hm_top02::before, .company_introduce_thumb::after {
  background: linear-gradient(to top, #91e3d3 0%, #20aee2 50%, #36a5ef 100%); }

header {
  transition: all 0.3s;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99; }
  header.header_fixed {
    transition: all 0.3s; }
    @media (min-width: 1171px), print {
      header.header_fixed .hd_outer {
        transition: all 0.3s;
        box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
        background: #fff; }
      header.header_fixed .hd_inner {
        transition: all 0.3s;
        margin: 0px;
        padding-right: 20px; }
      header.header_fixed .hd_nav_menu li a {
        color: #000 !important; }
        header.header_fixed .hd_nav_menu li a:hover {
          color: #27c4a5; }
      header.header_fixed .hd_comppfile {
        display: none; }
      header.header_fixed .hd_btn_contact a {
        background: #087dcb;
        color: #fff !important; }
        header.header_fixed .hd_btn_contact a::before {
          background: url(images/common/ico-forge-w.svg) 0 0/contain no-repeat; }
        header.header_fixed .hd_btn_contact a:hover::after {
          background: #fff; } }
    @media (max-width: 1170px) {
      header.header_fixed {
        transition: all 0.3s;
        box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
        background: #fff;
        margin-top: 0; }
        header.header_fixed .hd_inner_top {
          transition: all 0.3s;
          margin-top: 0; } }
    header.header_fixed .hd_menu_sp_btn::before,
    header.header_fixed .hd_menu_sp_btn span::before,
    header.header_fixed .hd_menu_sp_btn span::after {
      border-top: 1px solid #087dcb; }

.hd_menu_sp_btn {
  color: rgba(0, 0, 0, 0);
  cursor: pointer;
  display: block;
  font-size: 1rem;
  height: 58px;
  position: relative;
  text-align: center;
  text-indent: -2em;
  width: 58px; }
  @media (min-width: 1171px), print {
    .hd_menu_sp_btn {
      display: none; } }
  .hd_menu_sp_btn span {
    text-indent: -2em; }
  .hd_menu_sp_btn::before,
  .hd_menu_sp_btn span::before,
  .hd_menu_sp_btn span::after {
    border-top: 1px solid #fff;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    transition: all 0.4s;
    transform: translateY(-50%);
    width: 30px; }
  .hd_menu_sp_btn::before {
    top: calc(50%); }
  .hd_menu_sp_btn span::before {
    top: calc(50% + 10px); }
  .hd_menu_sp_btn span::after {
    top: calc(50% - 10px); }
  .hd_menu_sp_btn.hd_menu_close::before {
    display: none; }
  .hd_menu_sp_btn.hd_menu_close span::before, .hd_menu_sp_btn.hd_menu_close span::after {
    border-top: 1px solid #087dcb;
    top: 46%; }
  .hd_menu_sp_btn.hd_menu_close span::before {
    transform: translateY(-46%) rotate(45deg); }
  .hd_menu_sp_btn.hd_menu_close span::after {
    transform: translateY(-46%) rotate(-45deg); }

@media (min-width: 1171px), print {
  .hd_inner_top {
    display: none; } }
@media (max-width: 1170px) {
  .hd_inner_top {
    transition: all 0.3s;
    align-items: center;
    display: flex;
    justify-content: space-between;
    height: 67px;
    margin-top: 20px;
    width: 100%; } }

.hd_menu_sp_logo {
  transition: all 0.3s; }

@media (min-width: 1171px), print {
  .hd_outer {
    display: block; } }
@media (max-width: 1170px) {
  .hd_outer {
    display: none; }
    .hd_outer .hd_inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      height: 100%; }
    .hd_outer .hd_logo {
      display: none; } }

.hd_inner {
  transition: all 0.3s;
  position: relative; }
  @media (min-width: 768px), print {
    .hd_inner {
      align-items: center;
      display: flex;
      justify-content: space-between;
      height: 80px;
      margin: 20px 20px 20px 0; } }

@media (min-width: 1171px), print {
  .hd_logo {
    width: 305px;
    height: 100%; } }
.hd_logo a {
  position: relative;
  background: #fff;
  display: inline-block;
  height: 100%;
  z-index: 1; }
  .hd_logo a:hover {
    opacity: 0.7; }
  .hd_logo a::after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1; }
  @media (min-width: 1171px), print {
    .hd_logo a {
      padding: 15px 20px 12px; } }
  @media (max-width: 1170px) {
    .hd_logo a {
      padding: 10px 10px 10px; } }
  .hd_logo a::after {
    background-color: #fff;
    right: -18px;
    width: 36px;
    transform: skewX(-22deg); }
  .hd_logo a img {
    display: block;
    margin-top: 5px; }
    @media (min-width: 1171px), print {
      .hd_logo a img {
        max-height: 20px; } }
    @media (max-width: 1170px) {
      .hd_logo a img {
        max-height: 14px; } }

.hd_subttl_logo {
  color: #087dcb; }
  @media (min-width: 1171px), print {
    .hd_subttl_logo {
      font-size: 1.25rem; } }
  @media (max-width: 1170px) {
    .hd_subttl_logo {
      font-size: 1rem; } }

.hd_nav {
  height: 100%;
  padding: 0 5px; }
  @media (max-width: 1170px) {
    .hd_nav {
      height: auto; } }
  .hd_nav ul.hd_nav_menu {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 100%;
    position: relative; }
    @media (max-width: 1170px) {
      .hd_nav ul.hd_nav_menu {
        flex-direction: column;
        height: auto; } }
    .hd_nav ul.hd_nav_menu li {
      height: 100%;
      margin: 0 5px; }
      .hd_nav ul.hd_nav_menu li a {
        align-items: center;
        color: #fff;
        display: flex;
        justify-content: center;
        height: 100%;
        position: relative; }
        .hd_nav ul.hd_nav_menu li a::after {
          transition: all 0.3s;
          background: #087dcb;
          bottom: 12px;
          content: "";
          height: 3px;
          left: 10px;
          position: absolute;
          width: 0; }
        @media (min-width: 1171px), print {
          .hd_nav ul.hd_nav_menu li a {
            padding: 0 8px; }
            .hd_nav ul.hd_nav_menu li a:hover::after {
              transition: all 0.3s;
              left: 10px;
              width: calc(100% - 20px); } }
        @media (max-width: 1170px) {
          .hd_nav ul.hd_nav_menu li a {
            padding: 10px; }
            .hd_nav ul.hd_nav_menu li a::after {
              left: 10px; }
            .hd_nav ul.hd_nav_menu li a:hover::after {
              transition: all 0.3s;
              left: 10px;
              width: calc(100% - 20px); } }
        @media (max-width: 767px) {
          .hd_nav ul.hd_nav_menu li a {
            font-weight: bold;
            padding: 10px; } }
    .hd_nav ul.hd_nav_menu .menu-item-has-children {
      position: relative; }
      .hd_nav ul.hd_nav_menu .menu-item-has-children::after {
        border: 13px solid transparent;
        border-bottom: 20px solid #fff;
        bottom: -30px;
        content: "";
        filter: drop-shadow(2px -3px 3px rgba(0, 0, 0, 0.05));
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s; }
      @media (min-width: 1171px), print {
        .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu {
          background: #fff;
          box-shadow: 2px 1px 6px 0px rgba(0, 0, 0, 0.15);
          display: flex;
          flex-wrap: wrap;
          left: -20vw;
          opacity: 0;
          padding: 20px;
          position: absolute;
          top: 110px;
          transition: all 0.3s;
          visibility: hidden;
          width: 660px; }
          .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu::before {
            align-items: center;
            background: linear-gradient(to bottom, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
            box-shadow: -2px 1px 6px 0px rgba(0, 0, 0, 0.15);
            color: #fff;
            content: "OUR \A APPROACH";
            display: flex;
            font-family: "Oswald", sans-serif;
            font-size: 3rem;
            font-weight: bold;
            height: 100%;
            justify-content: center;
            left: -230px;
            line-height: 1.16;
            padding-bottom: 50px;
            padding-right: 27px;
            position: absolute;
            top: 0;
            white-space: pre;
            width: 230px; }
          .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu::after {
            content: "日本セルフメディカルの \A 取り組み";
            color: #fff;
            display: block;
            font-family: "Noto Serif JP", serif;
            font-size: 1.5rem;
            left: -198px;
            position: absolute;
            top: 55%;
            white-space: pre; }
          .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu li {
            margin: 0 10px 0 0; }
            .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu li:nth-child(3n) {
              margin-right: 0; }
            .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu li a {
              transition: all 0.3s;
              height: 120px;
              padding: 0;
              width: 200px; }
              .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu li a:hover {
                opacity: .7; }
                .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu li a:hover::after {
                  content: none; }
        .hd_nav ul.hd_nav_menu .menu-item-has-children:hover::before {
          bottom: -35px;
          content: "";
          height: 50px;
          left: -20vw;
          width: 890px;
          position: absolute; }
        .hd_nav ul.hd_nav_menu .menu-item-has-children:hover::after {
          opacity: 1;
          visibility: visible; }
        .hd_nav ul.hd_nav_menu .menu-item-has-children:hover .sub-menu {
          opacity: 1;
          visibility: visible; } }
      @media (max-width: 1170px) {
        .hd_nav ul.hd_nav_menu .menu-item-has-children .sub-menu {
          display: none; } }

.hd_prt_rgt {
  display: flex;
  flex-direction: column; }
  @media (min-width: 1171px), print {
    .hd_prt_rgt {
      align-items: flex-end;
      width: 280px; } }
  @media (max-width: 1170px) {
    .hd_prt_rgt {
      align-items: center; } }

.hd_comppfile {
  display: flex;
  flex-wrap: nowrap;
  width: 100%; }
  @media (min-width: 1171px), print {
    .hd_comppfile {
      justify-content: flex-end;
      font-size: 1.37rem;
      margin: 5px 0; } }
  @media (max-width: 1170px) {
    .hd_comppfile {
      justify-content: center;
      margin: 0 0 40px; } }
  .hd_comppfile li {
    font-family: "Roboto", sans-serif;
    line-height: 1;
    margin-left: 14px; }
    .hd_comppfile li:first-child {
      margin-left: 0; }
    .hd_comppfile li.hd_comppf_ja a {
      background: url(images/common/ico-flag-ja.png) left center/auto 15px no-repeat; }
    .hd_comppfile li.hd_comppf_en {
      border-right: 1px solid #fff;
      padding-right: 15px; }
      .hd_comppfile li.hd_comppf_en a {
        background: url(images/common/ico-flag-en.png) left center/auto 15px no-repeat; }
    .hd_comppfile li.hd_comppf_vn a {
      background: url(images/common/ico-flag-vn.png) left center/auto 15px no-repeat; }
    .hd_comppfile li a {
      color: #fff;
      padding: 0 0 0 30px; }
      .hd_comppfile li a:hover {
        color: #27c4a5; }

@media (min-width: 768px), print {
  .hd_btn_contact {
    margin: 7px 0; }
    .hd_btn_contact a {
      padding: 5px 30px; } }
@media (max-width: 767px) {
  .hd_btn_contact {
    margin: 0 auto;
    width: 80%; }
    .hd_btn_contact a {
      padding: 10px 20px; } }

.cmn_group_ttl {
  color: #087dcb;
  position: relative;
  z-index: 1; }
  @media (max-width: 767px) {
    .cmn_group_ttl {
      margin-bottom: 15px; } }

.cmn_group_ttl_mid {
  text-align: center; }
  @media (min-width: 768px), print {
    .cmn_group_ttl_mid {
      margin-bottom: 25px; } }

.cmn_ttl {
  font-family: "Oswald", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase; }
  @media (min-width: 768px), print {
    .cmn_ttl {
      margin-bottom: 10px; } }
  @media (max-width: 1039px) {
    .cmn_ttl {
      font-size: 3.2rem; } }
  @media (max-width: 767px) {
    .cmn_ttl {
      font-size: 3rem;
      margin-bottom: 5px; } }

.cmn_subttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500; }
  @media (min-width: 768px), print {
    .cmn_subttl {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .cmn_subttl {
      font-size: 1.6rem; } }

.cmn_decript {
  color: #333; }

.cmn_contact_block {
  position: relative;
  margin: 0 auto 80px;
  max-width: calc(1180px);
  position: relative; }
  .cmn_contact_block::after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1; }
  @media (min-width: 768px), print {
    .cmn_contact_block {
      padding: 0 90px; }
      .cmn_contact_block::before {
        left: 55px;
        transform: skewX(-30deg); }
      .cmn_contact_block::after {
        right: 55px;
        transform: skewX(-30deg); } }
  @media (max-width: 1039px) {
    .cmn_contact_block {
      margin: 0 auto 60px; } }
  @media (max-width: 767px) {
    .cmn_contact_block {
      margin: 0 auto 40px;
      padding: 30px 60px; }
      .cmn_contact_block::before {
        left: 25px;
        transform: skewX(-10deg); }
      .cmn_contact_block::after {
        right: 25px;
        transform: skewX(-10deg); } }
  .cmn_contact_block::before, .cmn_contact_block::after {
    background-color: #087dcb;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 65%;
    z-index: 0; }

.cmn_contact_inner {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  z-index: 2; }
  .cmn_contact_inner .cmn_group_ttl {
    color: #fff; }
  @media (min-width: 768px), print {
    .cmn_contact_inner {
      align-items: center;
      display: flex;
      justify-content: space-between;
      padding: 45px 50px; } }
  @media (max-width: 767px) {
    .cmn_contact_inner {
      text-align: center; } }

@media (min-width: 768px), print {
  .cmn_contact_decript {
    flex: 1 1 0%;
    font-size: 1.8rem; }
    .cmn_contact_decript br {
      display: none; } }
@media (max-width: 767px) {
  .cmn_contact_decript {
    line-height: 1.4;
    padding-bottom: 20px; } }

@media (min-width: 768px), print {
  .cmn_contact_btn {
    margin-left: 20px;
    width: 260px; }
    .cmn_contact_btn a {
      padding: 16px 25px; } }
@media (max-width: 767px) {
  .cmn_contact_btn {
    margin: 0 auto;
    width: 200px; }
    .cmn_contact_btn a {
      padding: 12px 15px; } }

.cmn_secondhand_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  background: #ffe66b;
  color: #000;
  padding: 20px;
  position: relative;
  text-align: center; }
  @media (min-width: 768px), print {
    .cmn_secondhand_block {
      margin-bottom: 100px; } }
  @media (max-width: 767px) {
    .cmn_secondhand_block {
      margin-bottom: 40px; } }
  .cmn_secondhand_block::before {
    background-image: linear-gradient(45deg, #000000 25%, #ffe66b 25%, #ffe66b 50%, #000000 50%, #000000 75%, #ffe66b 75%, #ffe66b 100%);
    content: "";
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
    @media (min-width: 768px), print {
      .cmn_secondhand_block::before {
        background-size: 20px 20px;
        height: 10px; } }
    @media (max-width: 767px) {
      .cmn_secondhand_block::before {
        background-size: 12px 12px;
        height: 8px; } }

.cmn_secndh_ttl {
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.6; }
  @media (min-width: 768px), print {
    .cmn_secndh_ttl {
      font-size: 3.6rem; } }
  @media (max-width: 767px) {
    .cmn_secndh_ttl {
      font-size: 2rem; } }

.cmn_secndh_specttl {
  background: url(images/page/img-caution.png) left center no-repeat; }
  @media (min-width: 768px), print {
    .cmn_secndh_specttl {
      background-size: auto 50px;
      font-size: 5rem;
      padding-left: 80px; }
      .cmn_secndh_specttl br {
        display: none; } }
  @media (max-width: 767px) {
    .cmn_secndh_specttl {
      background-size: auto 40px;
      font-size: 3rem;
      padding-left: 55px; } }

.cmn_secndh_content {
  background: #fff;
  padding: 16px 20px; }

.cmn_secndh_subttl {
  font-weight: bold;
  padding-bottom: 5px; }
  @media (min-width: 768px), print {
    .cmn_secndh_subttl {
      font-size: 2.4rem; } }
  @media (max-width: 767px) {
    .cmn_secndh_subttl {
      font-size: 1.7rem; } }

.cmn_secndh_txt {
  padding-bottom: 4px; }

footer {
  overflow: hidden;
  position: relative;
  width: 100%; }
  footer::before {
    background-color: #1c1e20;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 110vw;
    z-index: -1; }
  footer::after {
    background: linear-gradient(to bottom, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
    content: "";
    display: block;
    height: 100%;
    opacity: 0.6;
    position: absolute;
    width: 100vw;
    z-index: -2; }
  @media (min-width: 768px), print {
    footer::before {
      right: 15%;
      transform: skewX(30deg); }
    footer::after {
      right: calc(15% - 50px);
      top: 30px;
      transform: skewX(30deg); } }
  @media (max-width: 767px) {
    footer::before {
      right: 86px;
      transform: skewX(10deg); }
    footer::after {
      right: 66px;
      top: 17px;
      transform: skewX(10deg); } }

.ft_inner {
  display: block;
  height: 100%;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .ft_inner {
      background: url(images/common/bg-lattern03.png) left center no-repeat; } }

.ft_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  .ft_block a {
    color: #fff; }
    .ft_block a:hover {
      color: #087dcb; }

@media (min-width: 768px), print {
  .ft_cont {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 80px;
    padding-right: 16%;
    padding-top: 80px; } }
@media (max-width: 767px) {
  .ft_cont {
    padding: 60px 0 0 10px; } }

.ft_logo {
  min-width: 295px; }
  .ft_logo a {
    display: block; }
    .ft_logo a:hover {
      opacity: 0.7; }
  .ft_logo img {
    display: block;
    margin-bottom: 5px; }
    @media (min-width: 768px), print {
      .ft_logo img {
        max-height: 20px; } }
    @media (max-width: 767px) {
      .ft_logo img {
        max-height: 13px; } }

.ft_subttl_logo {
  color: #36a5ef; }
  @media (min-width: 768px), print {
    .ft_subttl_logo {
      font-size: 1.4rem; } }
  @media (max-width: 767px) {
    .ft_subttl_logo {
      font-size: 1rem; } }

@media (min-width: 768px), print {
  .ft_nav_wrap {
    display: flex; } }

@media (min-width: 768px), print {
  .ft_nav {
    margin-left: 55px; } }

.ft_nav_list li {
  margin: 2px 0; }
  .ft_nav_list li .sub-menu li a {
    font-weight: normal;
    position: relative; }
    @media (min-width: 768px), print {
      .ft_nav_list li .sub-menu li a {
        padding-left: 30px; } }
    @media (max-width: 767px) {
      .ft_nav_list li .sub-menu li a {
        padding: 1px 0 1px 30px; } }
    .ft_nav_list li .sub-menu li a::before {
      border-top: 1px solid #666;
      content: "";
      height: 2px;
      left: 0;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 12px; }
  .ft_nav_list li a {
    display: block;
    font-weight: bold; }
    @media (min-width: 768px), print {
      .ft_nav_list li a {
        padding: 10px 0; } }
    @media (max-width: 767px) {
      .ft_nav_list li a {
        padding: 2px 0; } }

.ft_copy {
  color: #999; }
  @media (min-width: 768px), print {
    .ft_copy {
      font-size: 1.4rem;
      padding: 10px 0 25px;
      text-align: center; } }
  @media (max-width: 767px) {
    .ft_copy {
      font-size: 1rem;
      padding: 0 10px 60px; } }

.ft_pagetop {
  bottom: 10px;
  display: none;
  position: fixed;
  right: 0;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  z-index: 99; }
  .ft_pagetop a {
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    padding: 15px 4px 4px;
    position: relative; }
    .ft_pagetop a:hover::after {
      border-top: 1px solid #27c4a5;
      border-left: 1px solid #27c4a5; }
    .ft_pagetop a::after {
      border-top: 1px solid #087dcb;
      border-left: 1px solid #087dcb;
      content: "";
      display: block;
      width: 12px;
      height: 12px;
      position: absolute;
      right: 14px;
      top: 0;
      transform: rotate(45deg); }

.page_feature {
  background: url(images/common/bg-feature-lattern.png) top left no-repeat, url(images/common/bg-feature-lattern2.png) right bottom no-repeat, linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%);
  height: 400px; }
  @media (max-width: 1039px) {
    .page_feature {
      background: url(images/common/bg-feature-lattern.png) top left/180px auto no-repeat, url(images/common/bg-feature-lattern2.png) right bottom/180px auto no-repeat, linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%);
      height: 200px; } }
  @media (max-width: 767px) {
    .page_feature {
      background: url(images/common/bg-feature-lattern.png) top left -100px/250px auto no-repeat, url(images/common/bg-feature-lattern2.png) right -100px bottom/250px auto no-repeat, linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%); } }

.page_feature_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding-bottom: 90px;
  z-index: 9; }
  @media (max-width: 1039px) {
    .page_feature_inner {
      padding-bottom: 10px; } }

.page_feature_ttl {
  animation: tracking-in-expand 0.5s linear 0.3s both;
  font-size: 6rem; }
  @media (max-width: 1039px) {
    .page_feature_ttl {
      font-size: 4rem; } }
  @media (max-width: 767px) {
    .page_feature_ttl {
      font-size: 3.2rem; } }

.page_feature_subttl {
  animation: tracking-in-expand 0.5s linear 0.3s both;
  font-size: 2rem; }
  @media (max-width: 1039px) {
    .page_feature_subttl {
      font-size: 1.6rem; } }

.breadcrumb {
  background: #eaf0f3;
  padding: 7px 0; }
  @media (max-width: 767px) {
    .breadcrumb {
      display: none; } }

.breadcrumb_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  font-size: 1.4rem; }

.page_block {
  display: block;
  position: relative; }
  @media (min-width: 768px), print {
    .page_block {
      padding: 100px 0; } }
  @media (max-width: 1039px) {
    .page_block {
      padding: 60px 0; } }
  @media (max-width: 767px) {
    .page_block {
      padding: 50px 0; } }

.fadeInDown {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeInDown;
  visibility: visible !important; }

.wp-block-freeform.block-library-rich-text__tinymce ol, .wp-block-freeform.block-library-rich-text__tinymce ul {
  padding-left: 0;
  margin-left: 0; }

.wp-block-columns {
  margin-bottom: 0; }

.hm_top {
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .hm_top {
      height: 100vh; }
      .hm_top::after {
        border-width: 170px 0 0 300px; } }
  @media (max-width: 767px) {
    .hm_top {
      height: 100vh; }
      .hm_top::after {
        border-width: 88vh 0 0 84vw; } }
  .hm_top::before {
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%; }
  .hm_top::after {
    border-style: solid;
    border-color: transparent transparent transparent rgba(8, 125, 203, 0.4);
    bottom: 0;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    width: 0; }

.hm_top_bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1; }

.hm_top_inner {
  animation-delay: 1s;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 0 20px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 9; }
  @media (min-width: 768px), print {
    .hm_top_inner {
      align-items: center; }
      .hm_top_inner::before {
        border-width: 0 28vw 80vh 0; }
      .hm_top_inner::after {
        border-width: 0 0 50vh 14vw; } }
  @media (max-width: 767px) {
    .hm_top_inner {
      align-items: flex-start; }
      .hm_top_inner::before {
        border-width: 0 34vw 38vh 0; }
      .hm_top_inner::after {
        border-width: 0 0 46vh 64vw; } }
  .hm_top_inner::before {
    border-style: solid;
    border-color: transparent rgba(8, 125, 203, 0.4) transparent transparent;
    content: "";
    height: 0;
    right: 0;
    position: absolute;
    top: 0;
    width: 0; }
  .hm_top_inner::after {
    border-style: solid;
    border-color: transparent transparent rgba(8, 125, 203, 0.4) transparent;
    bottom: 0;
    content: "";
    height: 0;
    right: 0;
    position: absolute;
    width: 0; }

.hm_top_ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: normal;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .hm_top_ttl {
      font-size: 6rem; } }
  @media (max-width: 767px) {
    .hm_top_ttl {
      font-size: 3rem; } }

.hm_top_txt {
  line-height: 2;
  position: relative;
  z-index: 1; }
  @media (min-width: 768px), print {
    .hm_top_txt {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .hm_top_txt {
      font-size: 1.4rem;
      padding: 10px 10px 0;
      text-align: left; }
      .hm_top_txt br {
        display: none; } }

.hm_btn_scroll {
  bottom: 40px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  z-index: 99; }
  .hm_btn_scroll a {
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    padding: 20px;
    position: relative; }
    .hm_btn_scroll a::after {
      animation: fade_move_down 1.5s ease-in-out infinite;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      bottom: 0;
      content: "";
      left: 0;
      margin: 0 auto;
      width: 22px;
      height: 22px;
      position: absolute;
      right: 0; }

.hm_news {
  background: #fff;
  position: relative; }
  .hm_news::before {
    background: #087dcb;
    content: "";
    left: 0;
    width: 100vw;
    position: absolute;
    z-index: -1; }
  @media (min-width: 768px), print {
    .hm_news {
      margin-bottom: 110px;
      margin-top: -52px;
      padding: 25px;
      width: 90%; }
      .hm_news::before {
        height: 85%;
        top: 52px; } }
  @media (max-width: 767px) {
    .hm_news {
      margin-bottom: 34px;
      margin-top: -20px;
      padding: 12px 0;
      width: 95%; }
      .hm_news::before {
        height: 110%;
        top: 20px; } }

.hm_news_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  color: #087dcb; }
  @media (min-width: 768px), print {
    .hm_news_inner {
      align-items: center;
      display: flex;
      justify-content: center; } }
  .hm_news_inner a {
    color: #087dcb; }

.hm_news_lbl {
  font-family: "Oswald", sans-serif;
  font-weight: bold; }
  @media (min-width: 768px), print {
    .hm_news_lbl {
      font-size: 3rem;
      width: 80px; } }
  @media (max-width: 767px) {
    .hm_news_lbl {
      font-size: 2.4rem;
      padding-bottom: 5px; } }

@media (min-width: 768px), print {
  .hm_news_content {
    align-items: center;
    border-left: 1px solid #087dcb;
    display: flex;
    flex: 1 1 0%; } }
.hm_news_content dt {
  color: #8ec6ff; }
  @media (min-width: 768px), print {
    .hm_news_content dt {
      font-size: 1.4rem;
      padding: 0 0 0 20px;
      width: 200px; } }
  @media (max-width: 767px) {
    .hm_news_content dt {
      margin-bottom: 5px; } }
.hm_news_content dd a:hover {
  color: #27c4a5; }
@media (min-width: 768px), print {
  .hm_news_content dd {
    flex: 1 1 0%; } }
@media (max-width: 767px) {
  .hm_news_content dd {
    padding-bottom: 10px;
    width: 100%; }
    .hm_news_content dd a {
      display: block;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; } }

.hm_news_cat {
  border: 1px solid #087dcb;
  color: #087dcb;
  display: inline-block;
  margin-left: 15px;
  text-align: center; }
  @media (min-width: 768px), print {
    .hm_news_cat {
      width: 80px; } }
  @media (max-width: 767px) {
    .hm_news_cat {
      font-size: 1.2rem;
      padding-bottom: 2px;
      width: 70px; } }

.hm_news_more {
  width: 80px; }
  @media (max-width: 767px) {
    .hm_news_more {
      font-family: 1.6rem;
      position: absolute;
      right: 20px;
      top: 0; } }
  .hm_news_more a {
    font-family: "Oswald", sans-serif;
    display: block;
    padding: 10px 20px;
    position: relative;
    text-align: right; }
    .hm_news_more a::after {
      transition: all 0.3s;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(135deg); }
      @media (min-width: 768px), print {
        .hm_news_more a::after {
          height: 12px;
          right: 20px;
          width: 12px; } }
      @media (max-width: 767px) {
        .hm_news_more a::after {
          height: 8px;
          right: 10px;
          width: 8px; } }
    .hm_news_more a:hover {
      color: #27c4a5; }
      .hm_news_more a:hover::after {
        border-color: #27c4a5;
        right: 0px; }
    .hm_news_more a::after {
      border-color: #087dcb;
      right: -4px; }

.hm_about {
  padding-bottom: 100px;
  overflow: hidden;
  position: relative; }
  @media (min-width: 768px), print {
    .hm_about {
      background: url(images/common/bg-lattern.png) bottom left no-repeat; } }
  @media (max-width: 1039px) {
    .hm_about {
      padding-bottom: 60px; } }
  @media (max-width: 767px) {
    .hm_about {
      background: url(images/common/bg-lattern02.png) top right/220px auto no-repeat;
      padding-bottom: 50px; } }

.hm_about_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  align-items: center;
  display: flex;
  justify-content: space-between;
  z-index: 3; }
  @media (min-width: 768px), print {
    .hm_about_inner {
      height: 850px; } }

.hm_about_content {
  position: relative; }
  @media (min-width: 768px), print {
    .hm_about_content {
      width: 50%; } }
  @media (max-width: 767px) {
    .hm_about_content {
      padding: 50px 0 55px; } }

.hm_about_ttl {
  color: #087dcb;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1.5;
  font-size: 4rem; }
  @media (max-width: 1170px) and (min-width: 1040px) {
    .hm_about_ttl {
      font-size: 4rem; } }
  @media (max-width: 1039px) {
    .hm_about_ttl {
      font-size: 3.2rem; } }
  @media (max-width: 767px) {
    .hm_about_ttl {
      font-size: 2.4rem; } }

@media (min-width: 768px), print {
  .hm_about_txt {
    padding: 35px 0; } }
@media (max-width: 767px) {
  .hm_about_txt {
    padding: 20px 0 25px; } }

.hm_about_btn {
  width: 100%; }
  @media (min-width: 768px), print {
    .hm_about_btn {
      max-width: 350px; } }
  @media (max-width: 767px) {
    .hm_about_btn {
      max-width: 280px; } }

@media (min-width: 768px), print {
  .hm_about_visual {
    left: 47vw;
    width: 850px; } }
@media (max-width: 1039px) {
  .hm_about_visual {
    width: 58%; } }
@media (min-width: 768px), print {
  .hm_about_visual {
    position: absolute;
    right: 0;
    top: 0; } }
@media (max-width: 767px) {
  .hm_about_visual {
    width: auto; } }

.hm_about_thumb {
  position: relative; }
  @media (min-width: 768px), print {
    .hm_about_thumb {
      height: 850px; } }
  @media (max-width: 767px) {
    .hm_about_thumb {
      height: 420px; } }
  .hm_about_thumb::after {
    background: none;
    border-left: 200px solid #fff;
    content: "";
    width: 100vw;
    height: calc(100% + 400px);
    transform: skew(13deg);
    position: absolute;
    top: -200px;
    left: -100px; }
  .hm_about_thumb::before {
    content: "";
    width: 100vw;
    height: calc(100%);
    transform: skew(13deg);
    position: absolute;
    z-index: 1;
    border-style: solid;
    border-image: linear-gradient(to top, #91e3d3, #20aee2, #36a5ef) 1;
    opacity: 0.6; }
    @media (min-width: 768px), print {
      .hm_about_thumb::before {
        border-width: 0 0 0 34px;
        left: 60px;
        top: -30px; } }
    @media (max-width: 767px) {
      .hm_about_thumb::before {
        border-width: 17px 0 0 17px;
        left: 80px;
        top: -17px; } }
  @media (min-width: 768px), print {
    .hm_about_thumb img {
      object-position: 0 20%; } }
  @media (max-width: 767px) {
    .hm_about_thumb img {
      object-position: 50px 10%; } }

.hm_block {
  padding-bottom: 75px;
  padding-top: 75px; }
  @media (max-width: 1039px) {
    .hm_block {
      padding-bottom: 60px;
      padding-top: 60px; } }
  @media (max-width: 767px) {
    .hm_block {
      padding-bottom: 50px;
      padding-top: 50px; } }

.hm_product {
  background: linear-gradient(to right, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
  position: relative; }
  .hm_product::after {
    bottom: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    right: 0; }
    @media (min-width: 768px), print {
      .hm_product::after {
        border-width: 0 0 55vh 150vw; } }
    @media (max-width: 767px) {
      .hm_product::after {
        border-width: 0 0 100vh 196vw; } }

.hm_product_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  z-index: 2; }
  @media (min-width: 768px), print {
    .hm_product_inner {
      padding-bottom: 35px; } }
  @media (min-width: 768px), print {
    .hm_product_inner .product_list_cont:nth-child(2) {
      margin-top: 80px !important; } }

.hm_product_group_ttl .cmn_group_ttl {
  color: #fff; }
.hm_product_group_ttl .cmn_decript {
  color: #fff; }
@media (min-width: 768px), print {
  .hm_product_group_ttl {
    align-items: flex-start;
    display: flex;
    margin-bottom: 50px; }
    .hm_product_group_ttl .cmn_decript {
      flex: 1 1 0%;
      padding: 3px 40px 0; } }
@media (max-width: 767px) {
  .hm_product_group_ttl {
    margin-bottom: 30px; } }

@media (min-width: 768px), print {
  .hm_product_list {
    align-items: flex-start;
    display: flex;
    justify-content: space-between; } }
@media (max-width: 767px) {
  .hm_product_list {
    padding-bottom: 10px; } }
.hm_product_list li {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  background: #fff;
  padding: 3rem;
  position: relative; }
  @media (min-width: 768px), print {
    .hm_product_list li {
      width: calc((100% - 40px) / 2 - 0.1px); }
      .hm_product_list li:nth-child(2) {
        margin-top: 80px; } }
  @media (max-width: 767px) {
    .hm_product_list li {
      margin-bottom: 15px;
      margin-top: 45px; }
      .hm_product_list li:first-child {
        margin-top: 0; } }

.product_list_cont {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  align-self: flex-start;
  background: #fff;
  padding: 3rem;
  position: relative; }
  @media (min-width: 768px), print {
    .product_list_cont {
      width: calc((100% - 40px) / 2 - 0.1px); }
      .product_list_cont:nth-child(2) {
        margin-top: 0; } }
  @media (max-width: 767px) {
    .product_list_cont {
      margin-bottom: 15px;
      margin-top: 45px; }
      .product_list_cont:first-child {
        margin-top: 0; } }

.hm_product_thumb {
  text-align: center; }
  @media (min-width: 768px), print {
    .hm_product_thumb {
      margin-bottom: 25px; } }
  @media (max-width: 767px) {
    .hm_product_thumb {
      margin-bottom: 10px; } }
  .hm_product_thumb img {
    max-height: 220px;
    width: auto; }

.hm_product_logo {
  text-align: center; }
  @media (min-width: 768px), print {
    .hm_product_logo {
      margin-bottom: 20px; } }
  @media (max-width: 767px) {
    .hm_product_logo {
      margin-bottom: 15px; } }
  .hm_product_logo img {
    width: auto; }
    @media (min-width: 768px), print {
      .hm_product_logo img {
        max-height: 43px; } }
    @media (max-width: 767px) {
      .hm_product_logo img {
        max-height: 43px; } }

.hm_product_txt {
  padding-bottom: 20px; }

.hm_product_btn {
  position: absolute; }
  @media (min-width: 768px), print {
    .hm_product_btn {
      bottom: -30px;
      right: -20px;
      width: 220px; } }
  @media (max-width: 767px) {
    .hm_product_btn {
      bottom: -28px;
      right: -10px;
      width: 160px; } }

.hm_support, .contact_phone_block, .message_comment, .job_flow {
  background: url(images/common/bg-lattern02.png) #eaf0f3 right top no-repeat;
  margin-bottom: 80px;
  overflow: hidden;
  position: relative; }
  @media (max-width: 1039px) {
    .hm_support, .contact_phone_block, .message_comment, .job_flow {
      margin-bottom: 60px; } }
  @media (max-width: 767px) {
    .hm_support, .contact_phone_block, .message_comment, .job_flow {
      background-size: 220px auto;
      margin-bottom: 40px; } }

.hm_support .cmn_group_ttl {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-bottom: 20px; }

.hm_support_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  position: relative; }
  @media (min-width: 768px), print {
    .hm_support_inner {
      align-items: center;
      display: flex;
      justify-content: space-between; } }
  .hm_support_inner .cmn_group_ttl {
    margin-bottom: 15px;
    margin-right: 50px; }

@media (min-width: 768px), print {
  .hm_support_group_ttl {
    margin-right: 40px;
    flex: 1 1 0%; } }
@media (max-width: 767px) {
  .hm_support_group_ttl {
    margin-bottom: 18px; } }

@media (min-width: 768px), print {
  .hm_support_btns {
    width: 260px; } }
@media (max-width: 767px) {
  .hm_support_btns {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 280px; }
    .hm_support_btns a {
      width: 100%; } }

pre {
  margin: 0; }

@keyframes slide-left {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
@keyframes open-logo {
  0% {
    opacity: 0;
    transform: scale(0.8, 0.8); }
  25% {
    opacity: 0.5; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0.5; }
  100% {
    opacity: 0;
    transform: scale(1.2, 1.2); } }
.hm_opening {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10002;
  display: flex;
  align-items: center;
  justify-content: center; }

.hm_opening .hm_opening_logo {
  padding: 0 20px;
  position: relative;
  z-index: 10005;
  animation: open-logo 2s 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }

@media (min-width: 768px), print {
  .hm_opening .hm_opening_logo svg {
    width: 650px; } }
@media (max-width: 767px) {
  .hm_opening .hm_opening_logo svg {
    width: 100%; } }

.loading-back02 {
  background: url(images/common/bg-lattern.png) #fff bottom left no-repeat;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 10003;
  transform: translateX(0%); }

.hm_top02 {
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .hm_top02::after {
      border-style: solid;
      border-color: transparent transparent transparent rgba(8, 125, 203, 0.4);
      border-width: 170px 0 0 300px;
      bottom: 0;
      content: "";
      height: 0;
      left: 0;
      position: absolute;
      width: 0; } }
  .hm_top02::before {
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%; }

.hm_top_bg_video {
  height: 100%;
  width: 100%;
  z-index: -1; }
  .hm_top_bg_video video {
    display: block;
    height: auto;
    width: 100%; }

.hm_top_inner02 {
  animation-delay: 1s;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  left: 0;
  overflow: hidden;
  padding: 0 20px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%; }
  @media (min-width: 768px), print {
    .hm_top_inner02 {
      align-items: center; }
      .hm_top_inner02::before {
        border-width: 0 28vw 80vh 0; }
      .hm_top_inner02::after {
        border-width: 0 0 50vh 14vw; } }
  @media (max-width: 767px) {
    .hm_top_inner02 {
      align-items: flex-start; }
      .hm_top_inner02::before {
        border-width: 0 50vw 60vh 0; }
      .hm_top_inner02::after {
        border-width: 0 0 30vh 40vw; } }
  .hm_top_inner02::before {
    border-style: solid;
    border-color: transparent rgba(8, 125, 203, 0.4) transparent transparent;
    content: "";
    height: 0;
    right: 0;
    position: absolute;
    top: 0;
    width: 0; }
  .hm_top_inner02::after {
    border-style: solid;
    border-color: transparent transparent rgba(8, 125, 203, 0.4) transparent;
    bottom: 0;
    content: "";
    height: 0;
    right: 0;
    position: absolute;
    width: 0; }

.hm_btn_scroll02 {
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  z-index: 99; }
  .hm_btn_scroll02 a {
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    padding: 20px;
    position: relative; }
    .hm_btn_scroll02 a::after {
      animation: fade_move_down 1.5s ease-in-out infinite;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      bottom: 0;
      content: "";
      left: 0;
      margin: 0 auto;
      width: 22px;
      height: 22px;
      position: absolute;
      right: 0; }
  @media (min-width: 768px), print {
    .hm_btn_scroll02 {
      bottom: 100px; } }
  @media (max-width: 1039px) {
    .hm_btn_scroll02 {
      display: none; } }
  @media (max-width: 767px) {
    .hm_btn_scroll02 {
      bottom: 70px;
      display: block; } }

.page_company_mess {
  position: relative; }
  @media (min-width: 768px), print {
    .page_company_mess {
      padding-bottom: 300px; } }
  @media (max-width: 767px) {
    .page_company_mess {
      padding-bottom: 240px; } }
  .page_company_mess::after {
    background: url(images/common/bg-feature-lattern.png) top left no-repeat, linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%);
    bottom: 0;
    content: "";
    height: 200px;
    left: 0;
    position: absolute;
    width: 100%; }
    @media (max-width: 767px) {
      .page_company_mess::after {
        background: url(images/common/bg-feature-lattern.png) top left/250px auto no-repeat, linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%); } }

.company_message_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.company_introduce {
  margin: 0 auto;
  max-width: 910px;
  width: 100%; }

.company_introduce_thumb {
  position: relative; }
  @media (min-width: 768px), print {
    .company_introduce_thumb {
      margin-bottom: 80px; } }
  @media (max-width: 767px) {
    .company_introduce_thumb {
      margin-bottom: 40px; } }
  .company_introduce_thumb::after {
    content: "";
    height: 100%;
    opacity: 0.6;
    position: absolute;
    width: 100%; }
    @media (min-width: 768px), print {
      .company_introduce_thumb::after {
        right: -30px;
        top: 30px; } }
    @media (max-width: 767px) {
      .company_introduce_thumb::after {
        right: -15px;
        top: 15px; } }
  .company_introduce_thumb img {
    position: relative;
    z-index: 2; }

.company_introduce_sign {
  padding-top: 10px;
  display: block;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
  margin-left: auto; }
  @media (min-width: 768px), print {
    .company_introduce_sign {
      max-width: 220px; } }
  @media (max-width: 767px) {
    .company_introduce_sign {
      max-width: 180px;
      padding-top: 0; } }
  .company_introduce_sign img {
    width: 100%; }

@media (min-width: 768px), print {
  .company_introduce_post {
    font-size: 1.8rem; } }
@media (max-width: 767px) {
  .company_introduce_post {
    font-size: 1.6rem; } }

.company_introduce_img {
  padding-top: 10px; }

.company_introduce_sign_en {
  text-align: right; }
  @media (min-width: 768px), print {
    .company_introduce_sign_en .company_introduce_post {
      font-size: 1.6rem; } }
  @media (max-width: 767px) {
    .company_introduce_sign_en .company_introduce_post {
      font-size: 1.4rem; } }
  .company_introduce_sign_en .company_introduce_name {
    font-weight: 500; }
    @media (min-width: 768px), print {
      .company_introduce_sign_en .company_introduce_name {
        font-size: 2.8rem; } }
    @media (max-width: 767px) {
      .company_introduce_sign_en .company_introduce_name {
        font-size: 2.2rem; } }

.company_history_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.company_history_list {
  position: relative; }
  .company_history_list::after {
    background: #bcc4c8;
    content: "";
    height: 97%;
    position: absolute;
    top: 22px; }
    @media (min-width: 768px), print {
      .company_history_list::after {
        left: 180px;
        width: 2px; } }
    @media (max-width: 767px) {
      .company_history_list::after {
        left: 126px;
        width: 1px; } }
  .company_history_list li {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px; }
  .company_history_list dl {
    align-items: flex-start;
    display: flex;
    flex: 1 1 0%;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 6px 0 0 0; }
    .company_history_list dl dt {
      color: #000;
      font-weight: bold;
      position: relative;
      text-align: right; }
      @media (min-width: 768px), print {
        .company_history_list dl dt {
          font-size: 2rem;
          padding: 2px 30px 2px 0;
          width: 90px;
          min-height: 40px; } }
      @media (max-width: 767px) {
        .company_history_list dl dt {
          font-size: 1.6rem;
          padding: 4px 15px 2px 0;
          width: 55px;
          min-height: 34px; } }
      .company_history_list dl dt::after {
        content: "月"; }
        @media (min-width: 768px), print {
          .company_history_list dl dt::after {
            font-size: 1.6rem; } }
        @media (max-width: 767px) {
          .company_history_list dl dt::after {
            font-size: 1.4rem; } }
      .company_history_list dl dt::before {
        background: #087dcb;
        border-radius: 100%;
        content: "";
        height: 10px;
        position: absolute;
        pointer-events: none;
        right: -6px;
        top: 50%;
        transform: translateY(-50%);
        width: 10px;
        z-index: 1; }
    @media (min-width: 768px), print {
      .company_history_list dl dd {
        padding: 4px 0 2px 0;
        width: calc(100% - 140px); } }
    @media (max-width: 767px) {
      .company_history_list dl dd {
        padding: 6px 0 2px 0;
        width: calc(100% - 75px); } }

.company_history_year {
  color: #000;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  position: relative; }
  @media (min-width: 768px), print {
    .company_history_year {
      font-size: 3rem;
      width: 90px; } }
  @media (max-width: 767px) {
    .company_history_year {
      font-size: 2.4rem;
      width: 70px; } }
  .company_history_year::after {
    content: "年"; }
    @media (min-width: 768px), print {
      .company_history_year::after {
        font-size: 1.6rem; } }
    @media (max-width: 767px) {
      .company_history_year::after {
        font-size: 1.4rem; } }

@media (min-width: 768px), print {
  .company_history_list_en::after {
    left: 210px; } }
@media (max-width: 767px) {
  .company_history_list_en::after {
    left: 156px; } }
.company_history_list_en .company_history_year::after {
  content: none; }
@media (min-width: 768px), print {
  .company_history_list_en .company_history_year {
    width: 70px; } }
@media (max-width: 767px) {
  .company_history_list_en .company_history_year {
    width: 54px; } }
@media (min-width: 768px), print {
  .company_history_list_en dl dt {
    width: 140px; } }
@media (max-width: 767px) {
  .company_history_list_en dl dt {
    padding-right: 10px;
    width: 102px; } }
.company_history_list_en dl dt::after {
  content: none; }
@media (min-width: 768px), print {
  .company_history_list_en dl dd {
    width: calc(100% - 190px); } }
@media (max-width: 767px) {
  .company_history_list_en dl dd {
    width: calc(100% - 125px); } }

.company_bnr_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-bottom: 80px; }

.page_company_bnr {
  position: relative; }
  .page_company_bnr::before {
    bottom: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent #eaf0f3 transparent;
    left: 0;
    position: absolute; }
    @media (min-width: 768px), print {
      .page_company_bnr::before {
        border-width: 0 0 280px 100vw; } }
    @media (max-width: 767px) {
      .page_company_bnr::before {
        border-width: 0 0 100px 100vw; } }

@media (max-width: 767px) {
  .company_bnr_img img {
    max-width: 150px; } }

.company_business {
  background-image: none;
  margin-bottom: 0;
  position: relative; }
  .company_business .hm_support_inner {
    align-items: flex-start; }
    .company_business .hm_support_inner .cmn_group_ttl {
      padding-left: 0;
      position: relative;
      z-index: 1; }
      @media (min-width: 768px), print {
        .company_business .hm_support_inner .cmn_group_ttl {
          width: 340px; } }
      @media (max-width: 1039px) {
        .company_business .hm_support_inner .cmn_group_ttl {
          width: 210px; } }
      @media (max-width: 767px) {
        .company_business .hm_support_inner .cmn_group_ttl {
          width: 100%; } }
  @media (min-width: 768px), print {
    .company_business {
      padding-bottom: 100px;
      padding-top: 40px; } }
  @media (max-width: 767px) {
    .company_business {
      padding-bottom: 50px; }
      .company_business .cmn_ttl br {
        display: none; } }

.message_comment_subttl {
  font-weight: bold;
  line-height: 1.5; }
  @media (min-width: 768px), print {
    .message_comment_subttl {
      font-size: 3rem;
      margin-bottom: 20px; } }
  @media (max-width: 767px) {
    .message_comment_subttl {
      font-size: 2rem;
      margin-bottom: 5px; } }

.company_profile {
  background: url(images/company/bg-profile.jpg) center center/cover no-repeat;
  position: relative; }
  .company_profile::before {
    background: #087dcb;
    content: "";
    height: 100%;
    left: 0;
    opacity: .7;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (max-width: 767px) {
    .company_profile .cmn_group_ttl br {
      display: none; } }

.product_btn_caution {
  font-size: 1.3rem;
  display: block; }

@media (min-width: 1042px) {
  .company_profile {
    background-attachment: fixed; } }
@media (min-width: 768px), print {
  .company_initiaty {
    padding-bottom: 130px !important; } }
@media (max-width: 767px) {
  .company_initiaty {
    padding-bottom: 60px !important; } }

.company_initiaty_ttl {
  padding-left: 0 !important; }

@media (min-width: 768px), print {
  .company_product_thumb {
    margin-bottom: 25px; } }
@media (max-width: 767px) {
  .company_product_thumb {
    margin-bottom: 10px; } }

.company_profile_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .company_profile_inner {
      display: flex;
      justify-content: space-between; } }
  .company_profile_inner .cmn_group_ttl {
    color: #fff;
    margin-right: 50px;
    position: relative;
    top: -10px;
    width: 250px; }
    @media (max-width: 1039px) {
      .company_profile_inner .cmn_group_ttl {
        margin-right: 20px;
        width: 160px; } }
    @media (max-width: 767px) {
      .company_profile_inner .cmn_group_ttl {
        width: 100%; } }

@media (min-width: 768px), print {
  .company_profile_tbl_outer {
    flex: 1 1 0%; } }

.company_profile_tbl {
  border-top: 1px solid #fff;
  table-layout: fixed;
  width: 100%; }
  .company_profile_tbl tr {
    border-bottom: 1px solid #fff; }
  .company_profile_tbl th, .company_profile_tbl td {
    color: #fff; }
    @media (min-width: 768px), print {
      .company_profile_tbl th, .company_profile_tbl td {
        padding: 18px 20px; } }
    @media (max-width: 767px) {
      .company_profile_tbl th, .company_profile_tbl td {
        padding: 15px 10px; } }
  .company_profile_tbl th {
    font-weight: bold;
    vertical-align: top;
    text-align: left; }
    @media (min-width: 768px), print {
      .company_profile_tbl th {
        width: 200px; } }
    @media (max-width: 767px) {
      .company_profile_tbl th {
        width: 120px; } }

.page_company_location {
  z-index: 10; }

.company_location_wrap {
  position: relative; }
  @media (min-width: 768px), print {
    .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb {
      right: 47vw; } }
  .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::before {
    content: "";
    height: calc(100%);
    transform: skew(-16deg);
    position: absolute;
    z-index: 1;
    border-style: solid;
    border-image: linear-gradient(to top, #91e3d3, #20aee2, #36a5ef) 1;
    opacity: 0.6;
    border-width: 0 0 0 34px;
    right: 75px;
    top: 30px; }
    @media (max-width: 1039px) {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::before {
        border-width: 0 0 0 25px;
        right: 84px;
        top: 25px; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::before {
        border-width: 0 0 0 17px;
        right: 48px;
        top: 17px; } }
  .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::after {
    background: none;
    border-right: 200px solid #fff;
    content: "";
    height: calc(100% + 100px);
    transform: skew(-16deg);
    position: absolute;
    right: -100px;
    top: -50px;
    width: 100vw; }
    @media (min-width: 768px), print {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::after {
        right: -100px;
        top: -50px;
        width: 100vw; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_inner::after {
        right: -140px;
        top: -50px;
        width: 100vw; } }
  .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_span::after {
    max-width: 1650px; }
    @media (max-width: 1039px) {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_span::after {
        bottom: -25px;
        height: 25px;
        width: 55vw; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(odd) .company_location_thumb_span::after {
        bottom: -17px;
        height: 17px;
        width: 75vw; } }
  .company_location_wrap .company_location_box:nth-child(odd) .company_location_content {
    justify-content: flex-end; }
  @media (min-width: 768px), print {
    .company_location_wrap .company_location_box:nth-child(odd) .company_location_inner {
      margin-left: 20px; } }
  @media (min-width: 768px), print {
    .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb {
      left: 47vw; } }
  .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::before {
    content: "";
    height: calc(100%);
    transform: skew(16deg);
    position: absolute;
    z-index: 1;
    border-style: solid;
    border-image: linear-gradient(to top, #91e3d3, #20aee2, #36a5ef) 1;
    opacity: 0.6;
    border-width: 0 0 0 34px;
    left: 75px;
    top: 30px; }
    @media (max-width: 1039px) {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::before {
        border-width: 0 0 0 25px;
        left: 82px;
        top: 25px; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::before {
        border-width: 0 0 0 17px;
        left: 48px;
        top: 17px; } }
  .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::after {
    background: none;
    border-left: 200px solid #fff;
    content: "";
    width: 100vw;
    height: calc(100% + 100px);
    transform: skew(16deg);
    position: absolute;
    top: -50px; }
    @media (min-width: 768px), print {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::after {
        left: -100px; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_inner::after {
        left: -140px; } }
  .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_span::after {
    left: auto;
    right: 0; }
    @media (max-width: 1039px) {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_span::after {
        bottom: -25px;
        height: 25px; } }
    @media (max-width: 767px) {
      .company_location_wrap .company_location_box:nth-child(even) .company_location_thumb_span::after {
        bottom: -17px;
        height: 17px;
        width: 75vw; } }
  @media (min-width: 768px), print {
    .company_location_wrap .company_location_box:nth-child(even) .company_location_inner {
      margin-right: 20px; } }

.company_initiaty::before {
  top: 370px !important; }
.company_initiaty::after {
  height: 720px  !important; }

@media (max-width: 767px) {
  .company_initiaty_list .product_detail_ttl_group {
    margin-bottom: 15px; } }

@media (min-width: 768px), print {
  .product_detail_ttl {
    font-size: 2.4rem;
    margin-bottom: 10px; } }
@media (max-width: 767px) {
  .product_detail_ttl {
    font-size: 2rem; } }

@media (min-width: 768px), print {
  .company_initiaty_list_en .hm_product_btn {
    bottom: -50px; } }

.company_location_box {
  position: relative; }
  @media (min-width: 768px), print {
    .company_location_box {
      margin-bottom: 120px; } }
  @media (max-width: 767px) {
    .company_location_box {
      margin-bottom: 50px; } }

.company_location_thumb {
  position: absolute;
  width: 850px; }
  @media (max-width: 1039px) {
    .company_location_thumb {
      width: 62vw; } }
  @media (max-width: 767px) {
    .company_location_thumb {
      margin-bottom: 30px;
      position: relative;
      width: 100%; } }

.company_location_thumb_inner {
  position: relative; }

.company_location_thumb_span {
  display: block;
  height: 600px;
  position: relative; }
  @media (max-width: 1039px) {
    .company_location_thumb_span {
      height: 480px; } }
  @media (max-width: 767px) {
    .company_location_thumb_span {
      height: 480px; } }
  .company_location_thumb_span::after {
    background: rgba(145, 227, 211, 0.6);
    bottom: -30px;
    content: "";
    height: 30px;
    left: 0;
    position: absolute;
    width: 100%; }

.company_location_content {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  align-items: center;
  display: flex;
  height: 600px; }
  @media (max-width: 1039px) {
    .company_location_content {
      height: 480px; } }
  @media (max-width: 767px) {
    .company_location_content {
      height: auto; } }

.company_location_inner {
  width: 35%; }
  @media (max-width: 1039px) {
    .company_location_inner {
      width: 40%; } }
  @media (max-width: 767px) {
    .company_location_inner {
      width: 100%; } }

.company_location_ttl {
  font-weight: bold; }
  @media (min-width: 768px), print {
    .company_location_ttl {
      font-size: 3rem;
      margin-bottom: 25px; } }
  @media (max-width: 767px) {
    .company_location_ttl {
      font-size: 2.2rem;
      margin-bottom: 15px; } }

.company_location_add {
  padding-bottom: 25px; }

.company_location_chou {
  display: inline-block;
  padding-right: 10px; }
  @media (max-width: 1039px) {
    .company_location_chou {
      display: block; } }

.company_location_station_ttl {
  color: #087dcb;
  font-size: 1.8rem;
  padding-bottom: 5px; }

.company_location_sta_spn {
  display: inline-block;
  margin-right: 10px; }

.company_location_map {
  position: relative;
  width: 220px; }
  @media (min-width: 768px), print {
    .company_location_map {
      margin-top: 30px; } }
  @media (max-width: 767px) {
    .company_location_map {
      margin: 20px auto 0; } }
  .company_location_map a {
    align-items: center;
    background: #087dcb;
    color: #fff;
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%; }
    @media (min-width: 768px), print {
      .company_location_map a {
        height: 60px; } }
    @media (max-width: 767px) {
      .company_location_map a {
        height: 50px; } }
    .company_location_map a::after {
      display: none; }

.company_location_bus a {
  background: #27c4a5; }

.company_recruit {
  margin-bottom: 130px;
  padding: 0;
  position: relative;
  z-index: 0; }
  .company_recruit::after {
    background: #eaf0f3;
    content: "";
    display: block;
    height: 94%;
    position: absolute;
    right: 15%;
    top: 90px;
    transform: skewX(30deg);
    width: 110vw;
    z-index: -1; }
  .company_recruit::before {
    background: url(images/company/bg-recruit.png) 0 0/cover no-repeat;
    content: "";
    left: 0;
    position: absolute; }
    @media (min-width: 768px), print {
      .company_recruit::before {
        height: 750px;
        top: -85%;
        width: 340px; } }
    @media (max-width: 767px) {
      .company_recruit::before {
        height: 441px;
        top: -40%;
        width: 200px; } }

.company_recruit_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.company_recruit_group_ttl {
  background: linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%);
  position: relative; }
  @media (min-width: 768px), print {
    .company_recruit_group_ttl {
      margin-bottom: 60px;
      min-height: 190px;
      padding: 40px 50px 50px 50px;
      width: 400px; } }
  @media (max-width: 767px) {
    .company_recruit_group_ttl {
      margin-bottom: 60px;
      max-width: 400px;
      padding: 30px 20px;
      width: 100%; } }
  .company_recruit_group_ttl .cmn_group_ttl {
    color: #fff; }

.company_recruit_btn {
  position: absolute; }
  @media (min-width: 768px), print {
    .company_recruit_btn {
      bottom: -20px;
      right: -20px;
      width: 260px; } }
  @media (max-width: 767px) {
    .company_recruit_btn {
      bottom: -15px;
      right: -15px;
      width: 160px; } }

.slick-slide .inner {
  height: 400px;
  margin: 0 5px; }
  @media (max-width: 1039px) {
    .slick-slide .inner {
      height: 300px; } }
  @media (max-width: 767px) {
    .slick-slide .inner {
      height: 200px; } }

.font_roboto.company_introduce_content p,
.font_roboto .company_history_list dt,
.font_roboto .company_history_list dd,
.font_roboto .message_comment_subttl,
.font_roboto .message_comment_txt,
.font_roboto .product_detail_ttl,
.font_roboto .hm_product_txt, .font_roboto.company_profile_tbl th, .font_roboto.company_profile_tbl td,
.font_roboto .company_location_inner p,
.font_roboto a {
  font-family: "Roboto", sans-serif; }

.pg_support {
  overflow: hidden;
  position: relative; }

/*.support_about {
  @include wrap;
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  padding-bottom: 110px;
  z-index: 2;
  @include tablet {
    flex-direction: column;
    padding-bottom: 60px;
  }
  @include sp {
    padding-bottom: 0;
  }
  .cmn_group_ttl {
    @include pc {
      margin-bottom: 15px;
      margin-right: 40px;
      margin-top: 13px;
    }
    @include sp {
      margin-right: 40px;
      margin-top: 13px;
    }
  }
}*/
.support_faq {
  position: relative; }
  .support_faq::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #eaf0f3;
    left: 0;
    position: absolute;
    z-index: -1;
    border-width: 70vh 0 70vh 200vw;
    top: 10%; }

.support_faq_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.support_faq_box {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
  background: #fff;
  border: 1px solid #eaf0f3;
  position: relative; }
  @media (min-width: 768px), print {
    .support_faq_box {
      margin-bottom: 18px; } }
  @media (max-width: 767px) {
    .support_faq_box {
      margin-bottom: 15px; } }
  .support_faq_box.active {
    transition: all 0.3s; }
    .support_faq_box.active::before {
      transition: all 0.3s;
      transform: rotate(180deg); }
    .support_faq_box.active::after {
      transition: all 0.3s;
      opacity: 0;
      transform: rotate(180deg); }
  .support_faq_box::before {
    transition: all 0.3s;
    border-top: 1px solid #087dcb;
    content: "";
    height: 1px;
    pointer-events: none;
    position: absolute;
    transform: rotate(0deg); }
    @media (min-width: 768px), print {
      .support_faq_box::before {
        right: 30px;
        top: 50px;
        width: 20px; } }
    @media (max-width: 767px) {
      .support_faq_box::before {
        right: 15px;
        top: 38px;
        width: 15px; } }
  .support_faq_box::after {
    transition: all 0.3s;
    border-left: 1px solid #087dcb;
    content: "";
    pointer-events: none;
    position: absolute;
    transform: rotate(0deg);
    width: 1px; }
    @media (min-width: 768px), print {
      .support_faq_box::after {
        height: 20px;
        right: 39px;
        top: 40px; } }
    @media (max-width: 767px) {
      .support_faq_box::after {
        height: 14px;
        right: 22px;
        top: 32px; } }

.support_faq_ttl {
  cursor: pointer;
  font-weight: bold;
  position: relative; }
  @media (min-width: 768px), print {
    .support_faq_ttl {
      font-size: 2rem;
      padding: 35px 60px 35px 80px; } }
  @media (max-width: 767px) {
    .support_faq_ttl {
      font-size: 1.6rem;
      padding: 24px 35px 24px 50px; } }
  .support_faq_ttl::before {
    content: "Q.";
    color: #087dcb;
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    position: absolute; }
    @media (min-width: 768px), print {
      .support_faq_ttl::before {
        font-size: 3rem;
        left: 30px;
        top: 26px; } }
    @media (max-width: 767px) {
      .support_faq_ttl::before {
        font-size: 2.5rem;
        left: 15px;
        top: 15px; } }

.support_faq_txt {
  display: none;
  position: relative; }
  @media (min-width: 768px), print {
    .support_faq_txt {
      margin-top: 10px;
      padding: 0 20px 35px 80px; } }
  @media (max-width: 767px) {
    .support_faq_txt {
      padding: 0 20px 20px 50px; } }
  .support_faq_txt::before {
    content: "A.";
    color: #087dcb;
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    position: absolute; }
    @media (min-width: 768px), print {
      .support_faq_txt::before {
        font-size: 3rem;
        left: 30px;
        top: -15px; } }
    @media (max-width: 767px) {
      .support_faq_txt::before {
        font-size: 2.5rem;
        left: 15px;
        top: -12px; } }

.contact_top_btn_faq, .contact_submit {
  margin: 0 auto;
  max-width: 260px; }
  @media (min-width: 768px), print {
    .contact_top_btn_faq, .contact_submit {
      width: 100%; } }
  @media (max-width: 767px) {
    .contact_top_btn_faq, .contact_submit {
      width: 70%; } }

.contact_before_block {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-top: 110px; }
  @media (min-width: 768px), print {
    .contact_before_block .cmn_group_ttl_mid {
      margin-bottom: 24px; } }
  @media (max-width: 1039px) {
    .contact_before_block {
      padding-top: 60px; } }
  @media (max-width: 767px) {
    .contact_before_block {
      padding-top: 50px; } }

.contact_top_midtxt {
  padding-bottom: 34px;
  text-align: center; }

.contact_phone_block {
  margin-bottom: 0; }

.contact_phone_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .contact_phone_inner {
      align-items: center;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; } }
  @media (max-width: 767px) {
    .contact_phone_inner .cmn_group_ttl {
      text-align: center; } }

.contact_phone {
  color: #000; }
  @media (min-width: 768px), print {
    .contact_phone {
      padding-left: 60px; } }
  @media (max-width: 767px) {
    .contact_phone {
      text-align: center; } }

.contact_phone_number {
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  line-height: 1.4;
  position: relative; }
  .contact_phone_number a {
    color: #000;
    text-decoration: none; }
  @media (min-width: 768px), print {
    .contact_phone_number {
      font-size: 6rem; }
      .contact_phone_number::before {
        bottom: 4px;
        font-size: 4rem;
        left: -62px;
        position: absolute; } }
  @media (max-width: 1039px) {
    .contact_phone_number {
      font-size: 5rem; } }
  @media (max-width: 767px) {
    .contact_phone_number {
      font-size: 3.8rem; }
      .contact_phone_number::before {
        bottom: 4px;
        font-size: 2.4rem; } }
  .contact_phone_number::before {
    content: "tel."; }

.contact_phone {
  font-size: 1.4rem; }

.tbl_cmm {
  margin: 0 auto;
  max-width: 740px;
  width: 100%; }

.contact_form {
  width: 100%; }
  @media (min-width: 768px), print {
    .contact_form th,
    .contact_form td {
      padding-bottom: 13px;
      padding-top: 13px; } }
  .contact_form th {
    line-height: 1.4;
    position: relative;
    vertical-align: top;
    text-align: left; }
    @media (min-width: 768px), print {
      .contact_form th {
        width: 240px; } }
    @media (max-width: 767px) {
      .contact_form th {
        background: #eaf0f3;
        display: block;
        margin-bottom: 10px;
        padding: 10px;
        width: 100%; }
        .contact_form th br {
          display: none; } }
  .contact_form td {
    position: relative; }
    @media (max-width: 767px) {
      .contact_form td {
        display: block;
        padding-bottom: 20px;
        width: 100%; } }
    .contact_form td input[type],
    .contact_form td textarea {
      border: 1px solid #bcc4c8;
      cursor: pointer;
      font-size: 1.6rem;
      line-height: normal;
      padding: 7px 15px;
      resize: none;
      width: 100%;
      -webkit-appearance: none; }
    .contact_form td textarea {
      height: 200px; }
  .contact_form .required {
    align-items: center;
    border: 1px solid #36a5ef;
    color: #36a5ef;
    display: flex;
    font-size: 1.4rem;
    font-weight: normal;
    justify-content: center;
    height: 24px;
    position: absolute;
    width: 50px; }
    @media (min-width: 768px), print {
      .contact_form .required {
        right: 20px;
        top: 22px; } }
    @media (max-width: 767px) {
      .contact_form .required {
        right: 10px;
        top: 8px; } }

.contact_ttl_en {
  color: #879297;
  font-family: "Oswald", sans-serif;
  font-size: 1.4rem; }
  @media (min-width: 768px), print {
    .contact_ttl_en {
      display: block; } }
  @media (max-width: 767px) {
    .contact_ttl_en {
      display: inline-block;
      padding-left: 10px;
      position: relative;
      top: 1px; } }

input:focus,
textarea:focus {
  outline: none; }

::placeholder {
  color: #ccc; }

:-ms-input-placeholder {
  color: #ccc; }

::-webkit-input-placeholder {
  color: #ccc; }

.contact_agree {
  display: flex;
  justify-content: center;
  padding: 10px 10px 30px; }
  .contact_agree input {
    display: none;
    pointer-events: none; }
  .contact_agree label {
    cursor: pointer;
    display: flex;
    line-height: 20px;
    position: relative; }
    .contact_agree label span {
      display: block;
      position: relative; }
      .contact_agree label span::before {
        border: 1px solid #bcc4c8;
        background: #fff;
        color: #087dcb;
        content: "";
        font-size: 1.2rem;
        height: 20px;
        position: absolute;
        text-align: center;
        top: 0;
        width: 20px; }
        @media (min-width: 768px), print {
          .contact_agree label span::before {
            left: -190px; } }
        @media (max-width: 767px) {
          .contact_agree label span::before {
            left: -170px; } }
    .contact_agree label input:checked span:before {
      background: url(images/page/ico-check.png) center center no-repeat;
      content: ""; }
    .contact_agree label input:checked ~ span:before {
      background: url(images/page/ico-check.png) center center no-repeat;
      content: ""; }
  .contact_agree .error {
    left: 0;
    position: absolute;
    top: 26px; }
    .contact_agree .error::before {
      display: none; }

.form_checkradio {
  display: flex;
  flex-wrap: wrap;
  position: relative; }
  .form_checkradio .error {
    left: 0;
    position: absolute;
    top: 36px; }
  .form_checkradio label {
    cursor: pointer; }
    .form_checkradio label input {
      position: absolute;
      visibility: hidden; }
      .form_checkradio label input:checked ~ span::after {
        opacity: 1; }
    .form_checkradio label span {
      align-items: center;
      display: flex;
      font-size: 1.6rem;
      height: 44px;
      line-height: 1;
      padding: 10px 5px 10px 36px;
      position: relative; }
      .form_checkradio label span::before {
        background: #fff;
        border: 1px solid #BCC4C8;
        border-radius: 100%;
        content: '';
        height: 24px;
        left: 0;
        position: absolute;
        top: 10px;
        width: 24px; }
      .form_checkradio label span::after {
        background: #087dcb;
        border-radius: 100%;
        content: "";
        height: 16px;
        left: 4px;
        position: absolute;
        opacity: 0;
        top: 14px;
        width: 16px; }

.form_checkradio > span {
  display: inline-block;
  height: 100%;
  margin-right: 30px; }

.back_button {
  padding: 20px 0;
  position: relative;
  text-align: left; }
  .back_button input {
    color: #879297;
    background: none;
    border: none;
    cursor: pointer; }
    .back_button input:hover {
      text-decoration: underline; }

.contact_submit {
  padding-top: 20px; }
  .contact_submit span.next_button {
    transition: all 0.3s;
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
    background-color: #087dcb;
    border: none;
    cursor: pointer;
    display: block;
    overflow: hidden;
    position: relative;
    text-align: center;
    transition: all 0s;
    width: 100%; }
    .contact_submit span.next_button::after {
      transition: all 0.3s;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(135deg); }
      @media (min-width: 768px), print {
        .contact_submit span.next_button::after {
          height: 12px;
          right: 20px;
          width: 12px; } }
      @media (max-width: 767px) {
        .contact_submit span.next_button::after {
          height: 8px;
          right: 10px;
          width: 8px; } }
    @media (min-width: 768px), print {
      .contact_submit span.next_button:hover {
        box-shadow: none;
        color: #fff; }
        .contact_submit span.next_button:hover::after {
          right: 10px; } }
    .contact_submit span.next_button:hover {
      transition: all 0.3s;
      background: linear-gradient(to right, #91e3d3 0%, #20aee2 50%, #36a5ef 100%); }
    .contact_submit span.next_button input {
      background: none;
      border: none;
      color: #fff;
      cursor: pointer;
      width: 100%; }
      @media (min-width: 768px), print {
        .contact_submit span.next_button input {
          padding: 16px 25px; } }
      @media (max-width: 767px) {
        .contact_submit span.next_button input {
          padding: 13px 12px; } }

.entry_age {
  align-items: center;
  display: flex; }
  .entry_age input {
    width: 110px !important; }

.entry_age_lbl {
  margin-left: 15px; }

.entry_zipcode {
  width: 150px !important; }

.form_desc {
  color: #879297;
  padding-left: 1em;
  word-break: break-word; }

.mw_wp_form_input input[type="file"] {
  display: none; }
.mw_wp_form_input .filelabel {
  transition: all 0.3s;
  padding: 8px 20px;
  margin: 0 10px 10px 0;
  background: #aaa;
  color: #fff;
  display: inline-block;
  cursor: pointer; }
  .mw_wp_form_input .filelabel .mwform-file-delete {
    display: none; }
  .mw_wp_form_input .filelabel:hover {
    transition: all 0.3s;
    opacity: .7; }
  .mw_wp_form_input .filelabel.file-selected {
    opacity: .7;
    pointer-events: none; }
.mw_wp_form_input .fileclear {
  color: #087dcb;
  cursor: pointer;
  display: none;
  margin-bottom: 10px;
  padding-right: 15px; }
  .mw_wp_form_input .fileclear::before {
    content: "×"; }
  .mw_wp_form_input .fileclear:hover {
    transition: all 0.3s;
    color: #27c4a5; }

.mw_wp_form_confirm .contact_agree {
  display: none; }
.mw_wp_form_confirm .filelabel .filelabel_txt,
.mw_wp_form_confirm .js-upload-filename,
.mw_wp_form_confirm .fileclear {
  display: none; }
.mw_wp_form_confirm .form_desc {
  display: none; }

.formft_pagetop {
  bottom: 80px; }

.product_top {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-bottom: 70px;
  text-align: center; }
  @media (max-width: 1039px) {
    .product_top {
      padding-bottom: 60px; } }
  @media (max-width: 767px) {
    .product_top {
      padding-bottom: 45px; } }

.product_top_ttl {
  color: #087dcb;
  line-height: 1.4;
  font-size: 4rem; }
  @media (min-width: 768px), print {
    .product_top_ttl {
      margin-bottom: 30px; } }
  @media (max-width: 1039px) {
    .product_top_ttl {
      font-size: 3.2rem; } }
  @media (max-width: 767px) {
    .product_top_ttl {
      font-size: 2.4rem;
      margin-bottom: 20px; } }

.product_content {
  background: url(images/product/bg-decor01.png) #eaf0f3 right top no-repeat;
  margin-bottom: 80px;
  overflow: hidden;
  padding: 80px 0;
  position: relative; }
  @media (max-width: 1039px) {
    .product_content {
      margin-bottom: 60px;
      padding: 0; } }
  @media (max-width: 767px) {
    .product_content {
      background-size: 212px auto;
      margin-bottom: 40px;
      padding: 0; } }

.product_content_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (max-width: 1039px) {
    .product_content_inner {
      padding-bottom: 60px;
      padding-top: 60px; } }
  @media (max-width: 767px) {
    .product_content_inner {
      padding-bottom: 50px;
      padding-top: 50px; } }

/*
.product_detail_ttl_group {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  @include tablet {
    flex-direction: column;
  }
}
.product_detail_lbl_txt {
  color: $base-color;
  border: 1px solid $base-color;
  border-radius: 3px;
  padding: 1px 8px;
  @include pc {}
  @include sp {
    font-size: 1.4rem;
  }
}
*/
.produt_single_block {
  padding-bottom: 65px; }
  @media (max-width: 1039px) {
    .produt_single_block {
      padding-bottom: 30px; } }
  @media (max-width: 767px) {
    .produt_single_block {
      padding-bottom: 35px; } }

.product_medic_logo {
  text-align: center; }
  @media (min-width: 768px), print {
    .product_medic_logo {
      max-width: 500px;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    .product_medic_logo {
      margin-bottom: 15px; }
      .product_medic_logo img {
        width: 70%; } }

.product_medic_box {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  align-items: flex-start;
  display: flex;
  padding-bottom: 40px;
  padding-top: 40px; }
  @media (max-width: 767px) {
    .product_medic_box {
      flex-direction: column;
      padding-bottom: 25px;
      padding-top: 0; } }
  .product_medic_box .cmn_group_ttl {
    width: 380px; }
    @media (max-width: 1039px) {
      .product_medic_box .cmn_group_ttl {
        width: 250px; } }
    @media (max-width: 767px) {
      .product_medic_box .cmn_group_ttl {
        width: 100%; } }
    .product_medic_box .cmn_group_ttl .cmn_ttl {
      margin-bottom: 3px; }

.product_medic_content {
  flex: 1 1 0%; }
  @media (max-width: 767px) {
    .product_medic_content {
      width: 100%; } }

.product_medic_special {
  padding-bottom: 100px;
  position: relative; }
  @media (max-width: 1039px) {
    .product_medic_special {
      padding-bottom: 30px; } }
  @media (max-width: 767px) {
    .product_medic_special {
      padding-bottom: 20px; } }
  .product_medic_special::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 260px 0 0 100vw;
    border-color: transparent transparent transparent #eaf0f3;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -1; }
    @media (max-width: 1039px) {
      .product_medic_special::after {
        border-width: 170px 0 0 100vw; } }
    @media (max-width: 767px) {
      .product_medic_special::after {
        border-width: 120px 0 0 100vw; } }
  .product_medic_special .product_medic_subttl {
    font-size: 4.2rem;
    line-height: 1.4; }
    @media (max-width: 1039px) {
      .product_medic_special .product_medic_subttl {
        font-size: 3rem;
        line-height: 1.4; } }
    @media (max-width: 767px) {
      .product_medic_special .product_medic_subttl {
        font-size: 2.5rem;
        line-height: 1.4;
        padding-bottom: 10px; } }

.product_medic_btn {
  align-items: flex-end;
  display: flex;
  justify-content: flex-end;
  margin-top: 30px; }
  .product_medic_btn a {
    padding-left: 25px;
    text-align: left;
    width: 220px; }

.product_medic_middle {
  background: #eaf0f3;
  padding-bottom: 60px; }
  @media (max-width: 1039px) {
    .product_medic_middle {
      padding-bottom: 30px; } }
  @media (max-width: 767px) {
    .product_medic_middle {
      padding-bottom: 20px; } }
  .product_medic_middle .product_medic_subttl {
    font-size: 3rem;
    line-height: 1.4;
    padding-bottom: 10px; }
    @media (max-width: 1039px) {
      .product_medic_middle .product_medic_subttl {
        font-size: 2.8rem;
        line-height: 1.6; } }
    @media (max-width: 767px) {
      .product_medic_middle .product_medic_subttl {
        font-size: 2.2rem;
        line-height: 1.4;
        padding-bottom: 10px; } }

@media (min-width: 768px), print {
  .product_medic_patent {
    align-items: flex-start;
    display: flex; } }
@media (max-width: 1039px) {
  .product_medic_patent {
    display: block; } }
@media (min-width: 768px), print {
  .product_medic_patent img {
    margin-left: 20px;
    max-width: 246px; } }
@media (max-width: 767px) {
  .product_medic_patent img {
    display: block;
    margin: 15px auto 0;
    text-align: center;
    width: 246px; } }

.product_medic_last {
  padding: 60px 0 0; }
  @media (max-width: 1039px) {
    .product_medic_last {
      padding: 30px 0 0; } }
  @media (max-width: 767px) {
    .product_medic_last {
      padding: 20px 0 0; } }
  .product_medic_last .product_medic_box {
    align-items: center; }

.product_medic_nor_ttl_group {
  align-items: center;
  color: #087dcb;
  display: flex; }
  @media (max-width: 1039px) {
    .product_medic_nor_ttl_group {
      flex-direction: column; } }
  @media (max-width: 767px) {
    .product_medic_nor_ttl_group {
      flex-direction: row; } }

.product_medic_nor_ttl {
  font-size: 2.4rem; }
  .product_medic_nor_ttl br {
    display: none; }
  @media (max-width: 1039px) {
    .product_medic_nor_ttl {
      font-size: 2.2rem; }
      .product_medic_nor_ttl br {
        display: block; } }
  @media (max-width: 767px) {
    .product_medic_nor_ttl {
      font-size: 2rem; }
      .product_medic_nor_ttl br {
        display: none; } }

.product_medic_nor_img {
  margin-left: 50px; }
  .product_medic_nor_img img {
    max-width: 91px; }
  @media (max-width: 1039px) {
    .product_medic_nor_img {
      margin-left: 0;
      margin-top: 10px; } }
  @media (max-width: 767px) {
    .product_medic_nor_img {
      margin-left: 15px;
      margin-top: 0; } }

.product_detail_wrap {
  background: #fff;
  padding-bottom: 0;
  padding-top: 90px;
  position: relative;
  overflow: hidden; }
  @media (max-width: 1039px) {
    .product_detail_wrap {
      padding-top: 60px; } }
  @media (max-width: 767px) {
    .product_detail_wrap {
      padding-top: 50px; } }
  .product_detail_wrap::after {
    background: linear-gradient(to left, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
    content: "";
    height: 340px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100vw; }
    @media (max-width: 1039px) {
      .product_detail_wrap::after {
        height: 240px; } }
    @media (max-width: 767px) {
      .product_detail_wrap::after {
        height: 189px; } }
  .product_detail_wrap::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 260px 120vw;
    border-color: transparent transparent #fff transparent;
    top: 81px;
    left: -10vw;
    position: absolute;
    z-index: 3; }
    @media (max-width: 1039px) {
      .product_detail_wrap::before {
        border-width: 0 0 170px 120vw;
        top: 71px; } }
    @media (max-width: 767px) {
      .product_detail_wrap::before {
        border-width: 0 0 120px 120vw;
        top: 71px; } }
  .product_detail_wrap .cmn_group_ttl {
    color: #fff; }

.employ_aboutmember_both::after {
  background: url(images/employ/bg-recruit.png) top right no-repeat, linear-gradient(to left, #91e3d3 0%, #20aee2 50%, #36a5ef 100%); }
  @media (max-width: 767px) {
    .employ_aboutmember_both::after {
      background: url(images/employ/bg-recruit.png) top right/50% auto no-repeat, linear-gradient(to left, #91e3d3 0%, #20aee2 50%, #36a5ef 100%); } }

.product_detail_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  z-index: 19; }

.product_detail_dec {
  position: absolute;
  right: 0;
  text-align: right;
  top: 120px;
  z-index: 3; }
  @media (max-width: 1039px) {
    .product_detail_dec {
      top: 92px; }
      .product_detail_dec img {
        width: 70%; } }
  @media (max-width: 767px) {
    .product_detail_dec img {
      width: 50%; } }

.product_detail_block {
  margin-bottom: 90px; }
  @media (max-width: 1039px) {
    .product_detail_block {
      margin-bottom: 60px; } }
  @media (max-width: 767px) {
    .product_detail_block {
      margin-bottom: 50px; } }

.product_detail_up {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 767px) {
    .product_detail_up {
      flex-direction: column; } }

.product_detail_part01 {
  margin-right: 50px;
  width: 40%; }
  @media (max-width: 1039px) {
    .product_detail_part01 {
      margin-right: 20px;
      width: 40%; } }
  @media (max-width: 767px) {
    .product_detail_part01 {
      margin-bottom: 0;
      margin-right: 0;
      width: 100%; } }

.product_detail_part02 {
  flex: 1 1 0%; }
  @media (max-width: 767px) {
    .product_detail_part02 {
      width: 100%; } }

.product_detail_img {
  cursor: pointer;
  transition: all 0.3s;
  position: relative; }
  @media (max-width: 767px) {
    .product_detail_img {
      margin-bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      width: 90%; } }
  @media (max-width: 1039px) {
    .product_detail_img .product_detail_imghover {
      display: none; }
    .product_detail_img .product_detail_imgnormal {
      display: block;
      opacity: 1 !important; }
    .product_detail_img.active .product_detail_imgnormal {
      display: none; }
    .product_detail_img.active .product_detail_imghover {
      display: block;
      opacity: 1; } }
  .product_detail_img img {
    max-width: 400px;
    width: 100%; }

.product_detail_imghover {
  opacity: 0;
  top: 0; }

.product_detail_tbl {
  border-top: 1px solid #BCC4C8;
  margin-top: 40px;
  table-layout: fixed;
  width: 100%; }
  @media (max-width: 767px) {
    .product_detail_tbl {
      margin-top: 20px; } }
  @media (min-width: 768px), print {
    .product_detail_tbl tr {
      border-bottom: 1px solid #BCC4C8; } }
  @media (max-width: 767px) {
    .product_detail_tbl tr {
      border: 1px solid #BCC4C8; } }
  .product_detail_tbl th, .product_detail_tbl td {
    padding: 20px; }
    @media (max-width: 767px) {
      .product_detail_tbl th, .product_detail_tbl td {
        display: block;
        padding: 10px; } }
  .product_detail_tbl th {
    background: #eaf0f3;
    text-align: center; }
    @media (min-width: 768px), print {
      .product_detail_tbl th {
        width: 20%; } }
  @media (min-width: 768px), print {
    .product_detail_tbl td {
      width: 30%; } }

.product_detail_sizelist li {
  display: block;
  padding: 2px 0; }

.product_detail_ttl01 {
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    .product_detail_ttl01 {
      margin-bottom: 20px;
      text-align: center; }
      .product_detail_ttl01 img {
        height: 40px; } }

.product_detail_lbl {
  color: #087dcb; }
  @media (min-width: 768px), print {
    .product_detail_lbl {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .product_detail_lbl {
      font-size: 1.6rem; } }

.product_type_ttl {
  color: #087dcb;
  font-size: 2.4rem;
  font-weight: bold;
  margin: 40px 0 30px;
  text-align: center; }
  @media (max-width: 767px) {
    .product_type_ttl {
      font-size: 1.8rem;
      margin: 30px 0 20px; } }

.product_type_list {
  display: flex;
  flex-wrap: wrap; }
  .product_type_list li {
    background: #eaf0f3;
    margin-bottom: 15px;
    line-height: 1.5;
    padding: 15px 18px;
    text-align: center; }
    @media (min-width: 768px), print {
      .product_type_list li {
        margin-left: 2.5%;
        width: 18%; }
        .product_type_list li:nth-child(5n+1) {
          margin-left: 0; } }
    @media (max-width: 767px) {
      .product_type_list li {
        margin-left: 15px;
        padding: 15px 10px;
        width: calc((100% - 15px) / 2 - 0.1px); }
        .product_type_list li:nth-child(odd) {
          margin-left: 0; } }

.product_type_subttl {
  align-items: center;
  display: flex;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px; }
  @media (min-width: 768px), print {
    .product_type_subttl {
      height: 60px; } }
  @media (max-width: 1039px) {
    .product_type_subttl {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .product_type_subttl {
      font-size: 1.8rem; } }

.product_type_txt {
  font-weight: 500;
  line-height: 1.5; }

.product_expericence {
  background: url(images/product/bg-decor.png) #eaf0f3 left top no-repeat;
  overflow: hidden;
  position: relative; }
  @media (min-width: 768px), print {
    .product_expericence {
      margin-bottom: 100px;
      padding-bottom: 75px;
      padding-top: 75px; } }
  @media (max-width: 767px) {
    .product_expericence {
      margin-bottom: 50px;
      padding: 50px 0; }
      .product_expericence .hm_support_btns {
        align-items: flex-end;
        justify-content: flex-end; }
        .product_expericence .hm_support_btns li {
          width: 220px; }
          .product_expericence .hm_support_btns li a {
            width: 100%; } }

body.fixed {
  overflow: hidden; }

body.fixed .modal_content_common {
  overflow-x: hidden;
  overflow-y: auto; }

.modal-overlay {
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99; }

.modal_content_common {
  display: none;
  height: 100%;
  left: 0;
  overflow: hidden;
  outline: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1050; }

.modal_content_dialog {
  align-items: center;
  display: flex;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  max-height: calc(100% - 20px);
  margin: 10px;
  min-height: calc(100% - 20px);
  pointer-events: none;
  position: relative;
  width: auto; }

.modal_content_inner {
  background-color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  max-height: none;
  max-width: 1000px;
  outline: 0;
  overflow: hidden;
  pointer-events: auto;
  position: relative;
  width: 100%; }
  .modal_content_inner::after {
    background: url(images/product/bg-modal.png) center center/contain no-repeat;
    content: "";
    height: 100%;
    left: 5%;
    margin: 0 auto;
    position: absolute;
    opacity: .1;
    top: 20px;
    width: 90%; }

.modal-footer {
  align-items: center;
  flex-shrink: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: end;
  justify-content: center;
  z-index: 9; }
  @media (min-width: 768px), print {
    .modal-footer {
      padding: 40px 20px 60px; } }
  @media (max-width: 767px) {
    .modal-footer {
      padding: 20px; } }

.modal-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative; }

.modal-body-inner {
  padding: 70px 60px;
  position: relative;
  z-index: 2; }
  @media (max-width: 1039px) {
    .modal-body-inner {
      padding: 40px 30px; } }
  @media (max-width: 767px) {
    .modal-body-inner {
      padding: 30px 20px; } }
  .modal-body-inner .cmn_group_ttl {
    margin-bottom: 45px;
    text-align: center; }
  .modal-body-inner .cmn_ttl {
    margin-bottom: 2px; }

.modal_product_list {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 767px) {
    .modal_product_list {
      flex-direction: column; } }
  .modal_product_list li {
    width: calc((100% - 100px) / 3 - 0.1px); }
    @media (max-width: 1039px) {
      .modal_product_list li {
        width: calc((100% - 60px) / 3 - 0.1px); } }
    @media (max-width: 767px) {
      .modal_product_list li {
        margin-bottom: 20px;
        width: 100%; } }
    @media (min-width: 768px), print {
      .modal_product_list li .cmn_group_ttl {
        margin-bottom: 30px; } }
    @media (max-width: 767px) {
      .modal_product_list li .cmn_group_ttl {
        margin-bottom: 20px; } }
    @media (min-width: 768px), print {
      .modal_product_list li .cmn_group_ttl .cmn_ttl {
        font-size: 4.6rem; } }
    @media (max-width: 767px) {
      .modal_product_list li .cmn_group_ttl .cmn_ttl {
        font-size: 2.6rem; } }

.modal_product_img {
  text-align: center; }
  @media (min-width: 768px), print {
    .modal_product_img {
      margin-bottom: 35px; } }
  @media (max-width: 767px) {
    .modal_product_img {
      margin-bottom: 20px; }
      .modal_product_img img {
        height: 60px;
        width: auto; } }

.mber_modal_btn {
  width: 220px; }

.exp_block {
  padding: 100px 0 90px; }
  .exp_block .exp_block_inner:last-child {
    padding-bottom: 0; }
  @media (max-width: 1039px) {
    .exp_block {
      padding: 60px 0 60px; } }
  @media (max-width: 767px) {
    .exp_block {
      padding: 50px 0 40px; } }

.exp_block_inner {
  padding-bottom: 70px;
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (max-width: 1039px) {
    .exp_block_inner {
      padding-bottom: 50px; } }
  @media (max-width: 767px) {
    .exp_block_inner {
      padding-bottom: 40px; } }
  .exp_block_inner .product_medic_box {
    padding-left: 0;
    padding-right: 0; }
  .exp_block_inner .cmn_group_ttl_mid {
    margin-bottom: 20px; }

.exp_block_specical {
  display: flex; }
  @media (max-width: 767px) {
    .exp_block_specical {
      flex-direction: column-reverse; } }

.exp_spec_img {
  margin-right: 50px;
  width: 44.6%; }
  @media (max-width: 1039px) {
    .exp_spec_img {
      margin-right: 25px; } }
  @media (max-width: 767px) {
    .exp_spec_img {
      margin-right: 0;
      margin-top: 10px;
      width: 100%; } }

.exp_spec_content .cmn_group_ttl {
  padding-bottom: 3px; }
@media (min-width: 768px), print {
  .exp_spec_content {
    flex: 1 1 0%;
    padding-top: 10px; } }
@media (max-width: 767px) {
  .exp_spec_content {
    width: 100%; } }
.exp_spec_content .cmn_ttl {
  margin-bottom: 3px; }

.exp_top_txt {
  margin-bottom: 25px;
  text-align: center; }

@media (min-width: 768px), print {
  .exp_oversea_list {
    display: flex;
    justify-content: space-between; } }
@media (max-width: 767px) {
  .exp_oversea_list {
    margin: 0 auto;
    max-width: 400px; } }
.exp_oversea_list li {
  margin-bottom: 15px;
  max-width: 300px;
  width: calc((100% - 40px) / 3 - 0.1px); }
  @media (max-width: 1039px) {
    .exp_oversea_list li {
      margin-bottom: 0; } }
  @media (max-width: 767px) {
    .exp_oversea_list li {
      margin-bottom: 15px;
      max-width: 100%;
      width: 100%; } }

.exp_measure_txt {
  text-align: center; }

.exp_measure_list {
  margin: 0 auto 40px; }
  @media (min-width: 1171px), print {
    .exp_measure_list {
      width: 90%; } }
  .exp_measure_list li {
    margin-bottom: 2px;
    padding: 0 0 0 25px;
    position: relative; }
    .exp_measure_list li::before {
      background: #087dcb;
      border-radius: 100%;
      content: "";
      height: 16px;
      left: 0;
      position: absolute;
      top: 8px;
      width: 16px; }

.silicon_block01 {
  background: url(images/product/bg-silicon.png) bottom center/cover no-repeat; }

@media (min-width: 1042px) {
  .silicon_block01 {
    background-attachment: fixed; } }
.silicon_block01_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (max-width: 1039px) {
    .silicon_block01_inner .cmn_group_ttl {
      margin-bottom: 20px; } }

.silicon_block01_txt {
  text-align: center; }

.silicon_product_wrap {
  position: relative; }
  .silicon_product_wrap .cmn_group_ttl {
    margin-bottom: 0; }

.silicon_product_bg {
  bottom: 0;
  position: absolute;
  right: 0;
  z-index: 3; }
  @media (max-width: 1039px) {
    .silicon_product_bg {
      width: 50%; } }
  @media (max-width: 767px) {
    .silicon_product_bg {
      width: 100%; } }

.silicon_product_box {
  align-items: flex-end;
  display: flex;
  padding-bottom: 100px;
  position: relative;
  top: -50px;
  z-index: 9; }
  @media (min-width: 768px), print {
    .silicon_product_box {
      padding-top: 40px; } }
  @media (max-width: 1039px) {
    .silicon_product_box {
      padding-bottom: 70px;
      top: 0; } }
  @media (max-width: 767px) {
    .silicon_product_box {
      flex-direction: column;
      padding: 20px 0 40px; } }

.silicon_product_img {
  margin-right: 70px;
  min-width: 250px;
  width: 37.5%; }
  @media (max-width: 1039px) {
    .silicon_product_img {
      margin-right: 25px; } }
  @media (max-width: 767px) {
    .silicon_product_img {
      margin: 0 auto 20px;
      text-align: center;
      width: 100%; }
      .silicon_product_img img {
        height: 300px;
        width: auto; } }

@media (min-width: 768px), print {
  .silicon_product_content {
    flex: 1 1 0%;
    margin-bottom: 10px; } }
@media (max-width: 1039px) {
  .silicon_product_content {
    margin-bottom: 20px; } }
@media (max-width: 767px) {
  .silicon_product_content {
    width: 100%; } }

.silicon_product_ttl {
  margin-bottom: 40px;
  text-align: center; }
  @media (max-width: 1039px) {
    .silicon_product_ttl {
      margin-bottom: 15px; } }
  .silicon_product_ttl img {
    width: 100%;
    max-width: 520px; }

.silicon_patent_logo {
  position: relative; }
  .silicon_patent_logo::before {
    background: url("images/product/logo-patent.svg") center/cover no-repeat;
    content: "";
    position: absolute;
    top: -106px; }
    @media (min-width: 768px), print {
      .silicon_patent_logo::before {
        height: 101px;
        right: -16px;
        width: 110px; } }
    @media (max-width: 767px) {
      .silicon_patent_logo::before {
        height: 82px;
        right: -10px;
        width: 90px; } }

.silicon_feature_wrap {
  background: #eaf0f3;
  padding: 0 0 50px;
  z-index: 9; }
  .silicon_feature_wrap::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 180px 0 0 100vw;
    border-color: transparent transparent transparent #eaf0f3;
    top: -179px;
    left: 0;
    position: absolute;
    z-index: 3; }
  @media (max-width: 1039px) {
    .silicon_feature_wrap {
      padding-bottom: 0; }
      .silicon_feature_wrap::before {
        border-width: 150px 0 0 100vw;
        top: -149px; } }
  @media (max-width: 767px) {
    .silicon_feature_wrap::before {
      border-width: 60px 0 0 100vw;
      top: -59px; } }

.silicon_feature_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-bottom: 40px; }
  @media (min-width: 768px), print {
    .silicon_feature_inner .product_medic_box {
      padding: 30px 0; } }
  @media (max-width: 767px) {
    .silicon_feature_inner .product_medic_box {
      padding: 0 0 25px; } }
  .silicon_feature_inner .product_medic_subttl {
    font-size: 3rem;
    line-height: 1.4; }
    @media (max-width: 1039px) {
      .silicon_feature_inner .product_medic_subttl {
        font-size: 2.8rem;
        line-height: 1.6; } }
    @media (max-width: 767px) {
      .silicon_feature_inner .product_medic_subttl {
        font-size: 2.2rem;
        line-height: 1.4;
        padding-bottom: 10px; } }

.silicon_patent_block {
  padding: 60px 0; }
  @media (max-width: 1039px) {
    .silicon_patent_block {
      padding: 40px 0; } }
  @media (max-width: 767px) {
    .silicon_patent_block {
      padding: 40px 0 10px; } }

.product_silica_patent figure {
  margin: 0 auto;
  text-align: center;
  width: 100% !important;
  max-width: 400px; }
  .product_silica_patent figure img {
    margin-bottom: 6px; }
  .product_silica_patent figure figcaption {
    font-weight: bold; }

.product_secndh_content {
  background: #d6e4ed;
  text-align: center; }
  @media (min-width: 768px), print {
    .product_secndh_content {
      margin: 20px 0 40px;
      padding: 20px 30px; } }
  @media (max-width: 767px) {
    .product_secndh_content {
      margin: 20px 0 25px;
      padding: 16px 20px; } }

@media (min-width: 768px), print {
  body.customize-support .employ_topmain_inner {
    height: calc(100vh - 132px); } }
@media (max-width: 767px) {
  body.customize-support .employ_topmain_inner {
    height: calc(100vh - 126px); } }
@media (min-width: 768px), print {
  body .employ_topmain_inner {
    height: calc(100vh - 100px); } }
@media (max-width: 767px) {
  body .employ_topmain_inner {
    height: calc(100vh - 80px); } }

.employ_topmain_inner {
  position: relative;
  overflow: hidden;
  width: 100%; }
  .employ_topmain_inner::after {
    background: linear-gradient(to bottom, rgba(54, 165, 239, 0.6) 0%, rgba(96, 194, 226, 0.6) 50%, rgba(145, 227, 211, 0.6) 100%);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: 2; }

.employ_swiper_container {
  height: 100%;
  width: 100%; }

.employ_topmain_content {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  align-items: flex-end;
  display: flex;
  justify-content: flex-end;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 9; }

.employ_topmain_ttl {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: normal;
  text-align: right; }
  @media (min-width: 768px), print {
    .employ_topmain_ttl {
      font-size: 4rem;
      line-height: 2;
      padding-bottom: 100px; } }
  @media (max-width: 767px) {
    .employ_topmain_ttl {
      font-size: 2.8rem;
      line-height: 1.8;
      padding-bottom: 90px; } }

.employ_topmain_control_outline {
  background: #087dcb; }

.employ_topmain_control {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  max-width: 1040px; }
  .employ_topmain_control li {
    border-right: 1px solid #4797cc;
    background: #087dcb;
    text-align: center; }
    @media (min-width: 768px), print {
      .employ_topmain_control li {
        height: 80px;
        width: 25%; }
        .employ_topmain_control li:first-child {
          border-left: 1px solid #4797cc; } }
    @media (max-width: 767px) {
      .employ_topmain_control li {
        height: 60px;
        width: 50%; }
        .employ_topmain_control li:nth-child(even) {
          border-right: none; }
        .employ_topmain_control li:nth-child(n+3) {
          border-top: 1px solid #4797cc; } }
    .employ_topmain_control li a {
      color: #fff;
      display: block;
      height: 100%;
      position: relative; }
      @media (min-width: 768px), print {
        .employ_topmain_control li a {
          font-size: 1.8rem;
          padding: 15px 10px; } }
      @media (max-width: 767px) {
        .employ_topmain_control li a {
          font-size: 1.5rem;
          padding: 10px; } }
      .employ_topmain_control li a::after {
        transition: all 0.3s;
        border-top: 1px solid #fff;
        border-left: 1px solid #fff;
        content: "";
        display: block;
        height: 12px;
        left: 0;
        margin: 0 auto;
        position: absolute;
        right: 0;
        transform: rotate(-135deg);
        width: 12px; }
        @media (min-width: 768px), print {
          .employ_topmain_control li a::after {
            bottom: 20px; } }
        @media (max-width: 767px) {
          .employ_topmain_control li a::after {
            bottom: 12px; } }
      .employ_topmain_control li a:hover {
        color: #27c4a5; }
        .employ_topmain_control li a:hover::after {
          bottom: 15px;
          border-top: 1px solid #27c4a5;
          border-left: 1px solid #27c4a5; }

.employ_message {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.employ_message_content {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  padding: 0 0 0 100px; }
  @media (max-width: 1039px) {
    .employ_message_content {
      padding: 0 0 0 20px; } }
  @media (max-width: 767px) {
    .employ_message_content {
      flex-direction: column-reverse;
      padding: 0; } }

@media (min-width: 768px), print {
  .employ_message_txt {
    flex: 1 1 0%; } }
@media (max-width: 767px) {
  .employ_message_txt {
    width: 100%; } }

.employ_message_img {
  position: relative; }
  @media (min-width: 768px), print {
    .employ_message_img {
      margin-left: 40px;
      width: 295px; } }
  @media (max-width: 767px) {
    .employ_message_img {
      margin: 0 auto 30px;
      width: 80%; } }
  .employ_message_img::after {
    background: linear-gradient(to top, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
    content: "";
    height: 100%;
    left: 15px;
    position: absolute;
    opacity: .6;
    top: 15px;
    width: 100%;
    z-index: -1; }

.employ_ourjob {
  background: url("images/employ/bg-ourjob.jpg") center top/cover no-repeat;
  height: 900px;
  position: relative; }
  .employ_ourjob::before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
  @media (max-width: 1039px) {
    .employ_ourjob {
      height: auto; } }

@media (min-width: 1042px) {
  .employ_ourjob {
    background-attachment: fixed; } }
.employ_ourjob_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  align-items: flex-end;
  display: flex;
  justify-content: flex-end; }

.employ_ourjob_box {
  background: rgba(255, 255, 255, 0.9);
  padding: 60px 50px;
  width: 60%;
  position: relative; }
  @media (max-width: 1039px) {
    .employ_ourjob_box {
      padding: 40px 30px;
      width: 70%; } }
  @media (max-width: 767px) {
    .employ_ourjob_box {
      padding: 30px 20px;
      width: auto; } }
  .employ_ourjob_box .cmn_group_ttl {
    margin-bottom: 25px; }
  .employ_ourjob_box .cmn_ttl {
    margin-bottom: 3px; }

.employ_ourjob_list {
  padding: 0; }
  .employ_ourjob_list li {
    background: url("images/employ/ico-check.svg") 0 6px/18px 18px no-repeat;
    padding-left: 30px; }
    @media (min-width: 768px), print {
      .employ_ourjob_list li {
        margin-bottom: 20px; } }
    @media (max-width: 767px) {
      .employ_ourjob_list li {
        margin-bottom: 10px; } }

.employ_aboutmember_wrap {
  align-items: center;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .employ_aboutmember_wrap {
      padding: 0 20px 50px; } }
  @media (max-width: 767px) {
    .employ_aboutmember_wrap {
      padding: 0 15px 20px; } }

.employ_aboutmember_btn {
  height: 60px;
  width: 260px; }
  .employ_aboutmember_btn a {
    color: #087dcb;
    font-size: 1.6rem; }
    .employ_aboutmember_btn a:hover {
      box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
      color: #087dcb; }

.employ_member_list {
  align-items: flex-start;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .employ_member_list {
      padding-bottom: 70px; } }
  @media (max-width: 767px) {
    .employ_member_list {
      flex-direction: column;
      padding-bottom: 35px;
      margin: 0 auto;
      max-width: 400px;
      width: 100%; } }
  .employ_member_list li {
    cursor: pointer;
    position: relative; }
    @media (min-width: 768px), print {
      .employ_member_list li {
        width: calc((100% - 40px) / 2 - 0.1px); }
        .employ_member_list li:hover .employ_member_thumb img {
          transition: all 0.3s;
          transform: scale(1.1, 1.1); } }
    @media (max-width: 767px) {
      .employ_member_list li {
        margin-bottom: 45px;
        width: 100%; }
        .employ_member_list li:last-child {
          margin-bottom: 0; } }
    .employ_member_list li a {
      display: block;
      height: 100%;
      position: relative;
      width: 100%; }
      .employ_member_list li a:hover img {
        transform: scale(1.1, 1.1); }
    .employ_member_list li:nth-of-type(odd) .employ_member_inner::after {
      background: #27c4a5; }
    .employ_member_list li:nth-of-type(odd) .employ_member_btn a {
      color: #27c4a5; }
    .employ_member_list li:nth-of-type(odd) .employ_member_btn a::after {
      border-top: 1px solid #27c4a5;
      border-left: 1px solid #27c4a5; }
    .employ_member_list li:nth-of-type(even) .employ_member_inner::after {
      background: #087dcb; }
    .employ_member_list li:nth-of-type(even) .employ_member_btn a {
      color: #087dcb; }

.employ_member_list_cont {
  cursor: pointer;
  position: relative; }
  @media (min-width: 768px), print {
    .employ_member_list_cont:hover .employ_member_thumb img {
      transition: all 0.3s;
      transform: scale(1.1, 1.1); } }
  @media (max-width: 767px) {
    .employ_member_list_cont {
      margin-bottom: 45px;
      width: 100%; }
      .employ_member_list_cont:last-child {
        margin-bottom: 0; } }
  .employ_member_list_cont a {
    display: block;
    height: 100%;
    position: relative;
    width: 100%; }
    .employ_member_list_cont a:hover img {
      transform: scale(1.1, 1.1); }
  .employ_member_list_cont .employ_member_inner::after {
    background: #27c4a5; }
  .employ_member_list_cont .employ_member_btn a {
    color: #27c4a5; }
  .employ_member_list_cont .employ_member_btn a::after {
    border-top: 1px solid #27c4a5;
    border-left: 1px solid #27c4a5; }

.employ_member_inner {
  display: block;
  left: 0;
  position: absolute;
  bottom: 0;
  overflow: hidden;
  width: 100%; }
  .employ_member_inner::after {
    bottom: -50%;
    content: "";
    height: 120%;
    left: -20%;
    position: absolute;
    opacity: 0.8;
    transform: rotate(16deg);
    width: 150%; }

.employ_member_thumb {
  overflow: hidden; }
  .employ_member_thumb img {
    transition: all 0.3s; }

.employ_member_content {
  color: #fff;
  padding: 110px 30px 60px;
  width: 100%; }
  @media (max-width: 1039px) {
    .employ_member_content {
      padding: 100px 30px 35px; } }
  @media (max-width: 767px) {
    .employ_member_content {
      padding: 80px 20px 25px; } }

.employ_member_joined {
  position: relative;
  z-index: 2; }
  @media (min-width: 768px), print {
    .employ_member_joined {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .employ_member_joined {
      font-size: 1.4rem; } }

.employ_member_txt {
  font-family: "Noto Serif JP", serif;
  min-height: 80px;
  position: relative;
  z-index: 2; }
  @media (min-width: 768px), print {
    .employ_member_txt {
      font-size: 2.4rem; } }
  @media (max-width: 767px) {
    .employ_member_txt {
      font-size: 1.8rem; } }

.employ_member_btn {
  bottom: -30px;
  position: absolute; }
  @media (min-width: 768px), print {
    .employ_member_btn {
      right: -20px;
      width: 260px; } }
  @media (max-width: 767px) {
    .employ_member_btn {
      right: -10px;
      width: 160px; } }
  .employ_member_btn a:hover {
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15); }

@media (min-width: 768px), print {
  .employ_benefitbox_wrap,
  .employ_jobbox_wrap {
    margin-bottom: 100px; } }
@media (max-width: 767px) {
  .employ_benefitbox_wrap,
  .employ_jobbox_wrap {
    margin-bottom: 50px; } }

.employ_job_list {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .employ_job_list {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 768px), print {
    .employ_job_list li {
      width: calc((100% - 40px) / 3 - 0.1px); } }
  @media (max-width: 767px) {
    .employ_job_list li {
      margin: 0 auto 15px;
      max-width: 220px;
      width: 100%; } }
  .employ_job_list li a {
    background: linear-gradient(to left, #91e3d3 0%, #20aee2 50%, #36a5ef 100%);
    color: #fff;
    font-size: 2.2rem;
    padding: 30px 25px; }
    .employ_job_list li a::after {
      transition: all 0.3s;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(135deg); }
      @media (min-width: 768px), print {
        .employ_job_list li a::after {
          height: 12px;
          right: 20px;
          width: 12px; } }
      @media (max-width: 767px) {
        .employ_job_list li a::after {
          height: 8px;
          right: 10px;
          width: 8px; } }
    .employ_job_list li a:hover::before {
      left: 120%;
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
    @media (max-width: 1039px) {
      .employ_job_list li a {
        font-size: 2rem;
        padding: 20px 25px; } }
    @media (max-width: 767px) {
      .employ_job_list li a {
        font-size: 1.6rem;
        padding: 15px; } }
    .employ_job_list li a::before {
      background: #fff;
      content: "";
      height: 220px;
      left: -110px;
      opacity: 0.2;
      position: absolute;
      top: -50px;
      transform: rotate(35deg);
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
      width: 50px; }

@media (min-width: 768px), print {
  .employ_aboutmember_both {
    padding-bottom: 30px; } }
@media (max-width: 767px) {
  .employ_aboutmember_both {
    padding-bottom: 20px; } }
.employ_aboutmember_both::after {
  height: 570px; }
.employ_aboutmember_both::before {
  border-width: 0 0 360px 120vw;
  top: 240px; }

.employ_aboutmember_img {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

.employ_infor {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  .employ_infor .cmn_group_ttl_mid {
    margin-bottom: 20px; }

.infor_txt_center {
  padding-bottom: 30px;
  text-align: center; }

.employ_infor_tbl {
  table-layout: fixed;
  width: 100%; }
  @media (max-width: 767px) {
    .employ_infor_tbl {
      border-bottom: 4px solid #087dcb;
      margin: 0 auto;
      max-width: 400px; } }
  .employ_infor_tbl th, .employ_infor_tbl td {
    border: 4px solid #087dcb;
    font-weight: normal;
    vertical-align: top; }
    @media (min-width: 768px), print {
      .employ_infor_tbl th, .employ_infor_tbl td {
        padding: 25px 0 35px;
        width: 50%; } }
    @media (max-width: 767px) {
      .employ_infor_tbl th, .employ_infor_tbl td {
        padding: 20px 0;
        display: block;
        width: 100%; } }
  @media (max-width: 767px) {
    .employ_infor_tbl th, .employ_infor_tbl td {
      border-bottom: none; } }

.employ_infor_tbl_ttl {
  color: #087dcb;
  font-size: 5rem;
  font-weight: 500;
  text-align: center; }
  @media (max-width: 1039px) {
    .employ_infor_tbl_ttl {
      font-size: 3.2rem; } }
  @media (max-width: 767px) {
    .employ_infor_tbl_ttl {
      font-size: 3rem; } }

.employ_infor_subtxt {
  font-weight: normal;
  text-align: center; }

.employ_infor_mid_number {
  color: #087dcb;
  font-family: "Oswald", sans-serif;
  font-size: 12rem;
  font-weight: bold;
  line-height: 1.3;
  position: relative;
  text-align: center; }
  .employ_infor_mid_number span:nth-child(n+2) {
    position: absolute; }
    @media (max-width: 1039px) {
      .employ_infor_mid_number span:nth-child(n+2) img {
        width: 80%; } }
    @media (max-width: 767px) {
      .employ_infor_mid_number span:nth-child(n+2) img {
        width: 65%; } }
  @media (max-width: 1039px) {
    .employ_infor_mid_number {
      font-size: 9rem; } }
  @media (max-width: 767px) {
    .employ_infor_mid_number {
      font-size: 8rem; } }

.employ_infor_lbl {
  color: #333;
  display: inline-block;
  font-size: 5rem;
  line-height: 1;
  padding-left: 4px; }
  @media (max-width: 1039px) {
    .employ_infor_lbl {
      font-size: 3.1rem; } }
  @media (max-width: 767px) {
    .employ_infor_lbl {
      font-size: 2.6rem; } }

.employ_infor_img_frt {
  bottom: -25px;
  left: 30px; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt {
      bottom: -10px;
      left: 0; } }
  @media (max-width: 767px) {
    .employ_infor_img_frt {
      bottom: -5px;
      left: -8px; } }

.employ_infor_img_last {
  bottom: -25px;
  right: 30px; }
  @media (max-width: 1039px) {
    .employ_infor_img_last {
      bottom: -10px;
      right: 0; } }
  @media (max-width: 767px) {
    .employ_infor_img_last {
      bottom: -5px;
      right: -8px; } }

.employ_infor_img_frt_age {
  bottom: 8px;
  left: 20px; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt_age {
      left: 0; } }
  @media (max-width: 767px) {
    .employ_infor_img_frt_age {
      left: 0; } }

.employ_infor_img_last_age {
  right: 40px;
  top: -36px; }
  @media (max-width: 1039px) {
    .employ_infor_img_last_age {
      right: 15px; } }
  @media (max-width: 767px) {
    .employ_infor_img_last_age {
      right: 5px;
      top: -15px; } }

.employ_infor_img_frt_week {
  bottom: 0;
  left: 35px; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt_week {
      left: 0; } }

.employ_infor_img_last_week {
  right: 15px;
  top: 0; }
  @media (max-width: 1039px) {
    .employ_infor_img_last_week {
      right: 0; } }
  @media (max-width: 767px) {
    .employ_infor_img_last_week {
      right: -15px;
      top: 0; } }

.employ_infor_img_frt_gender {
  bottom: 46px;
  right: 0; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt_gender {
      bottom: 36px;
      right: -14px; } }
  @media (max-width: 767px) {
    .employ_infor_img_frt_gender {
      bottom: 32px; } }

.employ_infor_img_frt_rate {
  left: 45px;
  top: -80px; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt_rate {
      left: 20px;
      top: -60px; } }
  @media (max-width: 767px) {
    .employ_infor_img_frt_rate {
      left: 20px;
      top: -60px; } }

.employ_infor_img_last_rate {
  bottom: 5px;
  right: 12px; }
  @media (max-width: 1039px) {
    .employ_infor_img_last_rate {
      bottom: 0;
      right: -8px; } }
  @media (max-width: 767px) {
    .employ_infor_img_last_rate {
      bottom: 0;
      right: -8px; } }

.employ_infor_img_frt_average {
  left: 25px;
  top: -80px; }
  @media (max-width: 1039px) {
    .employ_infor_img_frt_average {
      left: 5px;
      top: -60px; } }
  @media (max-width: 767px) {
    .employ_infor_img_frt_average {
      left: 5px;
      top: -60px; } }

.employ_infor_img_last_average {
  bottom: 12px;
  right: 12px; }
  @media (max-width: 1039px) {
    .employ_infor_img_last_average {
      bottom: 12px;
      right: -2px; } }
  @media (max-width: 767px) {
    .employ_infor_img_last_average {
      bottom: 10px;
      right: -10px; } }

.employ_infor_twopercent {
  display: flex;
  justify-content: center; }
  .employ_infor_twopercent li {
    margin: 0 15px; }

.employ_detail_inner {
  max-width: 1080px; }

.slick01 .slick-arrow {
  cursor: pointer;
  top: 45%;
  transform: translateY(-50%);
  position: absolute;
  z-index: 99999;
  transition: all 0.3s; }
  .slick01 .slick-arrow:hover {
    opacity: .7;
    transition: all 0.3s; }
  @media (max-width: 1039px) {
    .slick01 .slick-arrow {
      width: 60px; } }
  @media (max-width: 767px) {
    .slick01 .slick-arrow {
      width: 50px; } }
@media (min-width: 1171px), print {
  .slick01 .prev-arrow {
    left: -7%; } }
@media (max-width: 1170px) and (min-width: 1040px) {
  .slick01 .prev-arrow {
    left: -2%; } }
@media (max-width: 1039px) {
  .slick01 .prev-arrow {
    left: -2%; } }
@media (max-width: 767px) {
  .slick01 .prev-arrow {
    left: -4%; } }
@media (min-width: 1171px), print {
  .slick01 .next-arrow {
    right: -7%; } }
@media (max-width: 1170px) and (min-width: 1040px) {
  .slick01 .next-arrow {
    right: -2%; } }
@media (max-width: 1039px) {
  .slick01 .next-arrow {
    right: -2%; } }
@media (max-width: 767px) {
  .slick01 .next-arrow {
    right: -4%; } }
@media (min-width: 768px), print {
  .slick01 .slick-slide {
    padding: 0 22px 40px; } }
@media (max-width: 767px) {
  .slick01 .slick-slide {
    padding: 0 15px 40px; } }

.employ_btn_block {
  position: fixed;
  z-index: 999999; }
  @media (min-width: 768px), print {
    .employ_btn_block {
      bottom: 35px;
      right: 60px; } }
  @media (max-width: 767px) {
    .employ_btn_block {
      bottom: 12px;
      left: 15px; } }
  .employ_btn_block a {
    background: linear-gradient(45deg, #ee7941, #e5005c);
    border: 1px solid #fff;
    border-radius: 30px;
    color: #fff;
    display: block;
    font-weight: bold;
    overflow: hidden;
    padding: 8px 45px 8px 20px;
    position: relative; }
    .employ_btn_block a::before {
      background: #fff;
      content: "";
      height: 155px;
      left: -75px;
      opacity: 0.2;
      position: absolute;
      top: -50px;
      transform: rotate(35deg);
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
      width: 50px; }
    .employ_btn_block a:hover::before {
      left: 120%;
      transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
    .employ_btn_block a::after {
      background: url("images/employ/ico-arrow-c-right.svg") center/cover no-repeat;
      content: "";
      height: 20px;
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      width: 20px; }

.message_person {
  overflow: hidden;
  position: relative; }
  @media (min-width: 768px), print {
    .message_person {
      padding-bottom: 30px; } }
  @media (max-width: 767px) {
    .message_person {
      padding-bottom: 50px; } }

.message_person_content {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.message_person_content_inner {
  position: relative;
  z-index: 2; }
  @media (min-width: 768px), print {
    .message_person_content_inner {
      padding-top: 80px;
      width: 50%; } }
  @media (max-width: 767px) {
    .message_person_content_inner {
      margin-bottom: 20px;
      padding-top: 40px;
      width: 100%; } }

.message_person_name {
  color: #087dcb;
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  font-size: 4rem;
  position: relative; }
  @media (max-width: 1039px) {
    .message_person_name {
      font-size: 3.6rem; } }
  @media (max-width: 767px) {
    .message_person_name {
      font-size: 2.4rem; } }

.message_person_joined {
  color: #087dcb;
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 50px; }
  @media (max-width: 1039px) {
    .message_person_joined {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .message_person_joined {
      font-size: 1.6rem;
      margin-bottom: 20px; } }

.message_person_detail dt {
  font-weight: bold; }
  @media (min-width: 768px), print {
    .message_person_detail dt {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .message_person_detail dt {
      font-size: 1.6rem; } }
@media (min-width: 768px), print {
  .message_person_detail dd {
    padding-bottom: 40px; } }
@media (max-width: 767px) {
  .message_person_detail dd {
    padding-bottom: 15px; } }

.message_person_dayoff {
  margin-top: 5px;
  width: 100%; }
  @media (max-width: 1039px) {
    .message_person_dayoff {
      width: 500px; } }
  @media (max-width: 767px) {
    .message_person_dayoff {
      width: 100%; } }
  .message_person_dayoff th {
    color: #087dcb;
    vertical-align: top;
    text-align: left; }
    @media (max-width: 767px) {
      .message_person_dayoff th {
        width: 110px; } }
  @media (min-width: 768px), print {
    .message_person_dayoff td {
      padding-left: 20px; } }
  @media (max-width: 767px) {
    .message_person_dayoff td {
      padding-left: 10px; } }
  .message_person_dayoff td:first-of-type {
    padding-bottom: 10px; }

.message_person_thumb {
  width: 850px; }
  @media (min-width: 768px), print {
    .message_person_thumb {
      position: absolute;
      left: 47vw;
      top: 0; } }
  @media (max-width: 1039px) {
    .message_person_thumb {
      width: 58%; } }
  @media (max-width: 767px) {
    .message_person_thumb {
      width: 100%; } }

.message_person_img {
  position: relative; }
  @media (min-width: 768px), print {
    .message_person_img {
      height: 800px; } }
  @media (max-width: 767px) {
    .message_person_img {
      height: 480px; } }
  .message_person_img::after {
    background: none;
    border-left: 200px solid #fff;
    content: "";
    width: 100vw;
    height: calc(100% + 400px);
    transform: skew(13deg);
    position: absolute;
    top: -200px;
    left: -100px; }
    @media (max-width: 1039px) {
      .message_person_img::after {
        transform: skew(7deg); } }
  .message_person_img::before {
    content: "";
    width: 100vw;
    height: calc(100%);
    transform: skew(13deg);
    position: absolute;
    z-index: 1;
    border-style: solid;
    border-image: linear-gradient(to top, #91e3d3, #20aee2, #36a5ef) 1;
    opacity: 0.6;
    border-width: 0 0 0 34px;
    left: 60px;
    top: -30px; }
    @media (max-width: 1039px) {
      .message_person_img::before {
        border-width: 0 0 0 25px;
        left: 72px;
        top: -30px;
        transform: skew(7deg); } }
    @media (max-width: 767px) {
      .message_person_img::before {
        border-width: 17px 0 0 17px;
        left: 80px;
        top: -17px; } }
  .message_person_img img {
    object-position: top; }

.message_comment {
  margin-bottom: 0;
  padding: 40px 0; }
  .message_comment .cmn_group_ttl {
    padding: 0; }
    @media (min-width: 768px), print {
      .message_comment .cmn_group_ttl {
        width: 300px !important; } }
    @media (max-width: 1039px) {
      .message_comment .cmn_group_ttl {
        text-align: center; } }

.message_comment_content {
  flex: 1 1 0%; }

.message_schedule {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .message_schedule .cmn_group_ttl_mid {
      margin-bottom: 30px; } }
  @media (max-width: 767px) {
    .message_schedule .cmn_group_ttl_mid {
      margin-bottom: 20px; } }

.message_subttl {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center; }
  @media (min-width: 768px), print {
    .message_subttl {
      margin-bottom: 20px; } }
  @media (max-width: 1039px) {
    .message_subttl {
      font-size: 2.6rem; } }
  @media (max-width: 767px) {
    .message_subttl {
      font-size: 2rem;
      margin-bottom: 10px; } }

@media (min-width: 768px), print {
  .message_schedule_img {
    margin-bottom: 70px; } }
@media (max-width: 767px) {
  .message_schedule_img {
    margin-bottom: 40px; } }

.message_schedule_month {
  display: block;
  margin-bottom: 4px;
  width: 100%; }

.message_schedule_quarter {
  background-color: #BCC4C8;
  display: flex;
  padding-left: 4.4%;
  padding-right: 2.6%; }
  .message_schedule_quarter li {
    display: block;
    margin-left: 1.7%; }
    .message_schedule_quarter li img {
      display: block;
      max-height: 99px; }

@media (min-width: 768px), print {
  .message_dailyschedule {
    display: flex;
    justify-content: space-between;
    margin-top: 50px; } }
@media (max-width: 767px) {
  .message_dailyschedule {
    margin-top: 30px; } }

@media (min-width: 768px), print {
  .message_dailysch_img {
    width: 300px; } }
@media (max-width: 767px) {
  .message_dailysch_img {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    width: 100%; } }
@media (min-width: 768px), print {
  .message_dailysch_img li {
    margin-bottom: 30px; }
    .message_dailysch_img li:last-child {
      margin-bottom: 0; } }
@media (max-width: 767px) {
  .message_dailysch_img li {
    width: 48%; } }

.message_dailysch_detail {
  align-items: center;
  border-left: 10px solid #a0d4f6;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: calc(100% - 370px); }
  @media (max-width: 1039px) {
    .message_dailysch_detail {
      margin: 0 auto;
      max-width: 400px;
      width: calc(100% - 330px); } }
  @media (max-width: 767px) {
    .message_dailysch_detail {
      border-left: 6px solid #a0d4f6;
      width: 100%; } }
  .message_dailysch_detail dt {
    color: #087dcb;
    font-family: "Oswald", sans-serif;
    font-size: 4rem;
    padding: 0 30px 5px 0;
    position: relative;
    text-align: right;
    width: 170px; }
    @media (max-width: 1039px) {
      .message_dailysch_detail dt {
        font-size: 3.6rem;
        width: 130px; } }
    @media (max-width: 767px) {
      .message_dailysch_detail dt {
        font-size: 2.8rem;
        padding: 0 20px 5px 0;
        width: 110px; } }
    .message_dailysch_detail dt::before {
      background: #087dcb;
      border-radius: 100%;
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 1; }
      @media (min-width: 768px), print {
        .message_dailysch_detail dt::before {
          height: 30px;
          left: -20px;
          width: 30px; } }
      @media (max-width: 767px) {
        .message_dailysch_detail dt::before {
          height: 20px;
          left: -13px;
          width: 20px; } }
  .message_dailysch_detail dd {
    width: calc(100% - 170px); }
    @media (max-width: 1039px) {
      .message_dailysch_detail dd {
        width: calc(100% - 130px); } }
    @media (max-width: 767px) {
      .message_dailysch_detail dd {
        width: calc(100% - 110px); } }

@media (min-width: 768px), print {
  .message_ttl_wrap {
    padding: 0 20px 70px; } }
@media (max-width: 767px) {
  .message_ttl_wrap {
    padding: 0 15px 30px; } }

.message_voice {
  cursor: pointer;
  height: 430px;
  margin: 0 auto;
  position: relative;
  width: 94%;
  max-width: 1000px; }
  @media (min-width: 768px), print {
    .message_voice:hover .message_vioce_thumb img {
      transition: all 0.3s;
      transform: scale(1.1, 1.1); } }
  @media (max-width: 1039px) {
    .message_voice {
      height: 340px; } }
  @media (max-width: 767px) {
    .message_voice {
      height: auto; } }

.message_vioce_thumb {
  overflow: hidden;
  position: relative; }
  .message_vioce_thumb img {
    object-position: top;
    transition: all 0.3s; }
  @media (min-width: 768px), print {
    .message_vioce_thumb {
      height: 100%; }
      .message_vioce_thumb img {
        margin-left: -48px;
        width: 50%; } }
  @media (max-width: 767px) {
    .message_vioce_thumb {
      height: 350px;
      overflow: hidden; }
      .message_vioce_thumb::before {
        content: "";
        width: 100%;
        height: 0;
        border-style: solid;
        border-width: 0 0 70px 700px;
        border-color: transparent transparent #087dcb transparent;
        position: absolute;
        bottom: 70px;
        left: 0;
        opacity: .8; } }

.message_voice_person {
  position: relative; }
  @media (min-width: 768px), print {
    .message_voice_person {
      background: linear-gradient(to right, rgba(8, 125, 203, 0.8), #087DCB 10%);
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      width: 60%; } }
  @media (max-width: 767px) {
    .message_voice_person {
      background: linear-gradient(to bottom, rgba(8, 125, 203, 0.8), #087DCB 20%); } }

.message_voice_person_inner {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative; }
  @media (min-width: 768px), print {
    .message_voice_person_inner {
      padding: 0 30px; }
      .message_voice_person_inner::before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 100px 430px 0;
        border-color: transparent #087dcb transparent transparent;
        opacity: .8;
        left: -100px;
        position: absolute;
        top: 0; } }
  @media (max-width: 1039px) {
    .message_voice_person_inner::before {
      border-width: 0 50px 340px 0;
      left: -50px; } }
  @media (max-width: 767px) {
    .message_voice_person_inner {
      margin-top: -70px;
      padding: 10px 20px 30px; } }

.message_voice_name {
  font-family: "Noto Serif JP", serif;
  font-size: 4rem;
  font-weight: bold; }
  @media (max-width: 1039px) {
    .message_voice_name {
      font-size: 3.6rem; } }
  @media (max-width: 767px) {
    .message_voice_name {
      font-size: 2.4rem; } }

.message_voice_joined {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 10px; }
  @media (max-width: 1039px) {
    .message_voice_joined {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .message_voice_joined {
      font-size: 1.6rem; } }

.message_voice_txt {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem; }
  @media (max-width: 1039px) {
    .message_voice_txt {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .message_voice_txt {
      font-size: 1.5rem; } }

.message_voice_btn {
  bottom: -30px;
  position: absolute; }
  @media (min-width: 768px), print {
    .message_voice_btn {
      right: -15px;
      width: 260px; } }
  @media (max-width: 767px) {
    .message_voice_btn {
      right: -5px;
      width: 160px; } }
  .message_voice_btn a:hover {
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15); }

.message_slide .slick-slide {
  padding-left: 0;
  padding-right: 0; }

.job_person {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .job_person {
      padding-bottom: 70px; } }
  @media (min-width: 768px), print {
    .job_person .employ_ourjob_list {
      margin: 0 auto;
      width: 410px; } }
  .job_person .employ_ourjob_list li {
    margin-bottom: 10px; }
    @media (min-width: 768px), print {
      .job_person .employ_ourjob_list li {
        font-size: 1.8rem; } }
    @media (max-width: 767px) {
      .job_person .employ_ourjob_list li {
        font-size: 1.6rem; } }

.job_flow {
  margin-bottom: 0;
  padding: 40px 0; }

.job_flow_inner {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.job_flow_list {
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .job_flow_list {
      margin-bottom: 30px; } }
  @media (max-width: 767px) {
    .job_flow_list {
      flex-wrap: wrap;
      margin-bottom: 10px; } }
  .job_flow_list li {
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding: 22px 10px 15px;
    position: relative;
    text-align: center;
    width: calc((100% - 180px) / 4 - 0.1px); }
    @media (max-width: 1039px) {
      .job_flow_list li {
        width: calc((100% - 80px) / 4 - 0.1px); } }
    @media (max-width: 767px) {
      .job_flow_list li {
        margin-bottom: 15px;
        width: calc((100% - 30px) / 2 - 0.1px); } }
    .job_flow_list li:last-child::after {
      display: none; }
    .job_flow_list li::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 0 20px 20px;
      border-color: transparent transparent transparent #087dcb;
      position: absolute;
      right: -40px;
      top: 50%;
      transform: translateY(-50%); }
      @media (max-width: 1039px) {
        .job_flow_list li::after {
          border-width: 12px 0 12px 12px;
          right: -20px; } }

@media (min-width: 768px), print {
  .job_flow_thumb img {
    margin-bottom: 8px; } }
@media (max-width: 767px) {
  .job_flow_thumb img {
    height: 80%; } }

.job_flow_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.25; }
  @media (max-width: 1039px) {
    .job_flow_ttl {
      font-size: 2.2rem; } }
  @media (max-width: 767px) {
    .job_flow_ttl {
      font-size: 1.8rem; } }

.job_flow_midtxt {
  text-align: center; }
  @media (min-width: 768px), print {
    .job_flow_midtxt {
      padding-bottom: 25px; } }
  @media (max-width: 767px) {
    .job_flow_midtxt {
      padding-bottom: 15px; } }

.job_description {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.job_decript_nav {
  display: flex;
  justify-content: space-between;
  height: 100px; }
  @media (min-width: 768px), print {
    .job_decript_nav {
      margin-bottom: 60px; }
      .job_decript_nav br {
        display: none; } }
  @media (max-width: 1039px) {
    .job_decript_nav {
      height: 70px; } }
  @media (max-width: 767px) {
    .job_decript_nav {
      margin-bottom: 25px; } }
  .job_decript_nav li {
    position: relative; }
    @media (min-width: 768px), print {
      .job_decript_nav li {
        width: calc((100% - 40px) / 3 - 0.1px); } }
    @media (max-width: 767px) {
      .job_decript_nav li {
        width: calc((100% - 15px) / 3 - 0.1px); } }
    .job_decript_nav li a {
      box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
      align-items: center;
      display: flex;
      font-size: 2.2rem;
      font-weight: bold;
      justify-content: center;
      height: 100%;
      position: relative;
      text-align: center; }
      @media (max-width: 1039px) {
        .job_decript_nav li a {
          font-size: 2.2rem; } }
      @media (max-width: 767px) {
        .job_decript_nav li a {
          font-size: 1.6rem; } }
      .job_decript_nav li a:hover {
        box-shadow: none; }
      .job_decript_nav li a.current {
        box-shadow: none;
        pointer-events: none; }
        .job_decript_nav li a.current::after {
          top: 100%;
          left: 50%;
          border: solid transparent;
          content: "";
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none; }
        .job_decript_nav li a.current::after {
          border-color: rgba(255, 255, 255, 0);
          border-top-color: #ffffff; }
          @media (min-width: 768px), print {
            .job_decript_nav li a.current::after {
              border-width: 17px;
              margin-left: -17px; } }
          @media (max-width: 767px) {
            .job_decript_nav li a.current::after {
              border-width: 10px;
              margin-left: -10px; } }
      .job_decript_nav li a:hover {
        opacity: .8; }

.job_new_graduate a.current::before, .job_mid_career a.current::before, .job_experienced a.current::before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none; }
  @media (min-width: 768px), print {
    .job_new_graduate a.current::before, .job_mid_career a.current::before, .job_experienced a.current::before {
      border-width: 20px;
      margin-left: -20px; } }
  @media (max-width: 767px) {
    .job_new_graduate a.current::before, .job_mid_career a.current::before, .job_experienced a.current::before {
      border-width: 12px;
      margin-left: -12px; } }

.job_new_graduate a {
  background: #fff;
  border: 2px solid #087dcb;
  color: #087dcb; }
  .job_new_graduate a.current::before {
    border-color: rgba(8, 125, 203, 0);
    border-top-color: #087DCB; }

.job_mid_career a {
  background: #27c4a5;
  border: 2px solid #27c4a5;
  color: #fff; }
  .job_mid_career a.current {
    background: #fff;
    border: 2px solid #27c4a5;
    color: #27c4a5; }
    .job_mid_career a.current::before {
      border-color: rgba(39, 196, 165, 0);
      border-top-color: #27c4a5; }

.job_experienced a {
  background: #087dcb;
  border: 2px solid #087dcb;
  color: #fff; }
  .job_experienced a.current {
    background: #fff;
    border: 2px solid #087dcb;
    color: #087dcb; }
    .job_experienced a.current::before {
      border-color: rgba(8, 125, 203, 0);
      border-top-color: #087DCB; }

.job_descript_tbl {
  border-top: 1px solid #087dcb;
  table-layout: fixed;
  width: 100%; }
  @media (min-width: 768px), print {
    .job_descript_tbl {
      margin-bottom: 50px; } }
  @media (max-width: 767px) {
    .job_descript_tbl {
      margin-bottom: 20px; } }
  .job_descript_tbl tr {
    border-bottom: 1px solid #087dcb; }
  @media (min-width: 768px), print {
    .job_descript_tbl th, .job_descript_tbl td {
      padding-bottom: 18px;
      padding-top: 18px; } }
  @media (max-width: 767px) {
    .job_descript_tbl th, .job_descript_tbl td {
      padding-bottom: 10px;
      padding-top: 10px; } }
  .job_descript_tbl th {
    color: #087dcb;
    vertical-align: middle;
    text-align: left; }
    @media (min-width: 768px), print {
      .job_descript_tbl th {
        padding-left: 20px;
        width: 190px; } }
    @media (max-width: 767px) {
      .job_descript_tbl th {
        padding-left: 0;
        width: 115px; } }
  .job_descript_tbl td {
    padding-left: 10px; }
    @media (min-width: 768px), print {
      .job_descript_tbl td {
        padding-right: 10px; } }

.job_descript_btn {
  justify-content: center; }

.job_descript_faq::before {
  background: #eaf0f3;
  bottom: 0;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  width: 100vw; }

.news_wrap {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.news_list {
  align-items: flex-start;
  border-top: 1px solid #087dcb;
  display: block; }
  .news_list li {
    transition: all 0.3s;
    border-bottom: 1px solid #087dcb; }
    @media (min-width: 768px), print {
      .news_list li {
        display: flex;
        flex-wrap: wrap;
        padding: 6px 0 6px 10px; }
        .news_list li:hover {
          transition: all 0.3s;
          background: #eaf0f3; }
          .news_list li:hover a::after {
            right: 10px; } }
    @media (max-width: 767px) {
      .news_list li {
        padding: 15px 0 6px 10px; } }

.news_list_date {
  color: #36A5EF;
  font-size: 1.4rem;
  font-weight: bold;
  width: 190px; }
  @media (min-width: 768px), print {
    .news_list_date {
      padding-top: 32px; } }

.news_cat {
  border: 1px solid #087dcb;
  color: #087dcb;
  display: inline-block;
  font-weight: normal;
  margin-left: 20px;
  text-align: center;
  width: 80px; }

@media (min-width: 768px), print {
  .news_list_ttl {
    width: calc(100% - 190px); } }
@media (max-width: 767px) {
  .news_list_ttl {
    width: 100%; } }
.news_list_ttl a {
  color: #000;
  display: block;
  position: relative; }
  .news_list_ttl a::after {
    transition: all 0.3s;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .news_list_ttl a::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .news_list_ttl a::after {
        height: 8px;
        right: 10px;
        width: 8px; } }
  @media (min-width: 768px), print {
    .news_list_ttl a {
      padding: 30px 40px 30px 15px; } }
  @media (max-width: 767px) {
    .news_list_ttl a {
      padding: 15px 30px 10px 0; } }
  .news_list_ttl a::after {
    transition: all 0.3s;
    border-top: 1px solid #087dcb;
    border-left: 1px solid #087dcb;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .news_list_ttl a::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .news_list_ttl a::after {
        height: 8px;
        right: 10px;
        width: 8px; } }

@media (min-width: 768px), print {
  .voice_pagenavi {
    padding: 70px 0 20px; } }
@media (max-width: 767px) {
  .voice_pagenavi {
    padding: 50px 0 20px; } }

.voice_pagenavi .pages {
  display: none; }

.wp-pagenavi {
  text-align: center; }
  .wp-pagenavi .nextpostslink {
    border: 1px solid #087dcb;
    color: #fff;
    position: relative;
    text-indent: -9999px; }
    .wp-pagenavi .nextpostslink::after {
      transition: all 0.3s;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(135deg); }
      @media (min-width: 768px), print {
        .wp-pagenavi .nextpostslink::after {
          height: 12px;
          right: 20px;
          width: 12px; } }
      @media (max-width: 767px) {
        .wp-pagenavi .nextpostslink::after {
          height: 8px;
          right: 10px;
          width: 8px; } }
    .wp-pagenavi .nextpostslink::after {
      border-top: 1px solid #087dcb;
      border-left: 1px solid #087dcb; }
      @media (min-width: 768px), print {
        .wp-pagenavi .nextpostslink::after {
          right: 25px; } }
      @media (max-width: 767px) {
        .wp-pagenavi .nextpostslink::after {
          right: 15px; } }
    .wp-pagenavi .nextpostslink:hover {
      background: #087dcb; }
      .wp-pagenavi .nextpostslink:hover::after {
        border-top: 1px solid #fff;
        border-left: 1px solid #fff; }
  .wp-pagenavi .previouspostslink {
    border: 1px solid #087dcb;
    color: #fff;
    position: relative;
    text-indent: -9999px;
    transform: rotate(180deg); }
    .wp-pagenavi .previouspostslink::after {
      transition: all 0.3s;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%) rotate(135deg); }
      @media (min-width: 768px), print {
        .wp-pagenavi .previouspostslink::after {
          height: 12px;
          right: 20px;
          width: 12px; } }
      @media (max-width: 767px) {
        .wp-pagenavi .previouspostslink::after {
          height: 8px;
          right: 10px;
          width: 8px; } }
    .wp-pagenavi .previouspostslink::after {
      border-top: 1px solid #087dcb;
      border-left: 1px solid #087dcb; }
      @media (min-width: 768px), print {
        .wp-pagenavi .previouspostslink::after {
          right: 25px; } }
      @media (max-width: 767px) {
        .wp-pagenavi .previouspostslink::after {
          right: 15px; } }
    .wp-pagenavi .previouspostslink:hover {
      background: #087dcb; }
      .wp-pagenavi .previouspostslink:hover::after {
        border-top: 1px solid #fff;
        border-left: 1px solid #fff; }

.wp-pagenavi a,
.wp-pagenavi span {
  background: #fff;
  color: #000;
  display: inline-block;
  text-decoration: none; }
  @media (min-width: 768px), print {
    .wp-pagenavi a,
    .wp-pagenavi span {
      font-size: 2.4rem;
      height: 60px;
      line-height: 38px;
      margin: 0 5px;
      padding: 10px;
      width: 60px; } }
  @media (max-width: 767px) {
    .wp-pagenavi a,
    .wp-pagenavi span {
      font-size: 1.8rem;
      height: 35px;
      margin: 0 5px;
      padding: 2px 0;
      width: 35px; } }

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border-bottom: 2px solid #087dcb;
  box-shadow: 0px 1px 0 0px rgba(0, 0, 0, 0.2);
  color: #087dcb; }

.news_single_top {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 15px 0 50px 0; }
  @media (max-width: 1039px) {
    .news_single_top {
      margin: 15px 0 50px 0; } }
  @media (max-width: 767px) {
    .news_single_top {
      margin: 0 0 30px 0; } }
  .news_single_top .news_list_date {
    padding-top: 15px; }

.news_single_ttl {
  font-size: 3.2rem;
  text-align: center; }
  @media (max-width: 1039px) {
    .news_single_ttl {
      font-size: 2.6rem; } }
  @media (max-width: 767px) {
    .news_single_ttl {
      font-size: 2.2rem; } }

.news_single_content {
  border-bottom: 1px solid #087dcb;
  display: block;
  margin-bottom: 35px;
  padding: 0 0 40px 0;
  overflow: hidden; }

@media (min-width: 768px), print {
  .news_single_content .alignleft {
    float: left;
    margin: 0 35px 15px 0;
    text-align: left; } }
@media (max-width: 767px) {
  .news_single_content .alignleft {
    float: none;
    margin: 0 auto 15px;
    text-align: center; }
    .news_single_content .alignleft img {
      margin: 0 auto;
      text-align: center; } }

.news_single_link {
  display: flex;
  justify-content: space-between; }
  .news_single_link li {
    width: 46%; }
    .news_single_link li a {
      color: #333;
      display: block;
      max-width: 325px;
      text-overflow: ellipsis;
      overflow: hidden;
      position: relative;
      white-space: nowrap;
      width: 100%; }
      .news_single_link li a::after {
        border-top: 1px solid #087dcb;
        border-left: 1px solid #087dcb; }
      .news_single_link li a:hover {
        color: #087dcb; }

.previous_post_link a::after {
  transition: all 0.3s;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(135deg); }
  @media (min-width: 768px), print {
    .previous_post_link a::after {
      height: 12px;
      right: 20px;
      width: 12px; } }
  @media (max-width: 767px) {
    .previous_post_link a::after {
      height: 8px;
      right: 10px;
      width: 8px; } }
@media (min-width: 768px), print {
  .previous_post_link a {
    padding-left: 45px; } }
@media (max-width: 767px) {
  .previous_post_link a {
    padding-left: 30px; } }
.previous_post_link a::after {
  border-bottom: 1px solid #087dcb !important;
  border-right: 1px solid #087dcb !important;
  border-top: none !important;
  border-left: none !important;
  right: auto; }
  @media (min-width: 768px), print {
    .previous_post_link a::after {
      left: 20px; } }
  @media (max-width: 767px) {
    .previous_post_link a::after {
      left: 10px; } }
.previous_post_link a:hover::after {
  left: 4px; }

.next_post_link a {
  text-align: right; }
  .next_post_link a::after {
    transition: all 0.3s;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(135deg); }
    @media (min-width: 768px), print {
      .next_post_link a::after {
        height: 12px;
        right: 20px;
        width: 12px; } }
    @media (max-width: 767px) {
      .next_post_link a::after {
        height: 8px;
        right: 10px;
        width: 8px; } }
  @media (min-width: 768px), print {
    .next_post_link a {
      padding-right: 45px; } }
  @media (max-width: 767px) {
    .next_post_link a {
      padding-right: 25px; } }
  .next_post_link a:hover::after {
    right: 4px; }

.privacy_wrap {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.privacy_content dt {
  font-weight: bold;
  padding-bottom: 8px; }
.privacy_content dd {
  display: block; }
  @media (min-width: 768px), print {
    .privacy_content dd {
      padding-bottom: 30px; } }
  @media (max-width: 767px) {
    .privacy_content dd {
      padding-bottom: 20px; } }
  .privacy_content dd:last-child {
    padding-bottom: 0; }

.privacy_nopad {
  padding-bottom: 10px !important; }

.privacy_sublist li {
  padding: 0 0 0 20px;
  position: relative; }
  .privacy_sublist li::before {
    background: #087dcb;
    border-radius: 100%;
    content: "";
    height: 6px;
    left: 5px;
    position: absolute;
    width: 6px; }
    @media (min-width: 768px), print {
      .privacy_sublist li::before {
        top: 12px; } }
    @media (max-width: 767px) {
      .privacy_sublist li::before {
        top: 10px; } }

.privacy_infor {
  padding-left: 20px; }

.benefit_education {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  padding-bottom: 0; }

.benefit_edu_top_midtxt {
  display: block;
  padding-bottom: 80px;
  position: relative;
  text-align: center; }
  @media (max-width: 1039px) {
    .benefit_edu_top_midtxt {
      padding-bottom: 60px; } }
  @media (max-width: 767px) {
    .benefit_edu_top_midtxt {
      padding-bottom: 40px; } }

.benefit_edu_photo {
  margin-bottom: 15px; }
  @media (min-width: 768px), print {
    .benefit_edu_photo {
      display: flex;
      justify-content: space-between; } }
  .benefit_edu_photo li {
    height: 335px;
    margin-bottom: 50px;
    position: relative;
    width: calc((100% - 100px) / 2 - 0.1px); }
    @media (max-width: 1039px) {
      .benefit_edu_photo li {
        height: 300px;
        width: calc((100% - 50px) / 2 - 0.1px); } }
    @media (max-width: 767px) {
      .benefit_edu_photo li {
        height: 240px;
        margin: 0 auto 40px;
        max-width: 400px;
        width: 100%; } }
    .benefit_edu_photo li::after {
      background: linear-gradient(to bottom, #36a5ef 0%, #91e3d3 100%);
      content: "";
      height: 100%;
      left: 30px;
      position: absolute;
      top: 30px;
      width: 100%;
      z-index: -1; }
      @media (max-width: 1039px) {
        .benefit_edu_photo li::after {
          left: 25px;
          top: 25px; } }
      @media (max-width: 767px) {
        .benefit_edu_photo li::after {
          left: 15px;
          top: 15px; } }

.benefit_step_upttl {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 65px; }
  @media (max-width: 1039px) {
    .benefit_step_upttl {
      font-size: 2.4rem;
      margin-bottom: 45px; } }
  @media (max-width: 767px) {
    .benefit_step_upttl {
      font-size: 1.8rem;
      margin-bottom: 65px; } }

@media (min-width: 768px), print {
  .benefit_step_wrap {
    padding-bottom: 130px; } }
@media (max-width: 767px) {
  .benefit_step_wrap {
    padding-bottom: 50px; } }

.benefit_step_list {
  background: linear-gradient(to right, #36a5ef 0%, #27c4a5 100%);
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  position: relative; }
  @media (min-width: 768px), print {
    .benefit_step_list {
      height: 110px;
      margin-right: 30px; } }
  @media (max-width: 767px) {
    .benefit_step_list {
      height: 60px;
      margin-right: 10px; } }
  .benefit_step_list::before {
    background: url(images/benefit/ico-step.svg) 0 0/cover no-repeat;
    content: "";
    height: 46px;
    position: absolute;
    top: -50px;
    width: 46px; }
    @media (min-width: 768px), print {
      .benefit_step_list::before {
        left: 80px; } }
    @media (max-width: 767px) {
      .benefit_step_list::before {
        left: 20px; } }
  .benefit_step_list::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #27c4a5;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 768px), print {
      .benefit_step_list::after {
        border-width: 55px 0 55px 40px;
        right: -40px; } }
    @media (max-width: 767px) {
      .benefit_step_list::after {
        border-width: 30px 0 30px 20px;
        right: -20px; } }
  .benefit_step_list li {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    line-height: 1.6;
    position: relative;
    width: calc(100% / 4); }
    .benefit_step_list li:last-child::after {
      display: none; }
    .benefit_step_list li::after {
      content: "";
      height: 100%;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
      @media (min-width: 768px), print {
        .benefit_step_list li::after {
          background: url(images/benefit/ico-arr.svg) 0 0/cover no-repeat;
          right: -20px;
          width: 42px; } }
      @media (max-width: 767px) {
        .benefit_step_list li::after {
          background: url(images/benefit/ico-arr2.svg) 0 0/contain no-repeat;
          right: -6px;
          width: 12px; } }

.benefit_step_ttl {
  font-weight: bold;
  text-align: center; }
  @media (min-width: 768px), print {
    .benefit_step_ttl {
      font-size: 2.4rem; } }
  @media (max-width: 767px) {
    .benefit_step_ttl {
      font-size: 1.2rem; } }

.benefit_stepup_txt {
  color: #087dcb;
  font-weight: bold;
  position: relative;
  text-align: center; }
  @media (min-width: 768px), print {
    .benefit_stepup_txt {
      font-size: 2.4rem;
      margin-bottom: 70px; } }
  @media (max-width: 767px) {
    .benefit_stepup_txt {
      font-size: 2rem;
      margin-bottom: 50px; } }
  .benefit_stepup_txt::after {
    border-style: solid;
    border-color: #087dcb transparent transparent transparent;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0; }
    @media (min-width: 768px), print {
      .benefit_stepup_txt::after {
        border-width: 40px 55px 0 55px;
        bottom: -50px; } }
    @media (max-width: 767px) {
      .benefit_stepup_txt::after {
        border-width: 20px 30px 0 30px;
        bottom: -30px; } }

@media (min-width: 768px), print {
  .benefit_stepup_list {
    display: flex;
    justify-content: space-between;
    padding: 10px; } }
@media (min-width: 768px), print {
  .benefit_stepup_list li {
    width: calc((100% - 60px) / 3 - .1px); } }
@media (max-width: 767px) {
  .benefit_stepup_list li {
    margin-bottom: 10px; } }
.benefit_stepup_list li:nth-of-type(1) {
  border: 3px solid #006030; }
  .benefit_stepup_list li:nth-of-type(1) .benefit_stepup_position {
    background: #006030; }
.benefit_stepup_list li:nth-of-type(2) {
  border: 3px solid #005550; }
  .benefit_stepup_list li:nth-of-type(2) .benefit_stepup_position {
    background: #005550; }
.benefit_stepup_list li:nth-of-type(3) {
  border: 3px solid #00558E; }
  .benefit_stepup_list li:nth-of-type(3) .benefit_stepup_position {
    background: #00558E; }

.benefit_stepup_position {
  color: #fff;
  font-weight: bold;
  text-align: center; }
  @media (min-width: 768px), print {
    .benefit_stepup_position {
      font-size: 2.2rem;
      padding: 10px; } }
  @media (max-width: 767px) {
    .benefit_stepup_position {
      font-size: 2rem;
      padding: 4px; } }

.benefit_stepup_img {
  padding: 30px;
  text-align: center; }
  @media (max-width: 767px) {
    .benefit_stepup_img {
      height: 180px; } }
  @media (max-width: 767px) {
    .benefit_stepup_img img {
      height: 100%; } }

.benefit_system {
  padding: 30px 0 100px 0;
  position: relative; }
  @media (max-width: 1039px) {
    .benefit_system {
      padding-bottom: 60px; } }
  @media (max-width: 767px) {
    .benefit_system {
      padding-bottom: 50px; } }
  .benefit_system::after {
    content: "";
    width: 100%;
    height: 100%;
    border-style: solid;
    border-color: transparent transparent #eaf0f3 #eaf0f3;
    left: 0;
    position: absolute;
    z-index: -1;
    border-width: 60vh 0 92vh 260vw;
    bottom: 0; }
    @media (max-width: 1039px) {
      .benefit_system::after {
        border-width: 44vh 0 69vh 350vw; } }
    @media (max-width: 767px) {
      .benefit_system::after {
        border-width: 45vh 0 120vh 376vw; } }
  .benefit_system .cmn_group_ttl {
    text-align: center; }
    @media (min-width: 768px), print {
      .benefit_system .cmn_group_ttl {
        margin-bottom: 50px; } }
    @media (max-width: 767px) {
      .benefit_system .cmn_group_ttl {
        padding-top: 20px;
        margin-bottom: 20px; } }

.benefit_system_detail {
  background: #fff; }
  @media (min-width: 768px), print {
    .benefit_system_detail {
      display: flex;
      margin-bottom: 50px;
      padding: 50px 0; } }
  @media (max-width: 767px) {
    .benefit_system_detail {
      margin-bottom: 40px;
      padding: 40px; } }

@media (min-width: 768px), print {
  .benefit_system_cont {
    padding: 0 50px;
    width: 50%; }
    .benefit_system_cont:first-child {
      border-right: 2px solid #eaf0f3; } }
@media (max-width: 767px) {
  .benefit_system_cont:first-child {
    border-bottom: 2px solid #eaf0f3;
    padding-bottom: 40px; }
  .benefit_system_cont:nth-of-type(2) {
    padding-top: 40px; } }

.benefit_system_cont_ttl {
  line-height: 1.6;
  padding-bottom: 20px;
  text-align: center; }
  @media (min-width: 768px), print {
    .benefit_system_cont_ttl {
      font-size: 30px; } }
  @media (max-width: 1039px) {
    .benefit_system_cont_ttl {
      font-size: 2.6rem; } }
  @media (max-width: 767px) {
    .benefit_system_cont_ttl {
      font-size: 20px; } }

.benefit_system_cont_att {
  display: block;
  font-weight: normal; }
  @media (min-width: 768px), print {
    .benefit_system_cont_att {
      font-size: 1.6rem; } }
  @media (max-width: 767px) {
    .benefit_system_cont_att {
      font-size: 1.4rem; } }

.benefit_system_schedule {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  position: relative; }
  .benefit_system_schedule dt {
    color: #087dcb;
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    line-height: 1.6;
    padding-bottom: 5px;
    position: relative;
    text-align: right; }
    @media (min-width: 768px), print {
      .benefit_system_schedule dt {
        font-size: 4rem;
        padding-right: 30px;
        width: 140px; } }
    @media (max-width: 1039px) {
      .benefit_system_schedule dt {
        padding-right: 20px;
        width: 90px; } }
    @media (max-width: 767px) {
      .benefit_system_schedule dt {
        font-size: 3.5rem; } }
    @media (min-width: 768px), print {
      .benefit_system_schedule dt .bs_month {
        font-size: 3rem; } }
    @media (max-width: 767px) {
      .benefit_system_schedule dt .bs_month {
        font-size: 2.5rem; } }
  @media (min-width: 768px), print {
    .benefit_system_schedule dd {
      width: calc(100% - 140px); } }
  @media (max-width: 1039px) {
    .benefit_system_schedule dd {
      width: calc(100% - 90px); } }

.benefit_system_list {
  padding-top: 10px; }
  .benefit_system_list li {
    padding-bottom: 10px;
    padding-left: 15px;
    position: relative; }
    .benefit_system_list li::before {
      background: #087dcb;
      border-radius: 50%;
      content: "";
      display: inline-block;
      height: 6px;
      left: 0;
      position: absolute;
      top: 13px;
      width: 6px; }

.approach_wrap {
  background: #eaf0f3;
  position: relative; }
  .approach_wrap.page_block {
    padding-bottom: 0; }
  .approach_wrap::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #fff transparent #fff #fff;
    left: 0;
    position: absolute;
    top: 0; }
  @media (min-width: 768px), print {
    .approach_wrap {
      padding: 70px 0 100px;
      margin-bottom: 90px; }
      .approach_wrap::after {
        border-width: 31vh 100vw 0 0; } }
  @media (max-width: 767px) {
    .approach_wrap {
      padding: 40px 0 40px;
      margin-bottom: 40px; }
      .approach_wrap::after {
        border-width: 20vh 100vw 0 0; } }

.approach_block .approach_lst {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 770px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%;
  z-index: 1; }
  .approach_block .approach_lst figure {
    margin-bottom: 20px; }
    .approach_block .approach_lst figure a:hover {
      opacity: .7; }
@media (min-width: 768px), print {
  .approach_block .approach_lst figure {
    width: calc(( 100% - 40px ) / 3 - 0.1px ); }
    .approach_block .approach_lst figure:nth-child(3n) {
      margin-right: 0; } }
@media (max-width: 767px) {
  .approach_block .approach_lst {
    max-width: 480px; }
    .approach_block .approach_lst figure {
      width: calc(( 100% - 20px ) / 2 - 0.1px ); }
      .approach_block .approach_lst figure:nth-child(2n) {
        margin-right: 0; } }

.approach_sub_block {
  word-break: break-word; }
  @media (min-width: 768px), print {
    .approach_sub_block {
      margin-bottom: 80px; }
      .approach_sub_block:last-child {
        margin-bottom: 0; }
      .approach_sub_block p {
        margin-bottom: 50px; } }
  @media (max-width: 767px) {
    .approach_sub_block {
      margin-bottom: 40px; }
      .approach_sub_block:last-child {
        margin-bottom: 0; }
      .approach_sub_block p {
        margin-bottom: 20px; } }

.approach_sub_wrap {
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  width: 100%; }

.approach_sub_ttl {
  border-bottom: 2px solid #eaf0f3;
  margin-bottom: 50px; }
  @media (min-width: 768px), print {
    .approach_sub_ttl {
      font-size: 4rem;
      padding-bottom: 10px;
      text-align: center; } }
  @media (max-width: 1039px) {
    .approach_sub_ttl {
      font-size: 3rem;
      padding-bottom: 4px; } }
  @media (max-width: 767px) {
    .approach_sub_ttl {
      font-size: 2.4rem; } }

.approach_sub_msg_ttl {
  color: #087dcb;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 50px;
  text-align: center; }
  @media (min-width: 768px), print {
    .approach_sub_msg_ttl {
      font-size: 4.8rem; } }
  @media (max-width: 1039px) {
    .approach_sub_msg_ttl {
      font-size: 3rem; } }
  @media (max-width: 767px) {
    .approach_sub_msg_ttl {
      font-size: 3rem; } }

.approach_sub_msg_txt {
  font-family: "Noto Serif JP", serif; }
  @media (min-width: 768px), print {
    .approach_sub_msg_txt {
      font-size: 1.8rem;
      text-align: center; } }
  @media (max-width: 1039px) {
    .approach_sub_msg_txt {
      font-size: 1.6rem; } }

.approach_sub_cont_ttl {
  background: #eaf0f3; }
  @media (min-width: 768px), print {
    .approach_sub_cont_ttl {
      font-size: 3rem;
      margin-bottom: 20px;
      padding: 8px 20px; } }
  @media (max-width: 767px) {
    .approach_sub_cont_ttl {
      font-size: 2rem;
      margin-bottom: 10px;
      padding: 4px 15px; } }

@media (min-width: 768px), print {
  .approach_sub_block_righttxt {
    margin-left: auto;
    margin-top: 50px;
    max-width: 500px; } }
@media (max-width: 767px) {
  .approach_sub_block_righttxt {
    margin-top: 20px;
    word-break: break-all; } }

@media (min-width: 768px), print {
  .approach_sub_stgspartner figure:nth-child(n+2) {
    margin-left: 50px; } }

@media (min-width: 768px), print {
  .approach_sub_block_inline {
    justify-content: space-between;
    padding: 30px 0; } }
@media (max-width: 767px) {
  .approach_sub_block_inline {
    padding: 20px 0; }
    .approach_sub_block_inline:nth-child(even) {
      flex-direction: column-reverse; } }

.approach_sub_block_cont_ttl {
  color: #087dcb; }
  @media (min-width: 768px), print {
    .approach_sub_block_cont_ttl {
      font-size: 2.4rem;
      margin-bottom: 10px; } }
  @media (max-width: 1039px) {
    .approach_sub_block_cont_ttl {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .approach_sub_block_cont_ttl {
      font-size: 1.8rem; } }

.approach_sub_block_cont_list {
  padding-top: 10px; }
  .approach_sub_block_cont_list li {
    padding-bottom: 10px;
    padding-left: 15px;
    position: relative; }
    .approach_sub_block_cont_list li::before {
      background: #087dcb;
      border-radius: 50%;
      content: "";
      display: inline-block;
      height: 6px;
      left: 0;
      position: absolute;
      top: 13px;
      width: 6px; }
  @media (min-width: 768px), print {
    .approach_sub_block_cont_list {
      margin-bottom: 20px; } }
  @media (max-width: 767px) {
    .approach_sub_block_cont_list {
      margin-bottom: 10px; } }

.approach_sub_block_cont_icolist {
  display: flex; }
  .approach_sub_block_cont_icolist figure {
    margin-left: 10px; }
    .approach_sub_block_cont_icolist figure:first-child {
      margin-left: 0; }
  @media (min-width: 768px), print {
    .approach_sub_block_cont_icolist figure {
      width: 80px; } }
  @media (max-width: 1039px) {
    .approach_sub_block_cont_icolist figure {
      width: 70px; } }
  @media (max-width: 767px) {
    .approach_sub_block_cont_icolist figure {
      width: 57px; } }

.approach_sub_sdgspartner {
  display: flex; }
  @media (min-width: 768px), print {
    .approach_sub_sdgspartner figure:nth-child(n+2) {
      margin-left: 60px; } }
  @media (max-width: 767px) {
    .approach_sub_sdgspartner figure:nth-child(n+2) {
      margin-left: 30px; } }

@media (max-width: 767px) {
  .approach_sub_nosmokingimg figure {
    max-width: 80%; } }

.approach_sub_health_detail {
  background: #eaf0f3;
  align-self: flex-start; }
  @media (min-width: 768px), print {
    .approach_sub_health_detail {
      padding: 40px; } }
  @media (max-width: 767px) {
    .approach_sub_health_detail {
      padding: 15px; } }

.approach_sub_health_detail_ttl {
  color: #087dcb;
  text-align: center; }
  @media (min-width: 768px), print {
    .approach_sub_health_detail_ttl {
      font-size: 2.4rem; } }
  @media (max-width: 767px) {
    .approach_sub_health_detail_ttl {
      font-size: 1.8rem; } }

.approach_sub_health_detail_list {
  padding-top: 10px; }
  .approach_sub_health_detail_list li {
    padding-bottom: 10px;
    padding-left: 15px;
    position: relative; }
    .approach_sub_health_detail_list li::before {
      background: #087dcb;
      border-radius: 50%;
      content: "";
      display: inline-block;
      height: 6px;
      left: 0;
      position: absolute;
      top: 13px;
      width: 6px; }
  .approach_sub_health_detail_list li {
    padding-bottom: 0; }
