@charset "UTF-8";
/* reset css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, lifieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style-type: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

input, button, textarea, select {
  font-size: 16px;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%; }

/* common css */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* remember: box-sizing is not supported by IE7 :( */
  outline: none;
  vertical-align: top;
  margin: 0;
  padding: 0; }

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

html {
  width: 100%;
  z-index: 1; }

html, body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .9vw;
  line-height: 1.6;
  letter-spacing: .2vw;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  width: 100%; }

blockquote, body, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, td, textarea, th, ul {
  margin: 0;
  padding: 0; }

p {
  margin: 0;
  padding: 0; }

a {
  color: inherit;
  outline: none;
  margin: 0;
  padding: 0;
  text-decoration: none; }

span, p, h1, h2, h3, h4, figure, a, img, input[type="submiit"], .fa, a:after, a:before {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

p, h1, h2, h3, h4, h5 {
  display: block;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0; }

input, button, textarea, select {
  font-size: 1vw;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%; }

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  display: inline-block; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

.pc {
  display: block !important; }

.sp {
  display: none !important; }

.inline-pc {
  display: inline-block !important; }

.inline-sp {
  display: none !important; }

.pc-tb {
  display: block; }

.tb-sp {
  display: none; }

.invisible {
  opacity: 0; }

.visible {
  opacity: 1; }

.hide {
  display: none; }

.inline {
  display: inline-block; }

.block {
  display: block; }

ul {
  font-size: 0px; }

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  .inline-pc {
    display: none !important; }

  .inline-sp {
    display: inline-block !important; }

  .pc-tb {
    display: none; }

  .tb-sp {
    display: block; }

  html, body {
    font-size: 3vw; } }
.wrapper {
  overflow: hidden; }

body {
  min-width: 1px; }

span {
  display: inline-block; }

img {
  width: 100%; }

main {
  display: block;
  height: 100%; }
main article {
  height: 100%; }

section {
  position: relative; }

/*
-------------------------------------------
Color
-------------------------------------------
*/
.bg-gray {
  background-color: #EFF6F6; }

/*
-------------------------------------------
Font 
-------------------------------------------
*/
html, body {
  font-family: 'Outfit', 'Noto Sans JP',sans-serif;
  font-size: 1vw;
  line-height: 1.8;
  letter-spacing: 0px;
  background-color: #FFFFFF;
  color: #011a21;
  background-color: #F7FBFA;
  font-weight: 400; }

.inline {
  display: inline-block; }

.flex {
  display: flex !important; }

.f-start {
  justify-content: flex-start; }

.f-end {
  justify-content: flex-end; }

.f-center {
  justify-content: center; }

.f-space {
  justify-content: space-between; }

.a-start {
  align-items: start; }

.a-center {
  align-items: center; }

.a-end {
  align-items: end; }

.f-wrap {
  flex-wrap: wrap; }

.f-l-wrap {
  flex-wrap: wrap-reverse; }

@media only screen and (max-width: 768px) {
  .f-center-sp {
    justify-content: center; }

  .f-wrap-sp {
    flex-wrap: wrap; }

  .f-l-wrap-sp {
    flex-wrap: wrap-reverse; } }
@media only screen and (max-width: 768px) {
  html, body {
    font-size: 3vw; } }
/* heading */
/* fv heading */
/* page-section-title */
/* text */
.xxl-text {
  font-size: 1.5vw;
  font-weight: 500; }

.xl-text {
  font-size: 1.4vw;
  font-weight: 500; }

.l-text {
  font-size: 1.3vw;
  font-weight: 500; }

.m-text {
  font-size: 1.2vw;
  font-weight: 500; }

.text {
  font-size: 1.1vw;
  font-weight: 500; }

.s-text {
  font-size: 1vw;
  font-weight: 500; }

.xs-text {
  font-size: .9vw;
  font-weight: 500; }

.bold {
  font-weight: bold; }

.fw500 {
  font-weight: 500; }

.fw400 {
  font-weight: 400; }

@media only screen and (max-width: 768px) {
  /* text */
  .xxl-text {
    font-size: 4.8vw;
    font-weight: 500; }

  .xl-text {
    font-size: 4.2vw;
    font-weight: 500; }

  .l-text {
    font-size: 3.9vw;
    font-weight: 500; }

  .m-text {
    font-size: 3.6vw;
    font-weight: 500; }

  .text {
    font-size: 3.4vw;
    font-weight: 500; }

  .s-text {
    font-size: 3.2vw;
    font-weight: 500; }

  .xs-text {
    font-size: 3vw;
    font-weight: 500; } }
/*
-------------------------------------------
Inner
-------------------------------------------
*/
.xl-inner {
  width: 88vw;
  margin: 0 auto;
  position: relative; }

.l-inner {
  width: 84vw;
  margin: 0 auto;
  position: relative; }

.m-inner {
  width: 76vw;
  margin: 0 auto;
  position: relative; }

.s-inner {
  width: 68vw;
  margin: 0 auto;
  position: relative; }

.xs-inner {
  width: 54vw;
  margin: 0 auto;
  position: relative; }

@media only screen and (max-width: 768px) {
  .xl-inner {
    width: 88vw; }

  .l-inner {
    width: 88vw; }

  .m-inner {
    width: 88vw; }

  .s-inner {
    width: 88vw; } }
/*
-------------------------------------------
Image
-------------------------------------------
*/
figure {
  font-size: 0; }

/*
-------------------------------------------
Appearance
-------------------------------------------
*/
/* border */
.border {
  border-radius: .8vw;
  -webkit-border-radius: .8vw; }

.border-s {
  border-radius: .6vw;
  -webkit-border-radius: .6vw; }

.border-xs {
  border-radius: .3vw;
  -webkit-border-radius: .3vw; }

.border-cir {
  border-radius: 1000px;
  -webkit-border-radius: 1000px; }

.border-gradient {
  border: 1px solid #FF6BBB;
  border-image: linear-gradient(130deg, #FF6BBB 20%, #7544FF 100%);
  border-image-slice: 1; }

@media only screen and (max-width: 768px) {
  .border {
    border-radius: 2.8vw;
    -webkit-border-radius: 2.8vw; }

  .border-s {
    border-radius: 1.6vw;
    -webkit-border-radius: 1.6vw; }

  .border-xs {
    border-radius: .8vw;
    -webkit-border-radius: .8vw; } }
/* shadow */
.shadow {
  box-shadow: 0px 1.2vw 3.6vw 0px rgba(15, 29, 35, 0.05); }

.g-shadow {
  box-shadow: 0px 0.6vw 1.8vw 0px rgba(27, 193, 89, 0.15); }

.g-cir-shadow {
  border-radius: 1000px;
  box-shadow: 0px 0.6vw 1.8vw 0px rgba(27, 193, 89, 0.15); }

/* align */
.t-center {
  text-align: center; }

@media only screen and (max-width: 768px) {
  .t-center-sp {
    text-align: center !important; } }
/* opacit */
.opa-l {
  opacity: 0.25; }

.opa {
  opacity: 0.5; }

.opa-s {
  opacity: 0.75; }

/*
-------------------------------------------
Compornents
-------------------------------------------
*/
/* btn */
/* block */
.block {
  background-color: #EFF6F6; }

@media only screen and (max-width: 768px) {
  .block {
    background-color: #EFF6F6;
    padding-bottom: 4.4vw !important; }
  .block .mb-l {
    margin-bottom: 8vw; } }
/* list */
.col2 {
  font-size: 0px;
  text-align: center; }
.col2 > li {
  display: inline-block;
  width: 44%;
  margin-right: 12%;
  text-align: left;
  vertical-align: top; }
.col2 > li:nth-child(2n) {
  margin-right: 0; }

.col4 {
  font-size: 0px;
  text-align: center; }
.col4 > li {
  display: inline-block;
  width: 22.5%;
  margin-right: 3.3333333%;
  text-align: left;
  vertical-align: top; }
.col4 > li:last-child {
  margin-right: 0; }

.col3 {
  font-size: 0px; }
.col3 > li {
  display: inline-block;
  width: 31%;
  margin-right: 3.5%;
  text-align: left;
  vertical-align: top; }
.col3 > li:nth-child(3n) {
  margin-right: 0; }

.list li {
  margin-bottom: .8vw;
  font-size: 0px; }
.list li figure {
  display: inline-block;
  vertical-align: middle;
  width: 5%;
  margin-right: 2.5%; }
.list li .list-text {
  width: 87%;
  display: inline-block;
  vertical-align: middle; }
.list li:last-child {
  margin-bottom: 0; }

.inline-list li {
  display: inline-block;
  vertical-align: top;
  margin: 0 0.8vw;
  position: relative;
  padding-left: 1.8vw; }
.inline-list li figure {
  position: absolute;
  top: 0.2vw;
  left: 0;
  width: 1.4vw; }

@media only screen and (max-width: 768px) {
  .col2 li {
    display: inline-block;
    width: 100%;
    margin-right: 0%;
    margin-bottom: 8vw; }
  .col2 li:last-child {
    margin-right: 0;
    margin-bottom: 0; }

  .col3 li {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 4vw; }
  .col3 li:last-child {
    margin-right: 0;
    margin-bottom: 0; }

  .col4 li {
    display: inline-block;
    width: 100%;
    margin-right: 0%;
    margin-bottom: 4vw; }
  .col4 li:last-child {
    margin-right: 0;
    margin-bottom: 0; }

  .list li {
    margin-bottom: 2.4vw !important; }
  .list li figure {
    display: inline-block;
    vertical-align: middle;
    width: 5%;
    margin-right: 2.5%; }
  .list li .list-text {
    width: 92.5%;
    display: inline-block;
    vertical-align: middle; }
  .list li:last-child {
    margin-bottom: 0 !important; }

  .inline-list li {
    margin: 0 1.6vw 1.6vw;
    padding-left: 5.8vw; }
  .inline-list li figure {
    top: 0.4vw;
    width: 4.4vw; } }
/*
-------------------------------------------
Margin & Padding
-------------------------------------------
*/
.sec-pt-l {
  padding-top: 8vw; }

.sec-pt {
  padding-top: 6vw; }

.sec-pt-s {
  padding-top: 4vw; }

.sec-pb-l {
  padding-bottom: 8vw; }

.sec-pb {
  padding-bottom: 6vw; }

.sec-pb-s {
  padding-bottom: 4vw; }

.mb-xxxl {
  margin-bottom: 6vw; }

.mb-xxl {
  margin-bottom: 4.8vw; }

.mb-xl {
  margin-bottom: 3.6vw; }

.mb-l {
  margin-bottom: 2.8vw; }

.mb {
  margin-bottom: 2vw; }

.mb-s {
  margin-bottom: 1.2vw; }

.mb-xs {
  margin-bottom: .8vw; }

.mb-xxs {
  margin-bottom: .4vw; }

@media only screen and (max-width: 768px) {
  .sec-pt-l {
    padding-top: 20vw; }

  .sec-pt {
    padding-top: 16vw; }

  .sec-pt-s {
    padding-top: 9.2vw; }

  .sec-pb-l {
    padding-bottom: 20vw; }

  .sec-pb {
    padding-bottom: 16vw; }

  .sec-pb-s {
    padding-bottom: 10vw; }

  .mb-xxxl {
    margin-bottom: 18vw; }

  .mb-xxl {
    margin-bottom: 14vw; }

  .mb-xl {
    margin-bottom: 12vw; }

  .mb-l {
    margin-bottom: 10vw; }

  .mb {
    margin-bottom: 7.2vw; }

  .mb-s {
    margin-bottom: 5.4vw; }

  .mb-xs {
    margin-bottom: 3vw; }

  .mb-xxs {
    margin-bottom: 1.2vw; } }
/*
-------------------------------------------
Header
-------------------------------------------
*/
header {
  padding: 2vw 0;
  width: 100%;
  position: fixed;
  top: 0.6vw;
  z-index: 10000; }
header .nav {
  gap: 4.8vw; }
header .nav .logo figure {
  width: 13.2vw; }
header .nav .logo:hover {
  opacity: .5; }
header .nav .fixed-logo {
  display: none; }
header .nav ul {
  gap: 2vw; }
header .nav ul li a {
  line-height: 1.5;
  color: #FFFFFF; }
header .nav ul li a:hover {
  opacity: .5; }
header .nav ul li.has-menu {
  position: relative; }
header .nav ul li.has-menu .child-menu {
  display: none;
  position: fixed;
  width: 10vw;
  background-color: #FFFFFF;
  padding: .2vw 0vw .2vw; }
header .nav ul li.has-menu .child-menu a {
  display: block;
  color: #011a21;
  padding: 1vw 1.2vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
header .nav ul li.has-menu .child-menu a:nth-last-of-type(1) {
  border-bottom: none; }
header .nav ul li.has-menu:hover .child-menu {
  opacity: 1;
  display: block; }
header .cta {
  gap: 1.2vw; }

header.color .nav ul li a {
  color: #011a21; }

header.fixed {
  background-color: #F7FBFA;
  top: 0;
  padding: 1.2vw 0; }
header.fixed .nav .logo {
  display: none; }
header.fixed .nav .fixed-logo {
  display: block; }
header.fixed .nav ul li a {
  color: #011a21; }
header.fixed .head-btn-sub {
  border: 1px solid rgba(0, 124, 114, 0.5); }

.head-btn-sub {
  background-color: #FFFFFF;
  color: #007C72;
  line-height: 1;
  padding: 1.25vw 1.2vw 1.15vw;
  line-height: 1; }
.head-btn-sub:hover {
  opacity: .5; }

.head-btn {
  background-color: #02A69B;
  color: #FFFFFF;
  line-height: 1;
  padding: 1.3vw 1.2vw 1.1vw;
  line-height: 1; }
.head-btn:hover {
  opacity: .5; }

@media only screen and (max-width: 768px) {
  header.fixed {
    padding: 4vw 0; }

  header {
    padding: 2.4vw 0;
    top: 1.2vw; }
  header .xl-inner {
    width: 92vw; }
  header .nav {
    gap: 4.8vw; }
  header .nav .logo figure {
    width: 36vw; }
  header .cta {
    gap: 2.4vw; }

  .head-btn {
    padding: 3.2vw;
    height: 9vw;
    line-height: 1; }

  .menu-trigger {
    width: 9vw;
    height: 9vw;
    background-color: #007C72;
    position: relative; }
  .menu-trigger span {
    width: 50%;
    height: 1px;
    background-color: #FFFFFF;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out; }
  .menu-trigger span:nth-of-type(1) {
    top: -2vw; }
  .menu-trigger span:nth-of-type(2) {
    top: 2vw; }

  .sp-nav {
    position: fixed;
    background-color: #011a21;
    width: 100%;
    height: 100vh;
    z-index: 1000;
    left: -100%;
    top: 0;
    padding-top: 24vw;
    padding-left: 0; }
  .sp-nav ul {
    margin-bottom: 12vw; }
  .sp-nav ul li {
    margin-bottom: 4vw;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .sp-nav ul li a {
    display: block;
    padding: 3vw 0 4.8vw;
    font-size: 4vw;
    font-weight: 500;
    color: #FFFFFF;
    line-height: 1; }
  .sp-nav ul li.sp-has-menu .sp-child-menu {
    padding-top: 1.2vw;
    padding-bottom: 2vw; }
  .sp-nav ul li.sp-has-menu .sp-child-menu a {
    display: block;
    padding: 0;
    margin-bottom: 4.8vw;
    font-size: 3.4vw; }
  .sp-nav .cta {
    width: 100%;
    gap: 5%; }
  .sp-nav .cta a {
    width: 47.5%;
    text-align: center;
    display: block;
    padding: 4vw 0;
    font-size: 3.8vw;
    line-height: 1.5;
    height: auto; }

  .sp-nav.opend {
    left: 0 !important; }

  .menu-trigger.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    top: 0; }

  .menu-trigger.active span:nth-of-type(2) {
    transform: rotate(45deg);
    top: 0; } }
/*
-------------------------------------------
Fv
-------------------------------------------
*/
.fv {
  padding: 17.4vw 0 11.2vw;
  background-image: url(../img/fv-top.jpg);
  background-size: cover;
  background-position: center; }
.fv h1, .fv h2 {
  color: #FFFFFF; }
.fv h2 {
  font-weight: 400; }
.fv .btn1 {
  position: relative;
  left: -.6vw; }
.fv .scroll {
  position: absolute;
  bottom: 0;
  right: 0; }
.fv .scroll figure {
  width: 7.2vw; }

.heading1 {
  font-size: 1.8vw;
  line-height: 1.6;
  font-weight: 500; }

.btn1 {
  border-radius: 1000px;
  -webkit-border-radius: 1000px;
  background-color: #02A69B;
  color: #FFFFFF;
  display: inline-block;
  padding: 1.2vw 1.2vw 1.2vw 2vw;
  border: 2px solid transparent;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all 0.6s ease; }
.btn1 > div {
  gap: 2.8vw; }
.btn1 > div span {
  line-height: 1; }
.btn1 > div figure {
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all 0.6s ease;
  width: 2vw; }
.btn1:hover {
  background-color: #FFFFFF;
  border: 2px solid #02A69B; }
.btn1:hover span {
  color: #02A69B; }
.btn1:hover figure {
  border-radius: 1000px;
  border: 1px solid #02A69B; }

@media only screen and (max-width: 768px) {
  .fv {
    padding: 68vw 0 24vw;
    background-image: url(../img/fv-top-sp.jpg);
    background-size: cover;
    background-position: center; }
  .fv h1, .fv h2 {
    color: #FFFFFF; }
  .fv h2 {
    font-weight: 400; }
  .fv .btn1 {
    position: relative;
    left: -.6vw; }
  .fv .scroll {
    position: absolute;
    bottom: 0;
    right: 0; }
  .fv .scroll figure {
    width: 7.2vw; }

  .heading1 {
    font-size: 5vw;
    line-height: 1.6;
    font-weight: 500; }

  .btn1 {
    padding: 3.2vw 3.2vw 3.2vw 5.4vw; }
  .btn1 > div {
    gap: 6vw; }
  .btn1 > div span {
    line-height: 1; }
  .btn1 > div figure {
    width: 6vw; } }
/*
-------------------------------------------
TOP NEWS
-------------------------------------------
*/
.btn-text {
  color: #02A69B; }
.btn-text > div {
  gap: .6vw; }
.btn-text > div span {
  line-height: 1; }
.btn-text > div figure {
  width: 1.6vw; }
.btn-text:hover {
  opacity: 0.8; }
.btn-text:hover figure {
  transform: scale(1.05); }

.top-news {
  background-color: #F7FBFA;
  width: 92vw;
  border-radius: 0 .6vw 0 0;
  top: -5.2vw;
  z-index: 10; }
.top-news .top-news-inner {
  padding: 4.8vw 7vw 0 12vw; }
.top-news .top-news-inner .box {
  width: 48%; }
.top-news .top-news-inner .box .head {
  padding-bottom: 1vw; }
.top-news .top-news-inner .box .head .title {
  gap: .6vw;
  align-items: end;
  line-height: 1; }
.top-news .top-news-inner .box .head .title h3 {
  color: rgba(1, 26, 33, 0.6); }
.top-news .top-news-inner .box .contents {
  border-top: 1px solid #02A69B;
  background-color: #EFF6F6;
  padding: 1vw 2vw 2vw;
  border-radius: 0 0 .6vw .6vw; }
.top-news .top-news-inner .box .contents ul li a {
  padding: 1.4vw 0;
  line-height: 1;
  border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
.top-news .top-news-inner .box .contents ul li a .date {
  width: 20%;
  color: rgba(1, 26, 33, 0.6);
  font-weight: 400; }
.top-news .top-news-inner .box .contents ul li a .post-title {
  width: 80%; }
.top-news .top-news-inner .box .contents ul li a:hover {
  border-bottom: 1px solid #02A69B; }
.top-news .top-news-inner .box .contents ul li a:hover .date {
  color: #02A69B; }
.top-news .top-news-inner .box .contents ul li a:hover .post-title {
  color: #02A69B; }
.top-news .top-news-inner .box .contents ul li:last-child {
  border-bottom: 0; }
.top-news .top-news-inner .box-support .head .btn-text {
  color: #007C72; }
.top-news .top-news-inner .box-support .contents {
  border-top: 1px solid #007C72; }
.top-news .top-news-inner .box-support .contents ul li a .post-title {
  width: 100%; }

@media only screen and (max-width: 768px) {
  .btn-text {
    color: #02A69B;
    display: inline-block !important; }
  .btn-text > div {
    gap: 2vw; }
  .btn-text > div span {
    line-height: 1; }
  .btn-text > div figure {
    width: 6.4vw; }

  .top-news {
    width: 95vw;
    border-radius: 0 1.2vw 0 0;
    top: -10vw; }
  .top-news .top-news-inner {
    padding: 8vw 0vw 0 5vw; }
  .top-news .top-news-inner .box {
    width: 100%; }
  .top-news .top-news-inner .box .head {
    padding-bottom: 6.6vw; }
  .top-news .top-news-inner .box .head .title {
    gap: 1.8vw;
    align-items: end;
    line-height: 1; }
  .top-news .top-news-inner .box .head .title h3 {
    color: rgba(1, 26, 33, 0.6); }
  .top-news .top-news-inner .box .contents {
    margin-bottom: 6vw;
    border-top: 1px solid #02A69B;
    background-color: #EFF6F6;
    padding: 2vw 5vw 6vw;
    border-radius: 0 0 1.2vw 1.2vw; }
  .top-news .top-news-inner .box .contents ul li {
    border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
  .top-news .top-news-inner .box .contents ul li a {
    padding: 4vw 0;
    line-height: 1;
    align-items: start; }
  .top-news .top-news-inner .box .contents ul li a .date {
    width: 28%;
    line-height: 1.5; }
  .top-news .top-news-inner .box .contents ul li a .post-title {
    width: 72%;
    line-height: 1.5; }
  .top-news .top-news-inner .box .contents ul li:last-child {
    border-bottom: 0; }
  .top-news .top-news-inner .box-news {
    margin-bottom: 9.2vw;
    padding-bottom: 8vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
  .top-news .top-news-inner .box-support .head .btn-text {
    color: #007C72; }
  .top-news .top-news-inner .box-support .contents {
    border-top: 1px solid #007C72; }
  .top-news .top-news-inner .box-support .contents ul li a .post-title {
    width: 100%; } }
/*
-------------------------------------------
TOP SERVICE
-------------------------------------------
*/
.top-service figure {
  width: 26%; }
.top-service .text-box {
  width: 66%; }
.top-service .text-box > span {
  line-height: 1;
  color: rgba(1, 26, 33, 0.4); }

.heading2 {
  font-size: 1.5vw;
  line-height: 1.6;
  font-weight: 500; }

.btn-text-sub {
  border-bottom: 1px solid #02A69B;
  color: #02A69B;
  display: inline-block;
  line-height: 1;
  padding: 0 0 .72vw; }
.btn-text-sub > div {
  gap: 1.2vw; }
.btn-text-sub > div figure {
  width: 1vw; }
.btn-text-sub:hover {
  opacity: 0.5; }

@media only screen and (max-width: 768px) {
  .top-service {
    padding-top: 4vw; }
  .top-service figure {
    width: 100%;
    margin-bottom: 8vw; }
  .top-service .text-box {
    width: 100%; }

  .heading2 {
    font-size: 4.5vw; }

  .btn-text-sub {
    border-bottom: 1px solid #02A69B;
    color: #02A69B;
    display: inline-block;
    line-height: 1;
    padding: 0 0 2.2vw; }
  .btn-text-sub > div {
    gap: 2.4vw; }
  .btn-text-sub > div figure {
    width: 3vw;
    margin-bottom: 0; } }
/*
-------------------------------------------
TOP PRODUCT
-------------------------------------------
*/
.top-product .xl-inner:after {
  content: "";
  display: block;
  width: 100%;
  height: 24vw;
  position: absolute;
  border-radius: 1vw;
  -webkit-border-radius: 1vw;
  top: 0;
  left: 0;
  background-color: #EFF6F6;
  z-index: 2; }
.top-product .m-inner {
  position: relative;
  z-index: 3; }
.top-product .head .head-cl {
  gap: 1.6vw; }

.section-title h2 {
  color: #02A69B;
  line-height: 1; }
.section-title h3 {
  line-height: 1;
  font-size: 2.4vw; }
.section-title span {
  display: block;
  height: 1px;
  width: 3vw;
  background-color: #02A69B; }

.section-title.t-center span {
  margin: 0 auto; }

.product-list li {
  width: 29%; }
.product-list li .thumbnail {
  height: 12.8vw;
  background-color: #F7FBFA;
  position: relative;
  text-align: center;
  background-image: url(../img/logo-icon-gray.svg);
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
.product-list li .thumbnail .pr-logo {
  width: auto;
  height: 5.4vw; }
.product-list li .thumbnail .pr-logo img {
  width: auto;
  height: 100%; }
.product-list li .thumbnail .arrow {
  width: 2.8vw;
  position: absolute;
  z-index: 2;
  right: 1.6vw;
  bottom: -1.2vw; }
.product-list li .info {
  padding: 0 .6vw; }
.product-list li .info .meta {
  gap: .8vw; }
.product-list li .info .meta .cat {
  color: #FFFFFF;
  background-color: #007C72;
  line-height: 1;
  padding: .4vw; }
.product-list li .info .meta .name {
  color: rgba(1, 26, 33, 0.6); }
.product-list li .info h3 {
  font-size: 1.4vw;
  font-weight: 500;
  line-height: 1.5; }
.product-list li .info .tags {
  gap: .8vw; }
.product-list li .info .tags li {
  width: auto;
  color: rgba(1, 26, 33, 0.6);
  padding: .4vw .6vw;
  line-height: 1;
  border: 1px solid rgba(1, 26, 33, 0.1); }
.product-list li a:hover .thumbnail {
  box-shadow: none;
  -webkit-box-shadow: none; }
.product-list li a:hover .thumbnail .pr-logo {
  transform: scale(1.05); }
.product-list li a:hover .thumbnail .arrow {
  transform: scale(1.05); }
.product-list li a:hover .info h3 {
  color: #02A69B; }

@media only screen and (max-width: 768px) {
  .top-product {
    padding-top: 8vw; }
  .top-product .xl-inner {
    width: 100vw;
    background-color: #EFF6F6;
    border-radius: 2.4vw 2.4vw 0 0;
    padding-top: 18vw; }
  .top-product .xl-inner:after {
    content: "";
    display: block;
    width: 100%;
    height: 24vw;
    position: absolute;
    border-radius: 2.4vw 2.4vw 0 0;
    top: -2.4vw;
    left: 0;
    background-color: #02A69B;
    z-index: -1; }
  .top-product .xl-inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 24vw;
    position: absolute;
    border-radius: 2.4vw 2.4vw 0 0;
    top: -4.8vw;
    left: 0;
    background-color: #007C72;
    z-index: -1; }
  .top-product .section-title {
    margin: 0 auto 6vw; }

  .section-title {
    text-align: center; }
  .section-title h3 {
    font-size: 6.6vw; }
  .section-title span {
    height: 2px;
    width: 9vw;
    margin: 0 auto; }

  .product-list {
    gap: 13.2vw; }
  .product-list li {
    width: 100%; }
  .product-list li .thumbnail {
    height: 44vw; }
  .product-list li .thumbnail .pr-logo {
    width: auto;
    height: 17.2vw; }
  .product-list li .thumbnail .arrow {
    width: 9.6vw;
    right: 4.8vw;
    bottom: -4.4vw; }
  .product-list li .info {
    padding: 0 1.8vw; }
  .product-list li .info .meta {
    gap: 2.4vw; }
  .product-list li .info .meta .cat {
    color: #FFFFFF;
    background-color: #007C72;
    line-height: 1;
    padding: 1.2vw; }
  .product-list li .info h3 {
    font-size: 4.5vw; }
  .product-list li .info .tags {
    gap: 2.4vw; }
  .product-list li .info .tags li {
    padding: 1.2vw 1.8vw; } }
/*
-------------------------------------------
TOP ABOUT
-------------------------------------------
*/
.top-about {
  background-image: url(../img/bg-about.jpg);
  background-size: cover;
  background-position: center; }
.top-about .section-title-white {
  margin-bottom: 12vw; }
.top-about ul {
  gap: 2vw; }

.section-title-white h2 {
  color: #00CDC0;
  line-height: 1; }
.section-title-white h3 {
  color: #FFFFFF;
  line-height: 1;
  font-size: 2.4vw; }
.section-title-white span {
  display: block;
  height: 1px;
  width: 3vw;
  background-color: #00CDC0; }

.btn-text-sub2 {
  border-bottom: 1px solid #02A69B;
  color: #02A69B;
  display: inline-block;
  line-height: 1;
  padding: 0 0 1vw; }
.btn-text-sub2 > div {
  gap: 4.8vw;
  color: #FFFFFF; }
.btn-text-sub2 > div figure {
  width: 1.6vw; }
.btn-text-sub2:hover span {
  color: #00CDC0; }
.btn-text-sub2:hover figure {
  transform: scale(1.05); }

@media only screen and (max-width: 768px) {
  .section-title-white {
    text-align: center; }
  .section-title-white h3 {
    font-size: 6.6vw;
    line-height: 1.1; }
  .section-title-white span {
    height: 2px;
    width: 9vw;
    margin: 0 auto; }

  .top-about {
    padding-top: 20vw;
    background-position: top left -144vw; }
  .top-about .section-title-white {
    margin-bottom: 24vw;
    text-align: center; }
  .top-about .section-title-white span {
    margin: 0 auto; }
  .top-about ul {
    padding: 0 2vw 6vw;
    gap: 6vw; }
  .top-about ul li {
    width: 100%; }
  .top-about ul li .s-text {
    font-size: 4vw; }

  .btn-text-sub2 {
    width: 100%;
    border-bottom: 1px solid rgba(0, 205, 192, 0.3);
    display: block;
    padding: 4vw 0vw; }
  .btn-text-sub2 > div {
    gap: 4.8vw;
    color: #FFFFFF; }
  .btn-text-sub2 > div figure {
    width: 7.2vw; } }
/*
-------------------------------------------
TOP RECRUIT
-------------------------------------------
*/
.top-recruit .m-inner {
  background-image: url(../img/bg-recruit.jpg);
  background-size: cover;
  background-position: center;
  text-align: center; }
.top-recruit h2 {
  color: #02A69B;
  line-height: 1; }
.top-recruit h3 {
  font-size: 3.6vw;
  line-height: 1;
  font-weight: 500; }
.top-recruit h4 {
  font-weight: 600;
  line-height: 1; }
.top-recruit .il01 {
  position: absolute;
  width: 16vw;
  left: 4vw;
  bottom: 4.5vw; }
.top-recruit .il02 {
  position: absolute;
  width: 10vw;
  right: 8vw;
  top: 6vw; }

@media only screen and (max-width: 768px) {
  .top-recruit .m-inner {
    width: 100vw;
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 20vw 0 96vw; }
  .top-recruit h2 {
    margin-bottom: 5.4vw; }
  .top-recruit h3 {
    font-size: 9.6vw; }
  .top-recruit h4 {
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    left: 1vw;
    margin-bottom: 12vw; }
  .top-recruit .il01 {
    width: 56vw;
    left: 0vw;
    bottom: 10vw; }
  .top-recruit .il02 {
    width: 38vw;
    right: 7vw;
    top: auto;
    bottom: 40vw; }

  .top-recruit.sec-pt {
    padding-top: 0; } }
/*
-------------------------------------------
SEC CTA
-------------------------------------------
*/
.section-title02 h3 {
  line-height: 1;
  font-size: 2.4vw; }

.sec-cta .xl-inner {
  overflow: hidden; }
.sec-cta .xl-inner .box {
  width: 50%;
  position: relative;
  display: block;
  padding: 5.4vw 5.4vw 5vw; }
.sec-cta .xl-inner .box .section-title02 {
  position: relative;
  z-index: 2;
  color: #FFFFFF;
  height: 14.8vw; }
.sec-cta .xl-inner .box .text-box {
  position: relative;
  z-index: 2;
  height: 4.4vw; }
.sec-cta .xl-inner .box .text-box p {
  color: #FFFFFF;
  line-height: 1.6; }
.sec-cta .xl-inner .box .text-box figure {
  width: 4.4vw; }
.sec-cta .xl-inner .box:hover .text-box figure {
  transform: scale(1.05); }
.sec-cta .xl-inner .box-support {
  background-image: url(../img/bg-contact.jpg);
  background-size: cover;
  background-position: center; }
.sec-cta .xl-inner .box-support:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(1, 26, 33, 0.4);
  z-index: 1; }
.sec-cta .xl-inner .box-support:hover:after {
  background-color: rgba(1, 26, 33, 0.2); }
.sec-cta .xl-inner .box-contact {
  background-color: #007C72; }
.sec-cta .xl-inner .box-contact:hover {
  background-color: #02A69B; }

@media only screen and (max-width: 768px) {
  .section-title02 h3 {
    line-height: 1;
    font-size: 6.4vw; }

  .sec-cta .xl-inner {
    overflow: hidden;
    border-radius: 1.6vw; }
  .sec-cta .xl-inner .box {
    width: 100%;
    position: relative;
    display: block;
    padding: 12vw 7.2vw 12vw; }
  .sec-cta .xl-inner .box .section-title02 {
    height: auto;
    margin-bottom: 12vw; }
  .sec-cta .xl-inner .box .text-box {
    gap: 6vw;
    height: auto; }
  .sec-cta .xl-inner .box .text-box p {
    width: 100%;
    color: #FFFFFF;
    line-height: 1.6; }
  .sec-cta .xl-inner .box .text-box figure {
    width: 12vw; }
  .sec-cta .xl-inner .box-support {
    background-image: url(../img/bg-contact.jpg);
    background-size: cover;
    background-position: center; }
  .sec-cta .xl-inner .box-support:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(1, 26, 33, 0.4);
    z-index: 1; }
  .sec-cta .xl-inner .box-contact {
    background-color: #007C72; } }
/*
-------------------------------------------
FOOTER
-------------------------------------------
*/
footer {
  background-color: #011a21; }
footer .nav {
  gap: 4.8vw; }
footer .nav .logo figure {
  width: 13.2vw; }
footer .nav .logo figure:hover {
  opacity: .5; }
footer .cta {
  gap: 1.2vw; }
footer .cta ul {
  margin-right: 2.4vw;
  gap: 2vw; }
footer .cta ul li a {
  line-height: 1.5;
  color: #FFFFFF; }
footer .cta ul li a:hover {
  opacity: .5; }
footer .copyright {
  color: #FFFFFF; }
footer .copyright p {
  opacity: .4; }
footer .copyright a {
  opacity: .4; }

#page-top {
  display: none;
  position: fixed;
  padding: 1vw 1.2vw 1.1vw;
  right: 1vw;
  bottom: 1vw;
  background-color: #02A69B;
  text-align: center;
  line-height: 1;
  z-index: 1000; }
#page-top a {
  color: #FFFFFF;
  line-height: 1.4; }

@media only screen and (max-width: 768px) {
  footer {
    padding: 18vw 0 6vw !important; }
  footer .xl-inner {
    justify-content: center; }
  footer .nav {
    gap: 4.8vw;
    margin-bottom: 12vw; }
  footer .nav .logo figure {
    width: 44vw; }
  footer .cta {
    gap: 5%; }
  footer .cta ul {
    width: 100%;
    margin-right: 0;
    gap: 5%;
    margin-bottom: 10vw; }
  footer .cta ul li {
    width: 47.5%;
    margin-bottom: 4vw; }
  footer .cta ul li a {
    display: block;
    padding: 4vw 0;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #FFFFFF;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  footer .head-btn-sub {
    width: 47.5%;
    font-size: 3.6vw;
    padding: 4.8vw 0;
    text-align: center; }
  footer .head-btn {
    width: 47.5%;
    font-size: 3.6vw;
    padding: 4.8vw 0;
    text-align: center;
    height: auto; }
  footer .copyright {
    padding-top: 10vw;
    color: #FFFFFF; }
  footer .copyright .xl-inner {
    justify-content: space-between; }
  footer .copyright .s-text {
    font-size: 3vw;
    width: 100%;
    margin-bottom: 1.6vw; }
  footer .copyright p {
    opacity: .4; }
  footer .copyright a {
    opacity: .4; }

  #page-top {
    display: none;
    position: fixed;
    padding: 3vw 3.3vw 3vw;
    right: 2vw;
    bottom: 2vw; } }
.wp-css h3 {
  font-size: 1.25vw;
  border-bottom: 2px solid rgba(1, 26, 33, 0.1);
  position: relative;
  padding-bottom: .4vw;
  margin-top: 2.4vw;
  margin-bottom: 1.8vw;
  font-weight: 500; }
.wp-css h3:after {
  content: "";
  display: block;
  height: 2px;
  width: 2.5vw;
  position: absolute;
  left: 0;
  bottom: -2px;
  background-color: #02A69B; }
.wp-css h4 {
  background-color: rgba(0, 124, 114, 0.1);
  border-radius: .3vw;
  -webkit-border-radius: .3vw;
  padding: .9vw 2.4vw .8vw;
  font-size: 1.1vw;
  color: #007C72;
  position: relative;
  margin-top: 3vw;
  margin-bottom: 1.6vw;
  font-weight: 500; }
.wp-css h4:after {
  content: "";
  display: block;
  width: .4vw;
  height: .4vw;
  border-radius: 1000px;
  -webkit-border-radius: 1000px;
  background-color: #007C72;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.2vw;
  margin: auto; }
.wp-css h5 {
  font-size: 1vw;
  margin-bottom: .6vw; }
.wp-css a {
  display: block;
  font-size: .9vw;
  color: #02A69B;
  text-decoration: underline;
  margin-bottom: 1.2vw; }
.wp-css a:hover {
  opacity: 0.5; }
.wp-css p {
  font-size: .9vw;
  margin-bottom: 1.6vw; }
.wp-css p a {
  display: inline;
  margin-bottom: 0; }
.wp-css img {
  border-radius: .6vw;
  -webkit-border-radius: .6vw;
  box-shadow: 0px 1.2vw 3.6vw 0px rgba(15, 29, 35, 0.05);
  margin-bottom: 1.6vw; }
.wp-css .border-box {
  border: 1px solid rgba(1, 26, 33, 0.1);
  padding: 1.6vw;
  margin-bottom: 1.6vw; }
.wp-css .border-box p {
  margin-bottom: 0; }
.wp-css table {
  border-radius: .3vw;
  margin-bottom: 1vw;
  width: 100%; }
.wp-css table tr {
  border: 1px solid rgba(1, 26, 33, 0.1); }
.wp-css table tr th {
  width: 20%;
  background-color: rgba(1, 26, 33, 0.05);
  font-size: .9vw;
  font-weight: 500;
  padding: 1.6vw;
  text-align: left;
  border: 1px solid rgba(1, 26, 33, 0.1); }
.wp-css table tr td {
  font-size: .9vw;
  font-weight: 400;
  padding: 1.6vw;
  border: 1px solid rgba(1, 26, 33, 0.1); }
.wp-css table tr td.middle {
  vertical-align: middle; }
.wp-css iframe {
  width: 100%; }
.wp-css .col-box {
  flex-wrap: wrap; }
.wp-css .col-box p {
  width: 60%; }
.wp-css .col-box img {
  width: 35%; }
.wp-css ul {
  padding-left: 2vw;
  		/*li{
  			list-style-type:none;
    			list-style-position:inside;
    			counter-increment: cnt;
    			&:before{
    				display: marker;
    				content: "( " counter(cnt) " ) ";
    			}
  		}*/ }
.wp-css ul li {
  font-size: .9vw; }
.wp-css ul ul {
  padding-left: 1.3vw; }
.wp-css ul li.num-list {
  position: relative; }
.wp-css ul li.num-list:before {
  display: block;
  width: 1vw;
  height: 1vw;
  position: absolute;
  left: -2.4vw;
  top: 0; }
.wp-css ul li.num-list:nth-of-type(1):before {
  content: "（１）"; }
.wp-css ul li.num-list:nth-of-type(2):before {
  content: "（２）"; }
.wp-css ul li.num-list:nth-of-type(3):before {
  content: "（３）"; }
.wp-css ul li.num-list:nth-of-type(4):before {
  content: "（４）"; }
.wp-css ul li.num-list:nth-of-type(5):before {
  content: "（５）"; }
.wp-css ul li.num-list:nth-of-type(6):before {
  content: "（６）"; }
.wp-css ul li.num-list-child {
  position: relative; }
.wp-css ul li.num-list-child:before {
  display: block;
  width: 1vw;
  height: 1vw;
  position: absolute;
  left: -1.3vw;
  font-size: 1vw;
  top: -0.1vw; }
.wp-css ul li.num-list-child:nth-of-type(1):before {
  content: "①"; }
.wp-css ul li.num-list-child:nth-of-type(2):before {
  content: "②"; }
.wp-css ul li.num-list-child:nth-of-type(3):before {
  content: "③"; }
.wp-css ul li.num-list-child:nth-of-type(4):before {
  content: "④"; }
.wp-css ul li.num-list-child:nth-of-type(5):before {
  content: "⑤"; }
.wp-css ul li.num-list-child:nth-of-type(6):before {
  content: "⑥"; }

@media only screen and (max-width: 768px) {
  .wp-css h3 {
    font-size: 4vw;
    padding-bottom: 1.2vw;
    margin-top: 7.2vw;
    margin-bottom: 5.4vw; }
  .wp-css h3:after {
    height: 2px;
    width: 7.5vw;
    bottom: -2px; }
  .wp-css h4 {
    border-radius: .9vw;
    -webkit-border-radius: .9vw;
    padding: 4vw 4.8vw 4vw 8vw;
    line-height: 1.4;
    font-size: 3.6vw;
    margin-top: 7.2vw;
    margin-bottom: 5.4vw; }
  .wp-css h4:after {
    width: 1.2vw;
    height: 1.2vw;
    left: 4.2vw; }
  .wp-css h5 {
    font-size: 3.6vw;
    margin-bottom: 2vw; }
  .wp-css a {
    font-size: 3.2vw;
    margin-bottom: 3.6vw; }
  .wp-css p {
    font-size: 3.2vw;
    margin-bottom: 4.8vw; }
  .wp-css img {
    border-radius: 1.8vw;
    -webkit-border-radius: 1.8vw;
    box-shadow: 0px 1.2vw 3.6vw 0px rgba(15, 29, 35, 0.05);
    margin-bottom: 4.8vw; }
  .wp-css .border-box {
    padding: 4.8vw;
    margin-bottom: 4.8vw; }
  .wp-css table {
    overflow: auto;
    border-radius: .9vw; }
  .wp-css table tr {
    border: 1px solid rgba(1, 26, 33, 0.1); }
  .wp-css table tr th {
    width: 100%;
    display: block;
    font-size: 3.4vw;
    padding: 2.8vw 4.8vw;
    border: none; }
  .wp-css table tr td {
    display: block;
    width: 100%;
    font-size: 3.2vw;
    padding: 4.4vw 4.8vw;
    border: none; }
  .wp-css .table-scroll-box {
    overflow: auto; }
  .wp-css .table-scroll-box table {
    width: 540px; }
  .wp-css .table-scroll-box table tr {
    border: 1px solid rgba(1, 26, 33, 0.1); }
  .wp-css .table-scroll-box table tr th {
    display: table-cell;
    width: 35%;
    font-size: 3.4vw;
    padding: 2.8vw 4.8vw;
    border: 1px solid rgba(1, 26, 33, 0.1); }
  .wp-css .table-scroll-box table tr td {
    display: table-cell;
    width: auto;
    font-size: 3.2vw;
    padding: 4.4vw 4.8vw;
    border: none;
    border: 1px solid rgba(1, 26, 33, 0.1); }
  .wp-css .col-box p {
    width: 100%; }
  .wp-css .col-box img {
    width: 100%; }
  .wp-css ul {
    padding-left: 6.8vw; }
  .wp-css ul li {
    font-size: 3.2vw; }
  .wp-css ul ul {
    padding-left: 4vw; }
  .wp-css ul li.num-list {
    margin-bottom: 2vw; }
  .wp-css ul li.num-list:before {
    left: -8.4vw; }
  .wp-css ul li.num-list-child:before {
    left: -4vw;
    font-size: 3.3vw; } }
.cdp-copy-alert-success {
  display: none !important;
  visibility: hidden;
  z-index: -1 !important; }

.page .fv {
  padding: 12vw 0 8.8vw;
  background-size: cover;
  background-position: center;
  background-image: url(../img/bg-page.jpg); }
.page .fv h1 {
  font-size: 2.8vw;
  line-height: 1;
  color: #FFFFFF;
  font-weight: 600; }
.page .fv h2 {
  color: #FFFFFF;
  line-height: 1; }
.page .fv .pankuzu {
  position: absolute;
  width: 100%;
  bottom: -11.3vw;
  background-color: #FFFFFF;
  padding: 2vw 2.4vw;
  z-index: 100; }
.page .fv .pankuzu ul {
  gap: .6vw; }
.page .fv .pankuzu ul li a {
  color: #02A69B;
  line-height: 1; }
.page .fv .pankuzu ul li a:hover {
  opacity: 0.5; }
.page .fv .pankuzu ul li figure {
  width: .4vw; }
.page .fv .pankuzu ul li p {
  color: rgba(1, 26, 33, 0.6);
  line-height: 1; }

.sec-pt-page {
  padding-top: 10vw; }

.form-content ul li {
  margin-bottom: 2vw; }
.form-content ul li h4 {
  font-size: 1vw;
  font-weight: 500;
  width: 25%;
  line-height: 1;
  position: relative;
  top: 1.6vw; }
.form-content ul li h4 span {
  color: red;
  margin-left: .2vw; }
.form-content ul li .input {
  width: 75%; }
.form-content ul li .input span {
  display: block;
  width: 100%;
  font-size: 12px; }
.form-content input, .form-content select, .form-content textarea {
  font-size: 1vw;
  border-radius: .3vw;
  padding: 1.6vw;
  background-color: #EFF6F6;
  border: 1px solid rgba(1, 26, 33, 0.05); }
.form-content textarea {
  height: 20vw; }
.form-content .submit-area input[type="checkbox"] {
  display: inline-block;
  appearance: checkbox;
  -webkit-appearance: checkbox;
  width: auto;
  margin-right: 0.8vw;
  width: 1.4vw;
  height: 1.4vw;
  position: relative;
  top: -0.1vw; }
.form-content .submit-area span {
  font-size: 1vw; }
.form-content .submit-area span a {
  color: #02A69B;
  text-decoration: underline; }
.form-content .submit-area .wpcf7-submit {
  width: 100%;
  display: block; }
.form-content .submit-area input[type="submit"] {
  border-radius: 1000px;
  -webkit-border-radius: 1000px;
  background-color: #02A69B;
  width: 12vw;
  display: block;
  font-weight: bold !important;
  font-size: 1.2vw;
  margin: 2vw auto 0; }
.form-content .submit-area input[type="submit"]:disabled {
  opacity: 0.3; }

.page-login .login-cta {
  padding: 4vw 8vw; }
.page-login .login-cta .form-content ul li h4 {
  text-align: left; }

.tel-block {
  padding: 2.6vw 3.2vw 2.4vw; }
.tel-block a {
  color: #02A69B;
  font-size: 2vw;
  font-weight: 600; }
.tel-block span {
  color: rgba(1, 26, 33, 0.6);
  margin-left: .6vw;
  font-weight: 400; }

@media only screen and (max-width: 768px) {
  .sec-pt-page {
    padding-top: 20vw; }

  .page .fv {
    padding: 27.2vw 0 26vw; }
  .page .fv h1 {
    font-size: 7.8vw;
    line-height: 1.2;
    color: #FFFFFF;
    font-weight: 600; }
  .page .fv h2 {
    font-weight: 500; }
  .page .fv .pankuzu {
    bottom: -32.5vw;
    padding: 5vw 5vw; }
  .page .fv .pankuzu ul {
    gap: 2vw; }
  .page .fv .pankuzu ul li figure {
    width: 1.6vw; }

  .form-content ul li {
    margin-bottom: 7.2vw; }
  .form-content ul li h4 {
    font-size: 3.4vw;
    font-weight: 500;
    width: 100%;
    line-height: 1;
    position: relative;
    top: 0vw;
    margin-bottom: 2.8vw; }
  .form-content ul li h4 span {
    color: red;
    margin-left: .6vw; }
  .form-content ul li .input {
    width: 100%; }
  .form-content input, .form-content select, .form-content textarea {
    font-size: 3.6vw;
    border-radius: .8vw;
    padding: 4.8vw;
    background-color: #EFF6F6;
    border: 1px solid rgba(1, 26, 33, 0.05); }
  .form-content textarea {
    height: 48vw; }
  .form-content .submit-area input[type="checkbox"] {
    margin-right: 3vw;
    width: 5vw;
    height: 5vw;
    position: relative;
    top: -0.3vw; }
  .form-content .submit-area span {
    font-size: 3vw; }
  .form-content .submit-area .wpcf7-submit {
    width: 100%;
    display: block; }
  .form-content .submit-area input[type="submit"] {
    width: 60vw;
    display: block;
    font-weight: 500;
    font-size: 3.4vw;
    margin: 6vw auto 0; }
  .form-content .submit-area input[type="submit"]:disabled {
    opacity: 0.3; }

  .tel-block {
    padding: 7.8vw 6vw 8vw;
    text-align: center; }
  .tel-block h4 {
    margin-bottom: 4vw; }
  .tel-block a {
    color: #02A69B;
    font-size: 7.2vw;
    font-weight: 600;
    line-height: 1; }
  .tel-block span {
    color: rgba(1, 26, 33, 0.6);
    margin-left: 1.8vw;
    font-weight: 400; } }
/*
-------------------------------------------

-------------------------------------------
*/
.page-about .fv {
  background-image: url(../img/bg-about.jpg); }

@media only screen and (max-width: 768px) {
  .page-about .fv {
    background-image: url(../img/bg-about-sp.jpg); } }
/*
-------------------------------------------
CONTENTS
-------------------------------------------
*/
.page-about .message {
  padding-top: 10vw; }
.page-about .message .text-block {
  width: 66%; }
.page-about .message .text-block p {
  color: rgba(1, 26, 33, 0.8);
  font-weight: 400; }
.page-about .message .text-block .ceo-name {
  text-align: right; }
.page-about .message .text-block .ceo-name span {
  display: block; }
.page-about .message .image {
  width: 24%; }
.page-about .outline:after {
  content: "";
  display: block;
  width: 94vw;
  height: 100%;
  position: absolute;
  border-radius: 0.8vw 0 0 0;
  background-color: #EFF6F6;
  top: 0;
  right: 0;
  z-index: -1; }
.page-about .outline ul {
  width: 46%; }
.page-about .outline ul li {
  padding: 2vw 0 1.6vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
.page-about .outline ul li h4 {
  color: #007C72;
  line-height: 1; }
.page-about .outline ul li p span {
  color: rgba(1, 26, 33, 0.6);
  font-weight: 400; }
.page-about .history:after {
  content: "";
  display: block;
  width: 94vw;
  height: 100%;
  position: absolute;
  border-radius: 0 0 0 .8vw;
  background-color: #011a21;
  top: 0;
  right: 0;
  z-index: -1; }
.page-about .history ul li span {
  width: 5%;
  text-align: right;
  color: #00CDC0; }
.page-about .history ul li p {
  color: #FFFFFF;
  font-weight: 400;
  width: 93%;
  padding: 0 0 2.4vw 3.2vw;
  background-image: url(../img/il-history.svg);
  background-size: 2vw;
  background-repeat: no-repeat;
  background-position: left top -0.1vw; }
.page-about .history ul li:last-child p {
  padding: 0 0 0vw 3.2vw; }
.page-about .access {
  padding-top: 14vw; }
.page-about .access:after {
  content: "";
  display: block;
  width: 100%;
  height: 28vw;
  background-image: url(../img/bg-access.jpg);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 8vw;
  left: 0;
  z-index: -1; }
.page-about .access h4 {
  color: #FFFFFF; }
.page-about .access .gmap {
  height: 28vw;
  overflow: hidden; }
.page-about .access .gmap iframe {
  width: 100%;
  height: 100%; }

@media only screen and (max-width: 768px) {
  .page-about .message {
    padding-top: 20vw; }
  .page-about .message .text-block {
    width: 100%;
    margin-bottom: 6vw; }
  .page-about .message .text-block .xxl-text {
    font-size: 4.2vw; }
  .page-about .message .text-block p {
    color: rgba(1, 26, 33, 0.8);
    font-weight: 400; }
  .page-about .message .image {
    width: 100%; }
  .page-about .message .image img {
    margin-bottom: 4vw; }
  .page-about .message .image .ceo-name {
    text-align: right; }
  .page-about .message .image .ceo-name span {
    display: block; }
  .page-about .outline img {
    margin-bottom: 12vw; }
  .page-about .outline .section-title {
    margin-bottom: 12vw; }
  .page-about .outline:after {
    width: 100vw;
    border-radius: 0 0 0 0; }
  .page-about .outline ul {
    width: 100%; }
  .page-about .outline ul li {
    padding: 5.4vw 0 4.8vw; }
  .page-about .outline ul li h4 {
    color: #007C72;
    line-height: 1; }
  .page-about .outline ul li p span {
    color: rgba(1, 26, 33, 0.6);
    font-weight: 400; }
  .page-about .history:after {
    width: 100vw;
    border-radius: 0 0 0 0; }
  .page-about .history .section-title-white {
    margin-bottom: 12vw; }
  .page-about .history ul li span {
    width: 12%; }
  .page-about .history ul li p {
    width: 85%;
    padding: 0 0 7.2vw 8vw;
    background-size: 5.4vw; }
  .page-about .history ul li:last-child p {
    padding: 0 0 0vw 8vw; }
  .page-about .access {
    padding-top: 18vw;
    padding-bottom: 6vw; }
  .page-about .access .section-title-white {
    width: 100%;
    margin-bottom: 6vw; }
  .page-about .access .head {
    margin-bottom: 12vw; }
  .page-about .access:after {
    content: "";
    display: block;
    width: 100%;
    height: 84vw;
    background-image: url(../img/bg-access.jpg);
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0vw;
    left: 0;
    z-index: -1; }
  .page-about .access h4 {
    width: 100%;
    color: #FFFFFF;
    text-align: center; }
  .page-about .access .gmap {
    height: 60vw;
    overflow: hidden; }
  .page-about .access .gmap iframe {
    width: 100%;
    height: 100%; } }
.page-service .fv {
  background-image: url(../img/bg-service.jpg); }

/*
-------------------------------------------
CONTENTS
-------------------------------------------
*/
.page-service .overview figure {
  width: 26%; }
.page-service .overview .text-box {
  width: 66%; }
.page-service .overview .text-box > span {
  line-height: 1;
  color: #007C72; }
.page-service .strength {
  padding-bottom: 16vw; }
.page-service .strength:after {
  content: "";
  display: block;
  width: 88vw;
  height: 100%;
  position: absolute;
  border-radius: 0 .8vw 0 0;
  background-color: #011a21;
  background-image: url(../img/il-bg-strength.svg);
  background-size: 280%;
  background-repeat: no-repeat;
  background-position: bottom -2vw left -34vw;
  top: 0;
  left: 0;
  z-index: 1; }
.page-service .strength .section-title-white {
  position: relative;
  z-index: 2; }
.page-service .strength .il {
  position: absolute;
  width: 24vw;
  top: 0;
  right: 8vw;
  z-index: 2; }
.page-service .strength ul {
  position: relative;
  z-index: 2; }
.page-service .strength ul li {
  gap: 1.6vw; }
.page-service .strength ul li span {
  color: #02A69B;
  line-height: 1.4; }
.page-service .strength ul li h4 {
  color: #FFFFFF;
  padding-left: 1.6vw;
  border-left: 1px solid rgba(255, 255, 255, 0.1); }
.page-service .top-product {
  top: -8vw; }
.page-service .top-product .xl-inner {
  padding-bottom: 0; }
.page-service .sec-cta {
  padding-top: 0; }

@media only screen and (max-width: 768px) {
  .page-service .overview figure {
    width: 100%;
    margin-bottom: 8vw; }
  .page-service .overview .text-box {
    width: 100%; }
  .page-service .strength {
    padding-bottom: 24vw; }
  .page-service .strength .section-title-white {
    margin-bottom: 16vw; }
  .page-service .strength:after {
    width: 100vw;
    border-radius: 0 0 0 0;
    background-size: 780%;
    background-position: bottom -10vw left -156vw; }
  .page-service .strength .il {
    position: relative;
    width: 90%;
    right: 0;
    left: 5%;
    margin-bottom: 14vw; }
  .page-service .strength ul li {
    gap: 4.8vw; }
  .page-service .strength ul li span {
    color: #02A69B;
    line-height: 1.4; }
  .page-service .strength ul li h4 {
    color: #FFFFFF;
    padding-left: 4.8vw;
    border-left: 1px solid rgba(255, 255, 255, 0.1); }
  .page-service .top-product {
    padding-top: 0vw;
    top: 0vw; }
  .page-service .top-product .xl-inner {
    padding-bottom: 16vw; }
  .page-service .sec-cta {
    padding-top: 16vw; } }
/*
-------------------------------------------
PRODUCT CONTENTS
-------------------------------------------
*/
.page-product .products {
  background-color: #EFF6F6;
  margin-top: 3.2vw;
  padding-bottom: 3.2vw; }
.page-product .product-list {
  gap: 4vw;
  position: relative;
  top: -4vw; }

.sort {
  padding-top: 8vw; }
.sort .sort-cat {
  padding-bottom: 3.2vw;
  margin-bottom: 3.6vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
.sort .sort-title {
  width: 20%;
  gap: .8vw; }
.sort .sort-title figure {
  width: 1.2vw; }
.sort .sort-title h2 {
  line-height: 1;
  font-weight: 500; }
.sort ul {
  width: 80%; }
.sort .cat-list {
  gap: 1vw; }
.sort .cat-list li a {
  color: #007C72;
  background-color: rgba(0, 124, 114, 0.1);
  line-height: 1;
  padding: .6vw .9vw; }
.sort .cat-list li a:hover {
  background-color: #007C72;
  color: #FFFFFF; }
.sort .cat-list li a.active {
  color: #FFFFFF;
  background-color: #007C72; }
.sort .tag-list {
  gap: 1vw; }
.sort .tag-list li a {
  color: #011a21;
  border: 1px solid rgba(1, 26, 33, 0.1);
  line-height: 1;
  padding: .6vw .9vw;
  display: block; }
.sort .tag-list li a:hover {
  background-color: #011a21;
  color: #FFFFFF; }
.sort .tag-list li a.active {
  color: #FFFFFF;
  background-color: #011a21; }

.page-product-detail .fv {
  padding: 10.8vw 0 8.8vw;
  background-size: cover;
  background-position: center; }
.page-product-detail .fv .meta {
  gap: .8vw; }
.page-product-detail .fv .meta .cat {
  color: #FFFFFF;
  background-color: #007C72;
  line-height: 1;
  padding: .4vw .4vw .3vw; }
.page-product-detail .fv .meta .tag {
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  padding: .4vw .4vw .3vw; }
.page-product-detail .btn-back {
  padding: 3.2vw 0;
  text-align: center;
  border-top: 1px solid rgba(1, 26, 33, 0.1); }
.page-product-detail .products {
  margin-top: 0vw;
  padding-top: 6vw;
  padding-bottom: 6vw; }
.page-product-detail .products .section-title {
  text-align: center; }
.page-product-detail .products .section-title span {
  margin: 0 auto; }
.page-product-detail .product-list {
  gap: 4vw;
  position: relative;
  top: 0vw; }
.page-product-detail .contents .side-nav {
  width: 16vw;
  position: absolute;
  top: -1vw;
  left: 0; }
.page-product-detail .contents .side-nav ul li {
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
.page-product-detail .contents .side-nav ul li a {
  display: block;
  padding: 1.3vw 0 1.1vw;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
.page-product-detail .contents .side-nav ul li a:hover {
  color: #02A69B; }
.page-product-detail .contents .side-nav ul li a span {
  line-height: 1.2;
  padding-right: 1vw; }
.page-product-detail .contents .side-nav ul li a figure {
  width: .6vw; }
.page-product-detail .contents .side-nav .btn1 > div {
  gap: 2vw; }
.page-product-detail .contents .side-nav.fixed {
  position: fixed;
  left: 12vw;
  top: 7vw; }
.page-product-detail .contents .article {
  padding-left: 32%; }
.page-product-detail .contents .article .box {
  margin-bottom: 4vw; }
.page-product-detail .contents .article .box .box-title {
  background-color: #011a21;
  overflow: hidden;
  border-left: 0.5vw solid #02A69B;
  margin-bottom: 2.4vw;
  padding: 1.6vw 1.6vw 1.6vw 1.4vw; }
.page-product-detail .contents .article .box .box-title h2 {
  color: #FFFFFF;
  line-height: 1;
  font-size: 1.4vw;
  font-weight: 500; }
.page-product-detail .contents .article .box .box-title h2 span {
  font-size: .9vw;
  color: #00CDC0;
  margin-left: .6vw;
  font-weight: 600; }

@media only screen and (max-width: 768px) {
  .page-product .products {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 16vw;
    background-color: transparent; }
  .page-product .products .section-title {
    position: relative;
    z-index: 4; }
  .page-product .products:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 2.4vw 2.4vw 0 0;
    top: 0;
    left: 0;
    background-color: #EFF6F6;
    z-index: 3; }
  .page-product .products .xl-inner {
    width: 100vw;
    padding-top: 8vw; }
  .page-product .products .xl-inner:after {
    content: "";
    display: block;
    width: 100%;
    height: 24vw;
    position: absolute;
    border-radius: 2.4vw 2.4vw 0 0;
    top: -2.4vw;
    left: 0;
    background-color: #02A69B;
    z-index: 2; }
  .page-product .products .xl-inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 24vw;
    position: absolute;
    border-radius: 2.4vw 2.4vw 0 0;
    top: -4.8vw;
    left: 0;
    background-color: #007C72;
    z-index: 1; }
  .page-product .product-list {
    gap: 13.2vw;
    position: relative;
    top: 0vw;
    z-index: 4; }

  .sort {
    padding-top: 16vw; }
  .sort .sort-cat {
    padding-bottom: 6.6vw;
    margin-bottom: 7vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
  .sort .sort-title {
    width: 100%;
    gap: 2.4vw;
    margin-bottom: 4vw; }
  .sort .sort-title figure {
    width: 4.8vw; }
  .sort ul {
    width: 100%; }
  .sort .cat-list {
    gap: 3vw; }
  .sort .cat-list li {
    height: 100%; }
  .sort .cat-list li a {
    padding: 1.8vw 2.7vw;
    display: block;
    line-height: 1.2; }
  .sort .tag-list {
    gap: 3vw; }
  .sort .tag-list li a {
    padding: 1.6vw 2.5vw;
    display: block;
    line-height: 1.1; }

  .page-product-detail .fv {
    padding: 27.2vw 0 26vw; }
  .page-product-detail .fv .meta {
    gap: 2.4vw;
    margin-bottom: 4vw; }
  .page-product-detail .fv .meta .cat {
    padding: 1.6vw 1.8vw 1.4vw; }
  .page-product-detail .fv .meta .tag {
    padding: 1.6vw 1.8vw 1.4vw; }
  .page-product-detail .fv h1 {
    margin-bottom: 3.2vw; }
  .page-product-detail .fv h2 {
    font-size: 3.6vw;
    line-height: 1.4; }
  .page-product-detail .btn-back {
    padding: 9.6vw 0 14vw; }
  .page-product-detail .products {
    margin-top: 0vw;
    padding-top: 0vw;
    padding-bottom: 0vw; }
  .page-product-detail .products .xl-inner {
    padding-top: 16vw;
    padding-bottom: 16vw; }
  .page-product-detail .products .section-title {
    text-align: center;
    margin-bottom: 14vw; }
  .page-product-detail .products .section-title span {
    margin: 0 auto; }
  .page-product-detail .product-list {
    gap: 13.2vw;
    position: relative;
    top: 0vw; }
  .page-product-detail .contents {
    padding-top: 0vw; }
  .page-product-detail .contents .side-nav {
    width: 100%;
    position: relative;
    top: 0vw;
    left: 0;
    padding-top: 12vw;
    padding-bottom: 10vw; }
  .page-product-detail .contents .side-nav:after {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    background-color: #EFF6F6;
    top: 0;
    left: -6vw;
    z-index: 1; }
  .page-product-detail .contents .side-nav ul {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 5%; }
  .page-product-detail .contents .side-nav ul li {
    width: 47.5%;
    border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
  .page-product-detail .contents .side-nav ul li a {
    display: block;
    padding: 4vw 0 4.2vw; }
  .page-product-detail .contents .side-nav ul li a span {
    line-height: 1.2;
    padding-right: 3vw; }
  .page-product-detail .contents .side-nav ul li a figure {
    width: 1.8vw; }
  .page-product-detail .contents .side-nav .btn1 {
    position: relative;
    z-index: 2; }
  .page-product-detail .contents .side-nav .btn1 > div {
    gap: 6vw; }
  .page-product-detail .contents .side-nav.fixed {
    position: relative;
    left: 0;
    top: 0; }
  .page-product-detail .contents .article {
    padding-left: 0%;
    padding-top: 10vw; }
  .page-product-detail .contents .article .box {
    margin-bottom: 12vw; }
  .page-product-detail .contents .article .box .box-title {
    border-left: 1.5vw solid #02A69B;
    margin-bottom: 7.2vw;
    padding: 4.8vw 4.8vw 4.8vw 4.2vw; }
  .page-product-detail .contents .article .box .box-title h2 {
    font-size: 4.5vw; }
  .page-product-detail .contents .article .box .box-title h2 span {
    font-size: 3.3vw;
    margin-left: 1.8vw; } }
.page-recruit .fv {
  padding: 12vw 0 0vw;
  background-size: cover;
  background-position: center bottom;
  background-image: url(../img/bg-page-recruit.jpg);
  text-align: center; }
.page-recruit .fv h2 {
  color: #02A69B;
  line-height: 1; }
.page-recruit .fv h3 {
  font-size: 3.6vw;
  line-height: 1;
  font-weight: 500; }
.page-recruit .fv h4 {
  font-size: 1.6vw;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  left: 0.4vw; }
.page-recruit .fv span {
  display: block;
  height: 2px;
  width: 3vw;
  background-color: #02A69B;
  margin: 0 auto 2.4vw; }
.page-recruit .fv p {
  width: 54%;
  margin: 0 auto;
  text-align: left; }
.page-recruit .fv .il01 {
  position: absolute;
  width: 16vw;
  left: 4vw;
  top: 4.5vw; }
.page-recruit .fv .il02 {
  position: absolute;
  width: 10vw;
  right: 8vw;
  top: 0vw; }
.page-recruit .culture ul li {
  width: 30%; }
.page-recruit .culture ul li figure {
  width: 10.8vw;
  margin: 0 auto 2.4vw; }
.page-recruit .culture ul li h4.modi {
  position: relative;
  top: .8vw; }
.page-recruit .interview:after {
  content: "";
  display: block;
  width: 100%;
  height: 28vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #EFF6F6; }
.page-recruit .interview li {
  width: 46%;
  overflow: hidden; }
.page-recruit .interview li .text-block {
  padding: 1.6vw 1.8vw 2vw; }
.page-recruit .interview li .text-block h4 {
  line-height: 1.5; }
.page-recruit .interview li .text-block p span {
  color: rgba(1, 26, 33, 0.6); }
.page-recruit .interview li .text-block hr {
  opacity: 0.5; }
.page-recruit .interview li .text-block .body-text {
  font-weight: 400;
  color: rgba(1, 26, 33, 0.8); }
.page-recruit .interview li:last-child {
  position: relative;
  top: -6vw; }
.page-recruit .jobs ul li {
  padding: 2vw 0;
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
.page-recruit .jobs ul li > h4 {
  color: #02A69B;
  width: 25%; }
.page-recruit .jobs ul li .content {
  width: 75%; }
.page-recruit .jobs ul li .content p {
  font-size: .9vw;
  margin-bottom: 1.6vw; }
.page-recruit .jobs ul li .content h4 {
  font-size: 1.1vw;
  color: #007C72;
  margin: 2.4vw 0 1.2vw; }
.page-recruit .jobs .pulldown {
  overflow: hidden; }
.page-recruit .jobs .pulldown .pulldown-btn {
  padding: 1.5vw 2.2vw;
  background-color: #007C72; }
.page-recruit .jobs .pulldown .pulldown-btn p {
  color: #FFFFFF;
  font-size: 1.4vw;
  font-weight: 500;
  line-height: 1; }
.page-recruit .jobs .pulldown .pulldown-btn figure {
  width: 2.4vw;
  transform: rotate(90deg); }
.page-recruit .jobs .pulldown ul {
  display: none;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all 0.6s ease; }
.page-recruit .jobs .pulldown.active .pulldown-btn {
  margin-bottom: 1.6vw; }
.page-recruit .jobs .pulldown.active .pulldown-btn figure {
  transform: rotate(-90deg); }
.page-recruit .jobs .pulldown.active ul {
  display: block;
  height: 100%; }

.lh15 {
  line-height: 1.5 !important; }

@media only screen and (max-width: 768px) {
  .page-recruit .fv {
    padding: 28vw 0 0vw;
    background-size: auto 80%;
    background-position: center top;
    background-repeat: no-repeat; }
  .page-recruit .fv h2 {
    color: #02A69B;
    line-height: 1;
    margin-bottom: 4vw; }
  .page-recruit .fv h3 {
    font-size: 10.8vw; }
  .page-recruit .fv h4 {
    font-size: 5.4vw;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    left: 1.2vw;
    padding-bottom: 82vw; }
  .page-recruit .fv p {
    width: 100%;
    margin: 0 auto;
    text-align: left; }
  .page-recruit .fv .il01 {
    width: 54vw;
    left: -6vw;
    bottom: auto;
    top: 76vw; }
  .page-recruit .fv .il02 {
    width: 36vw;
    right: 1vw;
    top: 64vw;
    bottom: auto; }
  .page-recruit .culture .section-title {
    margin-bottom: 14vw; }
  .page-recruit .culture ul {
    gap: 12vw; }
  .page-recruit .culture ul li {
    width: 100%; }
  .page-recruit .culture ul li figure {
    width: 32.4vw;
    margin: 0 auto 5.4vw; }
  .page-recruit .culture ul li h4 {
    font-size: 4.2vw;
    line-height: 1.4; }
  .page-recruit .culture ul li h4.modi {
    top: 0vw; }
  .page-recruit .interview:after {
    content: "";
    display: block;
    width: 100%;
    height: 84vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #EFF6F6; }
  .page-recruit .interview ul {
    gap: 12vw; }
  .page-recruit .interview li {
    width: 100%;
    overflow: hidden; }
  .page-recruit .interview li .text-block {
    padding: 4.8vw 5.4vw 6vw; }
  .page-recruit .interview li .text-block h4 {
    line-height: 1.5; }
  .page-recruit .interview li .text-block p span {
    color: rgba(1, 26, 33, 0.6); }
  .page-recruit .interview li .text-block hr {
    opacity: 0.5; }
  .page-recruit .interview li .text-block .body-text {
    font-weight: 400;
    color: rgba(1, 26, 33, 0.8); }
  .page-recruit .interview li:last-child {
    top: 0vw; }
  .page-recruit .jobs .xl-inner {
    width: 100vw; }
  .page-recruit .jobs ul li {
    padding: 8vw 0 4vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
  .page-recruit .jobs ul li > h4 {
    color: #02A69B;
    width: 100%;
    margin-bottom: 3.2vw;
    font-size: 4vw; }
  .page-recruit .jobs ul li .content {
    width: 100%; }
  .page-recruit .jobs ul li .content p {
    font-size: 3.4vw;
    margin-bottom: 4.8vw; }
  .page-recruit .jobs ul li .content h4 {
    font-size: 3.6vw;
    margin: 7.2vw 0 3.6vw; }
  .page-recruit .jobs .pulldown {
    margin-bottom: 5.4vw !important; }
  .page-recruit .jobs .pulldown .pulldown-btn {
    padding: 4.5vw 5vw; }
  .page-recruit .jobs .pulldown .pulldown-btn p {
    font-size: 3.6vw; }
  .page-recruit .jobs .pulldown .pulldown-btn figure {
    width: 7.2vw; }
  .page-recruit .jobs .pulldown.active .pulldown-btn {
    margin-bottom: 4vw; }
  .page-recruit .top-recruit .m-inner {
    width: 88vw;
    padding: 16vw 0; }

  .lh15 {
    line-height: 1.5 !important; } }
/*
-------------------------------------------

-------------------------------------------
*/
.page-news .sort {
  padding-bottom: 2.4vw; }
.page-news .sort .sort-cat {
  border-bottom: none;
  margin-bottom: 0; }
.page-news .news-title .meta {
  gap: .8vw; }
.page-news .news-title .meta .cat {
  color: #FFFFFF;
  background-color: #007C72;
  line-height: 1;
  padding: .4vw .4vw .4vw; }
.page-news .news-title .meta .tag {
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  padding: .4vw .4vw .3vw; }
.page-news .contents .content {
  padding-top: 2vw; }

.news-list li a {
  display: block;
  padding: 1.6vw 0 1.8vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
.news-list li .meta {
  width: 25%;
  gap: .8vw; }
.news-list li .meta .cat {
  color: #FFFFFF;
  background-color: #007C72;
  line-height: 1;
  padding: .4vw .4vw .4vw; }
.news-list li .meta .tag {
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  padding: .4vw .4vw .3vw; }
.news-list li h4 {
  width: 75%;
  line-height: 1.5; }
.news-list li a:hover {
  border-bottom: 1px solid #02A69B; }
.news-list li a:hover .date {
  color: #02A69B; }
.news-list li a:hover h4 {
  color: #02A69B; }
.news-list li .content {
  width: 75%; }
.news-list li .content h4 {
  width: 100%;
  color: #007C72; }

.info-list li {
  padding: 2.2vw 0 2.4vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
.info-list li .content p a {
  display: inline-block;
  color: #02A69B;
  text-decoration: underline;
  padding: 0;
  border-bottom: none; }

.news-list-s li a {
  display: block;
  padding: 1.4vw 0 1.4vw;
  border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
.news-list-s li a .meta {
  width: 20%;
  gap: .8vw; }
.news-list-s li a .meta .cat {
  font-size: .8vw;
  color: #FFFFFF;
  background-color: #007C72;
  line-height: 1;
  padding: .4vw .4vw .4vw; }
.news-list-s li a .meta .tag {
  color: #FFFFFF;
  background-color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  padding: .4vw .4vw .3vw; }
.news-list-s li a h4 {
  width: 80%;
  line-height: 1; }

@media only screen and (max-width: 768px) {
  .page-news .sort {
    padding-top: 16vw;
    padding-bottom: 4vw; }
  .page-news .sort .sort-cat {
    border-bottom: none;
    margin-bottom: 0; }
  .page-news .news-title {
    padding-top: 16vw;
    padding-bottom: 8vw; }
  .page-news .news-title .meta {
    gap: 2.4vw;
    margin-bottom: 2.4vw; }
  .page-news .news-title .meta .cat {
    color: #FFFFFF;
    background-color: #007C72;
    line-height: 1;
    padding: 1.2vw 1.6vw; }
  .page-news .news-title .meta .date {
    color: rgba(1, 26, 33, 0.6); }
  .page-news .news-title .meta .tag {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.1);
    line-height: 1;
    padding: 1.2vw 1.6vw; }
  .page-news .contents .content {
    padding-top: 2vw; }

  .news-list li a {
    display: block;
    padding: 5.4vw 0 6vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
  .news-list li .meta {
    width: 100%;
    gap: 2.4vw;
    margin-bottom: 2.4vw; }
  .news-list li .meta .cat {
    color: #FFFFFF;
    background-color: #007C72;
    line-height: 1;
    padding: 1.2vw 1.6vw; }
  .news-list li .meta .date {
    color: rgba(1, 26, 33, 0.6); }
  .news-list li .meta .tag {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.1);
    line-height: 1;
    padding: 1.2vw 1.6vw; }
  .news-list li h4 {
    width: 100%;
    line-height: 1.5; }
  .news-list li .content {
    width: 100%; }
  .news-list li .content h4 {
    width: 100%;
    color: #007C72; }

  .info-list li {
    padding: 6.6vw 0 7.2vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
  .info-list li .content h4 {
    font-size: 4vw; }
  .info-list li .content p {
    font-weight: 400; }
  .info-list li .content p a {
    display: inline-block;
    color: #02A69B;
    text-decoration: underline;
    padding: 0;
    border-bottom: none; }

  .news-list-s li a {
    display: block;
    padding: 5.4vw 0 6vw;
    border-bottom: 1px solid rgba(1, 26, 33, 0.05); }
  .news-list-s li a .meta {
    width: 100%;
    gap: 2.4vw;
    margin-bottom: 2.4vw; }
  .news-list-s li a .meta .cat {
    color: #FFFFFF;
    background-color: #007C72;
    line-height: 1;
    font-size: 3vw;
    padding: 1.2vw 1.6vw; }
  .news-list-s li a .meta .date {
    font-size: 3vw;
    color: rgba(1, 26, 33, 0.6); }
  .news-list-s li a .meta .tag {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.1);
    line-height: 1;
    padding: 1.2vw 1.6vw; }
  .news-list-s li a h4 {
    width: 100%;
    line-height: 1.5; } }
.page-support .fv {
  background-image: url(../img/bg-support.jpg); }
.page-support .contents .side-nav {
  width: 20%;
  position: absolute;
  top: 0vw;
  left: 0; }
.page-support .contents .side-nav ul li {
  border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
.page-support .contents .side-nav ul li a {
  display: block;
  padding: 1.3vw 0 1.2vw; }
.page-support .contents .side-nav ul li a span {
  line-height: 1; }
.page-support .contents .side-nav ul li a figure {
  width: .6vw; }
.page-support .contents .side-nav .btn1 > div {
  gap: 1.2vw; }
.page-support .contents .article {
  padding-left: 32%; }
.page-support .contents .article .box {
  margin-bottom: 4vw; }
.page-support .contents .article .box .box-title {
  background-color: #011a21;
  overflow: hidden;
  border-left: 0.5vw solid #02A69B;
  margin-bottom: 2.4vw;
  padding: 1.6vw 1.6vw 1.6vw 1.4vw; }
.page-support .contents .article .box .box-title h2 {
  color: #FFFFFF;
  line-height: 1;
  font-size: 1.4vw;
  font-weight: 500; }
.page-support .contents .article .box .box-title h2 span {
  font-size: .9vw;
  color: #00CDC0;
  margin-left: .6vw;
  font-weight: 600; }

.login-cta {
  background-color: #007C72;
  padding: 2.8vw 0; }
.login-cta h4 {
  color: #FFFFFF; }

@media only screen and (max-width: 768px) {
  .page-support .fv {
    background-image: url(../img/bg-support.jpg); }
  .page-support .contents {
    padding-top: 0vw;
    padding-bottom: 6vw; }
  .page-support .contents .side-nav {
    width: 100%;
    position: relative;
    top: 0vw;
    left: 0;
    padding-top: 16vw;
    padding-bottom: 10vw; }
  .page-support .contents .side-nav > h4 {
    position: relative;
    z-index: 2;
    font-size: 3.6vw; }
  .page-support .contents .side-nav:after {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    background-color: #EFF6F6;
    top: 0;
    left: -6vw;
    z-index: 1; }
  .page-support .contents .side-nav ul {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 5%; }
  .page-support .contents .side-nav ul li {
    width: 47.5%;
    border-bottom: 1px solid rgba(1, 26, 33, 0.1); }
  .page-support .contents .side-nav ul li a {
    display: block;
    padding: 4vw 0 4.2vw; }
  .page-support .contents .side-nav ul li a span {
    line-height: 1; }
  .page-support .contents .side-nav ul li a figure {
    width: 1.8vw; }
  .page-support .contents .side-nav .btn1 {
    position: relative;
    z-index: 2; }
  .page-support .contents .side-nav .btn1 > div {
    gap: 6vw; }
  .page-support .contents .article {
    padding-left: 0%;
    padding-top: 10vw; }
  .page-support .contents .article .box {
    margin-bottom: 12vw; }
  .page-support .contents .article .box .box-title {
    border-left: 1.5vw solid #02A69B;
    margin-bottom: 7.2vw;
    padding: 4.8vw 4.8vw 4.8vw 4.2vw; }
  .page-support .contents .article .box .box-title h2 {
    font-size: 4.5vw; }
  .page-support .contents .article .box .box-title h2 span {
    font-size: 3.3vw;
    margin-left: 1.8vw; }

  .login-cta {
    background-color: #007C72;
    padding: 8.4vw 0 10vw; }
  .login-cta h4 {
    font-size: 4vw;
    color: #FFFFFF; } }
/* page scss 



*/
