@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;900&display=swap");

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
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;
    font-weight   : normal;
}

img {
    margin        : 0;
    padding       : 0;
    border        : 0;
    outline       : 0;
    font-size     : 100%;
    vertical-align: bottom;
    background    : transparent;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

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

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: 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;
}

.clearfix:after {
    content   : ".";
    display   : block;
    height    : 0;
    clear     : both;
    visibility: hidden;
}

.clearfix {
    display   : inline-table;
    min-height: 1%;
}

/* Hides from IE-mac */
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/* End hide from IE-mac */
.clear {
    clear: both;
}

.hpc {
    display: none;
}

.vpc {
    display: none;
}

a[href^="tel:"] {
    cursor: default;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
    font                 : inherit;
    background           : none;
    border               : none;
    outline              : none;
    padding              : 1rem;
    /* -webkit-appearance: none; */
    outline-offset       : 0;
    border-radius        : 0;
    padding              : 1rem;
    width                : 100%;
    font-size            : 100%;
}

input[type=search]::-webkit-search-decoration {
    display: none;
}

input[type=submit]:focus,
input[type=button]:focus {
    outline-offset: -2px;
}

* {
    margin            : 0;
    padding           : 0;
    -webkit-box-sizing: inherit;
    box-sizing        : inherit;
}

html {
    font-size: 62.5%;
}

body {
    line-height            : 1;
    letter-spacing         : 0;
    font-size              : 1.6rem;
    -webkit-box-sizing     : border-box;
    box-sizing             : border-box;
    -webkit-font-smoothing : antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family            : "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color                  : #000;
}

img {
    width         : 100%;
    max-width     : 100%;
    vertical-align: bottom;
}

header img {
    width         : 60%;
    max-width     : 100%;
    vertical-align: bottom;
}

p {
    text-align : justify;
    font-weight: 500;
}

a {
    -webkit-transition: all 0.4s ease-in-out;
    transition        : all 0.4s ease-in-out;
}

a:hover {
    opacity: 0.9;
}

.d-none {
    display: none;
}

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-justify {
    text-align: justify !important;
}

.text-100 {
    font-weight: 100;
}

.text-400 {
    font-weight: 400;
}

.text-500 {
    font-weight: 500;
}

.text-600 {
    font-weight: 600;
}

.text-700 {
    font-weight: 700;
}

.text-900 {
    font-weight: 900;
}

.w100 {
    width: 100%;
}

.m-0 {
    margin: 0rem !important;
}

.mb-0 {
    margin-bottom: 0rem !important;
}

.mt-0 {
    margin-top: 0rem !important;
}

.ml-0 {
    margin-left: 0rem !important;
}

.mr-0 {
    margin-right: 0rem !important;
}

.p-0 {
    padding: 0rem !important;
}

.pb-0 {
    padding-bottom: 0rem !important;
}

.pb-0_5 {
    padding-bottom: 0.5rem !important;
}

.pb-2 {
    padding-bottom: 2rem !important;
}

.pt-0 {
    padding-top: 0rem !important;
}

.pl-0 {
    padding-left: 0rem !important;
}

.pr-0 {
    padding-right: 0rem !important;
}

.m-1 {
    margin: 1rem !important;
}

.mb-1 {
    margin-bottom: 1rem !important;
}

.mt-1 {
    margin-top: 1rem !important;
}

.ml-1 {
    margin-left: 1rem !important;
}

.mr-1 {
    margin-right: 1rem !important;
}

.p-1 {
    padding: 1rem !important;
}

.pb-1 {
    padding-bottom: 1rem !important;
}

.pt-1 {
    padding-top: 1rem !important;
}

.pl-1 {
    padding-left: 1rem !important;
}

.pr-1 {
    padding-right: 1rem !important;
}

.m-2 {
    margin: 2rem !important;
}

.mb-2 {
    margin-bottom: 2rem !important;
}

.mt-2 {
    margin-top: 2rem !important;
}

.ml-2 {
    margin-left: 2rem !important;
}

.mr-2 {
    margin-right: 2rem !important;
}

.p-2 {
    padding: 2rem !important;
}

.pb-1 {
    padding-bottom: 1rem !important;
}

.pb-2 {
    padding-bottom: 2rem !important;
}

.pt-2 {
    padding-top: 2rem !important;
}

.pl-2 {
    padding-left: 2rem !important;
}

.pr-2 {
    padding-right: 2rem !important;
}

.m-3 {
    margin: 3rem !important;
}

.mb-3 {
    margin-bottom: 3rem !important;
}

.mt-3 {
    margin-top: 3rem !important;
}

.ml-3 {
    margin-left: 3rem !important;
}

.mr-3 {
    margin-right: 3rem !important;
}

.p-3 {
    padding: 3rem !important;
}

.pb-3 {
    padding-bottom: 3rem !important;
}

.pt-3 {
    padding-top: 3rem !important;
}

.pl-3 {
    padding-left: 3rem !important;
}

.pr-3 {
    padding-right: 3rem !important;
}

.m-4 {
    margin: 4rem !important;
}

.mb-4 {
    margin-bottom: 4rem !important;
}

.mt-4 {
    margin-top: 4rem !important;
}

.ml-4 {
    margin-left: 4rem !important;
}

.mr-4 {
    margin-right: 4rem !important;
}

.p-4 {
    padding: 4rem !important;
}

.pb-4 {
    padding-bottom: 4rem !important;
}

.pt-4 {
    padding-top: 4rem !important;
}

.pl-4 {
    padding-left: 4rem !important;
}

.pr-4 {
    padding-right: 4rem !important;
}

.m-5 {
    margin: 5rem !important;
}

.mb-5 {
    margin-bottom: 5rem !important;
}

.mt-5 {
    margin-top: 5rem !important;
}

.ml-5 {
    margin-left: 5rem !important;
}

.mr-5 {
    margin-right: 5rem !important;
}

.p-5 {
    padding: 5rem !important;
}

.pb-5 {
    padding-bottom: 5rem !important;
}

.pt-5 {
    padding-top: 5rem !important;
}

.pl-5 {
    padding-left: 5rem !important;
}

.pr-5 {
    padding-right: 5rem !important;
}

.m-6 {
    margin: 6rem !important;
}

.mb-6 {
    margin-bottom: 6rem !important;
}

.mt-6 {
    margin-top: 6rem !important;
}

.ml-6 {
    margin-left: 6rem !important;
}

.mr-6 {
    margin-right: 6rem !important;
}

.p-6 {
    padding: 6rem !important;
}

.pb-6 {
    padding-bottom: 6rem !important;
}

.pt-6 {
    padding-top: 6rem !important;
}

.pl-6 {
    padding-left: 6rem !important;
}

.pr-6 {
    padding-right: 6rem !important;
}

.mb-9 {
    margin-bottom: 9rem !important;
}

.mx-auto {
    margin-right: auto;
    margin-left : auto;
}

.lh-1 {
    line-height: 1 !important;
}

.lh-15 {
    line-height: 1.5 !important;
}

.lh-2 {
    line-height: 2 !important;
}

.indent1 {
    text-indent: 1em;
}

.indent2 {
    text-indent : -1em;
    padding-left: 1em;
}

.indent3 {
    text-indent : -1.4em;
    padding-left: 1.4em;
}

.fff {
    color: #fff;
}

.l-inner,
.l-inner--sm {
    margin-left  : auto;
    margin-right : auto;
    padding-left : 2.776rem;
    padding-right: 2.776rem;
    max-width    : 60rem;
}

.l-sec {
    padding: 4rem 0;
}

.l-sec01 {
    padding: 2rem 0;
}

.l-header {
    width     : 100%;
    background: linear-gradient(#41c84b, #8AC640);
    height    : 5.205rem;
}

.l-header__inner {
    padding-left     : 1.041rem;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-pack : justify;
    -ms-flex-pack    : justify;
    justify-content  : space-between;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    height           : 100%;
}

.header__link {
    width: 12.5614rem;
}

.header .l-drawer {
    position          : fixed;
    top               : 0;
    left              : 100%;
    width             : 100%;
    height            : 100%;
    z-index           : 99;
    -webkit-transition: all 0.3s ease-out;
    transition        : all 0.3s ease-out;
    background        : #8AC640;
}

.header .l-drawer.active {
    left: 0;
}

.header .l-drawer__inner {
    height: 100%;
}

.header .drawer__content {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    -webkit-box-pack : center;
    -ms-flex-pack    : center;
    justify-content  : center;
    height           : 100%;
    overflow-y       : scroll;
}

.header .drawer__items {
    padding: 3.47rem 0;
}

.header .drawer__item:not(:last-child) {
    margin-bottom: 3.123rem;
}

.header .drawer__subItems {
    margin-top: 2.082rem;
}

.header .drawer__subItem:not(:last-child) {
    margin-bottom: 1.735rem;
}

.header .drawer__link {
    font-size     : 1.735rem;
    letter-spacing: 0.05em;
    color         : #fff;
    text-align    : center;
    font-weight   : 700;
    display       : block;
}

.header .drawer__subLink {
    display    : block;
    color      : #fff;
    font-size  : 1.1104rem;
    font-weight: 500;
    text-align : center;
}

.header .navBar {
    height    : 5.205rem;
    width     : 5.205rem;
    position  : relative;
    background: #41c84b;
    cursor    : pointer;
    z-index   : 100;
}

.header .navBar.active {
    background: #47BBEC;
}

.header .navBar__line {
    position         : absolute;
    top              : 50%;
    left             : 50%;
    height           : 0.7634rem;
    width            : 2.082rem;
    -webkit-transform: translate(-50%, -50%);
    transform        : translate(-50%, -50%);
}

.header .navBar__line span {
    display           : block;
    width             : 100%;
    height            : 0.2rem;
    background        : #002b69;
    position          : absolute;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
}

.header .navBar__line span:nth-of-type(1) {
    top: 0;
}

.header .navBar__line span:nth-of-type(2) {
    bottom: 0;
}

.header .navBar__line.active span {
    background: #E5EAF0;
}

.header .navBar__line.active span:nth-of-type(1) {
    top              : 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform        : translateY(-50%) rotate(-45deg);
}

.header .navBar__line.active span:nth-of-type(2) {
    top              : 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform        : translateY(-50%) rotate(45deg);
}

.nav {
    max-width: 105rem;
    width    : 75%;
}

.nav__list {
    display    : -webkit-box;
    display    : -ms-flexbox;
    display    : flex;
    width      : 100%;
    border-left: 0.1rem #fff solid;
}

.nav__link {
    color            : #fff;
    font-size        : 1.4rem;
    -webkit-transform: 0.3s all ease;
    transform        : 0.3s all ease;
    line-height      : 1.2;
    padding          : 1.4rem 0.7rem;
    display          : block;
    text-align       : center;
}

.nav__item {
    width       : 25%;
    border-right: 0.1rem #fff solid;
}

.nav__item--hover {
    position: relative;
}

.nav__item--hover:hover>.nav__subList {
    visibility: visible;
    opacity   : 1;
}

.nav__subList {
    visibility        : hidden;
    opacity           : 0;
    position          : absolute;
    left              : 50%;
    -webkit-transform : translateX(-50%);
    transform         : translateX(-50%);
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    background        : #8AC640;
    z-index           : 1;
    padding           : 1.6rem 0;
    width             : 100%;
}

.nav__subList .subList.open {
    visibility: visible;
    opacity   : 1;
}

.nav__subLink {
    display          : block;
    text-align       : center;
    color            : #fff;
    font-size        : 1.2rem;
    padding          : 1rem;
    -webkit-transform: 0.3s all ease;
    transform        : 0.3s all ease;
    line-height      : 1.3;
}

.nav__subLink:hover {
    opacity: 0.5;
}

.nav__subItem {
    width        : 80%;
    margin       : 0 auto;
    border-bottom: 0.1rem #fff solid;
}

.nav__subItem:first-child {
    border-top: 0.1rem #fff solid;
}

.l-main__inner {
    padding-top: 5rem;
}

.topPage .l-main__inner {
    padding-top: 0;
}

/* .l-footer__inner {
    padding: 2.5331rem 0.694rem;
} */

/* .footer {
    background: linear-gradient(#3D9DF4, #47BBEC);
} */

.footer {
    background: linear-gradient(#41c84b, #8AC640);
}

.footer__item {
    width: 20.6%;
}

.footer__item:first-child .footer__link {
    border-left: 0.1rem #fff solid;
}

.footer__subItem {
    margin-bottom: 1.3rem;
}

.footer__subItems {
    margin: 2.7rem 1.5rem 0;
    text-align: center;z
}

.footer__subLink {
    font-size     : 1.4rem;
    letter-spacing: 0.05em;
    color         : #fff;
}

.footer__content {
    display: none;
}

.footer__logo {
  display         : flex;
  justify-content: center;
  align-items     : center;
  background-color: #fff;
  width: 20%;
}

.footer__logo figure {
  text-align: center;
  width           : 80%;
  max-width       : 20rem;
}

.footer__logo img {
  width: 80%;
  max-width: 160px;
  margin   : 0 auto;
  display  : block;
}

.footer__box {
  width: 78%;
  background: linear-gradient(#41c84b, #8AC640);
}

.footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3rem 5rem;
}

.footer__slist {
    margin-top: 1.3rem;
}

.footer__copyright {
    font-size     : 0.8675rem;
    letter-spacing: 0.1em;
    line-height   : 2;
    text-align    : center;
    display       : block;
    color         : #fff;
    font-family   : "Montserrat", sans-serif;
}

.sp_footer {
    padding: 2rem 0;
}

.border-white {
    border-color: #fff !important;
}

.card__heading {
    font-weight   : 700;
    letter-spacing: 0.05em;
    line-height   : 1.8529411765;
    color         : #002B69;
    border-bottom : #000000 0.05205rem solid;
    display       : block;
    font-size     : 1.1798rem;
    margin-bottom : 0.4858rem;
    padding-bottom: 0.4858rem;
}

.card__txt {
    font-size     : 1.041rem;
    font-weight   : 500;
    line-height   : 2;
    letter-spacing: 0;
    letter-spacing: 0.03em;
}

.card__img {
    margin-bottom: 0.7287rem;
}

.btn-square,
.btn-square--lg {
    font-size         : 0.8675rem;
    display           : inline-block;
    text-align        : center;
    color             : #000;
    letter-spacing    : 0.05em;
    padding           : 1.2492rem 5.6908rem;
    font-family       : "Times New Roman";
    position          : relative;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    font-weight       : 500;
    background        : #fff;
}

.btn-square::after,
.btn-square--lg::after {
    background              : #0174D1;
    position                : absolute;
    top                     : 0;
    left                    : 0;
    content                 : "";
    width                   : 100%;
    height                  : 100%;
    -webkit-transform-origin: 100% 50%;
    transform-origin        : 100% 50%;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
    -webkit-transition      : -webkit-transform ease 0.3s;
    transition              : -webkit-transform ease 0.3s;
    transition              : transform ease 0.3s;
    transition              : transform ease 0.3s, -webkit-transform ease 0.3s;
    z-index                 : -1;
}

.btn {
    font-size         : 0.8675rem;
    text-align        : center;
    color             : #000;
    letter-spacing    : 0.05em;
    display           : inline-block;
    font-family       : "Montserrat", sans-serif;
    -webkit-transition: all 0.4s ease-in;
    transition        : all 0.4s ease-in;
    font-weight       : 500;
}

.contact {
    color: #000;
}

input[type=checkbox] {
    opacity: 0;
}

label.check {
    position          : relative;
    display           : inline-block;
    padding           : 3px 3px 3px 22px;
    cursor            : pointer;
    -webkit-transition: all 0.2s;
    transition        : all 0.2s;
}

label.check::before,
label.check::after {
    position          : absolute;
    content           : "";
    -webkit-transition: all 0.2s;
    transition        : all 0.2s;
}

label.check::before {
    top       : 50%;
    left      : 0;
    width     : 21px;
    height    : 21px;
    margin-top: -12px;
    background: #fff;
    border    : 1px solid #5D5D5D;
}

label.check::after {
    opacity          : 0;
    top              : 50%;
    left             : 4px;
    width            : 12px;
    height           : 6px;
    margin-top       : -6px;
    border-left      : 2px solid #5D5D5D;
    border-bottom    : 2px solid #5D5D5D;
    -webkit-transform: rotate(-45deg) scale(0.5);
    transform        : rotate(-45deg) scale(0.5);
}

label.check:hover::before {
    background: #fff;
}

input[type=checkbox]:checked+label.check::before {
    background: #fff;
    border    : 1px solid #5D5D5D;
}

input[type=checkbox]:checked+label.check::after {
    opacity          : 1;
    -webkit-transform: rotate(-45deg) scale(1);
    transform        : rotate(-45deg) scale(1);
}

.form__label {
    font-size        : 1.4rem;
    margin-bottom    : 0.5rem;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-pack : justify;
    -ms-flex-pack    : justify;
    justify-content  : space-between;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
}

.form__label span {
    font-size : 1rem;
    background: #000;
    color     : #fff;
    padding   : 0.5rem 1.5rem;
}

.privacyCheck {
    font-size            : 1.5rem;
    margin               : 2rem 0 3rem;
    display              : -webkit-box;
    display              : -ms-flexbox;
    display              : flex;
    -webkit-box-orient   : vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction   : column-reverse;
    flex-direction       : column-reverse;
    -webkit-box-align    : center;
    -ms-flex-align       : center;
    align-items          : center;
}

.privacyCheck a {
    color          : #454545;
    text-decoration: underline;
}

.privacyCheck__txt {
    margin-bottom: 1rem;
}

.sentArea {
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    -webkit-box-pack: center;
    -ms-flex-pack   : center;
    justify-content : center;
    margin-bottom   : 5rem;
}

.submitBox {
    margin-top      : 2rem;
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    -webkit-box-pack: center;
    -ms-flex-pack   : center;
    justify-content : center;
}

.submitBox input {
    width : 12rem;
    height: 4rem;
    margin: 0 1rem;
}

label.check {
    -webkit-transform: translateY(-240%);
    transform        : translateY(-240%);
}

.ttlWrap,
.ttlWrap--reverse {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-pack : end;
    -ms-flex-pack    : end;
    justify-content  : flex-end;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
}

.ttlWrap__img {
    width      : 60.18%;
    margin-left: 8%;
}

.ttlWrap--reverse {
    -webkit-box-pack     : end;
    -ms-flex-pack        : end;
    justify-content      : flex-end;
    -webkit-box-orient   : horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction   : row-reverse;
    flex-direction       : row-reverse;
}

.ttlWrap--reverse .ttlWrap__img {
    margin-right: 7%;
    margin-left : 0;
}

.ttl,
.ttl-sm {
    font-family   : "Times New Roman";
    text-align    : center;
    font-size     : 2.2555rem;
    letter-spacing: 0.05em;
    color         : #0174D1;
    font-weight   : 500;
    line-height   : 1.2727272727;
}

.ttl__span01 {
    font-size     : 1.041rem;
    font-weight   : bold;
    display       : block;
    text-align    : center;
    letter-spacing: 0.05em;
    margin-top    : 0.4164rem;
    color         : #5F5F5F;
}

.ttl__span02 {
    font-size     : 1.041rem;
    font-weight   : bold;
    text-align    : center;
    letter-spacing: 0.05em;
    margin-top    : 0.4164rem;
    color         : #0174D1;
}

.ttl-sm {
    font-size    : 1.9085rem;
    margin-bottom: 2.5rem;
}

#pageTop a {
    display        : flex;
    justify-content: center;
    align-items    : center;
    background     : #0174D1;
    border-radius  : 50%;
    width          : 5rem;
    height         : 5rem;
    color          : #fff;
    text-align     : center;
    text-transform : uppercase;
    text-decoration: none;
    font-family    : "Times New Roman";
    font-size      : 1.2rem;
    line-height    : 1.3;
    transition     : all 0.3s;
}

.back a {
    display        : flex;
    justify-content: center;
    align-items    : center;
    background     : #0174D1;
    border-radius  : 50%;
    width          : 7rem;
    height         : 7rem;
    color          : #fff;
    font-weight    : bold;
    text-align     : center;
    text-transform : uppercase;
    text-decoration: none;
    font-size      : 0.9rem;
    line-height    : 1.3;
    transition     : all 0.3s;
}

#pageTop a:hover,
.back a:hover {
    background: #777;
}

/*リンクを右下に固定*/
#pageTop {
    position : fixed;
    right    : 10px;
    z-index  : 2;
    /*はじめは非表示*/
    opacity  : 0;
    transform: translateY(100px);
}

.back {
    display        : flex;
    justify-content: end;
    padding        : 3rem;
}

/*　上に上がる動き　*/

#pageTop.UpMove {
    animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
    from {
        opacity  : 0;
        transform: translateY(100px);
    }

    to {
        opacity  : 1;
        transform: translateY(0);
    }
}

/*　下に下がる動き　*/

#pageTop.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity  : 1;
        transform: translateY(0);
    }

    to {
        opacity  : 1;
        transform: translateY(100px);
    }
}

.chars {
    overflow-x : hidden;
    position   : absolute;
    top        : 0;
    left       : -1rem;
    width      : calc(100% + 1rem);
    z-index    : -1;
    height     : 30vw;
    white-space: nowrap;
    color      : #E5EAF0;
}

.chars__txt {
    position   : absolute;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    top        : 0;
    left       : 0;
    width      : 160%;
    font-size  : 26.389vw;
}

.list__item {
    border-bottom: #0174D1 0.05205rem solid;
    padding      : 1.735rem 1.4227rem 1.735rem 1.041rem;
}

.list__item:first-of-type {
    border-top: #0174D1 0.05205rem solid;
}

.list dt,
.list dd {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.9411764706;
}

.list dt {
    color        : #0174D1;
    margin-bottom: 0.2429rem;
    font-weight  : 700;
}

.list dd {
    font-weight: 500;
}

.list dd span {
    display    : block;
    line-height: 1.4705882353;
}

.list dd span:not(:last-of-type) {
    margin-bottom: 0.9022rem;
}

.kv {
    position: relative;
}

.l-work__inner {
    padding-bottom: 7.0094rem;
}

.work__lead {
    margin-bottom: 6.4889rem;
}

.work__ttlWrap {
    margin-bottom: 3.47rem;
}

.work__list {
    display      : -webkit-box;
    display      : -ms-flexbox;
    display      : flex;
    -ms-flex-wrap: wrap;
    flex-wrap    : wrap;
}

.work__item {
    width        : 78.26%;
    margin-bottom: 3.0883rem;
}

.work__item:nth-child(2n) {
    margin-left: auto;
}

.work__item:nth-child(2n+1) {
    margin-right: auto;
}

.work__btn {
    text-align: center;
}

.box__list {
    max-width: 50rem;
}

.box__item {
    border       : #002B69 0.05205rem solid;
    margin-bottom: 2.8107rem;
}

.box__item:not(:last-of-type) {
    position: relative;
}

.box__item:not(:last-of-type)::after {
    content          : "";
    position         : absolute;
    width            : 0.694rem;
    height           : 0.694rem;
    left             : 50%;
    -webkit-transform: translateX(-50%);
    transform        : translateX(-50%);
    bottom           : -1.735rem;
    background       : #002B69;
    border-radius    : 50%;
}

.box__heading {
    color            : #fff;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    -webkit-box-pack : center;
    -ms-flex-pack    : center;
    justify-content  : center;
    letter-spacing   : 0.05em;
    font-size        : 1.1798rem;
    background       : #002B69;
    font-weight      : 700;
    padding          : 0.694rem;
}

.box__txt {
    background       : #fff;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    line-height      : 1.8823529412;
    letter-spacing   : 0.05em;
    font-weight      : 500;
    font-size        : 1.1798rem;
    padding          : 0.5552rem 0.9716rem;
}

.lead__heading {
    font-size     : 1.5268rem;
    line-height   : 1.4545454545;
    letter-spacing: 0.05em;
    font-weight   : 700;
    margin-bottom : 0.6593rem;
}

.lead__txt {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 500;
}

.lead__txt2 {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 500;
    text-align    : right;
}

@supports (-ms-ime-align: auto) {
    /* Edge にのみ適用される */
}

.aboutMessage {
    position: relative;
}

.aboutMessage__box02 {
    font-weight: 600;
}

.aboutMessage__txt {
    font-size    : 1.3rem;
    line-height  : 2;
    font-family  : "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-weight  : 500;
    margin-bottom: 1.9432rem;
}

.aboutMessage__profile {
    font-size    : 1.041rem;
    line-height  : 1.6666666667;
    display      : block;
    text-align   : right;
    margin-bottom: 5rem;
    font-family  : "Yu Mincho Light", "YuMincho", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-weight  : 500;
}

.aboutMessage__name {
    font-size  : 1.82175rem;
    line-height: 0.9950248756;
}

.l-aboutManagement__inner,
.l-aboutCompany__inner {
    padding-bottom: 5rem;
}

.aboutManagement__txt {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
}

.aboutManagement__lower .aboutManagement__ttl {
    margin-bottom: 2.3596rem;
}

.aboutManagement__item {
    text-align    : center;
    border-bottom : #002B69 0.05205rem solid;
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
    padding       : 1.2145rem 0.347rem;
}

.aboutManagement__item:first-of-type {
    border-top: #002B69 0.05205rem solid;
}

.l-aboutStatement__inner {
    padding-top   : 3.5394rem;
    padding-bottom: 3.9211rem;
}

.aboutStatement__ttl {
    margin-bottom: 1.8044rem;
}

.aboutStatement__txt {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
}

.aboutStatement__txt2 {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
    text-align    : right;
}

.aboutStatement__txt span {
    color      : #002B69;
    font-weight: 700;
}

.l-aboutAccess__inner {
    padding-bottom: 3.9211rem;
}

.aboutAccess__box {
    position      : relative;
    padding-bottom: 3.47rem;
}

.aboutAccess__box:not(:last-of-type) {
    border-bottom: 0.05205rem #000000 solid;
    margin-bottom: 3.3659rem;
}

.aboutAccess__box:nth-of-type(2) .aboutAccess__map {
    margin-bottom: 0;
}

.aboutAccess__box:last-of-type .aboutAccess__txt span {
    display     : inline-block;
    margin-right: 1rem;
}

.aboutAccess__heading {
    margin-bottom: 0.9716rem;
}

.aboutAccess__name {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    display       : block;
    font-weight   : 700;
    margin-bottom : 0.694rem;
}

.aboutAccess__address {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.4558823529;
}

.aboutAccess__map {
    padding-top  : 54.34%;
    position     : relative;
    width        : 100%;
    margin-bottom: 1.0757rem;
}

.aboutAccess__map iframe {
    position: absolute;
    top     : 0;
    left    : 0;
    width   : 100%;
    height  : 100%;
}

.aboutAccess__wrapper {
    border: 1px solid #000;
}

.aboutAccess__txt {
    font-size     : 0.8328rem;
    line-height   : 1.65;
    letter-spacing: 0.03em;
    padding       : 0.8328rem 1.3186rem;
}

.aboutAccess__txt span {
    font-size     : 1.041rem;
    letter-spacing: 0.05em;
    font-weight   : 700;
    display       : block;
}

#formWrap {
    width: 100%;
}

table.formTable {
    width          : 100%;
    border-collapse: collapse;
}

table.formTable th {
    width     : 30%;
    text-align: left;
}

p.error_messe {
    margin: 0.5rem 0;
    color : red;
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
#formWrap {
    width : 100%;
    margin: 0 auto 5rem;
}

.confirm__lead {
    font-size    : 1.1798rem;
    line-height  : 1.8823529412;
    font-weight  : 500;
    margin-bottom: 3rem;
}

table.formTable th {
    padding-bottom: 1rem;
}

table.formTable td {
    padding-bottom: 2.5rem;
}

table.formTable td,
table.formTable th {
    font-size     : 1.18327rem;
    letter-spacing: 0.05em;
    margin-bottom : 0;
}

.confirm__btnArea {
    display   : block;
    margin-top: 3rem;
}

.confirm__btn {
    border            : 0.05205rem solid #000;
    display           : block;
    text-align        : center;
    position          : relative;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    cursor            : pointer;
    margin            : 0 auto;
    max-width         : 25rem;
}

.confirm__btn:first-of-type {
    margin-bottom: 1rem;
}

.confirm__btn::after {
    background              : #002b69;
    position                : absolute;
    top                     : 0;
    left                    : 0;
    content                 : "";
    width                   : 100%;
    height                  : 100%;
    -webkit-transform-origin: 100% 50%;
    transform-origin        : 100% 50%;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
    -webkit-transition      : -webkit-transform ease 0.3s;
    transition              : -webkit-transform ease 0.3s;
    transition              : transform ease 0.3s;
    transition              : transform ease 0.3s, -webkit-transform ease 0.3s;
    z-index                 : -1;
}

.confirm__btn input {
    width             : 100%;
    height            : 100%;
    display           : block;
    background        : transparent;
    color             : #000;
    letter-spacing    : 0.05em;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    font-weight       : 500;
    font-family       : "Montserrat", sans-serif;
    font-size         : 0.8675rem;
    border            : none;
    padding           : 1.2492rem 5.6908rem;
    cursor            : pointer;
}

.l-contact__inner {
    padding-bottom: 7.1482rem;
}

.contact__lead {
    font-size    : 1.1798rem;
    line-height  : 1.8823529412;
    font-weight  : 500;
    margin-bottom: 2.776rem;
}

.contact__lead span {
    color: #002B69;
}

.form__box {
    border : #0174D1 0.05205rem solid;
    padding: 1.1798rem 0.694rem 1.4574rem;
    margin : 2rem 0 3.47rem;
}

.form__txt {
    text-align    : center;
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 500;
    margin-bottom : 0.8675rem;
}

.form__agree {
    margin-bottom: 0.9716rem;
}

.form__agree label {
    max-width : 21.514rem;
    padding   : 1.1451rem;
    text-align: center;
    background: #E9E6EB;
    margin    : 0 auto;
    cursor    : pointer;
}

.form__agree span {
    font-size        : 1.0757rem;
    letter-spacing   : 0.05em;
    display          : block;
    line-height      : 1;
    /* vertical-align: middle; */
}

.form__info {
    text-align    : center;
    letter-spacing: 0.05em;
    font-size     : 0.9716rem;
    font-weight   : 500;
}

.form__itemWrap {
    margin-bottom: 3.3312rem;
}

.form__itemWrap .form__item:first-of-type .form__ttl {
    margin-bottom: 0.347rem;
}

.form__item {
    margin-bottom: 3.3312rem;
}

.form__item:first-of-type .form__ttl {
    margin-bottom: 2.2555rem;
}

.form__item:last-of-type {
    margin-bottom: 0;
}

.form__ttl {
    margin-bottom : 0.347rem;
    font-size     : 1.18327rem;
    letter-spacing: 0.05em;
}

.form__ttl span {
    font-size    : 0.96813rem;
    font-weight  : 500;
    color        : #fff;
    border-radius: 1.041rem;
    background   : #FF0000;
    display      : inline-block;
    padding      : 0.1735rem 0.9022rem;
    line-height  : 1;
    display      : inline-block;
}

.form__checkbox input[type=checkbox] {
    display: none;
}

.form__checkbox input[type=radio] {
    opacity     : 0;
    position    : relative;
    z-index     : -1;
    margin-right: -1rem;
}

.form__checkbox label {
    display: block;
}

.form__checkbox label>span {
    display     : inline-block;
    position    : relative;
    cursor      : pointer;
    padding-left: 1.9085rem;
}

.form__checkbox label>span::before,
.form__checkbox label>span::after {
    content          : "";
    position         : absolute;
    top              : 50%;
    left             : 0;
    -webkit-transform: translateY(-50%);
    transform        : translateY(-50%);
    display          : block;
    width            : 1.388rem;
    height           : 1.388rem;
    background-size  : contain;
    background-repeat: no-repeat;
}

.form__checkbox input[type=checkbox]:checked+span::after,
.form__checkbox input[type=radio]:checked+span::after {
    opacity: 1;
}

.form__checkbox--radio label>span {
    font-size     : 1.18327rem;
    letter-spacing: 0.05em;
    padding-left  : 2.0126rem;
}

.form__checkbox--radio label>span::before {
    background-image: url("../img/contact/circle-outline.png");
}

.form__checkbox--radio label>span::after {
    opacity         : 0;
    background-image: url("../img/contact/circle.png");
}

.form__checkbox--radio label:not(:last-of-type) {
    margin-bottom: 2.2555rem;
}

.form__checkbox--check label>span::before {
    background-image: url("../img/contact/check-outline.png");
}

.form__checkbox--check label>span::after {
    background-image: url("../img/contact/check.png");
    opacity         : 0;
}

.form__list {
    margin-bottom: 0.7981rem;
}

.form__desc {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 500;
    margin-bottom : 3.0536rem;
}

.form__btnArea {
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    -webkit-box-pack: center;
    -ms-flex-pack   : center;
    justify-content : center;
}

.form__btn {
    border            : 0.05205rem solid #000;
    display           : inline-block;
    text-align        : center;
    position          : relative;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    cursor            : pointer;
}

.form__btn::after {
    background              : #002b69;
    position                : absolute;
    top                     : 0;
    left                    : 0;
    content                 : "";
    width                   : 100%;
    height                  : 100%;
    -webkit-transform-origin: 100% 50%;
    transform-origin        : 100% 50%;
    -webkit-transform       : scaleX(0);
    transform               : scaleX(0);
    -webkit-transition      : -webkit-transform ease 0.3s;
    transition              : -webkit-transform ease 0.3s;
    transition              : transform ease 0.3s;
    transition              : transform ease 0.3s, -webkit-transform ease 0.3s;
    z-index                 : -1;
}

.form__btn input {
    width             : 100%;
    height            : 100%;
    display           : block;
    background        : transparent;
    color             : #000;
    letter-spacing    : 0.05em;
    -webkit-transition: all 0.3s ease;
    transition        : all 0.3s ease;
    font-weight       : 500;
    font-family       : "Montserrat", sans-serif;
    font-size         : 0.8675rem;
    border            : none;
    padding           : 1.2492rem 5.6908rem;
    cursor            : pointer;
}

input[type=checkbox] {
    opacity: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=number] {
    font-size  : 1.18327rem;
    padding    : 1.9432rem 1.041rem;
    background : #E4E4E4;
    line-height: 1.2307692308;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin            : 0;
}

/* input[type=number] {
    -moz-appearance: textfield;
} */

textarea {
    min-height : 17.35rem;
    line-height: 1.5;
    font-size  : 1.18327rem;
    background : #E4E4E4;
    padding    : 0.694rem 1.041rem;
}

.is-disable {
    pointer-events: none;
}

.l-process__inner {
    padding-bottom: 8.328rem;
}

.process__ttlWrap {
    margin-bottom: 3.47rem;
}

.process__content {
    margin-bottom: 3.47rem;
}

.process__btn {
    text-align: center;
}

.l-printingLead__inner {
    padding-bottom: 6.6624rem;
}

.l-printingProcess__inner {
    padding-bottom: 4.6845rem;
}

.printingProcess__ttlWrap {
    margin-bottom: 3.47rem;
}

.printingProcess__txt {
    -webkit-box-pack: center;
    -ms-flex-pack   : center;
    justify-content : center;
}

.l-facility__inner {
    padding-bottom: 8.328rem;
}

.facility__ttlWrap {
    margin-bottom: 3.4006rem;
}

.facility__content {
    margin-bottom: 3.47rem;
}

.facility__item {
    border-bottom: 0.05205rem #002B69 solid;
    padding      : 1.7697rem 0 1.735rem 1.4227rem;
}

.facility__item:first-of-type {
    border-top: 0.05205rem #002B69 solid;
}

.facility__heading {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    font-weight   : 500;
    color         : #002B69;
    margin-bottom : 0.7287rem;
}

.facility__heading span {
    font-size  : 0.9716rem;
    display    : inline-block;
    margin-left: 0.694rem;
}

.facility__btn {
    text-align: center;
}

.facilitySub__item {
    position      : relative;
    font-size     : 1.1798rem;
    font-weight   : 500;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    padding-left  : 1.6309rem;
}

.facilitySub__item::before {
    content    : "●";
    position   : absolute;
    color      : #002B69;
    font-size  : 1.1798rem;
    font-weight: 500;
    line-height: 1.8823529412;
    top        : 0;
    left       : 0;
}

.l-qa__inner {
    padding-bottom: 8.675rem;
}

.qa__item {
    margin-bottom: 3.9558rem;
}

.qa__question,
.qa__answer {
    font-weight   : 500;
    font-size     : 0.694rem;
    letter-spacing: 0.05em;
    position      : relative;
    font-size     : 1.1798rem;
    line-height   : 1.5882352941;
}

.qa__alpha {
    position   : absolute;
    font-family: "Montserrat", sans-serif;
    left       : 0;
    top        : 0;
    display    : inline-block;
}

.qa__alpha span {
    position         : absolute;
    font-size        : 2.420325rem;
    font-weight      : 900;
    color            : #fff;
    top              : 50%;
    left             : 50%;
    -webkit-transform: translate(-50%, -50%);
    transform        : translate(-50%, -50%);
}

.qa__question {
    border           : 0.05205rem #000000 solid;
    padding          : 0.7287rem 3.123rem 0.7287rem 6.9053rem;
    margin-bottom    : 1.7003rem;
    min-height       : 5.3785rem;
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: center;
    -ms-flex-align   : center;
    align-items      : center;
    cursor           : pointer;
}

.qa__question .qa__alpha {
    content   : "Q";
    background: #000000;
    height    : 100%;
    width     : 5.3785rem;
}

.qa__answer {
    margin-left : 1.3533rem;
    padding-left: 6.1766rem;
    display     : none;
}

.qa__answer .qa__alpha {
    content   : "A";
    background: #002B69;
    height    : 4.84065rem;
    width     : 4.84065rem;
}

.qa__mark {
    position         : absolute;
    right            : 2.9148rem;
    top              : 50%;
    -webkit-transform: translateY(-50%);
    transform        : translateY(-50%);
}

.qa__mark:before,
.qa__mark::after {
    display           : block;
    content           : "";
    position          : absolute;
    right             : 0;
    bottom            : 0;
    left              : 0;
    top               : 0;
    margin            : auto;
    width             : 1.388rem;
    height            : 0.1735rem;
    background-color  : #000000;
    -webkit-transition: 0.2s;
    transition        : 0.2s;
}

.qa__mark::before {
    -webkit-transform: rotate(90deg);
    transform        : rotate(90deg);
}

.qa__mark::after {
    top: 0;
}

.qa__mark.on:before {
    -webkit-transform: rotate(0deg);
    transform        : rotate(0deg);
}

.recruit {
    padding-bottom: 6.593rem;
}

.recruit__inner {
    padding-bottom: 14.2rem;
}

.recruit__ttl {
    font-size     : 1.5268rem;
    letter-spacing: 0.05em;
    margin-bottom : 0.8675rem;
    line-height   : 1.4545454545;
}

.recruit__txt {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    margin-bottom : 1.9085rem;
    line-height   : 1.8823529412;
}

.recruit__header {
    margin-bottom: 1.96402rem;
}

.recruit__body {
    margin-bottom: 3.47rem;
}

.recruit__btn {
    text-align: center;
}

.l-serviceLead {
    padding-bottom: 6.0031rem;
}

.l-scheme__inner {
    padding-bottom: 6.3848rem;
}

.scheme__ttl {
    margin-bottom: 1.9085rem;
}

.l-workflow__inner {
    padding-bottom: 3.47rem;
}

.workflow__ttl {
    margin-bottom: 1.9085rem;
}

.l-service__inner {
    padding-bottom: 5rem;
}

.l-service__inner02 {
    padding-bottom: 5rem;
}

.service__ttl__h3 {
    color            : #fff;
    font-size        : 1.6rem;
    font-weight      : bold;
    text-align       : center;
    background-image : linear-gradient(0deg, #47BBEC, #3D9DF4);
    background-repeat: no-repeat;
    padding          : 1rem;
    border-radius    : 6rem;
}

.service__value {
    padding-top: 1.5rem;
}

.service__value h3 {
    font-family   : "Times New Roman";
    font-size     : 2rem;
    letter-spacing: 0.05em;
    color         : #0174D1;
    font-weight   : 500;
    border-bottom : #0174D1 1px solid;
    padding-bottom: 0.8rem;
}

.service__valueBox__border {
    border-bottom: #0174D1 1px solid;
}

.service__valueBox__flex {
    display        : flex;
    align-items    : center;
    justify-content: center;
    margin         : 0 auto;
}

.service__valueBox__p01 {
    font-size  : 2.5rem;
    font-weight: bold;
    line-height: 1.7;
    padding    : 1rem 1.3rem 1rem 0;
}

.service__valueBox__p02 {
    width      : 100%;
    font-size  : 1rem;
    font-weight: bold;
    line-height: 1.7;
    padding    : 1rem 0;
}

.service__valueBox__p03 {
    width      : 100%;
    font-size  : 1rem;
    font-weight: bold;
    line-height: 1.7;
    padding    : 1rem 0;
}

.service__valueBox__p04 {
    width      : 100%;
    font-size  : 1rem;
    font-weight: bold;
    line-height: 1.7;
    padding    : 1rem 0;
}

.value01 {
    font-family   : "Times New Roman";
    font-size     : 1.6rem;
    letter-spacing: 0.05em;
    color         : #0174D1;
    font-weight   : 500;
}

.value02 {
    font-family   : "Times New Roman";
    font-size     : 2.2rem;
    letter-spacing: 0.05em;
    color         : #0174D1;
    font-weight   : 500;
}

.l-service__flow {
    background-color: #EAF6FD;
    margin-bottom   : 2.776rem;
}

.l-service__flow__inner {
    padding: 5rem 2.776rem 2.776rem;
}

.flow10 {
    text-align  : center;
    padding-left: 0;
}

.flow10>li {
    list-style-type: none;
    padding        : 20px 0 10px;
}

.flow10>li:not(:last-child) {
    margin-bottom: 12px;
    position     : relative;
}

.flow10>li:not(:last-child)::after {
    content          : '';
    position         : absolute;
    border           : 15px solid transparent;
    width            : 0;
    height           : 0;
    bottom           : -35px;
    left             : 50%;
    transform        : translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform    : translateX(-50%);
    border-top-color : #0174D1;
}

.flow10>li dl dt {
    background-color: #fff;
    font-size       : 0.8em;
    border          : 1pt solid #47BBEC;
    border-radius   : 3rem;
    padding         : 0.5em;
    margin-bottom   : 1em;
}

.flow10>li .icon10 {
    color       : #4D9BC1;
    margin-right: 0.5em;
}

.flow10>li dl dd {
    font-size  : 1rem;
    line-height: 1.4;
    text-align : left;
    margin     : 0;
}

.l-service__list {
    width  : 100%;
    margin : 0 auto;
    padding: 2rem 0 0;
}

.l-service__list02 {
    width : 100%;
    margin: 0 auto;
}

.service-number01,
.service-number02,
.service-number03 {
    position   : relative;
    color      : #0174D1;
    font-size  : 1.5rem;
    font-weight: bold;
    padding    : 0 0 1rem 4rem;
}

.service-number01::before {
    position: absolute;
    top     : -0.2rem;
    left    : 0;
    content : url(../img/service/service-number01.png);
}

.service-number02::before {
    position: absolute;
    top     : -0.4rem;
    left    : 0;
    content : url(../img/service/service-number02.png);
}

.service-number03::before {
    position: absolute;
    top     : -0.4rem;
    left    : 0;
    content : url(../img/service/service-number03.png);
}

.l-service__list dd,
.l-service__list02 dd {
    list-style         : none;
    list-style-position: outside;
    margin             : 0;
    line-height        : 1.5;
    font-size          : 1.2rem;
}

.l-service__list02 dd span {
    display          : block;
    color            : #fff;
    font-size        : 1.3rem;
    font-weight      : bold;
    text-align       : left;
    background-image : linear-gradient(0deg, #47BBEC, #3D9DF4);
    background-repeat: no-repeat;
    margin           : 3rem 0 1rem;
    padding          : 0.5rem 0 0.5rem 1rem;
}

.service__heading {
    font-size     : 1.5268rem;
    letter-spacing: 0.05em;
    line-height   : 1.4545454545;
    font-weight   : 500;
    margin-bottom : 0.6246rem;
}

.service__txt {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
    font-weight   : 500;
    margin-bottom : 3.0189rem;
}

.service__img {
    width        : 88.9%;
    margin-right : auto;
    margin-bottom: 1.5962rem;
}

.service__box {
    padding: 2.9842rem 0 3.47rem;
}

.service__box:nth-child(2n) {
    background: #fff;
}

.service__box:nth-child(2n) .service__wrapper {
    -webkit-box-orient   : horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction   : row-reverse;
    flex-direction       : row-reverse;
}

.service__box:nth-child(2n) .service__img {
    margin-left : auto;
    margin-right: 0;
}

.service__body {
    padding: 0 2.7066rem;
}

.service__btn {
    text-align: center;
}

.l-thanks__inner {
    padding-bottom: 3.47rem;
}

.thanks__header {
    background   : #0174D1;
    padding      : 5.3785rem 0.694rem;
    margin-bottom: 3.47rem;
}

.thanks__ttl {
    color         : #fff;
    font-size     : 1.388rem;
    font-weight   : 700;
    letter-spacing: 0.05em;
    text-align    : center;
}

.thanks__txt {
    text-align    : center;
    font-size     : 1.1798rem;
    line-height   : 1.9117647059;
    font-weight   : 500;
    letter-spacing: 0.05em;
    margin-bottom : 3.5741rem;
}

.thanks__btn {
    text-align: center;
}

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

.topKv__box {
    position         : absolute;
    top              : 50%;
    -webkit-transform: translate(-50%, -50%);
    transform        : translate(-50%, -50%);
    left             : 50%;
    z-index          : 2;
}

.topKv__lead {
    font-family   : "Montserrat", sans-serif;
    font-size     : 2.429rem;
    text-align    : center;
    letter-spacing: 0.03em;
    margin-bottom : 0.694rem;
    line-height   : 1;
    font-weight   : 500;
    text-shadow   : 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #fff, 0 0 50px #fff;
}

.topKv__ttl {
    font-size     : 1.041rem;
    text-align    : center;
    line-height   : 1.4666666667;
    letter-spacing: 0.1em;
    font-weight   : 500;
    text-shadow   : 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #fff, 0 0 50px #fff;
}

.l-top__inner {
    padding: 5rem 0 2rem;
}

.top__ttl {
    margin-bottom: 3.5394rem;
}

.top__txt {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
    margin-bottom : 2.9148rem;
}

.top__btn {
    position         : absolute;
    text-align       : center;
    bottom           : 3rem;
    left             : 50%;
    transform        : translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform    : translateX(-50%);
}

.topAbout__img {
    width : 29.842rem;
    margin: 0 0 -10.41rem auto;
}

.l-topService {
    margin-bottom: 6.94rem;
}

.topService__ttl {
    color        : #fff;
    margin-bottom: 3.3659rem;
}

.topService__ttl span {
    color: #fff;
}

.topService__wrapper {
    background: #002b69;
    padding   : 13.533rem 0 3.5741rem;
}

.topService__content {
    background: #002b69;
}

.topService__list {
    max-width: 34.7rem;
    margin   : 0 auto;
}

.topService__item:not(:last-child) {
    margin-bottom: 3.47rem;
}

.topService__link {
    color: #000000;
}

.topService__lower {
    background: #fff;
    padding   : 3.9905rem 0.694rem 2.8454rem;
}

.topService__subTtl {
    font-size     : 1.735rem;
    text-align    : center;
    letter-spacing: 0.05em;
    font-weight   : 700;
    margin-bottom : 2.0126rem;
}

.topService__btn {
    text-align: center;
}

.l-topRecruit {
    max-width: 99.8rem;
    margin   : 0 auto;
}

.l-topRecruit__inner {
    padding: 9.369rem 0 3.7476rem;
}

.topRecruit {
    background: url("../img/top/bg-recruit_sp.jpg") center center/cover no-repeat;
}

/* .topRecruit__ttl {
    margin-bottom: 2.776rem;
} */

.topRecruit__btn {
    text-align: center;
}

.l-topContact__inner {
    padding: 6.6971rem 0 8.2586rem;
}

.topContact__ttl {
    margin-bottom: 2.776rem;
}

.topContact__txt {
    font-size     : 1.1798rem;
    line-height   : 1.8823529412;
    letter-spacing: 0.05em;
    text-align    : center;
    margin-bottom : 2.9842rem;
}

.topContact__btn {
    text-align: center;
}

.topContact__btn a {
    padding-left : 4.7539rem;
    padding-right: 4.7539rem;
}

.fadeUp {
    opacity           : 0;
    -webkit-transform : translateY(2rem);
    transform         : translateY(2rem);
    -webkit-transition: all 1s ease-in;
    transition        : all 1s ease-in;
}

.fadeUp.active {
    opacity          : 1;
    -webkit-transform: translateY(0);
    transform        : translateY(0);
}

.fadeUp-kv {
    opacity           : 0;
    -webkit-transform : translate(-50%, 1rem);
    transform         : translate(-50%, 1rem);
    -webkit-transition: all 1s ease;
    transition        : all 1s ease;
}

.fadeUp-kv.active {
    opacity          : 1;
    -webkit-transform: translate(-50%, 0);
    transform        : translate(-50%, 0);
}

.fadeUp-kv02 {
    opacity           : 0;
    -webkit-transition: all 1s;
    transition        : all 1s;
}

.fadeUp-kv02.active {
    opacity: 1.6;
}

.fadeUp50 {
    opacity           : 0;
    -webkit-transform : translateY(2rem);
    transform         : translateY(2rem);
    -webkit-transition: all 1s ease-in;
    transition        : all 1s ease-in;
}

.fadeUp50.active {
    opacity          : 1;
    -webkit-transform: translateY(-50%);
    transform        : translateY(-50%);
}

.fadeSlide {
    opacity           : 0;
    -webkit-transform : translateX(10rem);
    transform         : translateX(10rem);
    -webkit-transition: all 1s ease;
    transition        : all 1s ease;
}

.fadeSlide.active {
    opacity          : 1;
    -webkit-transform: translateX(0);
    transform        : translateX(0);
}

.fadeMask {
    position: relative;
}

.fadeMask img {
    opacity           : 0;
    -webkit-transform : translateY(0.4rem);
    transform         : translateY(0.4rem);
    -webkit-transition: all 0.4s ease-in 0.8s;
    transition        : all 0.4s ease-in 0.8s;
}

.fadeMask::before {
    content           : "";
    display           : inline-block;
    background        : #2B2A2A;
    position          : absolute;
    top               : 0;
    right             : 0;
    bottom            : 0;
    width             : 100%;
    height            : 100%;
    -webkit-transition: all 1s ease-in;
    transition        : all 1s ease-in;
}

.fadeMask.active img {
    opacity          : 1;
    -webkit-transform: translateY(0);
    transform        : translateY(0);
}

.fadeMask.active::before {
    width: 0%;
}

.fadeIn {
    opacity           : 0;
    -webkit-transition: all 1s ease-in;
    transition        : all 1s ease-in;
}

.fadeIn.active {
    opacity: 1;
}

.dl1 {
    -webkit-transition-delay: 0.1s;
    transition-delay        : 0.1s;
}

.dl2 {
    -webkit-transition-delay: 0.2s;
    transition-delay        : 0.2s;
}

.dl3 {
    -webkit-transition-delay: 0.3s;
    transition-delay        : 0.3s;
}

.dl4 {
    -webkit-transition-delay: 0.4s;
    transition-delay        : 0.4s;
}

.dl5 {
    -webkit-transition-delay: 0.5s;
    transition-delay        : 0.5s;
}

.dl6 {
    -webkit-transition-delay: 0.6s;
    transition-delay        : 0.6s;
}

.dl7 {
    -webkit-transition-delay: 0.7s;
    transition-delay        : 0.7s;
}

.dl8 {
    -webkit-transition-delay: 0.8s;
    transition-delay        : 0.8s;
}

.loading {
    width             : 100vw;
    height            : 100vh;
    -webkit-transition: all 1.5s;
    transition        : all 1.5s;
    background-color  : #2B2A2A;
    /* 以下のコードを追加 */
    position          : fixed;
    top               : 0;
    left              : 0;
    z-index           : 9999;
}

.loading.active {
    opacity   : 0;
    visibility: hidden;
}

.privacy-inner {
    max-width: 100%;
    margin   : 3rem auto 0;
    padding  : 2rem;
    border   : 1px solid #000;
}

.privacy-inner h3 {
    font-size     : 1.2rem;
    letter-spacing: 0.05em;
    line-height   : 1.5;
    font-weight   : 700;
    text-align    : center;
}

.privacy-h4 {
    color         : #002B69;
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 700;
}

.privacy-h3 {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 700;
}

.scroll_elm {
    height   : 7.5rem;
    padding  : 1.4574rem;
    overflow : auto;
    border   : 0.053785rem #002B69 solid;
}

.scroll_elm ul {
    font-size: 1.1798rem;
    line-height: 1.7;
}

.scroll_elm ul li {
    text-indent : -1em;
    padding-left: 1em;
}

.scroll_elm a {
    color      : #E60012;
    font-weight: bold;
}

.l-main-concept__inner {
    padding: 8.407vw 0;
}

.concept {
    padding: 8.407vw 0;
}

.concept:first-child {
    padding: 0 0 8.407vw;
}

#sensibility,
#aspiration,
#understanding {
    background-color: #e5eaf0;
    padding         : 8.407vw 0;
}

#understanding {
    margin-bottom: 8.407vw;
}

.ttl-concept {
    font-family   : "Montserrat", sans-serif;
    text-align    : center;
    font-size     : 3rem;
    letter-spacing: 0.05em;
    font-weight   : 600;
    line-height   : 1.2727272727;
    padding-top   : 1rem;
}

.ttl-activity::first-letter {
    color: #8dc21f;
}

.ttl-sensibility::first-letter {
    color: #00a63c;
}

.ttl-intelligence::first-letter {
    color: #3d62ac;
}

.ttl-aspiration::first-letter {
    color: #f29600;
}

.ttl-confidence::first-letter {
    color: #e73820;
}

.ttl-concept h3 {
    font-size : 1.2rem;
    text-align: center;
    margin-top: 1.2rem;
}

.underline-activity {
    border-bottom : 1px solid #8dc21f;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.underline-sensibility {
    border-bottom : 1px solid #00a63c;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.underline-intelligence {
    border-bottom : 1px solid #3d62ac;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.underline-aspiration {
    border-bottom : 1px solid #f29600;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.underline-confidence {
    border-bottom : 1px solid #e73820;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.underline-understanding {
    border-bottom : 1px solid #000;
    font-weight   : 700;
    padding-bottom: 0.5rem;
}

.concept__lead {
    padding-top: 8.407vw;
}

.concept-ttlWrap__img {
    width: 100%;
}

.lead__txt__concept {
    font-size     : 1.1798rem;
    letter-spacing: 0.05em;
    line-height   : 1.8823529412;
    font-weight   : 500;
    text-align    : center;
}

.activity {
    position   : absolute;
    top        : 83%;
    left       : 5.5%;
    font-family: "Montserrat", sans-serif;
}

.sensibility {
    position   : absolute;
    top        : 44%;
    left       : 6%;
    font-family: "Montserrat", sans-serif;
}

.intelligence {
    position   : absolute;
    top        : 86%;
    left       : 57.5%;
    font-family: "Montserrat", sans-serif;
}

.aspiration {
    position   : absolute;
    top        : 13%;
    left       : 12%;
    font-family: "Montserrat", sans-serif;
}

.confidence {
    position   : absolute;
    top        : 15%;
    left       : 47.5%;
    font-family: "Montserrat", sans-serif;
}

.understanding {
    position   : absolute;
    top        : 64.5%;
    left       : 75.5%;
    font-family: "Montserrat", sans-serif;
}

.activity a,
.sensibility a,
.intelligence a,
.aspiration a,
.confidence a,
.understanding a {
    color    : #fff;
    font-size: 1rem;
}

.activity a:hover,
.sensibility a:hover,
.intelligence a:hover,
.aspiration a:hover,
.confidence a:hover,
.understanding a:hover {
    text-shadow: 0 0 0.4em rgb(0 0 0);
    font-size  : 1.2rem;
}

.certification {
    padding-bottom: 7.87rem;
}

.certification__lead__heading {
    color         : #002B69;
    font-size     : 1.5268rem;
    line-height   : 1.4545454545;
    letter-spacing: 0.05em;
    font-weight   : 700;
    text-align    : center;
}

.certification__box {
    border-bottom: #002B69 0.05205rem solid;
    padding      : 2rem
}

.certification__box__title {
    font-size     : 2rem;
    margin-top    : 2rem;
    line-height   : 1.4545454545;
    letter-spacing: 0.05em;
    font-weight   : 700;
    text-align    : center;
}

.certification__box__title span {
    vertical-align: super;
    font-size     : 0.4em;
}

.certification__logo {
    width         : 24%;
    display       : inherit;
    margin        : 0 auto;
    padding-bottom: 4rem;
}

.certification__logo2 {
    width         : 34%;
    display       : inherit;
    margin        : 0 auto;
    padding-bottom: 4rem;
}

.certification__box__number {
    font-size     : 1.2rem;
    margin-bottom : 3rem;
    line-height   : 1.4545454545;
    letter-spacing: 0.05em;
    font-weight   : 700;
    text-align    : center;
}

.certification__box__number span {
    letter-spacing: 1.2em;
    font-weight   : 700;
}

.pt_certification {
    padding-top: 6.87rem;
}

.l-recruit__inner {
    padding-bottom: 4.3911rem;
}

.recruit__flex {
    display: block;
}

.box__recruit {
    position      : relative;
    width         : 100%;
    padding-bottom: 30px;
    display       : block;
}

.greenbox__recruit {
    background-color: #41C74A;
    padding         : 3rem 4rem;
	border-radius:10px;
	display:grid;
}

.title__recruit {
    color         : #fff;
    font-size     : 2.0rem;
    font-weight   : bold;
    text-align    : center;
    line-height   : 1.4;
    padding-bottom: 1rem;
}

.read__recruit {
    color      : #fff;
    font-size  : 1.1798rem;
    line-height: 1.4;
}
.img_recruit {

}

.Qa-Box {
    padding-bottom: 5rem;
}

.Qa-Box a {
    color      : #E60012;
    font-weight: bold;
}

.Qa-Box .Qa dt {
    display       : flex;
    align-items   : center;
    margin        : 2rem 0 0;
    padding-bottom: 1rem;
    border-bottom : #0174D1 0.05205rem solid;
}

.Qa-Box .Qa dd {
    display    : flex;
    align-items: center;
    margin     : 1rem 0 0;
}

.Qa-Box .Qa dt p {
    margin      : 0;
    padding-left: 15px;
    width       : 100%;
    font-size   : 1.1798rem;
}

.Qa-Box .Qa dd p {
    margin      : 0;
    padding-left: 15px;
    width       : 100%;
    line-height : 1.8;
    font-size   : 1.1798rem;
}

.Qa-Box .Qa dt::before {
    content        : "Q";
    display        : flex;
    justify-content: center;
    align-items    : center;
    background     : #0174D1;
    color          : #fff;
    width          : 25px;
    height         : 20px;
    font-family    : "Times New Roman";
    font-size      : 2rem;
    border-radius  : 50%;
    padding        : 0.5rem;
}

.Qa-Box .Qa dd::before {
    content        : "A";
    display        : flex;
    justify-content: center;
    align-items    : center;
    background     : #fff;
    color          : #0174D1;
    width          : 25px;
    height         : 20px;
    font-family    : "Times New Roman";
    font-size      : 2rem;
    border         : #0174D1 0.05205rem solid;
    border-radius  : 50%;
    padding        : 0.5rem;
}

	

.contact__box {
    margin: 0 auto;
}

.margin {
    background-color: #F2F4EC;
}

.margin__content {
    padding: 4rem 0;
}

.information__content {
    margin-bottom: 5rem;
    padding      : 4rem 0 0;
}


.mail-amphora::after{
	content:'@';
}

.policy__content {
    margin-bottom: 5rem;
    padding      : 6rem 0 0;
}

.ttl03 {
    font-size     : 1.6rem;
    font-weight   : bold;
    text-align    : center;
    border-bottom : #000 0.05205rem solid;
    padding-bottom: 1rem;
    line-height   : 1.5;
}

.right {
    font-size  : 1.1798rem;
    font-weight: bold;
    text-align : right;
    padding-top: 1rem;
}

.margin__p01 {
    font-size  : 1.1798rem;
    text-align : center;
    font-weight: bold;
    line-height: 2;
    padding    : 3rem 0 4rem;
}

.information__content ul,
.policy__content ul {
    padding    : 1.5rem 1.5rem 0;
    line-height: 1.7;
    font-size  : 1.1798rem;
}

.information__content ul li,
.policy__content ul li {
    text-indent   : -1em;
    padding-left  : 1em;
    padding-bottom: 2rem;
}

.informationLeft {
    font-size: 1.1798rem;
}

.policy__p {
    font-size  : 1.1798rem;
    padding    : 1.5rem 1.5rem 0;
    line-height: 1.7;
}

.policy__p2 {
    font-size  : 1.1798rem;
    text-align   : right;
    line-height  : 1.7;
}

.informationBox {
    padding: 2rem 0 0 0;
}

.informationBox__item {
    padding: 1.5rem 0 0;
}

.informationBox dt,
.informationBox dd {
    font-size  : 1.1798rem;
    line-height: 1.7;
    text-align: right;
}

.informationBox dd {
    -webkit-box-flex: 0;
    -ms-flex        : 0 1 100%;
    flex            : 0 1 100%;
    flex-shrink     : 0;
}

@media screen and (min-width: 48em) {
    .hsp {
        display: none;
    }

    .hpc {
        display: block;
    }

    a[href^="tel:"] {
        pointer-events: none;
    }

    .l-inner--sm {
        max-width   : 85.2rem;
        margin-left : auto;
        margin-right: auto;
    }

    .chars {
        height: 20vw;
        left  : -3rem;
        width : calc(100% + 3rem);
    }

    .chars__txt {
        width    : 160%;
        font-size: 17vw;
    }
}

@media screen and (min-width: 64em) {
    .vsp {
        display: none;
    }

    .vpc {
        display: block;
    }

    .text-md-left {
        text-align: left !important;
    }

    .text-md-center {
        text-align: center !important;
    }

    .text-md-right {
        text-align: right !important;
    }

    .text-md-justify {
        text-align: justify !important;
    }

    .m-md-0 {
        margin: 0rem !important;
    }

    .mb-md-0 {
        margin-bottom: 0rem !important;
    }

    .mt-md-0 {
        margin-top: 0rem !important;
    }

    .ml-md-0 {
        margin-left: 0rem !important;
    }

    .mr-md-0 {
        margin-right: 0rem !important;
    }

    .p-md-0 {
        padding: 0rem !important;
    }

    .pb-md-0 {
        padding-bottom: 0rem !important;
    }

    .pt-md-0 {
        padding-top: 0rem !important;
    }

    .pl-md-0 {
        padding-left: 0rem !important;
    }

    .pr-md-0 {
        padding-right: 0rem !important;
    }

    .m-md-1 {
        margin: 1rem !important;
    }

    .mb-md-1 {
        margin-bottom: 1rem !important;
    }

    .mt-md-1 {
        margin-top: 1rem !important;
    }

    .ml-md-1 {
        margin-left: 1rem !important;
    }

    .mr-md-1 {
        margin-right: 1rem !important;
    }

    .p-md-1 {
        padding: 1rem !important;
    }

    .pb-md-1 {
        padding-bottom: 1rem !important;
    }

    .pt-md-1 {
        padding-top: 1rem !important;
    }

    .pl-md-1 {
        padding-left: 1rem !important;
    }

    .pr-md-1 {
        padding-right: 1rem !important;
    }

    .m-md-2 {
        margin: 2rem !important;
    }

    .mb-md-2 {
        margin-bottom: 2rem !important;
    }

    .mt-md-2 {
        margin-top: 2rem !important;
    }

    .ml-md-2 {
        margin-left: 2rem !important;
    }

    .mr-md-2 {
        margin-right: 2rem !important;
    }

    .p-md-2 {
        padding: 2rem !important;
    }

    .pb-md-2 {
        padding-bottom: 2rem !important;
    }

    .pt-md-2 {
        padding-top: 2rem !important;
    }

    .pl-md-2 {
        padding-left: 2rem !important;
    }

    .pr-md-2 {
        padding-right: 2rem !important;
    }

    .m-md-3 {
        margin: 3rem !important;
    }

    .mb-md-3 {
        margin-bottom: 3rem !important;
    }

    .mt-md-3 {
        margin-top: 3rem !important;
    }

    .ml-md-3 {
        margin-left: 3rem !important;
    }

    .mr-md-3 {
        margin-right: 3rem !important;
    }

    .p-md-3 {
        padding: 3rem !important;
    }

    .pb-md-3 {
        padding-bottom: 3rem !important;
    }

    .pt-md-3 {
        padding-top: 3rem !important;
    }

    .pl-md-3 {
        padding-left: 3rem !important;
    }

    .pr-md-3 {
        padding-right: 3rem !important;
    }

    .m-md-4 {
        margin: 4rem !important;
    }

    .mb-md-4 {
        margin-bottom: 4rem !important;
    }

    .mt-md-4 {
        margin-top: 4rem !important;
    }

    .ml-md-4 {
        margin-left: 4rem !important;
    }

    .mr-md-4 {
        margin-right: 4rem !important;
    }

    .p-md-4 {
        padding: 4rem !important;
    }

    .pb-md-4 {
        padding-bottom: 4rem !important;
    }

    .pt-md-4 {
        padding-top: 4rem !important;
    }

    .pl-md-4 {
        padding-left: 4rem !important;
    }

    .pr-md-4 {
        padding-right: 4rem !important;
    }

    .m-md-5 {
        margin: 5rem !important;
    }

    .mb-md-5 {
        margin-bottom: 5rem !important;
    }

    .mt-md-5 {
        margin-top: 5rem !important;
    }

    .ml-md-5 {
        margin-left: 5rem !important;
    }

    .mr-md-5 {
        margin-right: 5rem !important;
    }

    .p-md-5 {
        padding: 5rem !important;
    }

    .pb-md-5 {
        padding-bottom: 5rem !important;
    }

    .pt-md-5 {
        padding-top: 5rem !important;
    }

    .pl-md-5 {
        padding-left: 5rem !important;
    }

    .pr-md-5 {
        padding-right: 5rem !important;
    }

    .l-inner,
    .l-inner--sm {
        max-width    : 103.8rem;
        padding-left : 2rem;
        padding-right: 2rem;
    }

    .l-sec {
        padding: 8rem 0;
    }

    .l-sec01 {
        padding: 4rem 0;
    }

    .l-header {
        height: 8rem;
    }

    .l-header__inner {
        padding-left : 0;
        padding-right: 2rem;
    }

    .pl0 {
        padding-left: 0;
    }


    .header__logo {
      width      : 100%;
      display    : flex;
      align-items: center;
      max-width  : 20rem;
    }

    .header__link {
      width: 20vw;
      background: #fff;
      padding: 1rem 4rem;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .header__link.-none {
      opacity: 0;
    }

    .header__img {
      text-align: center;
    }

    header img {
      width: auto;
      height: 60px;
      vertical-align: bottom;
    }

    .header__box {
        background: linear-gradient(#41c84b, #8AC640);
    }

    .l-main__inner {
        padding-top: 15rem;
    }

    /* .l-footer__inner {
        padding: 4rem 4rem;
    } */

    .footer__link {
        min-width     : 10rem;
        display       : block;
        text-align    : center;
        font-size     : 1.4rem;
        letter-spacing: 0.05em;
        color         : #fff;
        border-right  : 0.1rem #fff solid;
        padding       : 1.7rem 1rem;
    }

    .footer__link2 {
        min-width     : 10rem;
        display       : block;
        font-size     : 1.4rem;
        letter-spacing: 0.05em;
        color         : #fff;
        padding       : 1rem 1rem;
    }

    .footer__content {
        display          : -webkit-box;
        display          : -ms-flexbox;
        display          : flex;
        -webkit-box-pack : justify;
        -ms-flex-pack    : justify;
        justify-content  : space-between;
        -webkit-box-align: center;
        -ms-flex-align   : center;
        /*align-items    : center;*/
    }

    .footer__copyright {
        font-size : 1.4rem;
        text-align: right;
        padding   : 2rem;
    }

    .card__heading {
        font-size     : 2rem;
        letter-spacing: 0.1em;
        line-height   : 1.75;
        border-width  : 0.05rem;
        margin-bottom : 2rem;
    }

    .card__txt {
        font-size     : 1.6rem;
        letter-spacing: 0.05em;
        line-height   : 2;
    }

    .card__img {
        margin-bottom: 1.9rem;
    }

    .btn-square,
    .btn-square--lg {
        font-size: 1.2rem;
        padding  : 2.6rem 8.3rem;
    }

    .btn-square:hover,
    .btn-square--lg:hover {
        color: #fff;
    }

    .btn-square:hover::after,
    .btn-square--lg:hover::after {
        -webkit-transform-origin: 0% 50%;
        transform-origin        : 0% 50%;
        -webkit-transform       : scaleX(1);
        transform               : scaleX(1);
    }

    .btn-square--lg {
        font-size: 1.8rem;
        padding  : 4rem 14rem;
    }

    .btn {
        font-size: 1.2rem;
    }

    .btn:hover {
        opacity: 0.7;
    }

    .fs18 {
        font-size: 1.8rem;
    }

    .form__label {
        -webkit-box-flex: 0;
        -ms-flex        : 0 0 21rem;
        flex            : 0 0 21rem;
        margin-right    : 3.5rem;
    }

    .privacyCheck {
        -webkit-box-orient   : horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction   : row;
        flex-direction       : row;
        -webkit-box-align    : start;
        -ms-flex-align       : start;
        align-items          : flex-start;
        margin               : 4.5rem 0 6.5rem;
    }

    .privacyCheck__txt {
        margin-bottom: 0;
        margin-left  : 3rem;
    }

    .sentArea {
        margin-bottom: 10rem;
    }

    .ttlWrap__img {
        width      : 55.2%;
        margin-left: 7%;
    }

    .ttlWrap--reverse .ttlWrap__img {
        margin-right: 6%;
    }

    .ttl,
    .ttl-sm {
        font-size: 3.6rem;
    }

    .ttl__span01,
    .ttl__span02,
    .ttl-sm span {
        font-size : 1.8rem;
        text-align: center;
    }

    .ttl-sm {
        font-size    : 3.6rem;
        line-height  : 1.3888888889;
        margin-bottom: 3.5rem;
    }

    #pageTop a {
        font-size  : 1.4rem;
        line-height: 1.3;
        width      : 7rem;
        height     : 7rem;
    }

    .back a {
        font-size  : 1rem;
        line-height: 1.3;
        width      : 7rem;
        height     : 7rem;
    }

    .chars {
        height: 18.2291666667vw;
    }

    .chars__txt {
        width    : 118.75%;
        font-size: 14.84375vw;
    }

    .list {
        max-width: 70.9rem;
        margin   : 0 auto;
    }

    .list__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 3.3rem 0 2.8rem;
    }

    .list dt,
    .list dd {
        font-size  : 1.6rem;
        line-height: 2;
    }

    .list dt {
        margin-bottom    : 0;
        -webkit-box-flex : 0;
        -ms-flex         : 0 0 13rem;
        flex             : 0 0 13rem;
        display          : -webkit-box;
        display          : -ms-flexbox;
        display          : flex;
        -webkit-box-align: center;
        -ms-flex-align   : center;
        align-items      : center;
    }

    .list dd {
        -webkit-box-flex: 0;
        -ms-flex        : 0 1 100%;
        flex            : 0 1 100%;
    }

    .list dd span {
        line-height: 2;
    }

    .list dd span:not(:last-of-type) {
        margin-bottom: 1.7rem;
    }

    .kv__wrapper {
        width: 89.58%;
    }

    .kv__box {
        bottom           : 50%;
        -webkit-transform: translateY(50%);
        transform        : translateY(50%);
        min-height       : 20.8333333333vw;
        min-width        : 31.25vw;
        padding          : 3.4895833333vw 1.0416666667vw 1.0416666667vw;
    }

    .kv__ttl {
        font-size: 3.47vw;
    }

    .kv__ttl span {
        font-size: 1.3020833333vw;
    }

    .l-work__inner {
        padding-bottom: 18.5rem;
    }

    .work__lead {
        margin-bottom: 9.3rem;
    }

    .work__ttlWrap {
        margin-bottom: 9.8rem;
    }

    .work__content {
        margin-bottom: 3.6rem;
    }

    .work__list {
        margin-left: -6%;
    }

    .work__item {
        width        : 44%;
        margin-bottom: 6.6rem;
    }

    .work__item:nth-child(2n) {
        margin-left: 6%;
    }

    .work__item:nth-child(2n+1) {
        margin-right: 0;
        margin-left : 6%;
    }

    .box__list {
        max-width: 88.8rem;
    }

    .box__item {
        border-width : 0.05rem;
        display      : -webkit-box;
        display      : -ms-flexbox;
        display      : flex;
        min-height   : 10rem;
        margin-bottom: 5.2rem;
    }

    .box__item:not(:last-of-type)::after {
        bottom: -3rem;
    }

    .box__heading {
        width    : 25rem;
        font-size: 1.8rem;
        padding  : 2rem;
    }

    .box__txt {
        font-size  : 1.6rem;
        line-height: 2;
        width      : calc(100% - 25rem);
        padding    : 1rem 3rem;
    }

    .printingProcess .box__item {
        min-height: 5rem;
    }

    .printingProcess .box__heading {
        width      : 30rem;
        font-size  : 1.8rem;
        line-height: 1.9090909091;
        padding    : 0.4rem 2rem;
    }

    .printingProcess .box__txt {
        width      : calc(100% - 30rem);
        font-size  : 1.8rem;
        line-height: 1.9090909091;
        padding    : 0.4rem 2rem;
    }

    .lead__heading {
        font-size    : 2rem;
        margin-bottom: 1.4rem;
        line-height  : 1.6;
    }

    .lead__txt,
    .lead__txt2 {
        font-size  : 1.6rem;
        line-height: 2;
    }

    .l-aboutMessage__inner {
        margin-top    : 0;
        padding-top   : 13.322917vwvw;
        padding-bottom: 14rem;
    }

    .aboutMessage__box01 {
        -webkit-box-flex: 0;
        -ms-flex        : 0 0 29rem;
        flex            : 0 0 29rem;
    }

    .aboutMessage__box02 {
        width : 70.9rem;
        margin: 0 auto;
    }

    .aboutMessage__txt {
        font-size    : 1.8rem;
        line-height  : 1.8888888889;
        margin-bottom: 3.3rem;
    }

    .aboutMessage__profile {
        font-size    : 1.6rem;
        margin-bottom: 1.8738rem;
    }

    .aboutMessage__name {
        font-size: 3rem;
    }

    .l-aboutManagement__inner {
        padding-bottom: 14rem;
    }

    .aboutManagement__txt {
        font-size  : 1.6rem;
        line-height: 2;
        text-align : center;
    }

    .aboutManagement__item {
        font-size  : 1.6rem;
        line-height: 2;
        padding    : 4.3rem 2rem;
    }

    .l-aboutCompany__inner {
        padding-bottom: 14rem;
    }

    .l-aboutStatement__inner {
        padding-top   : 9rem;
        padding-bottom: 14rem;
    }

    .aboutStatement__ttl {
        margin-bottom: 6.2rem;
    }

    .aboutStatement__txt {
        font-size  : 1.6rem;
        line-height: 2;
        text-align : center;
    }

    .aboutStatement__txt2 {
        font-size  : 1.6rem;
        line-height: 2;
        text-align : right;
    }

    .l-aboutAccess__inner {
        padding-bottom: 15rem;
    }

    .aboutAccess__box {
        padding-bottom: 0;
    }

    .aboutAccess__box:not(:last-of-type) {
        border-bottom: none;
        margin-bottom: 5.2rem;
    }

    .aboutAccess__box:last-of-type .aboutAccess__txt {
        padding-top   : 3.5rem;
        padding-bottom: 3.5rem;
    }

    .aboutAccess__box:last-of-type .aboutAccess__txt span {
        display     : block;
        margin-right: 0;
    }

    .aboutAccess__heading {
        margin-bottom: 2.1rem;
    }

    .aboutAccess__name {
        font-size    : 1.6rem;
        margin-bottom: 1.7rem;
    }

    .aboutAccess__address {
        font-size  : 1.6rem;
        line-height: 2;
    }

    .aboutAccess__map {
        padding-top: 30.06%;
    }

    .aboutAccess__wrapper {
        position: absolute;
        right   : 0;
        top     : -2rem;
    }

    .aboutAccess__txt {
        font-size  : 1.6rem;
        line-height: 1.3125;
        padding    : 1.8rem 3.6rem;
    }

    .aboutAccess__txt span {
        font-size    : 1.6rem;
        margin-bottom: 0.5rem;
    }

    .l-recruit__inner {
        padding-bottom: 12rem;
    }

    .recruit__flex {
        display        : flex;
        flex-wrap      : wrap;
        justify-content: space-between;
    }

    .box__recruit {
        position      : relative;
        width         : 48%;
        padding-bottom: 30px;
        display       : flex;
        flex-direction: column;
    }

    .greenbox__recruit {
        padding  : 3rem 4rem;
        flex-grow: 1;
    }

    .title__recruit {
        font-size: 3.5rem;
    }

    .read__recruit {
        font-size: 1.6rem;
    }

    #formWrap {
        width: 80%;
    }

    .confirm__lead {
        font-size     : 2rem;
        line-height   : 2.1;
        letter-spacing: 0.05em;
        margin-bottom : 5rem;
    }

    table.formTable td {
        padding-bottom: 3.5rem;
    }

    table.formTable td,
    table.formTable th {
        font-size     : 2.2rem;
        padding-bottom: 3rem;
    }

    .confirm__btnArea {
        display   : -webkit-box;
        display   : -ms-flexbox;
        display   : flex;
        margin-top: 5rem;
    }

    .confirm__btn:first-of-type {
        margin-bottom: 0;
    }

    .confirm__btn {
        border   : 0.05rem solid #000;
        max-width: none;
    }

    .confirm__btn:hover:after {
        -webkit-transform-origin: 0% 50%;
        transform-origin        : 0% 50%;
        -webkit-transform       : scaleX(1);
        transform               : scaleX(1);
    }

    .confirm__btn:hover input {
        color: #fff;
    }

    .confirm__btn input {
        font-size: 2.2rem;
        padding  : 3.3rem 11.8rem;
    }

    .l-contact__inner {
        padding-bottom: 19.4rem;
    }

    .Qa-Box {
        padding-bottom: 15rem;
    }

    .Qa-Box .Qa dt {
        display       : flex;
        align-items   : baseline;
        margin        : 3rem 0 0;
        padding-bottom: 1rem;
        border-bottom : #0174D1 0.05205rem solid;
    }

    .Qa-Box .Qa dd {
        display    : flex;
        align-items: baseline;
        margin     : 1rem 0 0;
    }

    .Qa-Box .Qa dt p {
        margin      : 0;
        padding-left: 15px;
        width       : 100%;
        font-size   : 2.3rem;
    }

    .Qa-Box .Qa dd p {
        margin      : 0;
        padding-left: 15px;
        width       : 100%;
        line-height : 1.8;
        font-size   : 100%;
    }

    .Qa-Box .Qa dt::before {
        content        : "Q";
        display        : flex;
        justify-content: center;
        align-items    : center;
        background     : #0174D1;
        color          : #fff;
        width          : 35px;
        height         : 35px;
        font-family    : "Times New Roman";
        font-size      : 3rem;
        border-radius  : 50%;
        padding        : 0.5rem;
    }

    .Qa-Box .Qa dd::before {
        content        : "A";
        display        : flex;
        justify-content: center;
        align-items    : center;
        background     : #fff;
        color          : #0174D1;
        width          : 35px;
        height         : 35px;
        font-family    : "Times New Roman";
        font-size      : 3rem;
        border         : #0174D1 0.05205rem solid;
        border-radius  : 50%;
        padding        : 0.5rem;
    }

    .contact__box {
        /* width : 55.2rem;
        margin: 0 auto; */
    }

    .contact-q .contact__box {
        max-width  : 55.2rem;
        margin     : 0 auto;
        padding-top: 15rem;
    }

    .contact__lead {
        font-size     : 1.8rem;
        line-height   : 2.1;
        letter-spacing: 0.05em;
        margin        : 3rem 0 2rem;
    }

    .form__box {
        padding: 2.2rem 2rem 3.2rem;
        margin : 5rem 0;
    }

    .form__txt {
        line-height  : 1.9090909091;
        font-size    : 1.8rem;
        margin-bottom: 1.8rem;
    }

    .form__agree {
        margin-bottom: 1.3rem;
    }

    .form__agree label {
        max-width: 40rem;
        padding  : 2rem;
    }

    .form__agree span {
        font-size: 2.2rem;
    }

    .form__info {
        font-size: 1.6rem;
    }

    .form__itemWrap {
        display         : -webkit-box;
        display         : -ms-flexbox;
        display         : flex;
        -webkit-box-pack: justify;
        -ms-flex-pack   : justify;
        justify-content : space-between;
        margin-bottom   : 0;
    }

    .form__itemWrap .form__item {
        margin-bottom: 0;
        width        : 48%;
    }

    .form__itemWrap .form__item:first-of-type .form__ttl {
        margin-bottom: 1rem;
    }

    .form__item:first-of-type .form__ttl {
        margin-bottom: 2.8rem;
    }

    .form__item:not(:last-child) {
        margin-bottom: 4.3rem;
    }

    .form__ttl {
        font-size    : 1.8rem;
        margin-bottom: 1rem;
    }

    .form__ttl span {
        font-size    : 1.8rem;
        border-radius: 3rem;
        padding      : 0.3rem 1.8rem;
    }

    .form__checkbox label>span {
        padding-left: 3rem;
    }

    .form__checkbox label>span::before,
    .form__checkbox label>span::after {
        width : 2.23rem;
        height: 2.23rem;
    }

    .form__checkbox--radio label>span {
        padding-left: 3.8rem;
        font-size   : 1.8rem;
    }

    .form__checkbox--radio label>span::before {
        width : 3rem;
        height: 3rem;
    }

    .form__checkbox--radio label>span::after {
        width : 3rem;
        height: 3rem;
    }

    .form__checkbox--radio label {
        display: inline-block;
    }

    .form__checkbox--radio label:not(:last-of-type) {
        margin-bottom: 0;
        margin-right : 3.2rem;
    }

    .form__list {
        width : 55.2rem;
        margin: 0 auto 3.3rem;
    }

    .form__desc {
        font-size    : 1.8rem;
        line-height  : 1.9090909091;
        margin-bottom: 9rem;
    }

    .form__btn {
        border: 0.05rem solid #000;
    }

    .form__btn:hover:after {
        -webkit-transform-origin: 0% 50%;
        transform-origin        : 0% 50%;
        -webkit-transform       : scaleX(1);
        transform               : scaleX(1);
    }

    .form__btn:hover input {
        color: #fff;
    }

    .form__btn input {
        font-size: 2.2rem;
        padding  : 3.3rem 11.8rem;
    }

    input[type=text],
    input[type=email],
    input[type=url],
    input[type=tel],
    input[type=number] {
        font-size  : 2.2rem;
        padding    : 3.2rem 2rem;
        line-height: 1.5;
    }

    textarea {
        height     : 30rem;
        font-size  : 2.2rem;
        padding    : 1.5rem 2rem;
        line-height: 1.5;
    }

    .l-process__inner {
        padding-bottom: 16.5rem;
    }

    .process__ttlWrap {
        margin-bottom: 10rem;
    }

    .process__content {
        margin-bottom: 14.7rem;
    }

    .l-printingProcess__inner {
        padding-bottom: 15rem;
    }

    .printingProcess__ttlWrap {
        margin-bottom: 10rem;
    }

    .printingProcess__txt {
        -webkit-box-pack: start;
        -ms-flex-pack   : start;
        justify-content : flex-start;
    }

    .l-facility__inner {
        padding-bottom: 18rem;
    }

    .facility__ttlWrap {
        margin-bottom: 9.8rem;
    }

    .facility__content {
        max-width    : 90rem;
        margin-bottom: 14rem;
    }

    .facility__item {
        display      : -webkit-box;
        display      : -ms-flexbox;
        display      : flex;
        border-bottom: none;
        padding      : 0;
        margin-bottom: 5rem;
    }

    .facility__item:first-of-type {
        border-top: none;
    }

    .facility__heading {
        font-size            : 1.8rem;
        line-height          : 1.9090909091;
        display              : -webkit-box;
        display              : -ms-flexbox;
        display              : flex;
        -webkit-box-align    : center;
        -ms-flex-align       : center;
        align-items          : center;
        -webkit-box-pack     : center;
        -ms-flex-pack        : center;
        justify-content      : center;
        -webkit-box-orient   : vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction   : column;
        flex-direction       : column;
        border-left          : 0.0347rem #002B69 solid;
        border-right         : 0.0347rem #002B69 solid;
        width                : 15rem;
        margin-bottom        : 0;
        padding              : 1rem;
    }

    .facility__heading span {
        display    : block;
        margin-left: 0;
        font-size  : 1.8rem;
        line-height: 1.9444444444;
    }

    .facilitySub__list {
        width       : calc(100% - 15rem);
        padding-left: 2.6rem;
    }

    .facilitySub__item {
        font-size   : 1.6rem;
        line-height : 2;
        padding-left: 2.5rem;
    }

    .facilitySub__item::before {
        font-size  : 1.6rem;
        top        : 10%;
        line-height: 2;
    }

    .l-qa__inner {
        padding-bottom: 15.4rem;
    }

    .qa__item {
        margin-bottom: 5.6rem;
    }

    .qa__question,
    .qa__answer {
        font-size   : 1.8rem;
        line-height : 1.6818181818;
        padding-left: 12rem;
    }

    .qa__alpha {
        width    : 10rem;
        font-size: 4.5rem;
    }

    .qa__alpha span {
        font-size: 3.5rem;
    }

    .qa__question {
        border-width : 0.1rem;
        min-height   : 8rem;
        padding      : 1.2rem 9rem 1.2rem 12.8rem;
        margin-bottom: 2.1rem;
    }

    .qa__question .qa__alpha {
        width: 8rem;
    }

    .qa__answer {
        margin-left: 5.1rem;
    }

    .qa__answer .qa__alpha {
        width : 8rem;
        height: 8rem;
    }

    .qa__mark {
        right: 7.3rem;
    }

    .qa__mark:before,
    .qa__mark::after {
        width : 2.5rem;
        height: 0.3rem;
    }

    .recruit__ttl {
        font-size    : 2.7rem;
        margin-bottom: 3rem;
        line-height  : 1.4814814815;
    }

    .recruit__txt {
        line-height: 1.9090909091;
        font-size  : 2.2rem;
    }

    .recruit__header {
        margin-bottom: 9rem;
    }

    .recruit__body {
        margin-bottom: 20rem;
    }

    .l-serviceLead {
        padding-bottom: 8.5rem;
    }

    .l-scheme__inner {
        padding-bottom: 10rem;
    }

    .scheme__ttl {
        margin-bottom: 3.9rem;
    }

    .scheme__img {
        width      : 89.5rem;
        margin-left: 2rem;
    }

    .l-workflow__inner {
        padding-bottom: 9.3rem;
    }

    .workflow__ttl {
        margin-bottom: 3.7rem;
    }

    .l-service__inner {
        padding-bottom: 10rem;
    }

    .l-service__inner02 {
        padding-bottom: 15rem;
    }

    .service__ttl {
        margin-bottom: 4.5rem;
    }

    .service__value {
        padding-top: 3rem;
    }

    .service__value h3 {
        font-size     : 4rem;
        padding-bottom: 1.5rem;
    }

    .value01 {
        font-size: 3rem;
    }

    .value02 {
        font-size: 4.5rem;
    }

    .service__valueBox__p01 {
        font-size  : 2.5rem;
        font-weight: bold;
        line-height: 1.7;
        padding    : 2rem 1.3rem 2rem 0;
    }

    .service__valueBox__p02 {
        width      : 53%;
        font-size  : 2.5rem;
        font-weight: bold;
        line-height: 1.7;
        padding    : 2rem 0;
    }

    .service__valueBox__p03 {
        width      : 50%;
        font-size  : 2.5rem;
        font-weight: bold;
        line-height: 1.7;
        padding    : 2rem 0;
    }

    .service__valueBox__p04 {
        width      : 64%;
        font-size  : 2.5rem;
        font-weight: bold;
        line-height: 1.7;
        padding    : 2rem 0;
    }

    .l-service__flow__inner {
        padding: 10rem;
    }

    .service__ttl__h3 {
        font-size    : 2.5rem;
        margin-bottom: 3rem;
        padding      : 1rem;
        border-radius: 8rem;
    }

    .l-service__flow {
        margin-bottom: 15rem;
    }

    .flow_design10 {
        padding           : 0 5rem;
        /* display        : flex;
    justify-content       : center;
    align-items           : center; */
    }

    .flow10>li {
        list-style-type: none;
        padding        : 20px;
    }

    .flow10>li dl dt {
        font-size    : 1.3em;
        border-radius: 5rem;
        margin-bottom: 1em;
    }

    .flow10>li dl dd {
        font-size : 1.5rem;
        text-align: center;
        margin    : 0;
    }

    .flow10>li:not(:last-child) {
        margin-bottom: 40px;
    }

    .flow10>li:not(:last-child)::after {
        border          : 20px solid transparent;
        bottom          : -53px;
        border-top-color: #0174D1;
    }

    .l-service__list {
        width  : 800px;
        margin : 0 auto;
        padding: 5rem 0 0;
    }

    .l-service__list02 {
        width : 80rem;
        margin: 0 auto;
    }

    .service-number01,
    .service-number02,
    .service-number03 {
        position   : relative;
        color      : #0174D1;
        font-size  : 2.3rem;
        font-weight: bold;
        padding    : 0 0 2rem 4rem;
    }

    .service-number01::before {
        position: absolute;
        top     : -0.4rem;
        left    : 0;
        content : url(../img/service/service-number01.png);
    }

    .service-number02::before {
        position: absolute;
        top     : -0.4rem;
        left    : 0;
        content : url(../img/service/service-number02.png);
    }

    .service-number03::before {
        position: absolute;
        top     : -0.4rem;
        left    : 0;
        content : url(../img/service/service-number03.png);
    }

    .l-service__list dd,
    .l-service__list02 dd {
        list-style         : none;
        list-style-position: outside;
        margin             : 0;
        padding-left       : 2.5em;
        line-height        : 1.5;
        font-size          : 1.6rem;
    }

    .l-service__list02 dd span {
        display          : block;
        color            : #fff;
        font-size        : 2rem;
        font-weight      : bold;
        text-align       : left;
        background-image : linear-gradient(0deg, #47BBEC, #3D9DF4);
        background-repeat: no-repeat;
        margin           : 3rem 0 1rem;
        padding          : 0.5rem 0 0.5rem 2rem;
    }

    .service__heading {
        font-size     : 2.5rem;
        line-height   : 1.6;
        letter-spacing: 0.01em;
        margin-bottom : 2.8rem;
    }

    .service__txt {
        font-size    : 2rem;
        line-height  : 2;
        margin-bottom: 3rem;
    }

    .service__img {
        min-width    : 50%;
        width        : 50%;
        margin-right : 0;
        margin-bottom: 0;
    }

    .service__wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .service__box {
        padding: 8.6rem 0 10rem;
    }

    .service__box:nth-child(2n) .service__img {
        margin-left: 0;
    }

    .service__box:nth-child(2n) .service__btn {
        text-align: left;
    }

    .service__box:nth-child(2n) .service__body {
        padding-left : 1%;
        padding-right: 3%;
    }

    .service__body {
        padding              : 4.8% 1% 0 2.6%;
        max-width            : 51rem;
        display              : -webkit-box;
        display              : -ms-flexbox;
        display              : flex;
        -webkit-box-orient   : vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction   : column;
        flex-direction       : column;
        -webkit-box-pack     : justify;
        -ms-flex-pack        : justify;
        justify-content      : space-between;
    }

    .service__btn {
        text-align: right;
    }

    .l-thanks__inner {
        padding-bottom: 10rem;
        max-width     : 99.8rem;
        margin        : 0 auto;
    }

    .thanks__header {
        padding      : 10rem 2rem;
        margin-bottom: 5.5rem;
    }

    .thanks__ttl {
        font-size: 2.2rem;
    }

    .thanks__txt {
        font-size    : 1.8rem;
        line-height  : 1.9090909091;
        margin-bottom: 10.3rem;
    }

    .topKv__box {
        left: 22.5%;
    }

    .topKv__lead {
        font-size    : 5.2rem;
        margin-bottom: 1.8rem;
    }

    .topKv__ttl {
        font-size     : 2.1rem;
        line-height   : 1.4814814815;
        letter-spacing: 0;
    }

    .l-top__inner {
        padding: 10rem 0 5rem;
    }

    .top__ttl {
        margin-bottom: 5rem;
    }

    .top__txt {
        font-size    : 1.6rem;
        line-height  : 2;
        margin-bottom: 11.6rem;
    }

    .top__btn {
        right: 3rem;
        left : inherit;
    }

    .l-topContact__inner {
        padding: 0 0 17.9rem;
    }

    .topContact__ttl {
        margin-bottom: 3.7rem;
    }

    .topContact__txt {
        font-size    : 1.8rem;
        margin-bottom: 4.2rem;
    }

    .topContact__btn a {
        padding-left : 7.1rem;
        padding-right: 7.1rem;
    }

    .fadeUp-kv02 {
        -webkit-transform: translateY(50%);
        transform        : translateY(50%);
    }

    .fadeUp-kv02.active {
        -webkit-transform: translateY(50%);
        transform        : translateY(50%);
    }

    .privacy-inner {
        max-width: 67.4rem;
        margin   : 5rem auto;
        padding  : 2rem;
    }

    .privacy-inner h3 {
        font-size  : 1.6rem;
        line-height: 2;
    }

    .privacy-h4 {
        color      : #002B69;
        font-size  : 1.6rem;
        line-height: 2;
    }

    .privacy-h3 {
        font-size  : 1.65rem;
        line-height: 2;
    }

    .scroll_elm {
        height : 11rem;
        padding: 2rem;
    }

    .scroll_elm ul {
        font-size  : 1.8rem;
        line-height: 2;
    }

    .l-main-concept__inner {
        padding: 0;
    }

    .concept {
        padding: 8rem 0;
    }

    .concept:first-child {
        padding: 0 0 8rem;
    }

    #activity {
        margin-top: 8rem;
    }

    #sensibility,
    #aspiration,
    #understanding {
        padding: 8rem 0;
    }

    #understanding {
        margin-bottom: 0;
    }

    .concept-ttlWrapL__img {
        width: 70.18%;
    }

    .concept-ttlWrapR__img {
        width       : 70.18%;
        margin-right: 0;
        margin-left : auto;
    }

    .activity {
        top : 84%;
        left: 44%;
    }

    .sensibility {
        top : 43%;
        left: 45%;
    }

    .intelligence {
        top : 87%;
        left: 71%;
    }

    .aspiration {
        top : 11%;
        left: 48%;
    }

    .confidence {
        top : 12%;
        left: 66%;
    }

    .understanding {
        top : 64%;
        left: 81.5%;
    }

    .certification {
        padding-bottom: 9.87rem;
    }

    .certification__lead__heading {
        font-size  : 2rem;
        line-height: 1.6;
    }

    .certification__body {
        max-width: 70.9rem;
        margin   : 0 auto;
    }

    .certification__box {
        padding: 5rem 8.5rem;
    }

    .certification__box__title {
        font-size  : 3rem;
        margin-top : 7rem;
        line-height: 1.6;
    }

    .certification__box__title span {
        font-size: 0.7em;
    }

    .certification__box__number {
        font-size    : 2rem;
        margin-bottom: 4rem;
        line-height  : 1.6;
    }

    .pt_certification {
        padding-top: 8.87rem;
    }

    .margin__content {
        margin-bottom: 4rem;
        padding      : 6rem 0 8rem;
    }

    .information__content {
        margin-bottom: 5rem;
        padding      : 6rem 0 0;
    }

    .policy__content {
        margin-bottom: 5rem;
        padding      : 6rem 0 0;
    }

    .ttl03 {
        font-size     : 3rem;
        font-weight   : bold;
        text-align    : center;
        border-bottom : #000 0.05205rem solid;
        padding-bottom: 3rem;
    }

    .right {
        font-size  : 100%;
        font-weight: bold;
        text-align : right;
        padding-top: 1rem;
    }

    .margin__p01 {
        font-size  : 100%;
        text-align : center;
        font-weight: bold;
        line-height: 2;
        padding    : 3rem 0 4rem;
    }

    .information__content ul,
    .policy__content ul {
        padding  : 3rem 3rem 0;
        font-size: 100%;
    }

    .information__content ul li,
    .policy__content ul li {
        padding-bottom: 2rem;
    }

    .informationLeft {
        font-size   : 1.3rem;
        padding-left: 3rem;
    }

    .policy__p {
        font-size: 1.6rem;
        padding    : 3rem 3rem 0;
        line-height: 1.7;
    }

    .policy__p2 {
        font-size: 1.6rem;
        padding-right: 6rem;
    }

    .informationBox dt,
    .informationBox dd {
        font-size  : 1.6rem;
        line-height: 1.7;
    }

    .informationBox dt {
        margin-bottom    : 0;
        -webkit-box-flex : 0;
        -ms-flex         : 0 0 13rem;
        flex             : 0 0 13rem;
        display          : -webkit-box;
        display          : -ms-flexbox;
        display          : flex;
        -webkit-box-align: start;
        -ms-flex-align   : start;
        align-items      : start;
    }

    .informationBox {
        display        : flex;
        justify-content: flex-end;
        padding        : 2rem 18rem 0 0;
    }

    .informationBox__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 1.5rem 0 0;
    }
}

@media screen and (min-width: 570px) {

    .activity a,
    .sensibility a,
    .intelligence a,
    .aspiration a,
    .confidence a,
    .understanding a {
        font-size: 1.4rem;
    }

    .activity a:hover,
    .sensibility a:hover,
    .intelligence a:hover,
    .aspiration a:hover,
    .confidence a:hover,
    .understanding a:hover {
        text-shadow: 0 0 0.4em rgb(0 0 0);
        font-size  : 1.6rem;
    }
}

@media screen and (min-width: 80em) {
    .l-header__inner {
        padding-left : 0;
        padding-right: 10rem;
    }

    /*.nav__link {
    font-size: 1.8rem;
  }*/
    /* .l-footer__inner {
        padding: 5.8rem 10rem;
    } */
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    .ie-only {
        display: none;
    }
}

@media screen and (max-width: 572px) {

    table.formTable th,
    table.formTable td {
        width  : auto;
        display: block;
    }

    table.formTable th {
        border-bottom: 0;
    }

    form input[type=submit],
    form input[type=reset],
    form input[type=button] {
        display: block;
        width  : 100%;
        height : 40px;
    }
}

.form__agree label {
    position      : relative;
    pointer-events: none;
}

.form__agree label::before {
    content   : '';
    display   : block;
    width     : 100%;
    height    : 100%;
    position  : absolute;
    top       : 0;
    left      : 0;
    background: rgba(0, 0, 0, 0.5);
    z-index   : 5;
}

.form__agree label.isActive {
    pointer-events: inherit;
}

.form__agree label.isActive::before {
    display: none;
}

/*# sourceMappingURL=style.css.map */

.margin-ratio {
	font-size:2.0rem;
	margin-bottom:2rem;
	margin-top:2rem;
	width:100%;
	max-width:800px !important:
}
.margin-ratio tr{
	border-bottom:1px solid #000;
}
.margin-ratio td{
	padding:2rem 2rem;
}
.margin-ratio td:nth-child(1){
	border-right:1px solid #000;
}
.margin-ratio tr:last-child{
	border-bottom:0;
}
@media screen and (max-width: 572px) {
	.margin-ratio {
	font-size:1.8rem;
	margin-bottom:1.5rem;
	margin-top:1.5rem;
	}
}

.top-block{
	display:flex;
	margin:8rem 0.5rem;
}
.top-block div{
	margin-right:1rem;
}
.top-block div:nth-child(3){
	margin-right:0;
}
@media screen and (max-width: 572px) {
	.top-block{
		display:flex;
		flex-direction: column;
	}
	.top-block div{
		margin-right:0;
	}

}
