@charset "utf-8";

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * html/body
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

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

/* リンクなどの要素をタップした時の色を消す */
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* 行頭禁則文字 */
* {
	word-break: break-word;
	word-wrap: break-word;
}

body {
	position: relative;
	z-index: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	background: #ffffff;
	line-height: 1.5;
    font-family: "ryo-gothic-plusn", "YuGothic", "游ゴシック","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","Meiryo", sans-serif;
    font-weight: 400;
    font-style: normal;
	font-size: 16px;
	color: #191414;
}

@media screen and (max-width: 430px) {
    body {
        font-size: 14px;
    }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * display
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.disp {
	display: block !important;
}

.disp-none {
	display: none !important;
}

.disp-table {
	display: table !important;
}

.disp-inline {
	display: inline !important;
}

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

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

.sp-disp-table {
	display: none !important;
}

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

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

.tb-disp {
	display: none !important;
}

.tb-disp-table {
	display: none !important;
}

.tb-disp-inline {
	display: none !important;
}

.tb-disp-inline-block {
	display: none !important;
}

@media screen and (max-width: 1024px) {
    .tb-disp {
        display: block !important;
    }

    .tb-disp-table {
        display:table !important;
    }

    .tb-disp-inline {
        display:inline !important;
    }

    .tb-disp-inline-block {
        display: inline-block !important;
    }

    .tb-disp-none {
        display: none !important;
    }
}

@media screen and (max-width: 430px) {
    .sp-disp {
        display: block !important;
    }

    .sp-disp-table {
        display:table !important;
    }

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

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

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

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * visibility
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.visibility-hidden {
	visibility: hidden !important;
}

.visibility-visibile {
	visibility: visible !important;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * header
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100px;
	padding: 0 3%;
    background: rgba(255,255,255,0.9);
    /*visibility: hidden;*/
}

.header.visible {
    visibility: visible !important;
}

.header-inner {
    position: relative;
	display: table;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0px;
}

.header-inner-single {
    position: relative;
    display: table;
	width: 960px;
	height: 100%;
	margin: 0 auto;
	padding: 0px;
}

.header-logo {
    position: relative;
    display: table-cell;
	width: 400px;
	height: 100%;
    margin: 0 auto;
	padding: 0;
    vertical-align: middle;
}

.header-logo img {
	width: 100%;   
}

.header-logo-single {
    position: relative;
    display: table-cell;
	width: 100%;
	height: 100%;
    margin: 0 auto;
	padding: 0;
    vertical-align: middle;
}

.header-logo-single img {
	width: 400px;   
}

.nav {
	position: relative;
    display: table-cell;
	width: calc(100% - 400px);
	height: 100%;
	margin: 0 auto;
	padding: 0;
	line-height: 100px;
    vertical-align: middle;
    text-align: right;
}

@media screen and (max-width: 959px) {
    .header {
        height: 70px;
    }
 
    .header-logo {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
    
    .header-logo img {
        width: clamp(15rem, 10.88rem + 19.39vw, 22.5rem);   
    }
    
    .header-logo-single img {
        width: clamp(15rem, 10.88rem + 19.39vw, 22.5rem);
    }

     .nav {
        display: none;
    }
}


.nav ul {
	position: relative;
	width: auto;
	height: 100%;
	margin: 0 auto;
	padding: 0px;
	display: flex;
    justify-content: flex-end;
    align-items: center;
	line-height: 100px;
	font-size: 0; /*これだけでOK！*/
}

.nav ul li {
	position: relative;
	display: inline-block;
	height: 100%;
	margin: 0 20px;
	padding: 0;
	list-style-type: none;
	text-align: center;
	vertical-align: middle;
    font-size: 16px;
    font-weight: 700;
}

.nav ul li a {
	position: relative;
	display: block;
	height: 100%;
	margin: 0;
	padding: 0;
	color: #191414;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.nav ul li.current_on a,
.nav ul li a:hover {
	position: relative;
	text-decoration: none;
	color: #008d97;
}

.nav ul li a span {
	position: relative;
    display: inline-block;
}

.nav ul li a span:before {
	content: "";
	position: absolute;
	top: 30px;
	left: 50%;
	width: 8px;
    height: 8px;
	margin-left: -4px;
    border-radius: 50%;
	background: #008d97;
    -moz-transition: all .15s ease-in-out 0s;
    -webkit-transition: all .15s ease-in-out 0s;
    -ms-transition: all .15s ease-in-out 0s;
    -o-transition: all .15s ease-in-out 0s;
    transition: all .15s ease-in-out 0s;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
  	-ms-transform: scaleX(0);
	-o-transform: scaleX(0);
  	transform: scaleX(0);
}

.nav ul li.current_on a span:before,
.nav ul li a:hover span:before {
    position: absolute;
	top: 25px;
	left: 50%;
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1);
	transform: scaleX(1);
}

/*-------------------------  hamburger------------------------- */
.hamburger {
    display: none;
}

.global-menu {
    display: none;
}

@media screen and (max-width: 959px) {
    .hamburger {
        display: block;
        position: absolute;
        z-index : 103;
        right : 0;
        top   : 0;
        width : auto;
        height: 100%;
        aspect-ratio: 1 / 1;
        background : #008d97;
        cursor: pointer;
        text-align: center;
    }
}

.hamburger div {
	display : block;
	position: absolute;
    left: 50%;
	width: 50%;
	height: 1px;
    margin-left: -25%;
    border-radius: 0.69vw;
	background : #ffffff;
	transition: 0.3s ease-in-out;
}

.hamburger div:nth-child(1) {
	top: 40%;
}

.hamburger div:nth-child(2) {
	top: 50%;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active div:nth-child(1) {
	top: 40%;
    left: 50%;
    margin-left: -25%;
	transform: rotate(-45deg);
}

.hamburger.active div:nth-child(2) {
	top: 40%;
    left: 50%;
    margin-left: -25%;
	transform: rotate(45deg);
}

.hamburger span {
	display : block;
	position: absolute;
    left: 50%;
    top: 60%;
    width: 100%;
    margin-left: -50%;
    text-align: center;
    letter-spacing: 1px;
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(10px, 1vw, 16px);
    color: #ffffff;
}

/* メニュー背景　*/
.global-menu {
    display: block;
    position: fixed;
    z-index : 102;
    top  : 0;
    right : 0;
    width: 50%;
    height: 100vh;
    padding: 15% 5%;
    background: rgba(255,255,255,0.95);
    overflow-y: scroll;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    transition: all 0.6s;
}

@media screen and (min-width: 1024px) {
    .global-menu {
        display: none;
    }
}

.global-menu ul {
    margin: 1.38vw auto 0;
    padding: 0;
    width: 100%;
}

.global-menu ul li {
    position: relative;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 2vw;
    line-height: 2vw;
    margin-bottom: 50px;
    padding-left: 2vw;
    transition: .4s all;
}

.global-menu ul li:before {
    content: "";
    position: absolute;
    top: 1.38vw;
    left: 0;
    width: 1.38vw;
    height: 1px;
    background: #242b3b;
}

.global-menu ul li:last-child {
    padding-bottom: 0;
}

.global-menu ul li a {
    display: inline-block;
    padding: 0.35vw 0;
    text-decoration : none;
    vertical-align: middle;
    height: 2vw;
    line-height: 2vw;
    font-size: clamp(16px, 1vw, 20px);
    font-weight: 700;
    color: #242b3b;
}

/* クリックでjQueryで追加・削除 */
.global-menu.active {
    opacity: 1;
    display: block;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    transform: translateX(0);
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

@media screen and (max-width: 768px) { 
    /* メニュー背景　*/
    .global-menu {
        display: block;
        position: fixed;
        z-index : 102;
        top  : 0;
        right : 0;
        width: 100%;
        height: 100vh;
        padding: 15% 5%;
        background: rgba(255,255,255,0.95);
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: all 0.6s;
        -moz-transition: all 0.6s;
        transition: all 0.6s;
    }
    
    .global-menu ul li {
        position: relative;
        list-style-type: none;
        margin: 0;
        padding: 0;
        width: 100%;
        height: 2vw;
        line-height: 2vw;
        margin-bottom: 50px;
        padding-left: 2vw;
        transition: .4s all;
    }
}

@media screen and (max-width: 430px) {
    .global-menu ul li:before {
        content: "";
        position: absolute;
        top: 2vw;
        left: 0;
        width: 1.38vw;
        height: 1px;
        background: #242b3b;
    }
}

/*-------------------------  main-visual ------------------------- */

.main-visual-loader-wrap {
    position: absolute;
    top: -100px;
    left: 0;
	width: 100%;
	height: 100vh;
}

@media screen and (max-width: 1024px) {
    .main-visual-loader-wrap {
        height: 90vh;
    }
}

.spinner-box {
    width: 300px;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 7;
    margin: auto;
    text-align: center;
}

.circle-border {
    width: 100px;
    height: 100px;
    padding: 1px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: rgb(0,141,151);
    background: -webkit-linear-gradient(bottom, rgba(3,187,199,0.1) 33%, rgba(3,187,199,1) 100%);
    background: -o-linear-gradient(bottom, rgba(3,187,199,0.1) 33%, rgba(3,187,199,1) 100%);
    background: linear-gradient(to top, rgba(3,187,199,0.1) 33%, rgba(3,187,199,1) 100%);
    animation: spin .5s linear 0s infinite;
}

.circle-core {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 50%;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to{
    transform: rotate(359deg);
  }
}

@media screen and (max-width: 1024px) {
    .circle-border {
        width: 60px;
        height: 60px;
    }
}

.main-visual {
	overflow: hidden;
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
	width: 100%;
	height: calc(100vh - 100px);
    margin-top: 100px;
    padding-bottom: 50px;
    padding-right: 3%;
}

@media screen and (max-width: 1024px) {
    .main-visual {
        height: calc(90vh - 100px);
        margin-top: 100px;
    }
}

@media screen and (max-width: 1024px) {
    .main-visual {
        height: calc(90vh - 70px);
        margin-top: 70px;
        padding-bottom: 0;
        padding-right: 0;
        flex-direction: column;
    }
}

.mv-text {
    position: relative;
    width: 47%;
}

.mv-pics {
    position: relative;
    width: 47%;
}

.mv-scroll {
    position: relative;
    width: 6%;
    height: 100%;
}

@media screen and (max-width: 1024px) {
    .mv-text {
        width: 100%;
        height: 50%;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .mv-pics {
        width: 100%;
        height: 50%;
    }

    .mv-scroll {
        display: none;
    }
}

.mv-speech-bubble {
    margin-bottom: 20px;
    line-height: 1;
    font-size: clamp(1.125rem, 0.5rem + 0.83vw, 1.5rem);
    font-weight: 700;
    color: #008d97;
    /*visibility: hidden;*/
}

.mv-copy {
    margin-bottom: 30px;
    line-height: 1;
    font-size: clamp(2.125rem, -0.167rem + 3.06vw, 3.5rem);
    font-weight: 700;
    color: #008d97;
    /*visibility: hidden;*/
}

.mv-copy.biz {
    margin-bottom: 60px;
}

.mv-copy font {
    display: inline-block;
    vertical-align: -5px;
}

.mv-copy span {
    display: inline-block;
    margin-bottom: 15px;
    margin-right: 10px;
    padding: 10px 15px;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
}

.mv-copy span img {
    width: clamp(12.5rem, 2.083rem + 13.89vw, 18.75rem);
}

.mv-copy.biz span img {
    width: clamp(21.875rem, -4.167rem + 34.72vw, 37.5rem);
}

.mv-copy.biz .br-sp-disp {
    display: none;
}

.mv-subcopy {
    margin-bottom: 60px;
    line-height: 1;
    font-size: clamp(1.125rem, 0.5rem + 0.83vw, 1.5rem);
    font-weight: 700;
    /*visibility: hidden;*/
}

@media screen and (max-width: 1024px) {
    .mv-speech-bubble {
        margin-bottom: 20px;
        line-height: 1;
        text-align: center;
        font-size: clamp(1.125rem, 0.5rem + 0.83vw, 1.5rem);
    }

    .mv-copy {
        margin-bottom: 20px;
        line-height: 1;
        text-align: center;
        font-size: clamp(1.5rem, 1.275rem + 1vw, 1.875rem);
    }

    .mv-copy.biz {
        margin-bottom: 60px;
    }
    
    .mv-copy br {
        display: none;
    }
    
    .mv-copy.biz .br-sp-disp {
        display: none;
    }

    .mv-copy font {
        display: inline-block;
        vertical-align: 0;
    }

    .mv-copy span {
        display: inline-block;
        margin-bottom: 10px;
        margin-right: 10px;
        padding: 10px 15px;
        border-radius: 4px;
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
        background: #008D97;
        background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
        background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
        background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    }

    .mv-copy span img {
        width: clamp(9.375rem, 8.248rem + 5.01vw, 11.25rem);
    }

    .mv-copy.biz span img {
        width: clamp(21.875rem, -4.167rem + 34.72vw, 37.5rem);
    }

    .mv-subcopy {
        margin-bottom: 60px;
        line-height: 1;
        text-align: center;
        font-size: clamp(1.125rem, 0.5rem + 0.83vw, 1.5rem);
        font-weight: 700;
        visibility: hidden;
    }
}

@media screen and (max-width: 768px) {
    .mv-speech-bubble {
        margin-bottom: 20px;
        line-height: 1;
        text-align: center;
        font-size: clamp(0.875rem, 0.482rem + 1.75vw, 1.125rem);
    }

    .mv-copy br {
        display: inline;
    }
    
    .mv-copy font {
        vertical-align: -5px;
    }
    
    .mv-subcopy {
        margin-bottom: 30px;
        line-height: 1;
        text-align: center;
        font-size: clamp(0.875rem, 0.482rem + 1.75vw, 1.125rem);
        font-weight: 700;
        visibility: hidden;
    }
}

@media screen and (max-width: 500px) {
    .mv-speech-bubble {
        margin-bottom: 10px;
    }

    .mv-copy.biz span {
         margin-right: 0;
    }
 
    .mv-copy.biz span img {
        width: clamp(17.5rem, 8.203rem + 43.75vw, 21.875rem);
    }

    .mv-copy.biz .br-sp-disp {
        display: inline;
    }

    .mv-copy.biz .br-sp-disp-none {
        display: none;
    }
    
    .mv-copy.biz font {
        vertical-align: 0;
    }
}

.mv-cta {
    margin-bottom: 0;
    /*visibility: hidden;*/
}

.btn-cta {
    position: relative;
    padding: 30px 50px 25px;
    border-radius: 100px;
    border:2px solid #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    background: #f98938;
    text-align: center;
    transition: all 0.3s;
}

.btn-cta span {
    position: relative;
    padding-left: clamp(1.2rem, 0.167rem + 1.3vw, 1.7rem);
    font-size: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    font-weight: 700;
    color: #ffffff;
}

.btn-cta span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    height: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    background-image: url('../images/icon-apply-white.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}

.btn-cta.biz span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    height: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    background-image: url('../images/icon-email-white.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}

.btn-cta:hover {
    text-decoration: none;
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
    color: #ffffff;
}

@media screen and (max-width: 1024px) {
    .mv-cta {
        text-align: center;
    }

    .btn-cta {
        position: relative;
        padding: 30px 50px 30px;
        border-radius: 100px;
        border:2px solid #ffffff;
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
        background: #f98938;
        text-align: center;
        transition: all 0.3s;
    }

    .btn-cta span {
        position: relative;
        padding-left: clamp(1.2rem, 0.167rem + 1.3vw, 1.7rem);
        font-size: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
        font-weight: 700;
        color: #ffffff;
    }

    .btn-cta span:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
        height: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
        background-image: url('../images/icon-apply-white.svg');
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
    }

    .btn-cta.biz span:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
        height: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
        background-image: url('../images/icon-email-white.svg');
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
    }

    .btn-cta:hover {
        text-decoration: none;
        box-shadow: 0 0 15px rgba(0,0,0,0.5);
        color: #ffffff;
    }
}

@media screen and (max-width: 430px) {
    .btn-cta {
        padding: 20px 40px 20px;
    }
}

.mv-pic-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mv-pic {
    position: relative;
    width: 30%;
    margin-bottom: 0;
    /*visibility: hidden;*/
}

.mv-pic img {
    position: relative;
    width: 100% !important;
    height: auto !important;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.mv-pic02 {
    padding-top: 100px;
}

@media screen and (max-width: 1024px) {
    .mv-pic-wrapper {
        height: 100%;
        overflow: hidden;
        align-items: center;
    }
    
    .mv-pic {
        width: 33.33%;
        height: 100%;
    }

    .mv-pic img {
        position: relative;
        width:100% !important;
	    height:100% !important;
        border-radius: 0;
        box-shadow: none;
        object-fit: cover;
    }

    .mv-pic02 {
        padding-top: 0;
    }
}

.mv-pic-biz {
    position: relative;
    width: 100%;
    margin-bottom: 0;
    /*visibility: hidden;*/
}

.mv-pic-biz img {
    position: relative;
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

@media screen and (max-width: 1024px) {
    .mv-pic-biz {
        width: 100%;
        height: 100%;
    }
    
    .mv-pic-biz img {
        position: relative;
        width:100%;
	    height:100%;
        border-radius: 0;
        box-shadow: none;
        object-fit: cover;
        object-position: 80% 0%;
    }
  
    .mv-pic-tb {
        width: 100%;
        height: 100%;
        margin-bottom: 0;
    }
  
    .mv-pic-tb img {
        position: relative;
        width:100%;
	    height:100%;
        border-radius: 0;
        box-shadow: none;
        object-fit: cover;
    }
}

.main-visual-scroll-arrow-text {
	/*display: none;*/
	position: absolute;
	bottom: 150px;
	left: 50%;
	margin: 0;
    margin-left: -6px;
    line-height: 1;
    white-space: nowrap;
	font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
	font-size: 12px;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-moz-transform-origin: left bottom;
	-webkit-transform-origin: left bottom;
	-o-transform-origin: left bottom;
	-ms-transform-origin: left bottom;
	transform-origin: left bottom;
}

.main-visual-scroll-arrow {
    /*visibility: hidden;*/
	content: '';
	position: absolute;
	bottom: 50px;
	left: calc(50% - 3px);
	width: 6px;
	height: 5px;
	margin: 0 auto;
	background: url('../images/icon-triangle-downward.svg') 0 0 no-repeat;
	background-size: 6px 5px;
	-webkit-animation: moveDown 1.5s ease-in-out infinite;
	animation: moveDown 1.5s ease-in-out infinite;
}

@-webkit-keyframes moveDown {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    100% {
        -webkit-transform: translateY(40px);
        transform: translateY(40px);
        opacity: 0
    }
}

@keyframes moveDown {
    0% {
        -webkit-transform: translateY(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateY(40px);
        transform: translateY(40px);
        opacity: 0
    }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * footer
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.fixed-entry-wrap {
    display: none;
	position: fixed;
    top: 50%;
	right: 0;
	z-index: 10;
	width: 70px;
    height: clamp(12.5rem, 2.083rem + 13.89vw, 18.75rem);
	margin: 0;
}

@media (max-width: 430px) {
    .fixed-entry-wrap {
        width: 40px;
    }  
}

.fixed-entry {
	position: relative;
	display : -webkit-inline-box;
	display : -ms-inline-flexbox;
	display : -webkit-inline-flex;
	display : inline-flex;
	width: 100%;
    height: 100%;
}

.fixed-entry-btn {
	position: relative;
    display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: clamp(2.5rem, 1.458rem + 1.39vw, 3.125rem) 0 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border:2px solid #ffffff;
    border-right: none;
    background: #f98938;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    text-align: center;
    color: #ffffff;
	transition: all 0.3s;
}

.fixed-entry-btn:before {
    content: "";
	position: absolute;
	top: 15px;
	left: 50%;
    transform: translateX(-50%);    /* 要素自体の半分、上と左にずらす */
	width: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    height: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    background-image: url('../images/icon-apply-white.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}

.fixed-entry-btn:hover {
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
    color: #ffffff;
}

.fixed-entry-btn span {
    display: inline-block;
    font-size: clamp(1rem, 0.167rem + 1.11vw, 1.5rem);
    font-weight: 700;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.footer {
    position: relative;
    width: 100%;
    padding: 100px 0 0;
    background: #CEECED;
    background: -webkit-linear-gradient(bottom, rgba(206, 236, 237, 1) 0%, rgba(255, 255, 255, 1) 50%);
    background: -o-linear-gradient(bottom, rgba(206, 236, 237, 1) 0%, rgba(255, 255, 255, 1) 50%);
    background: linear-gradient(to top, rgba(206, 236, 237, 1) 0%, rgba(255, 255, 255, 1) 50%);
}

.footer-logo {
	width: 400px;
	margin: 0 auto 50px;
    text-align: center;
}

@media screen and (max-width: 959px) {
    .footer-logo {
        width: 50%;
        margin: 0 auto 50px;
        text-align: center;
    }
}

@media screen and (max-width: 430px) {
     .footer {
        padding: 30px 0 0;
    }
 
    .footer-logo {
        width: 70%;
        margin: 0 auto 30px;
        text-align: center;
    }
}

.footer-logo img {
	width: 100%;
}

.footer-sitemap {
    position: relative;
    display: table;
    width: auto;
    margin: 0 auto 50px;
}

.footer-sitemap li {
    position: relative;
    display: table-cell;
	width: auto;
    margin: 0;
    padding: 0 20px;
    text-align: center;
    list-style: none;
    font-size: 14px;
}

@media screen and (max-width: 430px) {
    .footer-sitemap {
        position: relative;
        display: block;
        width: 100%;
        margin: 0 auto 30px;
        padding: 0 7%;
        text-align: center;
    }

    .footer-sitemap li {
        position: relative;
        display: inline-block;
        width: auto;
        margin: 0;
        padding: 0 10px;
        text-align: center;
        list-style: none;
        font-size: 12px;
    }
}

.footer-sitemap li a {
    position: relative;
    font-weight: 700;
	color: #191414;
}

.footer-sitemap li a:after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    width: 0;
    height: 1px;
    background: #191414;
    -moz-transition: all .15s ease-in-out 0s;
    -webkit-transition: all .15s ease-in-out 0s;
    -ms-transition: all .15s ease-in-out 0s;
    -o-transition: all .15s ease-in-out 0s;
    transition: all .15s ease-in-out 0s;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
  	-ms-transform: scaleX(0);
	-o-transform: scaleX(0);
  	transform: scaleX(0);
}

.footer-sitemap li a:hover {
	color: #191414;
}

.footer-sitemap li a:hover:after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: #191414;
    -moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1);
	transform: scaleX(1);
}

.copyright {
	position: relative;
	padding: 20px 0;
	width: 100%;
	text-align: center;
}

.copyright small {
	line-height: 1;
	font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 400;
    font-style: normal;
	font-size: 14px;
}

@media screen and (max-width: 430px) {
    .copyright {
        padding: 0 0 20px;
    }

    .copyright small {
        font-size: 12px;
    }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * article/section
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

article {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background: #ffffff;
}

section {
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.section-inner-normal {
	position: relative;
	width: 100%;
    max-width: 1300px;
	margin: 0 auto;
	padding: 0 7%;
}

@media (max-width: 1280px) {
    .section-inner-normal {
        padding: 0 2%;
    }  
}

@media (max-width: 430px) {
    .section-inner-normal {
        padding: 0 4%;
    }  
}

@media (min-width: 1400px) {
    .section-inner-normal {
        max-width: 1300px;
        padding: 0 2%;
    }  
}

.section-inner-wide {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.section-inner-narrow {
	position: relative;
	width: 100%;
    max-width: 1400px;
    min-width: 1200px;
	margin: 0 auto;
	padding: 0 13%;
}

@media (max-width: 1280px) {
    .section-inner-narrow {
        min-width: auto;
        padding: 0 7%;
    }  
}

@media (max-width: 430px) {
    .section-inner-narrow {
        min-width: auto;
        padding: 0 4%;
    }  
}

@media (min-width: 1400px) {
    .section-inner-narrow {
        max-width: 1300px;
        padding: 0 2%;
    }  
}

.section-inner-morenarrow {
	position: relative;
	max-width: 1500px;
    min-width: 800px;
	margin: 0 auto;
	padding: 0 20%;
}

@media (max-width: 1280px) {
    .section-inner-morenarrow {
        min-width: auto;
        padding: 0 7%;
    }  
}

@media (max-width: 430px) {
    .section-inner-morenarrow {
        min-width: auto;
        padding: 0 4%;
    }  
}

@media (min-width: 1400px) {
    .section-inner-morenarrow {
        max-width: 1300px;
        padding: 0 2%;
    }  
}

.section-inner-maxnarrow {
	position: relative;
	max-width: 800px;
    width: auto;
	margin: 0 auto;
	padding: 0;
}

@media (max-width: 1280px) {
    .section-inner-maxnarrow {
        width: auto;
        padding: 0;
    }  
}

@media (max-width: 1000px) {
    .section-inner-maxnarrow {
        width: 100%;
        padding: 0 7%;
    }  
}

@media (max-width: 430px) {
    .section-inner-maxnarrow {
        width: 100%;
        padding: 0 4%;
    }  
}

.section-inner-single-lp {
	position: relative;
	width: 960px;
	margin: 0 auto;
}

@media (max-width: 960px) {
    .section-inner-single-lp {
        width: 100%;
        padding: 0 4%;
    }  
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * heading
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.h2 {
	position: relative;
	margin-bottom: 100px;
    padding-top: clamp(3.125rem, 1.042rem + 2.78vw, 4.375rem);
	line-height: 1;
    text-align: center;
	font-size: clamp(1.875rem, 0.417rem + 1.94vw, 2.75rem);
	font-weight: 700;
}

@media screen and (max-width: 430px) {
    .h2 {
        margin-bottom: 30px;
        font-size: clamp(1.25rem, -0.679rem + 8.57vw, 1.625rem);
    }
}

.h2.white {
	color: #ffffff;
}

.h2 span {
	font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: clamp(0.875rem, 0.146rem + 0.97vw, 1.313rem);
    color: #008d97;
}

.h2.white span {
	color: #ffffff;
}

.h2:before {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	width: clamp(0.625rem, -0.417rem + 1.39vw, 1.25rem);
	height: clamp(0.625rem, -0.417rem + 1.39vw, 1.25rem);
    border-radius: 50%;
	background: #008d97;
    transform: translateX(-50%);
}

.h2.white:before {
	background: #ffffff;
}

.h2-single-lp {
	position: relative;
    margin: clamp(1.25rem, -1.542rem + 12.99vw, 6.25rem) auto;
	line-height: 1.3;
    font-size: clamp(1.25rem, 0.692rem + 2.6vw, 2.25rem);
	font-weight: 700;
}

.h3 {
	position: relative;
    margin-top: 50px;
	margin-bottom: 20px;
	line-height: 1.5;
	font-size: clamp(1.125rem, 1.044rem + 0.38vw, 1.5rem);
	font-weight: 700;
    color: #008d97;
}

.h3-single-lp {
	position: relative;
    margin: clamp(1.25rem, 0.552rem + 3.25vw, 2.5rem) auto 10px;
	line-height: 1.3;
    font-size: clamp(1rem, 0.721rem + 1.3vw, 1.5rem);
	font-weight: 700;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 * common parts
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.external-link {
    position: relative;
    padding-right: 1.5em;
}

.external-link:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
    background: url('../images/icon-external-link.svg');
	background-position: center;
	background-size: cover;
    aspect-ratio: 1 / 1;
}

hr {
	display: block;
	width: 100%;
	height: 1px;
	margin: 20px auto;
	background-color: rgba(255,255,255,0.2);
	border: 0;  /*デフォルトデザインでは線がある場合があるので、消しておく。*/
}

blockquote {
	width: 90%;
	margin: 20px auto;
	padding: 30px;
	background: #fafafa;
	line-height: 1.5em;
	border: 3px solid #dddddd;
	border-radius: 6px;
}

.note {
	margin: 20px auto;
	line-height: 1.5em;
	font-size: 14px;
}

.note dt {
	position: relative;
}

.note dt span {
	position: absolute;
}

.note dd {
	padding-left: 1em;
	padding-bottom: 10px;
}

.note2 {
	margin: 0 auto;
	line-height: 1.5em;
}

.note2 dt {
	position: relative;
}

.note2 dt span {
	position: absolute;
}

.note2 dd {
	padding-left: 1.5em;
}


.atten {
	width: 100%;
	margin: 20px auto;
	padding: 30px;
	line-height: 1.5em;
	border: 1px solid #dddddd;
	border-radius: 4px;
}

/*スライドの高さを揃える*/
.slick-track {
  display: flex !important;
}

.slick-slide {
  height: auto !important;
}
/*スライドの高さを揃える*/

.slick-list {
	overflow: hidden;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

.slick-slide {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.table {
	border-collapse : collapse ;
	position: relative;
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #e3e3e3;
}

.table.side {
    border-left: 1px solid #e3e3e3;
    border-right: 1px solid #e3e3e3;
}

.left-td {
	position: relative;
	width: 30%;
	padding: 20px 10px;
	border-bottom: 1px solid #e3e3e3;
	vertical-align: middle;
	font-weight: bold;
}

.left-td.colored {
	background: #eff7f8;
}

.table.side .left-td {
	border-right: 1px solid #e3e3e3;
}

.right-td {
	position: relative;
	width: 70%;
	padding: 20px 10px;
	border-bottom: 1px solid #e3e3e3;
	vertical-align: middle;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 2rem;
	outline: none;
	border: 1px solid #035d6a;
	background: #ffffff;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
    font-size: 16px;
}

input.short {
	width: 15rem;
}

input.med {
	width: 30rem;
}

label {
	display: inline-block;
	cursor: pointer;
}

textarea {
	width: 100%;
	margin: 0;
	padding: 2rem;
	resize: none;
	outline: none;
	border: none;
  	background: #f7fbfe;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
    font-size: 16px;
}
 
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus {
	box-shadow: 0 0 3px #035d6a !important;
	background: #ffffff;
}

.is-touch-media input[type=text]:focus,
.is-touch-media input[type=tel]:focus,
.is-touch-media input[type=email]:focus,
.is-touch-media input[type=password]:focus,
.is-touch-media textarea:focus {
		border: 1px solid #035d6a;
		box-shadow: none;
}

:placeholder-shown { color: #999999; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder { color: #999999; }

/* Firefox 18- */
:-moz-placeholder { color: #999999; }

/* Firefox 19+ */
::-moz-placeholder { color: #999999; }

/* IE 10+ */
:-ms-input-placeholder { color: #999999; }

select {
	-moz-appearance: none;
  	-webkit-appearance: none;
  	appearance: none;
	width: 30rem;
	height: auto;
	padding: 2rem;
	border: none;
	border-radius: 0;
	outline: none;
	background: #f0f4f7;
    font-size: 16px;
}

button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	display: inline-block;
	outline: none;
	border: none;
    background: #191919;
	line-height: 1;
	vertical-align: middle;
	font-family: "YuGothic", "游ゴシック","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","Meiryo","ＭＳ Ｐゴシック","MS PGothic", sans-serif;
    color: #ffffff;
	cursor: pointer;
}

.button {
	outline:none;
	width: 80%;
	height: 8rem;
	border: none;
	background: #5c646f;
	font-size: 1.8rem;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.button:hover {
	background: #454b53;
}

.button:disabled {
	background: #5c646f;
	color: #7c8693;
}

.check-submit-wrap {
	margin: 40px 0;
	text-align: center;
}

.check-submit {
    display: inline;
}

.check-submit-final {
    display: inline;
}

.check-submit button {
	outline: none;
	width: 150px;
	height: 40px;
	margin: 0 20px;
	border-radius: 3px;
	border: none;
	background: #5c646f;
	font-size: 16px;
	font-weight: bold;
	color: #ffffff;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
	transition: all 0.3s;
}

.check-submit button:hover {
	background: #454b53;
}

.check-submit button:disabled {
	background: #5c646f;
	color: #7c8693;
}

.check-submit-final .button.final-event-btn {
	height: 54px;
	padding: 0 80px;
	border-radius: 3px;
	background: rgba(10,232,246,0.2);
	border: 1px solid #07bac6;
	font-size: 16px;
	font-weight: bold;
	color: #0ae8f6;
}

.check-submit-final .button.final-event-btn:hover {
	background: rgba(10,232,246,0.4);
	box-shadow: 0 0 10px #0ae8f6;
	color: #0ae8f6;
}

.form-required {
	color: #ff00b0;
	font-weight: lighter;
}

.form-required2 {
	color: #be00be;
	font-weight: lighter;
}

.str-count-wrap {
	position: relative;
	width: 100%;
	margin-bottom: 0;
	text-align: right;
}

.str-count-wrap.short {
	display: inline-block;
	width: auto;
	margin-bottom: 0;
}

.str-count {
	margin-left: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #cccccc;
}

.str-count-subscript {
	font-size: 12px;
	color: #cccccc;
}

.tablenav {
	clear: both;
	height: 4rem;
	margin: 4rem auto 0;
	padding: 0;
	text-align: center;
	color: #ffffff;
}

.page-numbers,
.tablenav .current,
.tablenav .next,
.tablenav .prev {
	display: inline-block;
	width: 4rem;
	height: 4rem;
	margin: 0 0.3rem;
	line-height: 3.8rem;
	border: 1px solid #5c28f0;
	text-align: center;
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	color: #5c28f0;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	transition: all 200ms linear;
}

.tablenav .next {
	font-size: 1.6rem;
}

.tablenav .prev {
	font-size: 1.6rem;
}

.page-numbers:hover {
	background: #f7f7f7;
	text-decoration: none;
}

.tablenav .next:hover {
	background: #f7f7f7;
}

.tablenav .prev:hover {
	background: #f7f7f7;
}

.tablenav .current {
	background: #5c28f0;
	text-decoration: none;
	color: #ffffff;
}

ol.list_parentheses {
    margin: 0;
    padding:0;
    counter-reset: cnt;
}

ol.list_parentheses li {
    position: relative;
    margin: 0;
    margin-left: 2em;
    margin-bottom: 1rem;
    list-style-type: none;
    counter-increment: cnt;
}

ol.list_parentheses li::before {
    content: "(" counter(cnt) ")";
    position: absolute;
    left: -2em;
}

ol.list_parentheses li.bold::before {
    font-weight: bold;
}

ol.list_parentheses ol.lower-latin {
    counter-reset: cnt2;
}

ol.list_parentheses ol.lower-latin li {
    position: relative;
    margin: 0;
    margin-left: 2em;
    margin-bottom: 1em;
    list-style-type: none;
    counter-increment: cnt2;
    font-weight: 400;
}

ol.list_parentheses ol.lower-latin li::before {
    content: counter(cnt2, lower-alpha)" )";
    position: absolute;
    left: -2em;
}

ol.list_parentheses ul {
    counter-reset: cnt;
}

ol.list_parentheses ul li {
    position: relative;
    margin: 0;
    margin-left: 2em;
    margin-bottom: 1em;
    list-style-type: disc;
    font-weight: 400;
}

ol.list_parentheses ul li::before {
    content: "";
}


/*-------------------------  #section-top-jobs ------------------------- */

#section-top-jobs {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
}

.top-jobs-wrap {
    position: relative;
    width: auto;
    margin: 0 auto;
    padding: 0 50px 150px;
}

@media screen and (max-width: 430px) {
    #section-top-jobs {
        padding: 20px 0 50px;
    }
    
    .top-jobs-wrap {
        padding: 0 7% 50px;
    }
}

.top-jobs-wrap .slick-list {
	overflow: hidden;
}

.top-jobs-wrap .slick-prev,
.top-jobs-wrap .slick-next {
    margin-top: 0;
    top: calc(50% - 75px);
    transform: translate(0, -50%);
}

@media screen and (max-width: 430px) {
    .top-jobs-wrap .slick-prev,
    .top-jobs-wrap .slick-next {
        margin-top: 0;
        top: calc(50% - 25px);
        transform: translate(0, -50%);
    }
}

.top-jobs-wrap .slick-prev {
    left: 10px;
}

.top-jobs-wrap .slick-next {
    right: 10px;
}

.top-job {
    margin: 10px;
    padding: 30px;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.top-job-copy {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #008d97;
}

.top-job-desc {
    margin-bottom: 10px;
    font-size: 16px;
}

.top-job-tag {
    position: relative;
    width: 100%;
    display: table;
    margin-bottom: 10px;
}

.top-job-tag-title {
    width: 70px;
    display: table-cell;
    font-size: 14px;
}

.top-job-tag-title span {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 20px;
    border-radius: 3px;
    background: #008d97;
    text-align: center;
    line-height: 20px;
    font-weight: 700;
    color: #ffffff;
}

.top-job-tag-content {
    width: auto;
    display: table-cell;
    padding-left: 10px;
    font-size: 14px; 
    font-weight: 700;
}

@media screen and (max-width: 430px) {
    .top-job-desc {
        font-size: 14px;
    }
    
    .top-job-tag-title {
        font-size: 12px;
    }
    
    .top-job-tag-content {
        font-size: 12px; 
    }
}

/*-------------------------  #section-top-reason ------------------------- */

#section-top-reason {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
}

#section-top-reason-biz {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    color: #ffffff;
}

@media screen and (max-width: 430px) {
    #section-top-reason {
        padding: 20px 0 0;
    }
    
    #section-top-reason-biz {
        padding: 20px 0 20px;
    }
}

.top-reason-wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid #00cc99;
}

.top-reason-wrap.white {
    border-bottom: 1px solid rgba(255,255,255,0.5);
}

.top-reason-wrap.bb-none {
    border-bottom: none;
}

.top-reason-text {
    position: relative;
    width: 60%;
}

.top-reason-pic {
    position: relative;
    width: 35%;
}

@media screen and (max-width: 720px) {
    .top-reason-wrap {
        position: relative;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #00cc99;
    }
    
    .top-reason-wrap.sp-column-reverse {
        flex-direction: column-reverse;
    }

    .top-reason-text {
        position: relative;
        width: 100%;
    }

    .top-reason-pic {
        position: relative;
        width: 100%;
        margin-top: 20px;
    }
}

.top-reason-pic img {
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.top-reason-h3 {
    position: relative;
    width: 150px;
    height: 40px;
    margin-bottom: 20px;
    border-radius: 60px;
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    text-align: center;
    line-height: 40px;
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    color: #ffffff;
}

.top-reason-h3.white {
    background: #ffffff;
    color: #008D97;
}

.top-reason-h4 {
    position: relative;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.417rem + 1.11vw, 1.75rem);
    color: #008d97;
}

.top-reason-h4.white {
    color: #ffffff;
}

.top-reason-h4 .br-sp-disp {
    display: none;
}

@media screen and (max-width: 429px) {
    .top-reason-h4 .br-sp-disp {
        display: inline;
    }
}

@media screen and (max-width: 720px) {
    .top-reason-h3 {
        width: 120px;
        height: 30px;
        margin: 0 auto 20px;
        line-height: 30px;
        font-size: 16px;
    }
    
    .top-reason-h4 {
        text-align: center;
        font-size: 18px;
    }
}

/*-------------------------  #section-top-reason ------------------------- */

#section-top-steps {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
    background: #f6f6f6;
}

@media screen and (max-width: 750px) {
    #section-top-steps {
        padding: 20px 0;
    }
}

.top-steps-wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

@media screen and (max-width: 750px) {
    .top-steps-wrap {
        flex-direction: column;
    }
}

.top-step {
    position: relative;
    z-index: 1;
    width: 23%;
    padding: 30px;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    background: #ffffff;
}

@media screen and (max-width: 750px) {
    .top-step {
        width: 100%;
        margin-bottom: 30px;
        padding: 30px;
        padding-top: 0;
        padding-bottom: 10px;
        border-radius: 4px;
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
    }
}

.top-step.one {
    z-index: 4;
}

.top-step.two {
    z-index: 3;
}

.top-step.three {
    z-index: 2;
}

.top-step.four {
    z-index: 1;
}

.top-step:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -16%;
    z-index: 10;
    width: 20%;
    aspect-ratio: 1 / 1;
    margin-top: -10%;
    border: 1px solid #008d97;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    background: #ffffff url('../images/icon-arrow-right-green.svg') 0 0 no-repeat;
    background-position: center;
	background-size: 30%;
    text-align: center;
}

.top-step.four:after {
     display: none;
}

@media screen and (max-width: 750px) {
    .top-step:after {
        content: "";
        position: absolute;
        top: calc(100% - 15px);
        right: 50%;
        z-index: 10;
        width: 60px;
        height: 60px;
        aspect-ratio: 1 / 1;
        margin-top: 0;
        margin-right: -30px;
        border: 1px solid #008d97;
        border-radius: 50%;
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
        background: #ffffff url('../images/icon-arrow-right-green.svg') 0 0 no-repeat;
        background-position: center;
        background-size: 30%;
        text-align: center;
        -moz-transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        -moz-transform-origin: center;
        -webkit-transform-origin: center;
        -o-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center;
    }
}

.top-step-icon {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
}

.top-step-icon img {
    width: 80%;
}

@media screen and (max-width: 750px) {
    .top-step-icon {
        margin-bottom: 0;
    }
 
     .top-step-icon img {
        width: 60%;
    }
}

.top-step-h3 {
    position: relative;
    width: 100px;
    height: 30px;
    margin: 0 auto 10px;
    border-radius: 60px;
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    text-align: center;
    line-height: 30px;
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    color: #ffffff;
}

.top-step-h4 {
    position: relative;
    margin-bottom: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    color: #008d97;
}

@media screen and (max-width: 750px) {
    .top-step-h3 {
        width: 120px;
        height: 30px;
        line-height: 30px;
        font-size: 16px;
    }

    .top-step-h4 {
        font-size: 18px;
    }
}

/*-------------------------  #section-top-faq ------------------------- */

#section-top-slide {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
}

.infiniteslide div {
    height: 300px;
    width: auto;
    margin: 0 50px;
}

.infiniteslide .mt {
    margin-top: 100px;
}

.infiniteslide div img {
    height: 100%;
    width: auto;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

@media screen and (max-width: 430px) {
     #section-top-slide {
        padding: 10px 0;
    }
 
     .infiniteslide div {
        height: 150px;
        width: auto;
        margin: 0 25px;
    }

    .infiniteslide .mt {
        margin-top: 50px;
    }
}

/*-------------------------  #section-top-faq ------------------------- */

#section-top-faq {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
}


.faq-box {
    position: relative;
    margin-bottom: 20px;
    padding: 20px 30px 20px 60px;
    border-radius: 4px;
    /*border:1px solid #008d97;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);*/
    color: #008d97;
    cursor: pointer;
}

@media (max-width: 430px) {
    .faq-box {
        padding: 10px 35px 10px 50px;
    } 
}

.faq-box:before {
    position: absolute;
    content: "Q.";
    top: 11px;
    left: 10px;
    width: 60px;
    line-height: 1;
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 40px;
    color: #008d97;
}

@media (max-width: 430px) {
    .faq-box:before {
        top: 7px;
        font-size: 30px;
    } 
}

.faq-icon {
    position: absolute;
    content: "";
    top: 20px;
    right: 10px;
    height: 26px;
    width: 26px;
    background: url('../images/icon-plus-green.svg') center center no-repeat;
	background-size:  26px 26px;
}

.faq-icon.open {
    position: absolute;
    content: "";
    top: 20px;
    right: 10px;
    height: 26px;
    width: 26px;
    background: url('../images/icon-minus-green.svg') center center no-repeat;
	background-size: 26px 26px;
}

@media (max-width: 430px) {
    .faq-icon {
        position: absolute;
        top: 13px;
        right: 10px;
        height: 18px;
        width: 18px;
        background: url('../images/icon-plus-green.svg') center center no-repeat;
        background-size:  18px 18px;
    }

    .faq-icon.open {
        position: absolute;
        content: "";
        top: 13px;
        right: 10px;
        height: 18px;
        width: 18px;
        background: url('../images/icon-minus-green.svg') center center no-repeat;
        background-size: 18px 18px;
    } 
}

.faq-question {
    line-height: 1.5;
    font-size: 18px;
    font-weight: 700;
}

@media (max-width: 430px) {
    .faq-question {
        font-size: 16px;
    } 
}

.faq-answer {
    display: none;
    position: relative;
    margin-top: 10px;
    margin-right: -20px;
    padding: 20px 30px 20px 60px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    line-height: 1.5;
    color: #191414;
}

.faq-answer:before {
    position: absolute;
    content: "A.";
    top: 8px;
    left: 10px;
    margin-top: 0;
    font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 40px;
    color: #008d97;
}

@media (max-width: 430px) {
     .faq-answer {
        display: none;
        position: relative;
        margin-top: 10px;
        margin-right: -20px;
        padding: 10px 10px 10px 50px;
        border: 1px solid #dddddd;
        border-radius: 4px;
        line-height: 1.5;
        color: #191414;
    }

    .faq-answer:before {
        font-size: 30px;
    } 
}

/*-------------------------  #section-top-contact ------------------------- */

#section-top-contact {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
    background: #008D97;
    background: -webkit-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: -o-linear-gradient(left, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
    background: linear-gradient(to right, rgba(0, 141, 151, 1) 0%, rgba(3, 187, 199, 1) 100%);
}

.contact-form-wrap {
    width: 100%;
    padding: 50px;
    border-radius: 4px;
    background: #ffffff;
}

@media screen and (max-width: 430px) {
    #section-top-contact {
        padding: 20px 0 40px;
    }

    .contact-form-wrap {
        /*padding: 0 2px 0 5px;*/
        padding: 20px;
    }
}

/*-------------------------  #section-top-company ------------------------- */

#section-page-company {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 100px auto 0;
	padding: 100px 0;
}

@media screen and (max-width: 820px) {
    #section-page-company {
        padding: 20px 0 20px;
    }
}

/*-------------------------  #section-top-privacy ------------------------- */

#section-page-privacy {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 100px auto 0;
	padding: 100px 0;
}

@media screen and (max-width: 820px) {
    #section-page-privacy {
        padding: 20px 0 20px;
    }
}

/*-------------------------404 page ------------------------- */

.not-found-message {
	margin: 15rem auto;
	width: 100%;
	text-align: center;
	color: #555555;
}

.not-found-num {
	line-height: 1;
	letter-spacing: -0.5rem;
	text-align: center;
	font-family: "neuzeit-grotesk", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 200px;
}

.not-found-message a {
	margin: 0 20px;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
}

.not-found-message a:hover {
	text-decoration: underline;
}


/*-------------------------  #section-single-lp ------------------------- */

#section-single-lp {
	overflow: hidden;
	position: relative;
	z-index: auto;
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
}

@media screen and (max-width: 430px) {
    #section-single-lp {
        padding: 50px 0;
    }
}

.single-lp-link {
    padding: 10px 15px;
    border-radius: 4px;
    background: #f98938;
	line-height: 1.3;
    font-size: clamp(1rem, 0.721rem + 1.3vw, 1.5rem);
	font-weight: 700;
    color: #ffffff;
}

.single-lp-wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 30px;
}

.single-lp-text {
    position: relative;
    width: 50%;
    padding-right: 30px;
}

.single-lp-form {
    position: relative;
    width: 50%;
    padding-left: 30px;
}

@media screen and (max-width: 720px) {
    .single-lp-wrap {
        position: relative;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        flex-direction:column-reverse;
        width: 100%;
        margin-bottom: 30px;
    }

    .single-lp-text {
        position: relative;
        width: 100%;
        padding: 0;
    }

    .single-lp-form {
        position: relative;
        width: 100%;
        margin-bottom: 20px;
        padding: 0;
    }
}

.single-lp-main-pic {
    margin-bottom: 40px;
    text-align: center;
}

.single-lp-main-pic img {
    width: 100%;
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    text-align: center;
}

.single-lp-form-title {
    position: relative;
    margin: 0 auto;
    padding: 10px 0;
    background: #3e8b96;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
	line-height: 1;
    text-align: center;
    font-size: clamp(1rem, 0.721rem + 1.3vw, 1.5rem);
	font-weight: 700;
    color: #ffffff;
}

.single-lp-form-title span {
    font-size: 70%;
}

.single-lp-form-wrap {
    padding: 40px;
    background: #eff7f8;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media screen and (max-width: 900px) {
    .single-lp-form-wrap {
        padding: 20px;
    }
}

.single-lp-pics-wrap {
    position: relative;
    width: 100%;
    margin: 40px auto;
    padding: 0;
    overflow: hidden;
}

.single-lp-pics {
    position: relative;
    width: auto;
    margin: 0 -10px;
    padding: 0;
}

.single-lp-pics .slick-list {
	overflow: hidden;
}

.single-lp-pics .slick-prev,
.single-lp-pics .slick-next {
    margin-top: 0;
    top: 50%;
}

.single-lp-pics .slick-prev {
    left: 20px;
}

.single-lp-pics .slick-next {
    right: 20px;
}

.single-lp-pic {
    margin: 0 10px;
}

.single-lp-pic img {
    width: 100%;
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *Wordpress Settings
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.alignnone {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.aligncenter {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.alignleft {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.alignright {
	text-align: left;
	margin: 0 auto;
	clear: both;
	display: block;
	max-width: 100%;
	height: auto;
}

.wp-caption-text {
	font-size: 10px;
	margin-top: 0;
	margin-bottom: 20px;
	text-align: center;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 
 *Google reCAPTCHA
 * 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.g-recaptcha {
	margin: 40px auto 0;
	width: 300px;
}