@font-face {
    font-family: Montserrat-Bold;
    src: url(../font/Montserrat-Bold.otf);
}

@font-face {
    font-family: Montserrat-medium;
    src: url(../font/Montserrat-Medium.otf);
}

@font-face {
    font-family: Montserrat-Regular;
    src: url(../font/Montserrat-Regular.otf);
}

@font-face {
    font-family: Montserrat-SemiBold;
    src: url(../font/Montserrat-SemiBold.otf);
}

@font-face {
    font-family: NotoSansJP-Regular;
    src: url(../font/NotoSansJP-Regular-Regular.otf);
}

@font-face {
    font-family: NotoSansJP-Bold;
    src: url(../font/NotoSansJP-Regular-Bold.otf);
}

@font-face {
    font-family: NotoSansJP-Medium;
    src: url(../font/NotoSansJP-Regular-Medium.otf);
}
html, body {
	overflow-x: hidden;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
}
input[type=submit] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

a{
    text-decoration: none;
    cursor: pointer;
}

.page .fa, .far, .fas {
    font-family: 'FontAwesome';
}
@media screen and (max-device-width: 480px) {
    body {
        -webkit-text-size-adjust: none;
    }
}

.page {
    margin: 0;
    top: 0%;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.contact_page .contact .contact_container .contact_form .form-control .input-text input[type=text]:focus {
    width: 100%;
}


/* loading */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.sp_img{
    display: none;
}


.page_loding {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #111;
    position: fixed;
    width: 100%;
    top: 0%;
    left: 0;
    z-index: 9999;
}

.loding_container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loding_container .ring {
    position: relative;
    /* width: 150px;
    height: 150px; */
    margin: -50px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top: 4px solid #24ecff;
    animation: beesLine 4s linear infinite;
}

@keyframes beesLine {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loding_container .ring::before {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    background: #24ecff;
    box-shadow: 0 0 0 5px #24ecff33, 0 0 0 10px #24ecff22, 0 0 0 20px #24ecff11, 0 0 20px #24ecff, 0 0 50px #24ecff;
}

.loding_container .ring:nth-child(2) {
    animation: beesLine2 4s linear infinite;
    animation-delay: -1s;
    border-top: 4px solid transparent;
    border-left: 4px solid #93ff2d;
}

@keyframes beesLine2 {
    0% {
        transform: rotate(360deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.loding_container .ring:nth-child(2)::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: 12px;
    left: 12px;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    background: #93ff2d;
    box-shadow: 0 0 0 5px #93ff2d33, 0 0 0 10px #93ff2d22, 0 0 0 20px #93ff2d11, 0 0 20px #93ff2d, 0 0 50px #93ff2d;
}

.loding_container .ring:nth-child(3) {
    animation: beesLine2 4s linear infinite;
    animation-delay: -3s;
    position: absolute;
    top: -66.66px;
    border-top: 4px solid transparent;
    border-left: 4px solid #e41cf8;
}

.loding_container .ring:nth-child(3)::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: 12px;
    left: 12px;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    background: #e41cf8;
    box-shadow: 0 0 0 5px #e41cf833, 0 0 0 10px #e41cf822, 0 0 0 20px #e41cf811, 0 0 20px #e41cf8, 0 0 50px #e41cf8;
}

.loding_container p {
    position: absolute;
    color: #fff;
    font-size: 2.5em;
    font-family: monospace;
    bottom: 0px;
    letter-spacing: 0.15em;
    width: 300px;
}

.loding_container img {
    width: 100%;
    animation: logo-animation 2s linear forwards;
}

@keyframes logo-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#top-intro #top-intro-logo {
    left: 50%;
    margin: auto;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 200px;
}

#top-intro #top-intro-logo img {
    width: 100%;
}

#top-intro {
    background-color: #FFF;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}

.first-view canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/* .page_view .page_order {
    position: relative;
    display: inline-block;
}

.page_view .page_order::before {
    position: absolute;
    content: '';
    width: 15px;
    background: url(../image/house.png);
    height: auto;
    top: 50%;
    left: 45px;
} */


/* header */

.header {
    display: flex;
    justify-content: space-between;
    position: fixed;
    width: 100%;
    z-index: 10;
    top: 0%;
    align-content: center;
    align-items: center;
}

.header .logo {
    margin-left: 40px;
}

.header_bg {
    /* box-shadow: 0px 1px 5px 0px #ffffff; */
    animation: head_bg .3s linear forwards;
}

@keyframes head_bg {
    0% {
        background: unset;
    }
    100% {
        background-color: #111;
    }
}

.navgation {
    margin-right: 20px;
}

.navgation ul {
    margin: 0%;
}

.navgation .nav_ul li {
    display: inline;
    float: left;
    padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
.navgation .nav_ul li p:hover {
    background-size: 100% 2px;
}
}
.navgation .nav_ul li a {
    color: #ffffff;
    text-decoration: none;
    text-align: center;
}

.navgation .nav_ul li a p {
    margin-top: 0%;
    margin-bottom: 5px;
    background-image: linear-gradient(to right, #ffffff, #ffffff);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
    padding: 30px 30px 5px 30px;
    line-height: 1.5;
}

.navgation .nav_ul li a .nav_text_on {
    font-size: 16px;
    /* font-family: 'Montserrat-medium'; */
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.navgation ul li a .nav_text_down {
    font-size: 13px;
    font-family: 'Noto Sans JP', sans-serif;
}

.menu_btn {
    display: none;
    display: block;
    position: absolute;
    right: 0px;
    z-index: 10;
}

.hide {
    display: none;
}

.menu_btn .container {
    display: inline-block;
    cursor: pointer;
    margin-right: 40px;
    z-index: 5;
}

.bar1,
.bar2,
.bar3 {
    width: 30px;
    height: 2px;
    background-color: rgb(255, 255, 255);
    transition: 0.4s;
}

.bar2 {
    margin: 8px 0;
}

.change .bar1 {
    -webkit-transform: rotate(-45deg) translate(-9px, 6px);
    transform: rotate(-45deg) translate(-10px, 5px);
}

.change .bar2 {
    opacity: 0;
}

.change .bar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px);
    transform: rotate(45deg) translate(-9px, -5px);
}

.nav_container {
    display: none;
}

.overlay {
    height: 100%;
    width: 0%;
    position: absolute;
    z-index: 9;
    top: 0;
    right: 0;
    background-color: #333333;
    overflow-x: hidden;
    transition: 0.5s;
    padding-bottom: 100%;
}

.overlay-content {
    position: relative;
    top: 15%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay-content ul li {
    list-style: none;
    position: relative;
}

.overlay-content ul li {
    list-style: none;
    position: relative;
}

/* .overlay-content ul .nav_li::after {
    position: absolute;
    width: 0%;
    height: 97%;
    top: 0%;
    left: 0%;
    content: '';
    background-color: rgb(230, 227, 227);
    border-bottom: 1px solid #000;
} */

.overlay-content ul .nav_li.active:after {
    animation: nav_li_aniamtion 1s ease forwards;
}

@keyframes nav_li_aniamtion {
    0% {
        width: 0;
    }
    30% {
        width: 100%;
    }
    100% {
        right: 0%;
    }
}

.overlay a {
    text-decoration: none;
    font-size: 36px;
    color: #ffffff;
    display: block;
    transition: 0.3s;
    text-align: left;
    border-bottom: 1px solid #666666;
}

.overlay a:hover,
.overlay a:focus {
    color: #f1f1f1;
}

.overlay .closebtn {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: 60px;
}

.dropdown {
    position: relative;
}

.subnav {
    display: none;
    position: absolute;
    width: 100%;
    left: 0%;
    background-color: #ffffff;
    margin-top: 30px;
    box-shadow: 0 0 5px 1px black;
}

.subnav_content {
    margin-top: 35px;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.subnav_content .subnav_title p {
    margin: 10px;
}

.navgation .about:hover .subnav {
    display: block;
    animation: subnav 0.5s linear;
}

.navgation .service:hover .subnav {
    display: block;
    animation: subnav 0.5s linear;
}

@keyframes subnav {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.subnav .subnav_title .title_large {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 39.48px;
    color: #111;
}

.subnav .subnav_title .title_small {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 21.71px;
    color: #111;
}

.subnav .subnav_list ul li {
    list-style: none;
    float: left;
    margin-right: 75px;
    margin-bottom: 20px;
    background-image: linear-gradient(to right, #000000, #000000);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
}
@media screen and (min-width: 768px) {
.navgation ul li p:hover {
    background-size: 100% 2px;
}
}
.subnav .subnav_list ul {
    padding: 0%;
}

.subnav .subnav_list ul li p {
    background-image: linear-gradient(to right, #000000, #000000);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
}

.subnav .subnav_list ul li .nav_text_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 19.99px;
    color: #111;
    line-height: 2;
}

.subnav .subnav_list ul li .nav_text_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.99px;
    color: #111;
}
@media screen and (min-width: 768px) {
.nav_container ul li a:hover p {
    background-size: 100% 2px;
    color: white;
    opacity: 1;
}
}
.nav_container ul li p {
    background-image: linear-gradient(to right, #ffffff, #ffffff);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
    padding: 3px 0 10px 0;
}


/* first-view */

.first-view {
    width: 100%;
    height: auto;
    margin: 0%;
    padding: 0%;
    position: relative;
}

.main-visual-pc img {
    width: 100%;
    height: auto;
}

.main-visual-sp {
    position: relative;
}

.main-visual-sp .sp_main_text {
    position: absolute;
    transform: translate(-50%, 65vw);
    left: 50%;
    width: 70%;
    display: none;
}

.main-visual-sp img {
    width: 100%;
}

.first-view .hide {
    display: none;
}

.first-view .main_title {
    position: absolute;
    top: 50%;
    left: 6%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 4.2vw;
    letter-spacing: 0em;
    text-align: center;
    color: #fff;
    text-align: center;
    display: none;
    line-height: 1.3;
}

.first-view .main_title p {
    margin: 0%;
}

.first-view .main_title h1 {
    margin: 0%;
}

.first-view .main_title_close {
    width: 100%;
    margin: -15px 0;
}

.first-view .main_title_close img {
    width: 8%;
    background: transparent;
}

.fadeIn_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(0%);
    /* pointer-events: none; */
    /* transform-origin: 100% 50%; */
    background-color: #3b50af;
    animation: img-aniamtion 0.5s ease-out forwards;
}


/* mission */

.mission .container {
    /* max-width: 1366px; */
    margin: auto;
    position: relative;
    margin-top: 280px;
    margin-bottom: 240px;
}

.mission .top_page {
    margin-bottom: 110px;
}


.mission .container .mission_img_pc {
    /* float: right; */
    position: relative;
    overflow: hidden;
    max-width: 1550px;
    margin-left: auto;
    /* padding-left: 80px; */
}

.mission .container .mission_img_pc img {
    width: 100%;
    height: auto;
}

.mission .container .mission_img_sp {
    display: none;
    /* float: right; */
    /* margin-bottom: 120px; */
    position: relative;
}

.mission .container .mission_img_sp img {
    width: 100%;
    height: auto;
}

.mission .container .mission_title {
    position: absolute;
    width: 90%;
    top: -110px;
    left: 135px;
    z-index: 2;
}

.mission .container .mission_title .mission_title_container {
    max-width: 1080px;
    margin: auto;
    position: relative;
    z-index: 5;
}

.container .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    color: #000;
    margin: 0%;
}

.mission .container .mission_content_container {
    position: absolute;
    bottom: -50px;
    left: 0%;
    width: 100%;
    z-index: 4;
}

.mission .container .mission_content {
    max-width: 1135px;
    position: relative;
    padding-left: 45px;
    padding-top: 50px;
    padding-right: 50px;
    margin: auto;
}

.mission .container .mission_content .mission_content_box {
    display: inline-block;
    position: relative;
    padding-top: 48px;
    padding-right: 20vw;
    z-index: 1;
    padding-bottom: 40px;
}

.mission .container .mission_content .mission_content_box::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 100vw;
    left: auto;
    right: 0;
    background-color: #333;
    z-index: -1;
}

.mission .company_mission_contain .mission_img_pc {
    /* float: right; */
    position: relative;
    overflow: hidden;
    /* padding-right: 80px; */
    /* padding-left: 0%; */
    margin-left: 0;
    margin-right: auto;
}

.mission .company_mission_contain .mission_content {
    max-width: 1500px;
    position: relative;
    padding-top: 40px;
    margin: auto;
    float: right;
    padding-right: 0%;
}

.mission .company_mission_contain .mission_content .mission_content_box {
    display: inline-block;
    position: relative;
    padding-top: 48px;
    padding-left: 85px;
    padding-right: 25vw;
    z-index: 1;
    padding-bottom: 40px;
    background-color: #333;
}

.mission .company_mission_contain .mission_content .mission_content_box::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 100vw;
    left: auto;
    right: 0;
    z-index: -1;
    background: 0%;
}

.mission .mission_content .mission_content_l {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 32px;
    text-align: left;
    line-height: 53px;
    color: #fff;
    margin: 0%;
}

.mission .mission_content .mission_content_s {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    line-height: 44px;
    text-align: left;
    color: #fff;
    margin-top: 30px;
    margin-bottom: 0;
}


/* service */

.section_container .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    color: #000;
    margin: 0%;
}

.section_container {
    max-width: 1135px;
    margin: auto;
    text-align: center;
    clear: right;
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 180px;
}

.section_container .service_title {
    position: relative;
    display: table;
    margin-bottom: 35px;
}

.fadeIn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transform-origin: 100% 50%;
    background-color: rgb(24, 37, 36);
    animation: title_aniamtion 0.5s ease-out forwards;
}

@keyframes title_aniamtion {
    0% {
        width: 0%;
        transform: scaleX(1);
    }
    40% {
        width: 100%;
        transform: scaleX(1);
    }
    100% {
        transform: scaleX(0);
    }
}

.service .service_img_content {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 10px;
}

.service_img_content .service_img {
    position: relative;
    width: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.service_img_content .service_img .img_overlay {
    width: 100%;
    height: 100%;
}

.service_img_content .service_img .img_overlay::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.service_img_content .service_img img {
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 1s ease-in-out;
    transition: transform 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    ;
}
@media screen and (min-width: 768px) {
.service_img_content .service_img:hover .img_overlay::after {
    animation: img_hoever 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
}
@keyframes img_hoever {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 0.3;
    }
}


/* .service_img_content .service_img:hover .img_overlay::after {
    opacity: 0.3;
} */
@media screen and (min-width: 768px) {
.service_img_content .service_img:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
}
.service_img_content .service_img .service_img_text {
    position: absolute;
    bottom: 20px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 22px;
    text-align: center;
    color: #fff;
    left: 0%;
    right: 0%;
    z-index: 5;
}

.service .section_container .title {
    text-align: left;
    margin-bottom: 127px;
    margin: auto;
}

.view_more {
    margin: auto;
    text-align: center;
}

.view_more .view_more_btn {
    padding: 15px 55px;
    /* font-family: 'Montserrat', sans-serif; */
    font-family: "Montserrat-medium";
    /* font-weight: 600; */
    font-size: 22px;
    text-align: center;
    color: #111;
    position: relative;
    border: 2px solid black;
    text-decoration: none;
}

.view_more .view_more_btn img {
    position: absolute;
    right: -12%;
    top: 50%;
    width: 60px;
    transition: 0.5s;
}
@media screen and (min-width: 768px) {
.view_more .view_more_btn:hover img {
    right: -17%;
}
}

/* @keyframes btn_line {
    0% {
        right: -12px;
    }
    100% {
        right: -15px;
    }
} */
@media screen and (min-width: 768px) {
	.view_more .view_more_btn:hover {
		background-color: #000000;
		color: rgb(255, 255, 255);
		animation: view_btn 0.3s linear forwards;
	}
}

@keyframes view_btn {
    0% {
        background-color: #ffffff;
    }
    100% {
        background-color: #266FB7;
        color: rgb(255, 255, 255);
    }
}


/* news */

.news_title {
    display: table;
    position: relative;
}

.news .section_container {
    text-align: left;
}

.news .news_content {
    margin: 65px 40px 55px 40px;
}

.news .news_content a {
    text-decoration: none;
    color: black;
}

.news .news_content .blog_date {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    color: #000;
    font-size: 18px;
    margin-right: 60px;
}

.news .news_content .news_blog_link {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.79px;
    color: rgb(0, 0, 0);
}

.news .news_content .news_blog_link {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.79px;
    color: rgb(0, 0, 0);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.79px;
    text-align: left;
    color: rgb(0, 0, 0);
    padding: 27px 15px;
    line-height: 30px;
    border-bottom: 2px solid #111111;
    /* display: flex; */
}

.news .news_content .news_blog_link a.hide .blog_content {
    margin-left: 0px;
    border-bottom: 1px solid rgb(255, 255, 255);
}

.news .news_content .news_blog_link .blog_content {
    margin-left: 25px;
    border-bottom: 1px solid rgb(255, 255, 255);
}

.news .news_content .news_blog_link .new_information ul {
    padding: 0%;
}

.news .news_content .news_blog_link .new_information ul li {
    float: left;
    list-style: none;
}

.news .news_content .news_link {
    display: flex;
    align-items: center;
}

.news .news_content .news_blog_link .new_information ul li a {
    font-size: 15.79px;
    text-align: left;
    color: #fff;
    padding: 5px 25px 5px 25px;
    background-color: black;
    /* margin-left: 60px; */
    margin-right: 10px;
    /* margin-left: 10px; */
    float: left;
    list-style: none;
    line-height: 1.5;
}
.news_content .post-categories {
    padding: 0%;
}

.news_content .post-categories li {
    list-style: none;
    float: left;
    /* margin-right: 10px; */
}

.news_content .post-categories li a {
    font-size: 15.79px;
    text-align: left;
    color: #fff;
    padding: 5px 25px 5px 25px;
    background-color: black;
    /* margin-left: 60px; */
    margin-right: 10px;
    /* margin-left: 10px; */
    float: left;
    list-style: none;
    line-height: 1.5;
}

.news_content .head_content {
    display: flex;
    align-items: center;
}
.sns-list {
    display: flex;
    
}
.sns-list li {
 list-style: none;
    
}

.twitter-share-button {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    text-align: left;
    color: #fff;
    background-color: #1C95E0;
    padding: 2px 20px;
    margin-right: 6px;
    border-radius: 2px;
}
.news .news_content .news_blog_link .blog_content {
    text-decoration: none;
    font-size: 18px;
}
@media screen and (min-width: 768px) {
.news .news_content .news_blog_link .blog_content:hover {
    border-bottom: 1px solid black;
    animation: border_bottom 2s linear;
}
}
@keyframes border_bottom {
    0% {
        border-bottom-width: 0%;
    }
    100% {
        border-bottom-width: 100%;
    }
}


/* about */

.about_img_content .about_img .img_overlay::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (min-width: 768px) {
.about_img_content .about_img:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
}
.about_img_content .about_img img {
    width: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 1s ease-in-out;
    transition: transform 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    ;
}
@media screen and (min-width: 768px) {
.about_img_content .about_img:hover .img_overlay::after {
    animation: img_hoever 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
}
.about_title {
    display: table;
    position: relative;
    margin-bottom: 38px;
}

.about .title {
    text-align: left;
    margin: 0%;
}

.about .about_img_content .about_img {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
}

.about .about_img_content .about_img .img_overlay {
    width: 100%;
    height: 100%;
}

.about .about_img_content .about_img img {
    width: 100%;
    height: 100%;
}

.about .about_img_content {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 10px;
}

.about .about_img_content .about_link {
    position: absolute;
    bottom: 30px;
    left: 15px;
    color: white;
    text-align: left;
}

.about .about_img_content .about_link .link_text_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 26px;
    letter-spacing: 0.06em;
    margin: 0%;
}

.about .about_img_content .about_link .link_text_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    letter-spacing: 0.06em;
    margin: 0%;
    margin-top: 8px;
}


/* recuit */

.recuit .recuit_container {
    margin: auto;
    margin-top: 120px;
}

.recuit_title {
    /* display: table; */
    position: relative;
    margin-bottom: 38px;
    max-width: 1085px;
    margin-left: auto;
    margin-right: auto;
}

.recuit .recuit_container .recuit_title .recuit_title_container {
    display: inline-block;
}

.recuit_title .title {
    margin: 0%;
}

.about .about_img_content .about_link .link_text_on svg {
    width: 80px;
}


/* .recuit .recuit_container .recuit_title {
    padding-left: 47px;
} */

.recuit_container .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    color: #000;
    margin: 0%;
    text-align: left;
    margin: auto;
}

/* .recuit .recuit_container .recuit_content .recuit_img {
    position: relative;
    z-index: -1;
}

.recuit .recuit_container .recuit_content .recuit_img p {
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
} */

.recuit_img{
    background-image: url(../image/recuit.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 130px 56px;
}

.recruit_text_box{
    display: flex;
    align-items: center;
    color: #fff;
    max-width: 1200px;
    margin: 0 auto;
}

.recruit_text_item{
    width: 50%;
}

.recuit_ttl{
    font-size: 36px;
    font-weight: bold;
    line-height: 1.8;
}

.recruit_text{
    font-size: 18px;
    line-height: 2.4;
}

.recuit .recuit_container .recuit_content .recuit_img img {
    width: 100%;
}

.recuit .recuit_container .recuit_content .recuit_entry {
    display: grid;
    grid-template-columns: auto auto;
    background-color: rgb(0, 0, 0);
    margin-top: -5px;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .grip_container1 {
    width: 270px;
    margin: auto;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip {
    margin: auto;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 32px;
    color: #333333;
    border: 5px solid #266FB7;
    padding: 56px 0;
    margin: 10px;
    box-shadow: 0 0 0 9px white;
    position: relative;
    background: #fff;
    text-decoration: none;
}
@media screen and (min-width: 768px) {
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover {
    color: #ffffff;
    border: 5px solid #ffffff;
    padding: 56px 0;
    box-shadow: 0 0 0 9px #266fb7;
    background: #266FB7;
    animation: entry 0.5s linear forwards;
}
}

@keyframes entry {
    0% {
        font-size: 32px;
        color: #333333;
        border: 5px solid #266FB7;
        /* padding: 99px 0vw; */
        margin: 10px;
        box-shadow: 0 0 0 8px white;
        position: relative;
        background: #fff;
    }
    100% {
        color: #ffffff;
        border: 5px solid #ffffff;
        /* padding: 99px 0vw; */
        box-shadow: 0 0 0 8px #266fb7;
        background: #266FB7;
    }
}
@media screen and (min-width: 768px) {
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover .recuit_on2 .img_hiddun {
    display: none;
}
}
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .recuit_on2 .img_show {
    display: none;
}
@media screen and (min-width: 768px) {
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover .recuit_on2 .img_show {
    display: block;
}
}
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip::before {
    position: absolute;
    top: -19px;
    left: -19px;
    right: -19px;
    bottom: -19px;
    background: #000;
    content: '';
    z-index: -1;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip img {
    width: 100%;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .entry_text1,
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .entry_text2 {
    /* font-family: 'Montserrat', sans-serif; */
    font-family: "Montserrat-medium";
    /* font-weight: 600; */
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .recuit_on1 {
    border-bottom: 3px solid #333333;
    /* max-width: 135px; */
    display: inline-block;
    margin: auto;
    line-height: 1.9;
}
@media screen and (min-width: 768px) {
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover .recuit_on1 {
    border-bottom: 3px solid rgb(255, 255, 255);
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover .recuit_on2 {
    border-bottom: 3px solid rgb(255, 255, 255);
}
}
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .recuit_on2 {
    border-bottom: 3px solid #333333;
    width: 270px;
    margin: auto;
    line-height: 0;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip p {
    margin: 0%;
    padding: 7px 0;
}

.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip .entry_text2 {
    color: #333333;
}
@media screen and (min-width: 768px) {
.recuit .recuit_container .recuit_content .recuit_entry .recuit_grip:hover .entry_text2 {
    color: #ffffff;
}
}
.back-to-top {
    padding: 30px 0;
    margin: auto;
    text-align: center;
    background-color: #333;
    color: white;
    font-size: 30px;
}

.back-to-top a {
    color: white;
}


/* footer */

.partner{
    padding: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #e0e0e0;
}

.partner img {
    padding: 0 1rem;
    vertical-align: middle;
    max-width: 100%;
    height: 80px;
}

.partner .google_partner img{
    height: 125px;
}

footer {
    background-color: #1A253A;
    color: white;
}

footer .footer_container {
    max-width: 1200px;
    margin: auto;
    padding-top: 110px;
    display: flex;
    justify-content: flex-start;
    padding: 110px 40px 50px 40px;
    text-align: left;
}

.footer_container .footer_logo {
    flex: 40%;
    padding-top: 20px;
}

.footer_container .footer_logo .adress_w3 {
    font-size: 16px;
    line-height: 30px;
    margin: 20px 0;
}

.footer_container .footer_logo .phone_w6 {
    color: white !important;
    text-decoration: none !important;
}

.footer_container .footer_logo .adress_w6 {
    font-size: 22px;
}

.footer_container .footer_contact {
    flex: 80%;
}

.footer_container .footer_contact .contact_large {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    color: #fff;
    margin: 0%;
}

.footer_container .footer_contact .inqury {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    color: #fff;
    margin: 0;
}

.footer_container .footer_contact .inqury_detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    margin-top: 30px;
    line-height: 1.5;
}

.footer_contact .footer_contact_content a {
    position: relative;
    padding: 15px 55px;
    background: #266fb7;
    border: 2px solid #fff;
    font-family: "Montserrat-medium";
    font-size: 21.99px;
    text-align: center;
    color: #fff;
    text-decoration: none;
}

.footer_contact .footer_contact_content a::after {
    position: absolute;
    content: '';
    background: url(../image/line2.png);
    right: -30px;
    top: 50%;
    transition: .5s;
    z-index: 5;
    width: 60px;
    height: 2px;
}
@media screen and (min-width: 768px) {
.footer_contact .footer_contact_content a:hover {
    animation: contact_btn 0.3s linear forwards;
}
}
@keyframes contact_btn {
    0% {
        background-color: #266FB7;
    }
    100% {
        background-color: #ffffff;
        color: #266FB7;
        border: 2px solid #266FB7;
    }
}
@media screen and (min-width: 768px) {
.footer_contact_content:hover a::after {
    background: url(../image/line3.png);
    right: -45px;
}
}
.footer_contact .inqury,
.footer_contact .inqury_detail,
.adress_w3 {
    font-family: 'Noto Sans JP', sans-serif;
}

.footer_contact .footer_link ul {
    padding: 0;
    margin-top: 80px;
}

.footer_container .dropdown .dropdown-content .footer_sub_link {
    margin-top: 10px;
}

.footer_contact .footer_link ul li {
    float: left;
    list-style: none;
    margin-right: 40px;
}
@media screen and (min-width: 768px) {
.footer_contact .footer_link ul li:hover {
    background-size: 100% 2px;
}
}
.footer_contact .footer_link ul li a {
    color: white;
    text-decoration: none;
}

.footer_contact .footer_link ul li a p {
    border-bottom: 1px solid #666666;
}

.footer_contact .footer_link ul li a .nav_text_on {
    font-family: 'Montserrat-Medium';
    font-size: 15.99px;
    text-align: center;
}

.footer_contact .footer_link ul li a .nav_text_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 12.99px;
    text-align: left;
}

.footer_container .dropdown ul li {
    float: none;
}

.footer_container .dropdown .dropdown-content ul {
    padding: 0%;
    margin: 0;
}

.footer_container .dropdown .dropdown-content ul li {
    padding: 0%;
    margin: 0;
}

.footer_container .dropdown .dropdown-content ul li p {
    border-bottom: 0px solid rgb(143, 143, 143);
    color: #E5E5E5;
    opacity: 0.5;
    background-image: linear-gradient(to right, #ffffff, #ffffff);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
}
@media screen and (min-width: 768px) {
.footer_container .dropdown .dropdown-content ul li a:hover p {
    /* background-size: 100% 2px; */
    color: white;
    opacity: 1;

}
.footer_container ul li a:hover p {
    background-size: 100% 2px;
    color: white;
    opacity: 1;
}
}
.footer_container ul li p {
    background-image: linear-gradient(to right, #ffffff, #ffffff);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    -webkit-transition: background-size .5s ease;
    transition: background-size .5s ease;
    padding: 0 0 10px 0;
    line-height: 1.5;
}

.footer_reverse {
    margin: auto;
    text-align: center;
    padding-bottom: 80px;
    font-size: 14px;
}


/* sevice-page */

.business_ttl{
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 28px;
}

.business_child_ttl{
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin: 40px 0;
}

.business_txt{
    line-height: 2;
}

/* advertising */

.business_model_img{
    display: block;
    margin: 0 auto;
    width: 84%;
}

.model,.service_list{
    padding: 80px 0;
}

.list_content{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 56px;
}

.list_content li{
    padding: 35px 30px;
    margin: 0 16px;
    width: 360px;
    height: 360px;
    background-color: #fff;
    -webkit-box-shadow: 11px 13px 27px 6px rgb(0 0 0 / 8%);
    box-shadow: 11px 13px 27px 6px rgb(0 0 0 / 8%);
    margin-bottom: 40px;
}

.ad_ttl{
    font-size: 20px;
    font-weight: bold;
    width: 57%;
}

.ad_ttl_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ad_txt{
    font-size: 14px;
    line-height: 1.5;
}

.ad_ex{
    font-size: 12px;
    line-height: 1.5;
}

.ad_txt_box{
    margin-top: 28px;
}

.ad_ex{
    margin-top: 16px;
}

/* //advertising */



/* refrest */

.product_content{
    display: flex;
    justify-content: center;
    align-items: center;
}
    
.concept{
    padding: 80px 0;
}

.refrest_logo{
    width: 35%;
}

.product_img,.product_box{
    width: 50%;
}

.product_ttl{
    font-size: 32px;
    font-weight: bold;
}

.product_ttl{
    font-size: 32px;
    font-weight: bold;
    margin-top: 30px;
}

.product_txt{
    line-height: 2;
    margin-top: 30px;
}

.product_link{
    margin-top: 16px;
    max-width: 240px;
}

.product_link>a{
    display: block;
    padding: 24px 0;
    border-bottom: 1px solid #111;
    color: #111;
    position: relative;
}

.product_link>a::after{
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -4px;
    transform: rotate(45deg);
    transition:all 0.2s ease-in-out;
}

.product_link>a:hover::after{
    right: 0;
}

.product_detail_list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 30px;
    margin-top: 80px;
}

.product_detail_item{
    padding: 40px 32px;
    border: solid 2px #266fb7;
}

.detail_ttl{
    font-size: 24px;
    font-weight: bold;
    position: relative;
    margin-left: 20px;
}

.detail_ttl::before{
    content: "";
    width: 8px;
    height: 24px;
    background: #111;
    position: absolute;
    left: -4%;
}

.detail_txt{
    margin-top: 28px;
    font-size: 14px;
    line-height: 1.5;
}

.ec_bg{
    position: relative;
    margin-top: 80px;
}

.ec_bg img{
    width: 100%;
}

.ec_link{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.buy_txt{
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 32px;
    text-align: center;
    letter-spacing: 0.1em;
}

.list-buy{
    display: flex;
}

.service_page .list-buy li {
    margin: 0 16px;
    text-align: center;
    list-style: none;
}


/* //refrest */


/* Q&A */

.qa_content{
    margin-bottom: 80px;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto 110px;
}

.qa_name{
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    margin-bottom: 24px;
}

.qa_ttl{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 31.99px;
    letter-spacing: 0.08em;
    line-height: 36.44px;
    color: #000;
    margin: auto;
    margin-bottom: 40px;
    padding-bottom: 10px;
    font-weight: 600;
    border-bottom: 2px solid black;
    width: 22%;
}

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto 48px;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.qa_title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    line-height: 1.5;
}

/*アイコンの＋と×*/
.qa_title::before,
.qa_title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.qa_title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    transition: all .5s ease;
    
}
.qa_title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);
    transition: all .5s ease;

}

/*　closeというクラスがついたら形状変化　*/

.qa_title.close::before{
	transform: rotate(-45deg);
}

.qa_title.close::after{
	transform: rotate(45deg);
}

/*アコーディオンで現れるエリア*/
.qa_box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
    line-height: 1.5;
}

/* //Q&A */



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

    .pc_img{
        display: none;
    }

    .sp_img{
        display: block;
    }

    .br_none{
        display: none;
    }

    .recuit .recuit_container{
        margin-top: 80px;
    }

    .recuit_img{
        padding: 64px 24px;
        height: auto;
    }

    .recruit_text_box{
        display: block;
    }

    .recruit_text_item{
        width: 100%;
    }

    .recuit_ttl{
        font-size: 20px;
        line-height: 1.5;
        margin-bottom: 16px;
    }

    .recruit_text{
        font-size: 14px;
        line-height: 2;
    }

    .mission .container .mission_title{
        top: -63px;
    }


    .mission .container{
        margin-top: 110px;
    }

    .business_model_img{
        margin: 0;
        width: 100%;
    }

    .business_model_img img{
        width: 100%;
    }





    .model,.service_list{
        padding: 56px 24px;
    }

    .business_ttl{
        font-size: 5.5vw;
        line-height: 1.3;
        margin-bottom: 20px;
    }

    .business_txt{
        font-size: 14px;
    }

    .business_child_ttl{
        font-size: 20px;
    }

    .list_content{
        margin-top: 32px;
    }

    .list_content li{
        margin: 0;
        width: 100%;
    }

    .partner img{
        height: 56px;
    }

    .concept{
        padding: 56px 24px;
    }

    .product_content{
        display: block;
        padding: 0 24px;
    }

    .product_img, .product_box{
        width: 100%;
    }

    .product_detail_list{
        display: block;
        padding: 0 24px;
        margin-top: 60px;
    }

    .product_detail_item{
        padding: 11.73vw 6.66vw;
        margin: 24px 0;
    }

    .product_ttl{
        font-size: 22px;
        margin-top: 20px;
    }

    .product_txt{
        font-size: 14px;
        margin-top: 20px;
    }

    .product_img{
        margin-bottom: 20px;
    }

    .product_img img{
        width: 100%;
    }

    .product_link{
        font-size: 14px;
    }

    .refrest_logo{
        width: 45%;
    }

    .detail_ttl{
        font-size: 20px;
        line-height: 1.5;
    }

    .detail_ttl::before{
        top: -6%;
        left: -7%;
    }

    .detail_txt{
        margin-top: 20px;
    }

    .list-buy{
        display: block;
    }

    .service_page .list-buy li:last-of-type{
        margin-bottom: 0;
    }

    .buy_txt{
        font-size: 22px;
    }


    .partner{
        padding: 30px 0;
    }


    .qa_ttl{
        font-size: 25px;
        margin-bottom: 24px;
        padding-bottom: 5px;
        width: 53%;
        text-align: center;
    }

    .qa_name{
        margin-bottom: 16px;
    }

    .accordion-area li {
        margin: 16px 0;
    }

    .qa_title {
        padding: 6% 6% 6% 50px;
    }

    .qa_box {
        margin: 0 6% 6% 6%;
        padding: 6%;
    }

}











.service{
    max-width: 1200px;
    margin: 0 auto;
}

.service_first {
    margin-top: 50px;
}

.service_page {
    margin: 0;
    padding: 0%;
}

.service_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.service_page .service_main_title p {
    margin: 0;
}

.service_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: left;
    color: #fff;
    margin-bottom: 16px;
}

.service_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.service_page .page_view {
    margin-top: 20px;
}


/* .service_page .page_view .page_order {
    text-align: right;
    padding-right: 130px;
} */

.service_page .contain {
    max-width: 1110px;
    margin: auto;
    padding: 0 40px;
}

.service_page .contain .main_title .p-title {
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #000;
    margin-bottom: 45px;
    font-weight: 600;
}

.service_page .service_information .service_information_content {
    display: grid;
    grid-template-columns: 48% auto;
    grid-gap: 30px;
    align-items: center;
}

.service_page .service_information .service_information_content .service_information_img {
    width: 100%;
    height: auto;
    position: relative;
}

.service_page .service_information .service_information_content .service_information_img img {
    width: 100%;
    height: auto;
}

.service_page .service_information .service_information_header {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    letter-spacing: 0.04em;
    text-align: left;
    color: #000;
    margin-bottom: 25px;
    font-weight: 600;
}

.service_page .service_information .service_information_header .service_information_title {
    position: relative;
    display: inline-block;
}

.service_page .service_information .service_information_header .service_information_title::after {
    position: absolute;
    content: '';
    background-color: black;
    width: 80px;
    height: 2px;
    top: 45%;
    right: -100px;
}

.service_page .service_information .service_information_header .service_information_title.white::after {
    position: absolute;
    content: '';
    background-color: rgb(255, 255, 255);
    width: 80px;
    height: 2px;
    top: 45%;
    right: -100px;
}

.service_page .service_information .service_information_header svg {
    height: 13px;
    width: 80px;
}

.service_page .service_information .service_information_header .horizental_line {
    margin-left: 20px;
}

.service_page .service_information .service_information_header .service_information_img {
    width: 100%;
    height: auto;
}

.service_page .service_information .service_information_header .service_information_img img {
    width: 100%;
    height: auto;
}

.service_page .service_information .service_information_content .service_information_text .information_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 35px;
    text-align: left;
    color: #000;
    margin: 0;
}

.service_page .service_second {
    margin-top: 80px;
    padding: 70px 0 80px 0;
    background-color: #333333;
}

.service_page .service_second .service_information .service_information_header {
    color: rgb(255, 255, 255);
}

.service_page .service_second .service_information .service_information_content .service_information_text .information_text {
    color: rgb(255, 255, 255);
}

.service_page .service_third {
    margin-top: 90px;
}

.service_page .service_btn {
    margin-top: 65px;
    margin-bottom: 220px;
}

.service_page .service_btn .list-buy {
    display: flex;
    justify-content: center;
}


@media screen and (min-width: 768px) {
.service_page .list-buy li:hover {
    background-size: 100% 2px;
}

    .list-buy a {
        width: calc(311em /14);
        height: calc( 90em /14);
        background-position: right 2.2em center;
    }
    .list-buy a::before {
        height: calc(3em /14);
    }
    .list-buy .logo-buy2 {
        max-width: calc(146em /20);
    }
}

.list-buy a {
    background-color: #fff;
    height: calc(70em /20);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-image: url(../image/arrow_next.svg);
    background-position: right 1.5em center;
    background-repeat: no-repeat;
    background-size: calc(15.4em /20) auto;
    transition: .5s;
    width: calc(300em /20);
    border: 2px solid rgb(160, 160, 160);
}
@media screen and (min-width: 768px) {
.list-buy a:hover {
    animation: btn-animation 0.5s linear forwards;
}
}
@keyframes btn-animation {
    0% {
        background-position: right 1.5em center;
        border-bottom: 2px solid rgb(160, 160, 160);
    }
    100% {
        background-position: right 1em center;
        border-bottom: 2px solid rgb(8, 208, 235);
    }
}


.service_page .list-buy .logo-buy1 {
    max-width: calc(150em /20);
}

.list-buy .logo-buy2 {
    padding-top: 0.9em;
    max-width: calc(120em /20);
}

.list-buy .logo-buy3 {
    max-width: calc(170em /20);
    padding-top: 5px;
}


/* news-page */

.news_page {
    margin: 0;
    padding: 0%;
}

.news_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
    z-index: 3;
}

.news_page .service_main_title p {
    margin: 0;
}

.news_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.news_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.news_page .page_view {
    margin-top: 20px;
}

.page_view .page_order .page_order_text {
    margin-left: 25px;
}

.news_page .news .section_container {
    margin-top: 150px;
    margin-bottom: 150px;
}

.news_page .section_container {
    padding-top: 30px;
}

.news_page .news .news_content {
    margin: 0;
}

.pagination {
    text-align: center;
    margin: 50px 0;
}

.pagination>* {
    /* border: 1px solid #949494; */
    margin-right: 5px;
    /* width: 25px; */
    vertical-align: middle;
    display: inline-block;
    /* height: 25px; */
    line-height: 25px;
    text-align: center;
    padding: 8px 16px;
    /* background-color: #f3f4f2; */
}

.pagination>*.current {
    background-color: #000;
    color: #FFF;
}

.pagination>*.prev,
.pagination>*.next {
    position: relative;
    text-indent: -9999px;
}

.pagination>*:last-child {
    margin-right: 0;
}

.pagination>*.prev.next::before,
.pagination>*.next.next::before {
    border-right: 1px solid #949494;
    right: 10px;
    -webkit-transform: rotate( 45deg);
    transform: rotate( 45deg);
}

.pagination>*.prev.prev::before,
.pagination>*.next.prev::before {
    border-left: 1px solid #949494;
    left: 10px;
    -webkit-transform: rotate( -45deg);
    transform: rotate( -45deg);
}

.pagination>*.prev::before,
.pagination>*.next::before {
    border-top: 1px solid #949494;
    bottom: 0;
    content: "";
    display: block;
    height: 10px;
    margin: auto 0;
    position: absolute;
    top: 0;
    width: 10px;
}


/* General */

.container_page {
    max-width: 600px;
    margin: auto;
    text-align: center;
    margin-bottom: 140px;
}

.pagination ul {
    margin: 2em auto;
    padding-left: 0;
    list-style-type: none;
}

.page-number {
    display: inline;
}

.page-number a {
    text-decoration: none;
    color: black;
}


/* Pagination*/

.pagination-2 .page-number {
    padding: 8px 16px;
    background-color: #f3f4f2;
    margin-left: 5px;
}
@media screen and (min-width: 768px) {
.pagination-2 .page-number:hover {
    background-color: #d9dcd6;
}
}
.pagination-2 .active {
    border-radius: 1px;
    background-color: #000000;
}
@media screen and (min-width: 768px) {
.pagination-2 .active:hover {
    background-color: #000000;
}
}
.pagination-2 .active a {
    color: #f3f4f2;
}

.news_page .back-to-top {
    margin-top: 140px;
}

.news .news_content .news_blog_link {
    line-height: 35px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 19.73px;
    text-align: left;
    color: #000;
}


/* news_detail */

.news_page_detail {
    margin: 0;
    padding: 0%;
}

.news_page_detail .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.news_page_detail .service_main_title p {
    margin: 0;
}

.news_page_detail .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
}

.news_page_detail .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.news_page_detail .page_view {
    margin-top: 20px;
}

.page_view .page_order .page_order_text {
    margin-left: 8px;
}

.news_page_detail .news .news_content .news_blog_link {
    border: 0;
    padding: 0;
    margin: 0%;
}

.news_page_detail .news .section_container .news_content {
    border-bottom: 2px solid #575757;
}

.news_page_detail .news .news_header {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    padding: 16px 0 24px;
}

.news_page_detail .news .news_header .news_title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 26px;
    text-align: left;
    color: #000;
    margin: 0%;
}

.news_page_detail .news .news_header .news_linked .linked_1 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    text-align: left;
    color: #fff;
    background-color: #1A77F2;
    padding: 5px 20px;
    margin-right: 12px;
    border-radius: 2px;
}

.news_page_detail .news .news_content {
    margin: 0;
}

.news_page_detail .news .news_header .news_linked .linked_2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    text-align: left;
    color: #fff;
    background-color: #1A77F2;
    padding: 5px 20px;
    margin-right: 12px;
    border-radius: 2px;
}

.news_page_detail .news .news_header .news_linked .linked_3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    text-align: left;
    color: #fff;
    background-color: #1C95E0;
    padding: 5px 20px;
    margin-right: 12px;
    border-radius: 2px;
}

.news_page_detail .news .news_header .news_linked .linked_4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    text-align: left;
    color: #fff;
    background-color: #05C756;
    padding: 5px 20px;
    border-radius: 2px;
}

.news_page_detail .news .section_container .news_main_content {
    padding: 30px 0px;
}

.news_page_detail .news .section_container .news_main_content .news_thumbnail {
    width: 100%;
}

.news_page_detail .news .section_container .news_main_content .news_thumbnail img {
    width: 100%;
}

.news_page_detail .news .section_container .news_main_content .news_detail_content {
    margin-top: 40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    line-height: 35px;
    text-align: left;
    color: #000;
    margin-bottom: 120px;
}
.news_page_detail .news .section_container .news_main_content .news_detail_content img {
	width: 100%;
    height: auto;
}
/* company-page */

.company_page {
    margin: 0;
    padding: 0%;
}

.company_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.company_page .service_main_title p {
    margin: 0;
}

.company_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.company_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.company_page .page_view {
    margin-top: 20px;
}

.page_view .page_order {
    text-align: right;
    padding-right: 130px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.company_page .page_view .page_order img {
    width: 15px;
}


/* .company_page .page_view .page_order .page_order_text {
    margin-left: 25px;
} */

.company_page .mission .company_mission_contain {
    margin-top: 260px;
}

.company_page .mission .container .mission_content.company_mission {
    right: 0;
    left: unset;
    margin-right: 0px;
    margin-left: 40px;
    padding-right: 100px;
}

.mission .company_mission .mission_content_l {
    max-width: 540px;
}

.mission .company_mission .mission_content_s {
    max-width: 880px;
}

.mission .container .company_mission_img {
    float: left;
    position: relative;
}

.company_page .value .value_container .title_container {
    max-width: 1085px;
    margin: auto;
}

.company_page .value .value_container {
    margin-top: 180px;
    margin-bottom: 130px;
}

.company_page .value_container .value_title {
    position: relative;
    max-width: 1075px;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
}

.company_page .value_container .value_title .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    letter-spacing: 0.02em;
    color: #000;
    text-align: left;
    margin: 0ch;
    display: inline-block;
}

.company_page .value_container .value_content {
    margin-top: 35px;
    width: 100%;
    background-color: #333333;
}

/* .value_text{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    line-height: 44px;
    margin: 16px 8px;
} */

.company_page .value_container .value_content .value_content_box {
    max-width: 1085px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: auto auto auto;
    grid-gap: 55px;
    padding: 25px 20px;
}

.company_page .value_container .value_content .value_content_box .value_content_infomation {
    padding: 35px 10px 60px 10px;
    background-color: white;
}

.company_page .value_container .value_content .value_content_box .value_content_infomation p {
    margin: 0;
}

.company_page .value_container .value_content .value_content_box .value_content_infomation .value_content_infomation_number {
    font-family: 'Montserrat', sans-serif;
    font-size: 69.98px;
    letter-spacing: 0.02em;
    line-height: 36.44px;
    color: #266fb7;
    text-align: center;
    font-weight: 600;
    border-bottom: 6px solid black;
    display: table;
    margin: auto;
    padding: 24px 0 15px;
}

.map_content {
    margin-top: 30px;
}

.company_page .value_container .value_content .value_content_box .value_content_infomation .value_content_infomation_middle {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 27.99px;
    letter-spacing: 0.02em;
    line-height: 38.99px;
    text-align: center;
    color: #266fb7;
    margin: auto;
    font-weight: bold;
    padding: 24px 0 15px;
}

.company_page .value_container .value_content .value_content_box .value_content_infomation .value_content_infomation_down {
    width: 300px;
    height: 101.29px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 17px;
    line-height: 29.99px;
    text-align: center;
    letter-spacing: 0.02em;
    color: #000;
    margin: auto;
}

.company_page .company_information .company_information_container {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 150px;
}

.company_page .company_information .company_information_container .information-row {
    display: flex;
    justify-content: flex-start;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    line-height: 43.99px;
    text-align: left;
    color: #000;
    border-bottom: 2px solid #575757;
    margin: 0 24px;
    padding: 30px 0;
}

.company_page .company_information .company_information_container .information-row .information_content.tel {
    color: black !important;
    text-decoration: none !important;
}

.company_page .company_information .company_information_container .information-row .information_name {
    flex: 30%;
    padding-left: 20px;
    margin: 0;
    line-height: 30px;
}

.company_page .company_information .company_information_container .information-row .information_content {
    flex: 80%;
    line-height: 30px;
    padding-right: 20px;
    margin: 0ch;
}

.company_page .access .access_container {
    margin-top: 150px;
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    padding: 0 24px;
}

.company_page .access .access_container .access_title {
    position: relative;
    display: table;
    margin: auto;
}

.company_page .access .access_container .title {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    letter-spacing: 0.02em;
    color: #000;
}

.company_page .access .access_container .map_content iframe {
    height: 570px;
    filter: grayscale(1);
}

.company_page .access .access_container .map_btn {
    margin-top: 60px;
    margin-bottom: 115px;
}
.section_container1 {
    max-width: 1135px;
    margin: auto;
    text-align: center;
    clear: right;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 100px;
}
.company_page .access .access_container .map_btn a {
    padding: 15px 48px;
    font-family: "Montserrat-medium";
    font-size: 22px;
    text-align: center;
    color: #111;
    text-decoration: none;
    border: 2px solid black;
    background-color: white;
    position: relative;
}

.company_page .access .access_container .map_btn a::after {
    position: absolute;
    content: '';
    background-color: black;
    top: 50%;
    width: 60px;
    height: 2px;
    right: -30px;
    transition: 1s;
}
@media screen and (min-width: 768px) {
.company_page .access .access_container .map_btn:hover a::after {
    /* animation: google_btn 0.5s ease forwards; */
    right: -45px;
}
}
@keyframes google_btn {
    0% {
        right: -40px;
    }
    100% {
        right: -60px;
    }
}

.company_page .access .access_container .map_btn a svg {
    position: absolute;
    top: 50%;
    right: -25px
}


/* contact-page */

.contact_page {
    margin: 0;
    padding: 0%;
}

.contact_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.contact_page .service_main_title p {
    margin: 0;
}

.contact_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.contact_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.contact_page .page_view {
    margin-top: 20px;
}

.step_confirm .step {
    margin: 0 auto 37.5px;
    position: relative;
    text-align: center;
    max-width: 340px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.step_confirm .step::after {
    bottom: 9px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    width: calc( 100% - 160px);
    z-index: -1;
    background-color: black;
}

.contact .contact_container {
    margin-top: 150px;
    max-width: 1015px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 24px;
}

.step_confirm .step .item {
    display: inline-block;
    margin-right: 50px;
}

.step_confirm .step .item:last-child {
    margin-right: 0;
}

.step .item>span.txt {
    margin-bottom: 5px;
}

.step .item.active>span.circle {
    background-color: #2C85EA;
}

.step .item>span.circle {
    background-color: #D4E7FB;
    border-radius: 50%;
    content: "";
    display: block;
    margin: 0 auto;
    height: 20px;
    width: 20px;
    border: 5px solid #D4E7FB;
    margin-top: 10px;
}

.step .item:nth-of-type(1) .circle {
    background-color: #2C85EA;
}

.custom-wpcf7c-confirmed .step .item:nth-of-type(1) .circle {
    background-color: #626262;
}

.custom-wpcf7c-confirmed .step .item:nth-of-type(2) .circle {
    background-color: #2C85EA;
}

.custom-wpcf7c-confirmed.sent .step .item:nth-of-type(2) .circle {
    background-color: #626262;
}

.custom-wpcf7c-confirmed.sent .step .item:nth-of-type(3) .circle {
    background-color: #2C85EA;
}

.contact_page .contact .contact_container .contact_form.mt-3 {
    margin-top: 25px;
}

.contact_page .contact .contact_container .contact_form .form-control {
    padding-bottom: 30px;
}
.contact_page .contact .contact_container .contact_form .form-control.m-b-0 {
    padding-bottom: 0px;
}
.contact_page .contact .contact_container .contact_form p {
    margin: 0;
}

.contact_page .contact .contact_container .contact_form .form-control {
    width: 100%;
}

.contact_page .contact .contact_container .contact_form .form-control .input-name {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15.8px;
    line-height: 45.01px;
    text-align: left;
    color: #000;
}

.contact_page .contact .contact_container .contact_form .form-control .input-text input {
    width: 100%;
    height: 45px;
    background: #e5e5e5;
    border: 0;
    padding: 5px 10px;
        font-size: 16px;
}

.contact_page .contact .contact_container .contact_form .form-control .input-text textarea {
    width: 100%;
    height: 200px;
    background: #e5e5e5;
    border: 0;
    padding: 5px 10px;
        font-size: 16px;
}

.contact_page .contact .contact_container .contact_form .form-control .input-name .essential {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11.84px;
    letter-spacing: 0.05em;
    line-height: 45.01px;
    color: #fff;
    padding: 2px 7px;
    border-radius: 4px;
    background: #d1221c;
    margin-left: 10px;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn {
    margin: auto;
    text-align: center;
    margin-top: 55px;
    margin-bottom: 195px;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn button,
.reverse_submit .submit_btn {
    padding: 15px 55px;
    background: #266fb7 !important;
	border-radius: 0;
    border: 0ch;
	-webkit-border-radius:0; 
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 25.15px;
    text-align: center;
    color: #fff;
    position: relative;
    cursor: pointer;
    transition: .4s ease-in-out;
    border: 1px solid #266fb7;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn .submit_btn {
    padding: 15px 55px;
	border-radius: 0%;
    background: #266fb7;
    -webkit-border-radius: 0%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 25.15px;
    text-align: center;
    color: #fff;
    position: relative;
    cursor: pointer;
    transition: .4s ease-in-out;
    border: 1px solid #266fb7;
}
@media screen and (min-width: 768px) {
.contact_page .contact .contact_container .contact_form .form-control .send_btn .submit_btn:hover {
    background-color: white;
    border: 1px solid #266fb7;
    color: #266fb7;
}
}
.reverse_submit {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn button:hover {
    background-color: white;
    border: 1px solid #266fb7;
    color: #266fb7;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn button:hover {
    color: #266fb7;
}

.contact_page .contact .contact_container .contact_form .form-control .send_btn button i {
    position: absolute;
    top: 20px;
    right: 20px;
}

.contact_form.done {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px;
    margin-top: 50px;
}

.contact_form.done p {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 25px;
}

.modal-content .modal_row {
    padding: 10px;
    border-bottom: 1px solid lightgray;
}


/* entry page */

.w-10 {
    width: 10%;
}

.m-r-10 {
    margin-right: 15px;
}

.contact_page .contact .contact_container .contact_form p.m-t-10 {
    margin-top: 10px;
}

.form-control .radio_contain.hide {
    display: none;
}

.form-control .radio_contain {
    display: flex;
    align-items: center;
    margin-top: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.form-control .upload_btn {
    padding: 5px 10px;
}

.d_flex {
    display: flex;
    align-items: center;
    grid-gap: 10px;
}

.radio_contain .input_txt {}

.form-control .ref_txt {
    font-size: 14px;
}

.page_view .page_order a {
    color: black;
    text-decoration: none;
}

.form_select {
    width: 100%;
    background-color: #e5e5e5;
    padding: 10px;
    border: 0;
    height: 45px;
}


/* recuit-detail-page */

.recuit_page {
    margin: 0;
    padding: 0%;
}

.recuit_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.recuit_page .service_main_title p {
    margin: 0;
}

.recuit_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.recuit_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.recuit_page .page_view {
    margin-top: 20px;
}

.recuit_page .page_view .page_order .page_order_text {
    margin-left: 8px;
}

.recuit_page .recuit .recuit_container {
    max-width: 1035px;
    margin-top: 135px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    padding: 0 20px;
}

.recuit_page .recuit .recuit_container .recuit_header_title p {
    margin: 0;
}

.recuit_page .recuit .recuit_container .recuit_header_title .recuit_header_title_on {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 28px;
    line-height: 50px;
    color: #000;
    font-weight: 600;
}

.recuit_page .recuit .recuit_container .recuit_header_title .recuit_header_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    color: #000;
    border-left: 7px solid #266FB7;
    padding-left: 15px;
    margin: 35px 0;
    font-weight: 600;
}

.recuit_page .recuit .recuit_container .tab_head .tablink {
    padding: 10px 55px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    color: #333;
    background: #fff;
    border: 2px solid #3d78d7;
    margin-right: 15px;
    border-bottom: none;
    transition: 0.5s;
}
@media screen and (min-width: 768px) {
.recuit_page .recuit .recuit_container .tab_head .tablink:hover {
    background-color: #3D78D7;
    color: white;
}
}
.recuit_page .recuit .recuit_container .tab_body .active {
    background-color: #3D78D7;
    color: white !important;
}

.recuit_page .recuit .recuit_container .tab_body {
    padding: 20px;
    border: 2px solid #3D78D7;
    margin-top: 0;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_row {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.99px;
    line-height: 31.99px;
    border-bottom: 2px solid black;
    padding: 10px 0;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_row p,
.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_row ul {
    margin: 0ch;
    padding: 0ch;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_row ul li {
    list-style: none;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_row .content_down_txt {
    margin-top: 20px;
    font-weight: 600;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table {
    margin-top: 20px;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .table_row {
    display: flex;
    justify-content: flex-start;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 15.99px;
    line-height: 31.99px;
    text-align: left;
    color: #333;
    border-bottom: 2px solid #D2D2D2;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .table_row p {
    margin: 0;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .table_row .table_name {
    flex: 30%;
    background-color: #EEEEEE;
    padding: 15px;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .table_row .table_content {
    flex: 80%;
    padding: 15px;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .tabcontent_btn {
    margin-top: 55px;
    margin-bottom: 55px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .tabcontent_btn a {
    padding: 16px 10vw;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 17.99px;
    text-align: center;
    color: #111;
    border: 2px solid black;
    text-decoration: none;
}
@media screen and (min-width: 768px) {
.recuit_page .recuit .recuit_container .tab_body .tabcontent .tabcontent_down_table .tabcontent_btn:hover a {
    background-color: #266FB7;
    color: white;
    animation: tabdown_btn 0.3s linear forwards;
}
}
@keyframes tabdown_btn {
    0% {
        background-color: #ffffff;
    }
    100% {
        background-color: #266FB7;
        color: rgb(255, 255, 255);
    }
}

.recuit_page .recuit .recuit_container .recuitment_type {
    margin: auto;
    text-align: center;
   margin: 75px 0;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_title {
    display: table;
    margin: auto;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_head {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 31.99px;
    letter-spacing: 0.08em;
    line-height: 36.44px;
    color: #000;
    margin: 0ch;
    margin-bottom: 40px;
    border-bottom: 2px solid black;
    padding-bottom: 10px;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link {
    position: relative;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    text-decoration: none;
    z-index: 5;
    position: relative;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link a .recuitment_type_link_txt {
    flex: 50%;
    text-align: left;
    margin: 20px 0px 20px 100px;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link a .recuitment_type_link_txt .recuitment_type_link_down {
    font-size: 14px;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link a .fa {
    flex: 10%;
    font-size: 30px;
	font-family: 'FontAwesome';
    font-weight: 100;
}

.recuit_page .recuit .recuit_container .recuitment_type .recuitment_type_link::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    pointer-events: none;
    background-color: #000000;
    z-index: -1;
}

.fadeIn_linkde_btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    pointer-events: none;
    transform-origin: 100% 50%;
    background-color: #808080;
}
@media screen and (min-width: 768px) {
.recuitment_type_link:hover .fa-angle-right {
    animation: icon-aniamtion 0.6s ease-out forwards;
}
}
@keyframes icon-aniamtion {
    0% {
        flex: 10%;
    }
    100% {
        flex: 1%;
    }
}
@media screen and (min-width: 768px) {
.recuitment_type_link:hover .fadeIn_linkde_btn {
    animation: btn-aniamtion 0.6s ease-out forwards;
}
}
@keyframes btn-aniamtion {
    0% {
        width: 0%;
    }
    100% {
        width: 100%;
    }
}


/* recuit-page */

.recuit_page .recuit_main .recuit_main_container {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 90px;
    margin-bottom: 190px;
    text-align: center;
}

.recuit_page .recuit_main .recuit_main_container .main_title {
    margin: auto;
    text-align: center;
}

.recuit_page .recuit_main .recuit_main_container .main_title .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 48px;
    letter-spacing: 0.02em;
    color: #000;
    margin: 0%;
}

.recuit_page .recuit_main .recuit_main_container .recuit_intro {
    background: url(../image/Revruit.png);
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 30px 0 70px;
}

.recuit_page .recuit_main .recuit_main_container .recuit_intro .intro-on {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 24px;
    line-height: 1.7;
    text-align: center;
    color: #000;
    margin-top: 0px;
    font-weight: 600;
}

.recuit_page .recuit_main .recuit_main_container .recuit_intro .intro-down {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20.01px;
    line-height: 1.7;
    text-align: center;
    color: #000;
    padding-top: 25px;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure {
    padding: 0 24px;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_head {
    margin: auto;
    text-align: center;
    background-color: #333333;
    margin-bottom: 40px;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_head .internal_title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 24px;
    line-height: 53.03px;
    text-align: center;
    color: #fff;
    font-weight: 600;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_structure_content {
    display: grid;
    grid-template-columns: 30.8% 30.8% 30.8%;
    grid-gap: 40px;
    position: relative;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_structure_content .internal_content {
    padding: 25px 0;
    color: black;
    background: #fff;
    border: 2px solid #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    text-align: center;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_structure_content .internal_content.box_blue {
    background-color: #266FB7;
    color: #fff;
}

.recuit_page .recuit_main .recuit_main_container .internal_structure .internal_structure_content::after {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: scale(0, 0);
    transform: scale(1, 1);
    width: 100%;
    z-index: -1;
}

.recuit_page .recuit_main .recuit_main_container .message_section {
    margin-top: 60px;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_title {
    margin: auto;
    position: relative;
    display: table;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_title .title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 74px;
    letter-spacing: 0.02em;
    text-align: center;
    color: #000;
    margin: 0;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content {
    position: relative;
    display: flex;
    justify-content: flex-end;
    background: url(../image/message_bg_pc.png);
    background-repeat: round;
    background-position: right;
    margin-top: 50px;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_img {
    /* position: absolute; */
    z-index: 1;
    margin-top: -25px;
    text-align: left;
    position: relative;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_box {
    float: right;
    background-color: #333;
    max-width: 800px;
    margin-left: -130px;
    z-index: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion {
    padding-left: 160px;
    padding-top: 40px;
    line-height: 30px;
    color: #fff;
    text-align: left;
    padding-bottom: 40px;
    padding-right: 20px;
    font-weight: bold;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion p {
    margin: 0;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion .message_contaion_head {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 19.98px;
    position: relative;
    display: inline-block;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion .message_contaion_head::after {
    position: absolute;
    content: '';
    width: 40px;
    height: 2px;
    background-color: white;
    top: 50%;
    right: -60px;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion .message_contain_title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 31.96px;
    letter-spacing: 0.12em;
    padding: 15px 0 10px 0;
    font-weight: 600;
}

.recuit_page .recuit_main .recuit_main_container .message_section .message_content .message_contaion .message_contain_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 16px;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link {
    position: relative;
    margin-bottom: 30px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.08em;
    text-decoration: none;
    z-index: 5;
    position: relative;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link a .recuitment_type_link_txt p {
    margin: 0;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link a .recuitment_type_link_txt {
    flex: 55%;
    text-align: left;
    margin: 20px 0px 20px 100px;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link a .recuitment_type_link_txt .recuitment_type_link_down {
    font-size: 14px;
    /* margin-left: 20px; */
    margin-top: 10px;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link a .fa {
    flex: 10%;
    font-size: 24px;
    font-family: 'FontAwesome';
    font-weight: 100;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_link::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    pointer-events: none;
    background-color: #000000;
    z-index: -1;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type {
    margin: 75px 0;
    padding: 0 20px;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_title {
    display: table;
    margin: auto;
}

.recuit_page .recuit_main .recuit_main_container .recuitment_type .recuitment_type_head {
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 31.99px;
    letter-spacing: 0.08em;
    line-height: 36.44px;
    color: #000;
    margin: 0ch;
    margin-bottom: 40px;
    border-bottom: 2px solid black;
    padding-bottom: 10px;
    font-weight: 600;
}


/* office-page0 */

.office_service .office_service_grip .office_service_grip_content .img_overlay::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}


/* .office_service .office_service_grip .office_service_grip_content:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
} */

.office_service .office_service_grip .office_service_grip_content img {
    width: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 1s ease-in-out;
    transition: transform 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    ;
}

.office_service .office_service_grip .office_service_grip_content .img_overlay {
    position: relative;
    overflow: hidden;
}


/* .office_service .office_service_grip .office_service_grip_content .img_overlay:hover::after {
    animation: img_hoever 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
} */

.office_page {
    margin: 0;
    padding: 0%;
}

.office_page .service_main_title {
    position: absolute;
    left: 140px;
    top: 45%;
    display: none;
}

.office_page .service_main_title p {
    margin: 0;
}

.office_page .service_main_title .main_title_on {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 73.99px;
    text-align: center;
    color: #fff;
    margin-bottom: 16px;
}

.office_page .service_main_title .main_title_down {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 32.01px;
    text-align: left;
    color: #fff;
}

.office_page .page_view {
    margin-top: 20px;
}

.office_page .office .office_container {
    margin: auto;
    max-width: 1366px;
}

.office_page .office .office_container_head {
    background: url(../image/Our_Office.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.office_page .office .office_container_head .office_intro_txt {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 32px;
    line-height: 53px;
    text-align: center;
    color: #000;
    padding: 100px 0 90px 0;
    font-weight: 600;
}

.office_page .office .office_container .office_enter_container {
    margin-bottom: 200px;
}

.office_page .office .office_container .office_enter_container {
    /* background: url(../image/office_bg_pc.png); */
    display: flex;
    justify-content: flex-start;
    background-position: right;
    background-repeat: no-repeat;
    color: white;
}

.office_page .office .office_container .office_enter_img {
    width: 100%;
    flex: 50%;
}

.office_page .office .office_container img {
    width: 100%;
}

.office_page .office .office_container .office_enter_content {
    background-color: #333;
    padding-top: 80px;
    padding-left: 70px;
    padding-right: 10px;
    flex: 50%;
    position: relative;
    margin: 25px 0 -25px 0;
}

.office_page .office .office_container .office_enter_content .office_enter_content_title {
    margin: 0;
    line-height: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 24px;
    text-align: left;
    margin-bottom: 24px;
}

.office_page .office .office_container .office_enter_content .office_enter_content_text {
    font-weight: normal;
    font-size: 16px;
    line-height: 30px;
    text-align: left;
}

.office_page .office .office_container .office_enter_left .office_enter_content .office_enter_img_down {
    position: absolute;
    width: 90%;
    bottom: -110px;
    right: -10%;
}

.office_page .office .office_container .office_enter_right .office_enter_content .office_enter_img_down {
    position: absolute;
    width: 90%;
    bottom: -110px;
    left: -10%;
}

.office_page .office .office_container .office_service {
    margin: auto;
    text-align: center;
    margin-top: 250px;
}

.office_page .office .office_container .office_service .office_service_grip {
    display: grid;
    grid-template-columns: 2fr 2fr 2fr 2fr;
    grid-gap: 100px 32px;
}

.office_page .office .office_container .office_service .office_service_grip .office_service_grip_content .office_service_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    font-size: 18px;
    color: #000;
    margin-top: 14px;
}

.office_page .office .office_container .office_service .office_service_grip .office_service_grip_content {
    width: 100%;
    height: auto;
}

.office_page .office .office_container .office_service .office_service_grip .office_service_grip_content img {
    width: 100%;
    height: auto;
}

.office_page .office .office_container1 .office_internal {
    width: 100%;
    height: auto;
    margin: 100px 0;
}

.office_page .office .office_container1 .office_internal img {
    width: 100%;
    height: auto;
}

.office_page .office .office_container .about .section_container {
    padding-top: 0%;
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 130px;
}


/* image-animation */

.img-animation-wrapper {
    position: relative;
}

.img-animation-wrapper:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgb(255, 255, 255);
    z-index: 1;
}

.img-animation-wrapper:after {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #003466;
    z-index: 2;
}

.img-animated:before {
    -webkit-animation: img-cover-opacity 0.1s 0.3s forwards;
    animation: img-cover-opacity 0.1s 0.3s forwards;
}

.img-animated:after {
    -webkit-animation: img-cover-enter 0.5s ease-in forwards, img-cover-props 0s 0.5s forwards, img-cover-out 0.5s 0.5s ease-in-out forwards;
    animation: img-cover-enter 0.15s ease-out forwards, img-cover-props 0s 0.2s forwards, img-cover-out 0.2s 0.3s ease-out forwards;
}

@-webkit-keyframes img-cover-enter {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@keyframes img-cover-enter {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@-webkit-keyframes img-cover-props {
    from {
        left: auto;
        right: 0;
    }
    to {
        left: auto;
        right: 0;
    }
}

@keyframes img-cover-props {
    from {
        left: auto;
        right: 0;
    }
    to {
        left: auto;
        right: 0;
    }
}

@-webkit-keyframes img-cover-out {
    from {
        width: 100%;
    }
    to {
        width: 0;
    }
}

@keyframes img-cover-out {
    from {
        width: 100%;
    }
    to {
        width: 0;
    }
}

@-webkit-keyframes img-cover-opacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes img-cover-opacity {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}


/* title-animation  */

.title-animation-wrapper {
    position: relative;
}

.title-animation-wrapper:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgb(255, 255, 255);
    z-index: 1;
}

.title-animation-wrapper:after {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #182524;
    z-index: 2;
}

.title-animated:before {
    -webkit-animation: img-cover-opacity 0.1s 0.3s forwards;
    animation: img-cover-opacity 0.1s 0.3s forwards;
}

.title-animated:after {
    -webkit-animation: img-cover-enter 0.5s ease-in forwards, img-cover-props 0s 0.5s forwards, img-cover-out 0.5s 0.5s ease-in-out forwards;
    animation: img-cover-enter 0.15s ease-out forwards, img-cover-props 0s 0.2s forwards, img-cover-out 0.2s 0.3s ease-out forwards;
}
/* div.wpcf7 .send_btn .ajax-loader.is-active {
	
	display: inline-block;
} */
div.wpcf7 .send_btn .ajax-loader {
	display: none;
}
.wpcf7-list-item label {
	display: flex;
	align-items: center;
}
.wpcf7-list-item-label {
	margin-left: 3px;
}
/* entry-page */