@import url("https://fonts.googleapis.com/css?family=Roboto");
@font-face {
font-family: "oswald";
src: url("../fonts/oswald-stencil-webfont.woff2") format("woff2"), url("../fonts/oswald-stencil-webfont.woff") format("woff");
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: "icon";
src: url("../fonts/icon.eot?pwkyk8");
src: url("../fonts/icon.eot?pwkyk8#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?pwkyk8") format("truetype"), url("../fonts/icon.woff?pwkyk8") format("woff"), url("../fonts/icon.svg?pwkyk8#icon") format("svg");
font-weight: normal;
font-style: normal;
font-display: swap;
}

[class^="icon-"], [class*=" icon-"], .form-select:before {
font-family: "icon" !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}

.icon-arrow-bottom:before {
content: "\e900"
}

.icon-arrow-left:before {
content: "\e901"
}

.icon-arrow-right:before {
content: "\e902"
}

.icon-arrow-top:before {
content: "\e903"
}

.icon-facebook:before {
content: "\e904"
}

.icon-insta:before {
content: "\e905"
}

.icon-twitter:before {
content: "\e906"
}

.icon-youtube:before {
content: "\e907"
}


/*!
* ress.css • v1.0.1
* MIT License
* github.com/filipelinhares/ress
*/

html {
box-sizing: border-box;
overflow-y: scroll;
-webkit-text-size-adjust: 100%
}

*, :after, :before {
box-sizing: inherit
}

:after, :before {
text-decoration: inherit;
vertical-align: inherit
}

* {
background-repeat: no-repeat;
padding: 0;
margin: 0
}

audio:not([controls]) {
display: none;
height: 0
}

hr {
overflow: visible
}

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

small {
font-size: 80%
}

[hidden], template {
display: none
}

abbr[title] {
border-bottom: 1px dotted;
text-decoration: none
}

a {
background-color: transparent;
-webkit-text-decoration-skip: objects
}

a:active, a:hover {
outline-width: 0
}

code, kbd, pre, samp {
font-family: monospace, monospace;
overflow-x: auto
}

pre code {
word-wrap: normal;
white-space: pre-wrap
}

b, strong {
font-weight: bolder
}

dfn {
font-style: italic
}

mark {
background-color: #ff0;
color: #000
}

sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline
}

sub {
bottom: -.25em
}

sup {
top: -.5em
}

input {
border-radius: 0
}

[type=number] {
width: auto
}

[type=search] {
-webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
-webkit-appearance: none
}

textarea {
overflow: auto;
resize: vertical
}

button, input, optgroup, select, textarea {
font: inherit
}

optgroup {
font-weight: 700
}

button {
overflow: visible
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
border-style: 0;
padding: 0
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
outline: 1px dotted ButtonText
}

[type=reset], [type=submit], button, html [type=button] {
-webkit-appearance: button
}

button, select {
text-transform: none
}

button, input, select, textarea {
background-color: transparent;
border-style: none;
color: inherit
}

select {
-moz-appearance: none;
-webkit-appearance: none
}

select::-ms-expand {
display: none
}

select::-ms-value {
color: currentColor
}

legend {
border: 0;
color: inherit;
display: table;
max-width: 100%;
white-space: normal
}

::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}

::-webkit-input-placeholder {
color: inherit;
opacity: .54
}

[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px
}

img {
border-style: none
}

progress {
vertical-align: baseline
}

svg:not(:root) {
overflow: hidden
}

audio, canvas, progress, video {
display: inline-block
}

[aria-busy=true] {
cursor: progress
}

[aria-controls] {
cursor: pointer
}

[aria-disabled] {
cursor: default
}

::-moz-selection {
background-color: #b3d4fc;
color: #fff;
text-shadow: none
}

::selection {
background-color: #b3d4fc;
color: #fff;
text-shadow: none
}

.l-header, .l-header__primary, .l-header__primary-inner, .l-flow .borderbox, .l-program, .l-footer__link, .l-footer__bottom, .gnav, .card-list, .box, .form-list, .sns {
*zoom: 1
}

.l-header:before, .l-header__primary:before, .l-header__primary-inner:before, .l-flow .borderbox:before, .l-program:before, .l-footer__link:before, .l-footer__bottom:before, .gnav:before, .card-list:before, .box:before, .form-list:before, .sns:before, .l-header:after, .l-header__primary:after, .l-header__primary-inner:after, .l-flow .borderbox:after, .l-program:after, .l-footer__link:after, .l-footer__bottom:after, .gnav:after, .card-list:after, .box:after, .form-list:after, .sns:after {
content: " ";
display: table
}

.l-header:after, .l-header__primary:after, .l-header__primary-inner:after, .l-flow .borderbox:after, .l-program:after, .l-footer__link:after, .l-footer__bottom:after, .gnav:after, .card-list:after, .box:after, .form-list:after, .sns:after {
clear: both
}

body {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
text-rendering: auto;
font-size: 15px;
font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-weight: normal;
color: #202020;
letter-spacing: 0.06em;
background-color: #fff
}

p {
line-height: 1.8;
text-align: justify
}

a {
text-decoration: none
}
@-webkit-keyframes loading1 {
0% {
left: -100%
}
20% {
left: -170%
}
50% {
left: -120%
}
100% {
left: 100%
}
}

@keyframes loading1 {
0% {
left: -100%
}
20% {
left: -170%
}
50% {
left: -120%
}
100% {
left: 100%
}
}

@-webkit-keyframes loading2 {
0% {
left: -100%
}
20% {
left: -170%
}
50% {
left: -120%
}
100% {
left: 100%
}
}

@keyframes loading2 {
0% {
left: -100%
}
20% {
left: -170%
}
50% {
left: -120%
}
100% {
left: 100%
}
}

body {
overflow-x: hidden
}

img {
vertical-align: bottom
}

ul, ol {
list-style: none
}

ul li, ol li {
list-style: none
}

i, em {
font-style: normal
}

a {
color: #202020;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

a i {
display: inline-block;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

h1, h2, h3, h4, h5 {
font-weight: normal
}

p {
margin-bottom: 1em
}

p:last-child {
margin-bottom: 0
}

input, select, textarea {
outline: none
}

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
}

select {
-moz-appearance: none;
-webkit-appearance: none
}

::-moz-selection {
color: #202020;
background-color: #fff
}

::selection {
color: #202020;
background-color: #fff
}

.en {
font-family: "Roboto", sans-serif
}

.title {
font-family: "oswald", sans-serif
}

.wrapper {
overflow-x: hidden;
position: relative
}

.inner {
position: relative;
margin: 0 auto;
width: 1000px
}

.l-loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #bf1920;
z-index: 1000;
-webkit-transition: ease 1s;
transition: ease 1s
}

.l-loading span {
display: block;
position: fixed;
top: 0;
width: 100%;
height: 100%;
-webkit-transition: ease .3s;
transition: ease .3s
}

.l-loading span:nth-of-type(1) {
background-color: #a8161c;
-webkit-animation: loading1 3s linear infinite;
animation: loading1 3s linear infinite
}

.l-loading span:nth-of-type(2) {
background-color: #921318;
-webkit-animation: loading2 3s linear infinite;
animation: loading2 3s linear infinite;
-webkit-animation-delay: 0.5s;
animation-delay: 0.5s
}

.l-loading.open {
visibility: hidden;
opacity: 0;
left: 100%
}

.l-loading.open span {
opacity: 0;
visibility: hidden
}

.l-header {
position: fixed;
top: 0;
left: 0;
padding: 40px;
width: 100%;
min-width: 1080px;
color: #fff;
z-index: 50;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__logo {
float: left;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__nav {
position: relative;
float: left;
margin-left: 50px;
line-height: 30px;
-webkit-transition: ease 0.2s;
transition: ease 0.2s;
z-index: 5
}

.l-header__nav-menu {
display: none;
position: absolute;
top: 6.25vw;
right: 6.25vw;
width: 6.66vw;
height: 5.1vw;
z-index: 20;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__nav-menu span {
display: block;
position: absolute;
width: 6.66vw;
height: 1px;
background-color: #fff;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__nav-menu span:nth-of-type(2) {
top: 2.5vw
}

.l-header__nav-menu span:nth-of-type(3) {
top: 5vw
}

.l-header__nav-menu.close span:nth-of-type(1) {
top: 2.5vw;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg)
}

.l-header__nav-menu.close span:nth-of-type(2) {
opacity: 0
}

.l-header__nav-menu.close span:nth-of-type(3) {
top: 2.5vw;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg)
}

.l-header__primary {
position: absolute;
top: 0;
right: 0;
width: 650px;
height: 255px;
background: url(../images/bg-header.png) no-repeat 100% 0;
background-size: 100%;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__primary-inner {
float: right;
padding: 40px
}

.l-header__tel {
float: left;
text-align: center;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header__tel-num {
display: block;
font-size: 22px;
font-weight: bold;
letter-spacing: 0.06em
}
.l-header__tel-num a{
color: #fff;
}
.l-header__tel-time {
font-size: 12px
}

.l-header__contact {
float: left;
margin-left: 20px;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.l-header.fixed {
padding: 10px 40px;
background-color: rgba(255, 255, 255, 0.8) /*上部ホバーの色切り替え*/
/* background-color: rgba(0, 0, 0, 0.8) */
}

.l-header.fixed .l-header__primary {
width: auto;
height: auto;
background: none
}

.l-header.fixed .l-header__primary-inner {
padding: 20px 40px
}

.l-header.fixed .l-header__logo img {
-webkit-transform: scale(0.7);
-ms-transform: scale(0.7);
transform: scale(0.7);
-webkit-transform-origin: left;
-ms-transform-origin: left;
transform-origin: left
}

.l-header.fixed .l-header__nav {
margin-top: 5px;
margin-left: -10px
}

.fixHeader {
display: none;
}
#js-l-mainvisual{
position: relative;
}
.l-mainvisual__photo {
position: relative;
background-position: 50% 50%;
background-size: contain;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}
.l-mainvisual__photo.photo01{
background-image: url(../images/mv1-new.webp);
}
.l-mainvisual__photo.photo02{
background-image: url(../images/mv2.webp);
}
.l-mainvisual__photo.photo03{
background-image: url(../images/mv3.webp);
}
.l-mainvisual.stop .l-mainvisual__photo {
-webkit-animation: none;
animation: none
}

.l-mainvisual__overlay {
position: relative;
opacity: 0.1;
mix-blend-mode: multiply;
filter: alpha(opacity=60);
z-index: 1
}

.l-mainvisual__overlay img {
width: 100%
}

.l-mainvisual__copy {
    position: absolute;
    top:25%;
    left: 50%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    z-index: 2
}

.l-mainvisual__copy img {
width: 47vw
}
/* .l-mainvisual__copy {
position: absolute;
top:32%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 2
}

.l-mainvisual__copy img {
width: 47.28vw
} */
.topTxt{
position: absolute;
color: #fff;
top: 25%;
left: 5%;
width: 90%;
z-index: 10;
}
.topTxt .main{
text-align: center;
font-weight: bold;
font-size: 3vw;
margin-bottom: 16px;
}
.topTxt .sub{
text-align: center;
font-weight: bold;
font-size: 1.4vw;
    letter-spacing: 0.3em;
}
#js-l-mainvisual .icon{
position: absolute;
/* bottom: 22vw; */
left: 50%;
width: 100%;
z-index: 10;
top: 40%;
}
#js-l-mainvisual .icon .sp{
display: none;
}
#js-l-mainvisual .icon img{
width: 40%;
height: auto;
margin-top: -15px;
}

#js-l-contact-list{
position: relative;
margin-top: -41vw;
padding: 41vw 0 15vw;
background: url(../images/bg-contact.png) no-repeat 0 0;
background-size: 100%;
z-index: 2;
}


.l-point {
position: relative;
padding: 0 0 20vw;
background: url(../images/bg-point.png) no-repeat 0 0;
background-size: 100%;
z-index: 2;
}

.l-point .headline-section {
margin: 0 auto;
padding-right: 3vw;
width: 1000px;
}

.l-point .headline-section em {
margin-right: -0.21em;
margin-bottom: -0.05em
/* margin-bottom: 0.05em */
}

.l-point .card {
float: left;
width: 31%;
margin-right: 3.49%;
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
-webkit-transform: translateY(-40px);
-ms-transform: translateY(-40px);
transform: translateY(-40px)
}

.l-point .card-list {
margin-top: 0vw
}

.l-point .card:nth-of-type(2) {
margin-top: 12vw
}

.l-point .card:nth-of-type(3) {
margin-top: 22vw;
margin-right: 0
}

.l-point .card.show {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0)
}

.l-program .box {
clear: both;
padding: 60px 80px;
opacity: 0;
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px);
-webkit-transition: ease 0.4s;
transition: ease 0.4s
}

.l-program .box.show {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0)
}

.l-program__bg {
position: relative;
z-index: 1
}

.l-program__bg img {
width: 100%
}

.l-voice {
position: relative;
z-index: 2;
margin-top:15vw;
}

.l-voice .headline-section {
margin: 0 auto;
padding-right: 3vw;
width: 1000px
}

.l-voice .headline-section em {
margin-right: -0.21em;
margin-bottom: 0.05em
}

.l-client {
padding-top: 100px;
padding-bottom: 15vw;
background: url(../images/bg-client.png) #bf1920 no-repeat 0 100%;
background-size: 100% auto
}

.l-client .headline-section {
text-align: center
}

.l-client .box {
margin-top: 60px;
opacity: 0;
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px);
-webkit-transition: ease 0.4s;
transition: ease 0.4s
}
.l-client .box.show {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0)
}

.l-faq {
position: relative;
z-index: 2;
margin-bottom: 180px;
margin-top: 100px;
}

.l-faq .acordion {
margin-top: 60px
}

.l-footer {
position: relative;
padding: 0 40px 30px 40px;
z-index: 3
}

.l-footer__corp {
margin-bottom: 20px
}

.l-footer__link {
margin-bottom: 50px;
font-size: 12px;
line-height: 0.9
}

.l-footer__link li {
float: left;
margin-right: 0.5em;
padding-right: 0.5em;
border-right: 1px solid rgba(32, 32, 32, 0.8)
}

.l-footer__link li:last-child {
margin-right: 0;
padding-right: 0;
border: none
}

.l-footer__link li a:hover {
color: #bf1920
}

.l-footer__bottom .copyright {
display: block;
float: left;
font-size: 12px;
line-height: 42px
}


.gnav {
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.gnav-item {
float: left;
margin-right: 30px
}

.gnav a {
position: relative;
display: inline-block;
padding: 10px 0;
color: #000000
}

.gnav a:before {
display: block;
content: "";
position: absolute;
left: 0;
bottom: 13px;
width: 0;
height: 1px;
background-color: rgba(255, 255, 255, 0.8);
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.gnav a:hover:before, .gnav a.current:before {
width: 100%
}

.button {
display: inline-block;
text-align: center;
font-weight: bold;
line-height: 1
}

.button span {
position: relative;
display: inline-block;
padding: 0.9em 1.8em;
z-index: 3
}

.button-white {
position: relative;
color: #1f1f1f;
background: #f3ff02;
}

.button-white:before {
display: block;
content: "";
opacity: 0;
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background-color: rgba(255, 255, 255, 0.15);
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.button-white:hover:before {
opacity: 1;
width: 100%
}

.button-black, .button-red {
position: relative;
color: #fff
}

.button-black:before, .button-black:after, .button-red:before, .button-red:after {
display: block;
content: "";
position: absolute;
top: 0;
left: 0;
height: 100%;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.button-black:before, .button-red:before {
width: 100%;
background-color: #202020;
z-index: 1
}

.button-black:after, .button-red:after {
opacity: 0;
width: 0;
background-color: #bf1920;
z-index: 2
}

.button-black:hover:after, .button-red:hover:after {
opacity: 1;
width: 100%
}

.button-red {
border: none
}

.button-red span {
border: none !important
}

.button-red:before {
background-color: #bf1920
}

.button-large {
font-size: 19px
}

.button-large span {
padding: 1.4em 2.3em
}

.button-plus span, .button-close span {
border: 1px solid #202020;
position: relative;
padding-right: 4em;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.button-plus span:before, .button-plus span:after, .button-close span:before, .button-close span:after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 16px;
height: 1px;
background-color: #fff;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.button-plus span:after, .button-close span:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg)
}

.button-plus span:hover, .button-close span:hover {
border: 1px solid #fff
}

.button-plus span:hover:after, .button-close span:hover:after {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
transform: rotate(0)
}

.button-close {
outline: none
}

.button-close span:after {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg)
}

.button-close span:before {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg)
}

.button-close span:hover:after {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg)
}

.button-close span:hover:before {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg)
}

.card {
background-color: #fff
}

.card-list {
padding: 0 5%
}

.card-photo img {
width: 100%
}

.card-text {
position: relative;
padding: 40px
}

.card-num {
position: absolute;
top: -0.5em;
right: 35px;
color: #bf1920;
font-size: 50px;
letter-spacing: 0.1em;
line-height: 1
}

.card p {
margin-top: 1.2em
}

.card-note {
display: block;
margin-top: 2em;
font-size: 11px
}

.shadow {
box-shadow: 0 5px 25px rgba(32, 32, 32, 0.1)
}

.headline-normal {
font-size: 18px;
font-weight: bold;
line-height: 1.8;
text-align: center;
}

.headline-normal em {
display: block;
font-size: 50px;
line-height: 1.4;
text-align: center;
}

.headline-section {
font-size: 16px;
font-weight: bold;
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px)
}

.headline-section em {
display: block;
margin-bottom: 0.2em;
font-size: 130px;
font-weight: normal;
line-height: 1;
letter-spacing: 0.1em
}

.headline-section strong {
font-size: 45px
}

.headline-section.show {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}

.headline-small em {
font-size: 65px;
line-height: 1.15
}

.headline-white {
color: #fff
}

.headline-red {
color: #bf1920
}

.headline-right {
text-align: right
}

.only-sp {
display: none
}

.title-red {
color: #bf1920
}

.title-white {
color: #fff
}

.borderbox-item {
position: relative;
padding: 35px 40px;
border: 5px solid #202020
}

.borderbox-num {
display: inline-block;
position: absolute;
top: -0.5em;
left: 30px;
padding: 0 10px;
font-size: 50px;
background-color: #fff;
line-height: 1
}

.borderbox .headline-normal {
margin-bottom: 0.5em
}

.box {
background-color: #fff
}

.box-text {
float: left;
width: 60%;
text-align: left
}

.box-lead {
margin-bottom: 0.2em;
font-size: 16px;
font-weight: bold
}

.box-tel em {
color: #bf1920;
font-size: 36px;
font-weight: bold;
letter-spacing: 0.06em
}

.box-tel span {
position: relative;
top: -0.5em;
font-size: 12px
}

.box-button {
float: right;
width: 39%
}

.box-list {
float: left;
width: 33.333%
}

.box-list li {
line-height: 2
}

.box-list li:last-child {
margin-bottom: 0
}

.box-list li span {
display: block;
font-size: 12px
}

.article {
position: relative
}

.article-text {
position: absolute;
width: 500px;
z-index: 2;
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px)
}

.article-text.show {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}

.article-en {
position: relative;
display: inline-block;
margin-bottom: 0.7em;
font-size: 55px;
letter-spacing: 0.06em;
line-height: 1
}

.article-en:before {
display: block;
content: "";
position: absolute;
bottom: -10px;
height: 3px
}

.article .title-red:before {
background-color: #bf1920
}

.article .title-white:before {
background-color: #fff
}

.article-name {
margin-bottom: 0.6em;
font-size: 25px;
font-weight: bold
}

.article p {
font-size: 16px;
font-weight: bold
}

.article-title {
margin-bottom: 1em;
font-size: 27px;
font-weight: bold;
line-height: 1
}

.article-title span {
display: inline-block;
margin: 0.3em 0;
padding: 0.5em 0.6em 0.4em;
background-color: #fff
}

.article-title span:nth-of-type(1) {
padding-left: 0.13em
}

.article-right .article-text {
left: 50%
}

.article-right .article-en:before {
right: 0;
width: 130%
}

.article-left .article-text {
right: 50%;
text-align: right
}

.article-left .article-text p {
text-align: right
}

.article-left .article-en:before {
width: 120%
}

.article-bg {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
z-index: 1
}

.article-photo {
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px)
}

.article-photo.show {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}

.article-photo#js-l-article2-photo {
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px)
}

.article-photo#js-l-article2-photo.show {
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}

.article img {
width: 100%
}

.article:nth-of-type(1) {
z-index: 1
}

.article:nth-of-type(1) .article-text {
top: 11vw
}

.article:nth-of-type(1) .article-title {
margin-top: 2.2em
}

.article:nth-of-type(2) {
margin-top: -6vw;
color: #fff;
background: url(../images/bg-voice2.png) no-repeat 0 100%, url(../images/bg-voice2-middle.png) no-repeat 0 20%;
background-size: 100% auto;
z-index: 2
}

.article:nth-of-type(2) .article-text {
top: 9vw
}

.article:nth-of-type(2) .article-title {
color: #202020;
margin-top: 1.2em
}

.article:nth-of-type(3) {
margin-top: -5vw;
background: url(../images/bg-voice3.png) no-repeat 0 100%;
background-size: 100% auto;
z-index: 3
}

.article:nth-of-type(3) .article-text {
top: 11vw
}

.article:nth-of-type(3) .article-title {
margin-top: 1.2em
}

.acordion-label {
position: relative;
margin-top: 2.5em;
padding: 1.2em 40px 1.2em 70px;
font-weight: bold;
font-size: 18px;
background-color: #fff;
cursor: pointer;
z-index: 1;
opacity: 0;
-webkit-transition: ease 0.4s;
transition: ease 0.4s
}

.acordion-label.show {
opacity: 1 !important;
-webkit-transform: translateX(0) !important;
-ms-transform: translateX(0) !important;
transform: translateX(0) !important
}

.acordion-label:nth-of-type(even) {
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px)
}

.acordion-label:nth-of-type(odd) {
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px)
}

.acordion-label i {
position: absolute;
top: 50%;
right: 30px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.acordion-label:before {
display: block;
content: "Q";
position: absolute;
top: 50%;
left: 30px;
color: #bf1920;
font-family: "oswald", sans-serif;
font-size: 26px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%)
}

.acordion-label.active i {
-webkit-transform: rotate(180deg) translateY(55%);
-ms-transform: rotate(180deg) translateY(55%);
transform: rotate(180deg) translateY(55%)
}

.acordion-content {
display: none;
position: relative;
margin-top: 2px;
padding: 2em 40px 2em 70px;
border-top: 2px solid #f8f8f8;
line-height: 1.8;
background-color: #fff;
z-index: 2
}

.acordion-content:before {
display: block;
content: "A";
position: absolute;
top: 0.8em;
left: 30px;
font-family: "oswald", sans-serif;
font-size: 26px
}

.form {
padding: 70px
}

.form-list {
font-size: 18px
}

.form-label {
position: relative;
clear: both;
float: left;
margin-bottom: 2em;
padding-left: 2em;
width: 27%;
font-weight: bold;
line-height: 60px
}

.form-label:before {
display: inline-block;
content: "";
position: absolute;
top: 50%;
left: 0;
width: 10px;
height: 2px;
background-color: #202020;
-webkit-transform: translateY(-1px);
-ms-transform: translateY(-1px);
transform: translateY(-1px)
}

.form-label.require:before {
background-color: #bf1920
}

.form-content {
float: left;
margin-bottom: 2em;
width: 73%
}

.form-content .note {
display: block;
margin-top: 0.5em;
font-size: 12px
}

.form-content .note.error {
color: rgba(191, 25, 32, 0.7)
}

.form-content .text {
margin-right: 0.5em
}

.form-select {
position: relative;
display: inline-block;
background-color: #f8f8f8;
z-index: 1
}

.form-select:before {
display: block;
content: "\e900";
position: absolute;
top: 50%;
right: 20px;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%)
}

.form input, .form textarea, .form select, .form-style {
margin-right: 0.5em;
padding: 1em 1.5em;
background-color: #f8f8f8;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.form input.max, .form textarea.max, .form select.max, .form-style.max {
width: 98%
}

.form input.min, .form textarea.min, .form select.min, .form-style.min {
width: 25%
}

.form input.second, .form textarea.second, .form select.second, .form-style.second {
margin-top: 10px
}

.form input[type="radio"], .form textarea[type="radio"], .form select[type="radio"], .form-style[type="radio"] {
display: none
}

.form input[type="radio"]:checked+label:after, .form textarea[type="radio"]:checked+label:after, .form select[type="radio"]:checked+label:after, .form-style[type="radio"]:checked+label:after {
opacity: 1
}

.form input:focus, .form textarea:focus, .form select:focus, .form-style:focus {
background-color: #f3f3f3
}

.form input.error, .form textarea.error, .form select.error, .form-style.error {
color: rgba(191, 25, 32, 0.7);
background-color: rgba(191, 25, 32, 0.05)
}

.form select {
position: relative;
margin-right: 0;
padding-right: 3em;
background-color: transparent;
z-index: 2;
padding: 0 4em 0 1em!important;
box-sizing: border-box;
width: 100%;
height: 53px
}

.form select:focus {
background-color: transparent
}

.form-style {
position: relative;
display: inline-block;
padding-left: 3.5em
}

.form-style:before, .form-style:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
border-radius: 30px
}

.form-style:before {
left: 20px;
width: 30px;
height: 30px;
background-color: #fff
}

.form-style:after {
opacity: 0;
left: 28px;
width: 14px;
height: 14px;
background-color: #202020;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}

.form-button {
text-align: center
}

.form-button .button {
width: 46%;
outline: none
}

.form-complete {
text-align: center
}

.form-complete .headline-normal {
margin-bottom: 1.5em
}

.form-complete p {
text-align: center
}

.sns li {
float: left;
margin-left: 35px
}

.sns li a {
display: inline-block;
width: 40px;
height: 40px;
color: #fff;
font-size: 20px;
text-align: center;
line-height: 44px;
border-radius: 50%
}

.sns-facebook a {
background-color: #1157a2
}

.sns-facebook a:hover {
background-color: #0f4b8b
}

.sns-twitter a {
background-color: #00a9e6
}

.sns-twitter a:hover {
background-color: #0096cd
}

.sns-youtube a {
background-color: #fc0017
}

.sns-youtube a:hover {
background-color: #e30015
}

.sns-insta a {
background-color: #245b83
}

.sns-insta a:hover {
background-color: #1f4d6f
}

@-webkit-keyframes modalwindow_body_in {
0% {
-webkit-transform: translateY(-20px);
transform: translateY(-20px)
}
100% {
-webkit-transform: translateY(0px);
transform: translateY(0px)
}
}

@keyframes modalwindow_body_in {
0% {
-webkit-transform: translateY(-20px);
transform: translateY(-20px)
}
100% {
-webkit-transform: translateY(0px);
transform: translateY(0px)
}
}

@-webkit-keyframes modalwindow_body_out {
0% {
-webkit-transform: translateY(0px);
transform: translateY(0px)
}
100% {
-webkit-transform: translateY(-20px);
transform: translateY(-20px)
}
}

@keyframes modalwindow_body_out {
0% {
-webkit-transform: translateY(0px);
transform: translateY(0px)
}
100% {
-webkit-transform: translateY(-20px);
transform: translateY(-20px)
}
}

.modalwindow {
display: none;
position: fixed;
top: 0;
left: 0;
overflow: auto;
z-index: 101;
width: 100%;
height: calc(100% + 100px);
background: rgba(0, 0, 0, 0.8);
border-bottom: 100px solid transparent;
cursor: pointer;
opacity: 1
}

.modalwindow.no_overlay_close {
cursor: default
}

.modalwindow .body {
position: relative;
left: 50%;
top: 0;
width: 1000px;
margin-left: -500px;
margin-top: 150px;
margin-bottom: 100px;
cursor: default;
-webkit-transform: translateY(-20px);
-ms-transform: translateY(-20px);
transform: translateY(-20px);
-webkit-animation: 200ms modalwindow_body_out;
animation: 200ms modalwindow_body_out;
text-align: center
}

.modalwindow .body .modal_content {
margin-bottom: 50px;
text-align: left
}

.modalwindow.is_visible .body {
-webkit-transform: translateY(0px);
-ms-transform: translateY(0px);
transform: translateY(0px);
-webkit-animation: 400ms modalwindow_body_in;
animation: 400ms modalwindow_body_in
}

.modal-voice {
overflow: hidden;
padding: 80px 50px
}

.modal-voice1 {
padding-bottom: 140px;
background: url(../images/modal-photo1.webp) #fff no-repeat 0 100%;
background-size: 100% auto
}

.modal-voice1 .modal-right {
margin-top: 2em
}

.modal-voice2 {
background: url(../images/modal-photo2.webp) #fff no-repeat 0 100%;
background-size: 100% auto
}

.modal-voice2 .modal-left {
margin-top: 1em
}

.modal-voice3 {
background: url(../images/modal-photo3.webp) #fff no-repeat 0 100%;
background-size: 100% auto
}

.modal-voice3 .modal-right {
margin-top: 1em
}

.modal-name {
margin-bottom: 0.8em;
font-size: 55px;
text-align: center;
letter-spacing: 0.06em;
line-height: 1
}

.modal-left {
float: left;
width: 57%
}

.modal-right {
float: right;
width: 63%
}

@media screen {
[hidden~=screen] {
display: inherit
}
[hidden~=screen]:not(:active):not(:focus):not(:target) {
position: absolute !important;
clip: rect(0 0 0 0) !important
}
}

@media screen and (max-width: 860px) {
body {
font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-size: 2.6vw;
font-weight: normal
}
.inner {
padding: 0 6.25vw;
width: 100%
}
.l-header {
padding: 2.25vw;
min-width: auto
}
.l-header__logo img {
width: 24.6vw;
width: 20vw;
}
.l-header__nav {
display: none;
}

.l-header__nav-menu {
display: block
}
.l-header__primary {
width: 100% !important;
height: auto !important
}
.l-header.fixed {
background-color: transparent
}
.thanks .l-header.fixed {
padding: 10px 6vw
}
.l-header.fixed .l-header__logo {
opacity: 0;
visibility: hidden
}
.thanks .l-header.fixed .l-header__logo {
margin-top: 4vw;
opacity: 1;
visibility: visible
}
.thanks .l-header.fixed .l-header__logo img {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
-webkit-transform-origin: left;
-ms-transform-origin: left;
transform-origin: left
}
.l-header.fixed .l-header__nav {
margin-top: 0;
margin-left: 0
}
.l-header.fixed .l-header__contact {
opacity: 0;
visibility: hidden
}
.l-header.fixed .l-header__tel {
opacity: 0;
visibility: hidden
}
.l-header.fixed .l-header__nav-menu {
top: 3.25vw;
right: 3.25vw;
border: 3vw solid rgba(0, 0, 0, 0.05);
background-color: rgba(0, 0, 0, 0.8);
box-sizing: content-box
}
.fixHeader {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 60px;
z-index: 99
}
.fixHeader .telBtn {
position: absolute;
top: 0;
left: 0;
width: 50%;
height: 60px;
background: #333;
color: #fff;
text-align: center;
line-height: 60px;
font-weight: bold;
box-sizing: border-box;
border-right: 1px solid #333;
}
.fixHeader .telBtn:after {
content: "";
position: absolute;
top: 47%;
right: 40px;
width: 7px;
height: 7px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg) translate(0, -50%);
}
.fixHeader .telBtn:hover {
background: #f3ff02;
color: #1f1f1f;
}
.fixHeader .telBtn:hover:after {
border-top: 1px solid #333;
border-right: 1px solid #333;
}
.fixHeader .contactBtn {
position: absolute;
top: 0;
right: 0;
width: 50%;
height: 60px;
background: #f3ff02;
color: #1f1f1f;
text-align: center;
line-height: 60px;
font-weight: bold;
box-sizing: border-box;
border-left: 1px solid #f3ff02;
}
.fixHeader .contactBtn:after {
content: "";
position: absolute;
top: 47%;
right: 40px;
width: 7px;
height: 7px;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg) translate(0, -50%);
}
.fixHeader .contactBtn:hover {
background: #333;
color: #fff;
}
.fixHeader .contactBtn:hover:after {
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}
.l-mainvisual__photo.photo01{
background-image: url(../images/mv1-new-sp.webp);
}
.l-mainvisual__photo.photo02{
background-image: url(../images/mv2-sp.webp);
}
.l-mainvisual__photo.photo03{
background-image: url(../images/mv3-sp.webp);
}
.l-mainvisual.stop .l-mainvisual__photo {
-webkit-animation: none;
animation: none
}
#js-l-mainvisual .icon .sp{
display: block;
width: 100%;
}
#js-l-mainvisual .icon .tab-pc{
display: none;
}
#js-l-mainvisual .icon{
bottom: 0;
top: 55%;
width: 90%;
left: 5%;
}
.l-mainvisual__copy img {
width: 55vw
}
.l-mainvisual__copy {
top: 34%;
left: 43%;
}
/* .l-mainvisual__copy img {
width: 67vw
}
.l-mainvisual__copy {
top: 40%;
} */
.topTxt{
top: 25%;
}
.topTxt .main{
font-size: 4.8vw;
}
.topTxt .sub{
font-size: 2.4vw;
}

.l-point {
margin-top: 0;
padding-top: 0;
padding-bottom: 30vw;
background: url(../images/bg-point-bottom-sp.png) no-repeat 0 100%;
background-size: 100% auto;
background-color: #bf1920
}
.l-point .headline-section {
width: auto
}
.l-point .card {
float: none;
width: 100% !important;
margin-right: 0 !important
}
.l-point .card-list {
margin-top: 0
}
.l-point .card:nth-of-type(2), .l-point .card:nth-of-type(3) {
margin-top: 8vw
}
.l-point .card:nth-of-type(1), .l-point .card:nth-of-type(3) {
-webkit-transform: translateX(30px);
-ms-transform: translateX(30px);
transform: translateX(30px)
}
.l-point .card:nth-of-type(2) {
-webkit-transform: translateX(-30px);
-ms-transform: translateX(-30px);
transform: translateX(-30px)
}
.l-point .card.show:nth-of-type(1), .l-point .card.show:nth-of-type(2), .l-point .card.show:nth-of-type(3) {
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}
.l-program .box {
padding: 8vw 6.25vw;
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px)
}
.l-voice .headline-section {
width: auto
}
.l-client .box {
margin-top: 4vw;
font-size: 3.5vw
}
.l-client {
margin-top: 0;
padding-top:20vw;
background-image: url(../images/bg-client-sp.png)
}
.l-faq{
margin-bottom:15vw;
}
.l-faq .acordion {
margin-top: 9vw
}
.l-footer {
margin-top: 0;
text-align: center
}
.l-footer__corp img {
width: 63.4vw
}
.l-footer__link {
margin-bottom: 15vw;
font-size: 3vw
}
.l-footer__link li {
display: inline-block;
float: none
}
.l-footer__bottom .copyright {
float: none;
font-size: 2.6vw;
text-align: center
}

.gnav {
position: absolute;
top: 50%;
width: 100%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%)
}
.gnav-item {
float: none;
margin-right: 0;
margin-bottom: 3.8vw
}
.gnav-item:last-child {
margin-bottom: 0
}
.gnav-item img {
width: 32vw
}
.gnav a {
display: block;
font-size: 4.2vw
}
.gnav a:hover:before, .gnav a.current:before {
width: 0
}
.button-white:hover:before {
opacity: 0;
width: 0
}
.button-black:hover:after, .button-red:hover:after {
opacity: 0;
width: 0
}
.button-black, .button-red {
width: 100%
}
.button-large {
font-size: 4vw;
letter-spacing: 0.06em
}
.button-plus span, .button-close span {
width: 100%;
border: none;
padding: 1em 2.3em;
}

.button-plus span:before, .button-plus span:after, .button-close span:before, .button-close span:after {
right: 1.5em;
width: 1em
}
.card-list {
padding: 0 6.25vw !important
}
.card-text {
padding: 7vw 6.25vw
}
.headline-normal {
font-size: 3.2vw;
text-align: center;
}
.headline-section {
margin-bottom: 2em !important;
font-size: 3vw;
text-align: center
}
.headline-section em {
font-size: 7.5vw;
text-align: center;
}
.headline-section strong {
font-size: 5vw
}
.headline-small em {
font-size: 7.vw
}
.headline-right {
text-align: center
}
.only-pc {
display: none
}
.only-sp {
display: inline-block
}
.borderbox-item {
padding: 6.25vw
}
.box-text {
float: none;
width: 100%
}
.box-lead {
margin-left: 0.5em;
margin-bottom: 0.5em;
font-size: 4vw;
text-align: center;
line-height: 1.5
}
.box-tel {
margin-bottom: 1.5em;
text-align: center
}
.box-tel a {
color: #bf1920
}
.box-tel em {
font-size: 8vw
}
.box-tel span {
display: block;
top: auto;
font-size: 2.8vw
}
.box-button {
float: none;
width: 100%
}
.box-list {
float: none;
width: 100%
}
.box-list li span {
font-size: 2.8vw;
text-align: right
}
.article-text {
padding: 0 6.25vw;
width: 100%
}
.article-text#js-l-article2 {
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px)
}
.article-text#js-l-article2.show {
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0)
}
.article-en {
font-size: 5vw
}
.article-en:before {
bottom: -5px;
height: 2px
}
.article-name {
font-size: 4.5vw
}
.article p {
font-size: 2.6vw;
font-weight: normal
}
.article-title {
font-size: 4vw
}
.article-right .article-text {
left: 0
}
.article-right .article-en, .article-right .article-name, .article-right p {
margin-left: 50%
}
.article-left .article-text {
right: auto;
left: 0;
text-align: left
}
.article-left .article-name, .article-left p {
width: 50%;
text-align: right
}
.article:nth-of-type(2) {
margin-top: 0;
padding-top: 8vw;
background: url(../images/bg-voice2-sp.png) #bf1920 no-repeat 0 100%;
background-size: 100% auto
}
.article:nth-of-type(3) {
margin-top: 0;
background-image: url(../images/bg-voice3-sp.png);
background-size: 100% auto
}
.article:nth-of-type(1) .article-text {
margin-top: 0;
}
.article:nth-of-type(2) .article-text, .article:nth-of-type(3) .article-text {
margin-top: 2vw
}
.article:nth-of-type(1) .article-title, .article:nth-of-type(2) .article-title, .article:nth-of-type(3) .article-title {
margin-top: 1em
}
.article:nth-of-type(1) {
padding-bottom: 4vw;
}
.article figure img {
width: 70%;
display: block;
}
.article.article-left figure img {
margin: 0 0 0 auto;
}
.acordion-label {
margin-top: 2em;
padding: 1.2em 6vw 2.3em 3.5em;
font-size: 4vw
}
.acordion-label i {
top: auto;
left: 50%;
right: auto;
bottom: 0.75em;
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%)
}
.acordion-label:before {
top: 0.8em;
left: 6.25vw;
font-size: 6vw;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0)
}
.acordion-label.active i {
-webkit-transform: rotate(180deg) translateX(55%);
-ms-transform: rotate(180deg) translateX(55%);
transform: rotate(180deg) translateX(55%)
}
.acordion-content {
padding: 6vw 7vw
}
.acordion-content:before {
display: none
}
.form {
padding: 8vw 4vw 8vw 6.25vw
}
.form-list {
font-size: 16px
}
.form-label {
float: none;
margin-bottom: 0.8em;
width: 100%;
line-height: 1
}
.form-content {
float: none;
margin-bottom: 2.5em;
width: 100%
}
.form input, .form textarea, .form select, .form-style {
padding: 1em 1em 1.2em 1em
}
.form input.middle, .form textarea.middle, .form select.middle, .form-style.middle {
width: 98%
}
.form input.min, .form textarea.min, .form select.min, .form-style.min {
width: 35%
}
.form select {
padding-right: 4em
}
.form-style {
padding-left: 4em
}
.form-button .button {
width: 100%
}
.form-complete {
text-align: left
}
.form-complete p {
text-align: left
}
.sns {
margin-bottom: 6vw;
text-align: center
}
.sns li {
display: inline-block;
float: none;
margin: 0 0.8em
}
.sns li a {
padding-left: 0.07em;
width: 2em;
height: 2em;
font-size: 4.6vw;
line-height: 2.2em
}
.modalwindow .body {
left: auto;
margin: 15vw 6.25vw 25vw;
width: auto
}
.modalwindow .body .modal_content {
margin-bottom: 40px
}
.modal-voice {
padding: 10vw 6.25vw
}
.modal-voice1 {
background-image: none
}
.modal-voice1 .modal-right {
margin-top: 1em
}
.modal-voice2 {
background-image: none
}
.modal-voice3 {
background-image: none
}
.modal-name {
font-size: 10vw;
line-height: 1.2
}
.modal-left {
float: none;
width: 100%
}
.modal-right {
float: none;
width: 100%
}
}

@media screen and (max-width: 480px) {
body {
font-size: 3.4vw
}
.l-header__primary-inner {
padding: 20px 10px 0 0;
}
.l-header__tel-num {
font-size: 4.5vw;
}
.l-header__tel-time {
font-size: 2.7vw;
}
.l-header__contact {
top: 5vw;
margin-left: 10px;
}
.fixHeader .telBtn {
height: 45px;
line-height: 45px;
}
.fixHeader .contactBtn {
height: 45px;
line-height: 45px;
}
.l-header__contact .button span{
padding: 1.2em 1.8em;
}
.l-point .headline-normal{
line-height: 1.5;
font-size: 3.897vw;
padding-bottom:10px;
position: relative;
}
.l-point .headline-normal .arrow{
width: 23px;
height: 23px;
display: inline-block;
border: 2px solid #bf1920;
color: #bf1920;
text-align: center;
border-radius: 50%;
position:absolute;
bottom:-17px;
left: 50%;
transform: translate(-50%,0);
-webkit-transition: ease 0.4s;
transition: ease 0.4s
}
.l-point .headline-normal.open .arrow{
transform:translate(-50%,0) rotate(180deg);
}
.l-point .headline-normal .arrow:after{
content:"";
position: absolute;
top: 5px;
left: 6px;
width: 7px;
height: 7px;
border-bottom: 2px solid #bf1920;
border-right: 2px solid #bf1920;
transform: rotate(45deg);
}
.l-point .pointBox {
display: none;
padding-top: 10px;
}

.l-program .inner {
padding-bottom: 0
}
.gnav-item {
margin-bottom: 1vw
}
.gnav a {
font-size: 4vw
}
.button-white span {
padding: 0.7em 1.2em;
font-size: 11px
}
.card-num {
right: 6.25vw;
font-size: 9vw
}
.headline-normal {
font-size: 4.2vw;
text-align: center;
}
.borderbox-num {
left: 3.8vw;
font-size: 10vw
}
.sns {
margin-bottom: 3vw
}
.sns li a {
font-size: 5.2vw
}
}

@media screen and (min-width: 1700px) {
body {
font-size: 0.9vw
}
.inner {
width: 60vw
}
.l-header__primary {
width: 36vw;
height: 320px
}
.l-point .headline-section {
padding-right: 1vw;
width: 60vw
}
.l-point .card-list {
margin-top: -5vw
}
.l-point .card:nth-of-type(2) {
margin-top: 11vw !important
}
.l-point .card:nth-of-type(3) {
margin-top: 22vw !important
}
.l-flow .borderbox-item:nth-of-type(1):after, .l-flow .borderbox-item:nth-of-type(4):after {
right: -5.1vw;
width: 5.1vw
}
.l-flow .borderbox-item.show:nth-of-type(1):after, .l-flow .borderbox-item.show:nth-of-type(4):after {
right: -5.1vw;
width: 5.1vw
}
.l-voice .headline-section {
padding-right: 1vw;
width: 60vw
}
.button-large {
font-size: 1.15vw
}
.card-text {
padding: 50px
}
.card-note {
font-size: 0.75vw
}
.headline-normal {
font-size: 1.25vw
}
.headline-section {
font-size: 1vw
}
.headline-section em {
font-size: 8vw
}
.headline-small em {
font-size: 3.75vw
}
.box-lead {
font-size: 0.99vw
}
.box-tel em {
font-size: 2.2vw
}
.box-tel span {
font-size: 0.75vw
}
}

@media screen and (max-width: 1180px) {
.l-header__primary {
width: auto;
height: auto;
background: none
}
}

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

.l-point .card:nth-of-type(2) {
margin-top: 200px
}
.l-point .card:nth-of-type(3) {
margin-top: 400px
}
}

@media screen and (max-width: 1366px) {
.l-point .card {
margin-right: 2%;
width: 32%
}
.l-point .card:nth-of-type(3) {
margin-right: 0
}
.card-list {
padding: 0 2%
}
}

@media screen and (max-width: 320px) {
.button-white span {
font-size: 10px
}
}


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

.isNone {
display: none !important
}

.loading {
width: 50px;
height: 50px;
margin: 0 auto;
}

.loading::before {
content: "";
display: block;
width: 50px;
height: 50px;
border-radius: 5px;
margin-top: -15px;
margin-left: -15px;
background: white;
}

.loading::after {
content: "";
display: block;
width: 32px;
height: 32px;
border-radius: 20px;
margin-top: -10px;
margin-left: -10px;
border: 4px solid #bf1920;
border-right: 4px solid white;
animation: rotate 1s infinite linear;
}

@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/*l-staff*/
#js-l-staff{
margin-top: 10vw;
z-index: 2;
position: relative;
}
@media screen and (max-width: 860px) {
#js-l-staff {
margin-top: -12vw;
}
}
#js-l-staff .slider {
margin: 90px 0 180px;
}

@media screen and (max-width: 480px) {
#js-l-staff .slider {
margin: 50px 0 15vw;
}
}

#js-l-staff .sliderList .img {
position: relative;
}

#js-l-staff .sliderList .img img {
width: 100%;
height: auto;
}

#js-l-staff .sliderList .nameEn {
position: absolute;
top: 0;
left: -1.5em;
font-size: 12px;
width: 1em;
height: 1em;
overflow: visible;
color: #b31b21;
transform: rotate(90deg);
}

@media screen and (max-width: 480px) {
#js-l-staff .sliderList .nameEn {
font-size: 8pt;
}
}

#js-l-staff .sliderList .nameEn .txt {
letter-spacing: 0.3em;
}

#js-l-staff .sliderList .box {
width: 95%;
background: #fff;
margin-top: -90px;
padding: 40px 20px 0 20px;
position: relative;
z-index: 10;
}

@media screen and (max-width: 480px) {
#js-l-staff .sliderList .box {
padding: 40px 15px 0 15px;
}
}

#js-l-staff .sliderList .box .name {
font-size: 23px;
margin-bottom: 10px;
letter-spacing: 0.2em;
}

#js-l-staff .sliderList .box .note {
font-size: 12px;
}

@media screen and (max-width: 480px) {
#js-l-staff .sliderList .box .note {
font-size: 8pt;
}
}
/*l-flow*/
.l-flow{
margin-bottom: 90px;
}
@media screen and (max-width: 480px) {
.l-flow{
margin-bottom: 50px;
}
}
.l-flow .headline-section {
text-align: center;
margin-bottom: 90px;
}
.l-flow .flowContent:nth-child(1),
.l-flow .flowContent:nth-child(2n+1){
-webkit-transform: translateX(40px);
-ms-transform: translateX(40px);
transform: translateX(40px);
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
}
.l-flow .flowContent:nth-child(2n){
-webkit-transform: translateX(-40px);
-ms-transform: translateX(-40px);
transform: translateX(-40px);
-webkit-transition: ease 0.4s;
transition: ease 0.4s;
opacity: 0;
}
.l-flow .flowContent.show {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}



.l-flow .flowContent .flowTtl{
padding:0 5%;
border-bottom: 1px solid #e7e7e7;
height: 114px;
line-height: 114px;
font-size: 2.5vw;
font-weight: bold;
position: relative;
margin-bottom: 0;
}
@media screen and (max-width: 860px) {
.l-flow .flowContent .flowTtl{
font-size:3.5vw;
}
}
@media screen and (max-width: 480px) {
.l-flow .flowContent .flowTtl{
font-size:4.5vw;
height: 57px;
line-height: 57px;
}
}
.l-flow .flowContent .flowTtl:after{
content: "";
position: absolute;
width: 20px;
height: 20px;
top:53px;
right: 10%;
border-top: 3px solid #000;
border-right: 3px solid #000;
transform: rotate(-45deg) ;
-webkit-transition: ease 0.2s;
transition: ease 0.2s;
}
@media screen and (max-width: 480px) {
.l-flow .flowContent .flowTtl:after{
width: 10px;
height: 10px;
top:26px;
border-top: 2px solid #000;
border-right: 2px solid #000;
}
}
.l-flow .flowContent .flowTtl.open:after{
transform: rotate(135deg) ;
}
.l-flow .flowContent .flowTtl .num{
font-family: "oswald", sans-serif;
color: #bf1920;
margin-right: 1em;
font-size:3vw;
vertical-align: middle;
position: relative;
top: -3px;
font-weight: normal;
}
@media screen and (max-width: 860px) {
.l-flow .flowContent .flowTtl .num{
font-size:4.5vw;
}
}
@media screen and (max-width: 480px) {
.l-flow .flowContent .flowTtl .num{
font-size:7vw;
}
}
.l-flow .flowContent .flowNote{
padding:40px 5%;
border-bottom: 1px solid #e7e7e7;
font-size: 1.5vw;
display: none;
}
@media screen and (max-width: 480px) {
.l-flow .flowContent .flowNote{
font-size: 3.5vw;
padding:20px 5%;
}
}
.l-thanks {
position: relative;
margin-top: -22vw;
padding-top: 35vw;
padding-bottom: 24vw;
background: url(../images/bg-thanks-top.png) no-repeat 0 0,url(../images/bg-thanks-bottom.png) no-repeat 0 100%;
background-color: #bf1920;
background-size: 100% auto, 100% auto;
z-index: 1;
}
@media screen and (max-width: 860px) {
.l-thanks {
background: url(../images/bg-thanks-top-sp.png) no-repeat 0 0,url(../images/bg-thanks-bottom-sp.png) no-repeat 0 100%;
background-size: 100% auto, 100% auto;
background-color: #bf1920;
}
}
.l-thanks .headline-section {
margin-bottom: 4em;
text-align: center;
}

.l-thanks .headline-section {
margin-bottom: 4em;
text-align: center;
color: #fff;
opacity: 1;
transform: translateX(0);
}
.gotop a{
margin: 0 0 30px auto;
width:80px;
height: 80px;
display: block;
background: #f3ff02;
position: relative;
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}
@media screen and (max-width: 860px) {
.gotop a{
margin: 0 0 30px auto;
width:60px;
height: 60px;
}
}
.gotop a:hover{
background:#000;
}
.gotop a:after{
content: "";
position: absolute;
top: 34px;
left: 29px;
width: 23px;
height: 23px;
border-top: 2px solid #000;
border-right: 2px solid #000;
transform: rotate(-45deg);
-webkit-transition: ease 0.2s;
transition: ease 0.2s
}
@media screen and (max-width: 860px) {
.gotop a:after{
top:25px;
left: 24px;
width: 10px;
height: 10px;
}
}
.gotop a:hover:after{
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}


/* 林追加 */
.p-thanks__onegai__buttonBox {
    margin-top: 30px;
  }
@media screen and (max-width: 1079px) {
    .p-thanks__onegai__buttonBox {
        margin-top: calc(30 / 1080 * 100vw);
    }
}
@media screen and (max-width: 767px) {
    .p-thanks__onegai__buttonBox {
        margin-top: calc(30 / 375 * 100vw);
    }
}
.p-thanks__onegai__buttonBox__button {
    margin: 0 auto;
    width: 197px;
    color: var(--color-re);
}
.p-thanks__onegai__buttonBox__button img {
    height: auto;
    width: 100%;
}
@media screen and (max-width: 1079px) {
    .p-thanks__onegai__buttonBox__button {
        width: calc(197 / 1080 * 100vw);
    }
}
@media screen and (max-width: 767px) {
    .p-thanks__onegai__buttonBox__button {
        width: calc(250 / 375 * 100vw);
    }
}
.p-thanks__onegai__buttonBox__button a {
    display: block;
}
.p-thanks__onegai__buttonBox__text {
    display: none;
    font-size: 15px;
    letter-spacing: 0.05em;
    line-height: 30px;
    margin-top: 20px;
    text-align: center;
    text-align: center;
}
@media screen and (max-width: 1079px) {
    .p-thanks__onegai__buttonBox__text {
        font-size: calc(15 / 1080 * 100vw);
        line-height: calc(30 / 1080 * 100vw);
        margin-top: calc(20 / 1080 * 100vw);
    }
}
@media screen and (max-width: 767px) {
    .p-thanks__onegai__buttonBox__text {
        font-size: calc(15 / 375 * 100vw);
        line-height: calc(30 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
    }
}
.p-thanks__onegai__buttonBox__text span.color {
    color: var(--color-main);
    font-weight: bold;
}
.p-thanks__onegai__buttonBox__text span.em {
    font-weight: bold;
}
.schedule_adjustment_button {
    justify-content: center;
}
.new_graduate_recruitment {
    margin-right: 50px; 
}
.simpleComp {
    margin-top: 20px;
    margin-bottom: -40px;
}
.icon-words {
    font-size: 90%;
}
@media screen and (max-width: 1079px) {
.schedule_adjustment_button {
        flex-direction: column;
        align-items: center;
    }
    .headline-normal {
        text-align: center;
    }
    .new_graduate_recruitment {
        margin-right: 0; 
        margin-bottom: 50px; 
    }
    .simpleComp {
        margin-top: 20px;
        margin-bottom: -40px;
    }
    .icon-words {
        font-size: 90%;
    }
}
@media screen and (max-width: 767px) {
    .schedule_adjustment_button {
        flex-direction: column;
        align-items: center;
    }
    .headline-normal {
        text-align: center;
    }
    .new_graduate_recruitment {
        margin-right: 0; 
        margin-bottom: 50px; 
    }
    .simpleComp {
        margin-top: 20px;
        margin-bottom: -20px;
    }
    .icon-words {
        font-size: 50%;
    }
}

/* CTAボタン */
/* CTA_05 */

.cta05-cvset {
    padding: 100px 0 0;
    margin-top: -40%;
}
.point-cta{
    margin-top: 40%;
}
.point-cta{
    margin-top: 40%;
}
.staff-cta{
    margin-top: 30%;
}

.voice-cta{
    margin-top: 40%;
}

.cta05-cvset .cta05-inner {
    padding: 10px 0 20px;
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.cta05-cvset .cta05-inner ul {
    list-style:none;
    margin-top: 40px;
    padding-inline-start:0;
    border: none;
    padding: 0;
}

.cta05-cvset-list {
    display: flex;
    width: 100%;
    max-width: 780px;
    justify-content: space-between;
    margin: 0 auto;
}
.cta05-cvset-list li {
    max-width: 360px;
    width: 100%;
    margin: 0 5px;
}
.cta05-cvset-list img {
    width:100%;
    text-align:center;
}
.cta05-button.dwl, .cta05-button.etm {
    background-color: #fff;
    border: 3px solid #005fa0;
    color: #005fa0;
}
.cta05-button.dwl, .cta05-button.dmo, .cta05-button.etm {
    height: 150px; /* ボタン高さの変更 */
    font-size: 40px;
    font-weight: bold;
    line-height: 1.4em;
    text-align: center;
    flex-direction: column;
    white-space: nowrap;
    text-decoration: none;
}
.cta05-button.dmo {
    background-color: #005fa0;
    border: 3px solid #005fa0;
    color: #fff;
}
.cta05-button {
    position: relative;
    display: flex;
    width: 200%; /* ボタン幅の変更 */
    height: 72px;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 12px;
    margin: 0;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 6px 10px -2px rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.2);
    transition: 0.2s ease-in-out;
}
.cta05-button.free::after {
    content: "無料";
    position: absolute;
    display: block;
    top: -17px;
    right: 8px;
    width: 80px;
    height: 30px;
    font-size: 16px;
    font-weight: bold;
    line-height: 32px;
    text-align: center;
    background-color: #FF0000;
    color: #fff;
    border-radius: 16px;
}
.cta05-button.dwl:hover, .cta05-button.dmo:hover, .cta05-button.etm:hover {
    background-color: #6bb6ff;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.cta05-button.dwl small, .cta05-button.dmo small, .cta05-button.etm small {
    display: block;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: 0;
    margin-bottom: 4px;
    white-space: nowrap;
}

@media screen and (max-width: 768px){
    .cta05-cvset {
        margin-top: -65%;
    }
    .cta05-cvset .cta05-inner {
        padding: 40px 20px 32px;
    }
    .cta05-cvset-list {
        flex-direction: column;
        align-items: center;
        padding-bottom: 16px;
    }
    .cta05-button.dwl small, .cta05-button.dmo small, .cta05-button.etm small {
        font-size: 12px;
    }
    .cta05-button.dwl, .cta05-button.dmo, .cta05-button.etm {
        height: 100px; /* ボタン高さの変更 */
        font-size: 200%;
        font-weight: bold;
        line-height: 1.4em;
        text-align: center;
        flex-direction: column;
        white-space: nowrap;
        text-decoration: none;
    }
    .cta05-button {
        position: relative;
        display: flex;
        width: 100%; /* ボタン幅の変更 */
        height: 72px;
        text-align: center;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 12px;
        margin: 0;
        box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 6px 10px -2px rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.2);
        transition: 0.2s ease-in-out;
    }
}
/* CTAボタン */
/* ポップアップ */

.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 薄い黒の背景 */
    z-index: 9999;
  }

  .popup-area {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    text-align: center;
    border-radius:8px;
  }

  .close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
  }
/* ポップアップ */

/* スクロール時モーダル */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 薄い黒の背景 */
    z-index: 9999;
  }

  .modal-area {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    text-align: center;
    border-radius:8px;
  }

  .modalClose-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
  }
/* スクロール時モーダル */

/* #js-l-point-headline .title {
    position: absolute;
    top: -450px;
    right: 6%;
}
@media screen and (max-width: 768px){
    #js-l-point-headline .title {
        position: absolute;
        top: -200px;
        right: 6%;
    }
} */

/* スクロールCTA */
.scroll-cta-under {
    display: none;
    width: 100%;
    /* background: #4499cc; */
    position: fixed;
    bottom: 20px;
    z-index:999;
} 
