@charset "UTF-8";

/* Base
------------------------------- */
/* Web font */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@100..900&family=Roboto:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Kurenaido&display=swap');

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body{    
    color: #333;
    font-family: "Roboto", "Zen Kaku Gothic New", sans-serif;
}

img {
    display: block;
    max-width: 100%;
}

/* 汎用 */
.tc {
    text-align: center;
}
.red {
    color: #ff0000;
}

/* Common
------------------------------- */
.pc { display: block; }
.sp { display: none; }
@media screen and (max-width : 767px) {	
    .pc { display: none; }
    .sp { display: block; }
}

/* scroll animation */
.slide-in.fadeup {
	opacity: 0;
	transform: translateY(10px);
	transition-duration: .5s;
}
.slide-in.fadeup.active {
	opacity: 1;
	transform: translateY(0px);
}
.slide-in.blur {
    animation-duration: 1.5s;
    animation-fill-mode: both;
	opacity: 0;
    transition: transform 0.5s linear;
}
.slide-in.blur.active {
    animation-name: imageBlur;
    opacity: 1;
    transition: .8s;
}
@keyframes imageBlur {
    from {
        opacity: 0;
        filter: blur(15px);
    }
    to {
        opacity: 1;
        filter: blur(0px);
    }
}

/* Animation */
.line-animation01 svg, .line-animation02 svg, .line-animation03 svg {
    width: 100%;
    height: auto;
}
.line-animation01 {
    position: absolute;
    right: 0;
    top: 5.417vw; /* 104px相当 */
    width: 22.395vw; /* 430px相当 */
    /* height: 48.593vw; 933px相当 */
    z-index: 4;
}
.line-animation02 {
    position: absolute;
    right: 0;
    top: 0.417vw; /* 8px相当 */
    width: 22.395vw; /* 430px相当 */
    z-index: 5;
}

.top-footer-illust {
    position: relative;
}
.footer-illust {
    margin: -200px 0 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 540px;
    z-index: 2;
}
.line-animation03 {
    position: absolute;
    right: 0;
    width: 100%;
}

.footer-illust01, .footer-illust02, .footer-illust03, .footer-illust04, .footer-illust05, .footer-illust06, .footer-illust07, .footer-illust08, .footer-illust09, .footer-illust10 {
    position: absolute;
}
.footer-illust01 {
    right: 30%;
    top: 311px;
    width: 3.8%;
    z-index: 3;
}
.footer-illust02 {
    left: 28%;
    top: 160px;
    width: 4.2%;
    z-index: 1;
}
.footer-illust03 {
    left: 18%;
    top: 230px;
    width: 3%;
    z-index: 3;
}
.footer-illust04 {
    left: 12%;
    top: 248px;
    width: 2.8%;
    z-index: 3;
}
.footer-illust05 {
    right: 38%;
    top: 126px;
    width: 5.8%;
    z-index: 1;
}
.footer-illust06 {
    right: 44%;
    top: 175px;
    width: 4.8%;
    z-index: 3;
}
.footer-illust07 {
    right: 50%;
    top: 336px;
    width: 5.5%;
    z-index: 3;
}
.footer-illust08 {
    right: 45%;
    top: 353px;
    width: 4.8%;
    z-index: 3;
}
.footer-illust09 {
    left: 5%;
    top: 165px;
    width: 3.6%;
    z-index: 3;
}
.footer-illust10 {
    right: 23%;
    top: 314px;
    width: 4.4%;
    z-index: 3;
}
@media screen and (max-width: 1280px) {
    .footer-illust {
        height: 480px;
    }
    .footer-illust01 {
        right: 30%;
        top: 200px;
    }
    .footer-illust02 {
        left: 28%;
        top: 110px;
    }
    .footer-illust03 {
        left: 18%;
        top: 160px;
    }
    .footer-illust04 {
        left: 12%;
        top: 178px;
    }
    .footer-illust05 {
        right: 38%;
        top: 86px;
    }
    .footer-illust06 {
        right: 44%;
        top: 115px;
    }
    .footer-illust07 {
        right: 49%;
        top: 235px;
    }
    .footer-illust08 {
        right: 44%;
        top: 243px;
    }
    .footer-illust09 {
        left: 5%;
        top: 115px;
    }
    .footer-illust10 {
        right: 23%;
        top: 204px;
    }
}
@media screen and (max-width: 768px) {
    .line-animation01 {
        right: -20%;
        bottom: auto;
        top: -40%;
        width: 46%;
    }
    .line-animation02 {
        right: -24%;
        top: 40%;
        width: 46%;
    }
    
    .footer-illust {
        margin: -100px 0 0;
    }
    .line-animation03 {
        right: -5%;
        width: 150%;
    }

    .footer-illust01 {
        right: 30%;
        top: 200px;
        width: 5.4%;
    }
    .footer-illust02 {
        left: 2%;
        top: 110px;
        width: 6.2%;
    }
    .footer-illust03 {
        left: 31%;
        top: 151px;
        width: 4.3%;
    }
    .footer-illust04 {
        left: 25%;
        top: 190px;
        width: 4.1%;
    }
    .footer-illust05 {
        right: 38%;
        top: 97px;
        width: 8.6%;
    }
    .footer-illust06 {
        right: 46%;
        top: 109px;
        width: 7.2%;
    }
    .footer-illust07 {
        right: 53%;
        top: 225px;
        width: 7.5%;
    }
    .footer-illust08 {
        right: 46%;
        top: 233px;
        width: 6.5%;
    }
    .footer-illust09 {
        left: 19%;
        top: 115px;
        width: 5.3%;
    }
    .footer-illust10 {
        right: 23%;
        top: 204px;
        width: 6.2%;
    }
}
@media screen and (max-width: 480px) {
    .footer-illust {
        margin: -100px 0 0;
        height: 200px;
    }

    .footer-illust01 {
        right: 12%;
        top: 100px;
        width: 5.8%;
    }
    .footer-illust02 {
        left: 2%;
        top: 42px;
        width: 6.9%;
    }
    .footer-illust03 {
        left: 31%;
        top: 71px;
        width: 4.8%;
    }
    .footer-illust04 {
        left: 25%;
        top: 90px;
        width: 4.4%;
    }
    .footer-illust05 {
        right: 38%;
        top: 44px;
        width: 9.6%;
    }
    .footer-illust06 {
        right: 46%;
        top: 54px;
        width: 8.2%;
    }
    .footer-illust07 {
        right: 38%;
        top: 115px;
        width: 8.5%;
    }
    .footer-illust08 {
        right: 31%;
        top: 121px;
        width: 7.5%;
    }
    .footer-illust09 {
        left: 19%;
        top: 45px;
        width: 5.8%;
    }
    .footer-illust10 {
        right: 4%;
        top: 102px;
        width: 6.6%;
    }
}

/* Text */
p, ul, dl, form, input, select, textarea {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.8;
}
b {
    font-weight: 800;
}
ul li {
    list-style: none;
}
@media screen and (max-width : 767px) {	
    p, ul, dl, form, input, select, textarea {
        font-size: 1.4rem;
        line-height: 1.6;
    }
}

ul.list01 {
    width: 100%;
}
ul.list01 li {
    border-bottom: 1px solid #0054A7;
    padding: 16px 20px;
}

dl.list01 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
dl.list01 dt {
    border-bottom: 1px solid #0054A7;
    font-weight: 600;
    padding: 16px 20px;
    width: 24%;
}
dl.list01 dd {
    border-bottom: 1px solid #0054A7;
    padding: 16px 20px 16px 0;
    width: 76%;
}

@media screen and (max-width : 767px) {	
    ul.list01 li {
        padding: 12px;
    }
    dl.list01 dt {
        padding: 12px;
        width: 30%;
    }
    dl.list01 dd {
        padding: 12px 12px 12px 0;
        width: 70%;
    }
}

/* Link */
a.link-blue {
    color: #0054A7;
    text-decoration: none;
}
a.link-blue {
    color: #0054A7;
    text-decoration: none;
}

a.btn-blue, a.btn-white, .submit-btn {
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Roboto", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    line-height: 1.4;
    position: relative;
    margin: 40px 0 0;
    padding: 20px 0;
    max-width: 360px;
}
a.btn-blue.center, a.btn-white.center {
    margin: 40px auto 0;
}
a.btn-blue.long, a.btn-white.long {
    max-width: 460px;
}
a.btn-blue, .submit-btn {
    background-color: #0054A7;
    color: #fff;
}
a.btn-white {
    background-color: #fff;
    color: #0054A7;
}
a.btn-blue.off {
    background-color: #798a9b;
    color: #fff;
}
a.btn-blue.off:hover {
    opacity: 1;
}
a.btn-blue::after, a.btn-white::after, .submit-btn::after {
    content: "";
    position: absolute;
    right: 28px;
    transition: all .3s;
    width: 16px;
    height: 24px;
}
a.btn-blue::after, .submit-btn::after {
    background: url(../images/btn_icon_arrow-white.svg) no-repeat;
    background-size: contain;
}
a.btn-blue.bottom::after {
    transform: rotate(90deg);
}
a.btn-blue.bottom:hover::after {
    right: 28px;
    top: 30px;
    transition: all .3s;
}
a.btn-white::after {
    background: url(../images/btn_icon_arrow-blue.svg) no-repeat;
    background-size: contain;
}
a.btn-blue:hover::after, a.btn-white:hover::after, .submit-btn:hover::after {
    right: 20px;    
}
a.btn-blue.off::after {
    display: none;
}
a.btn-blue.new-window::after {
}
a.btn-blue.back::after {
    transform: rotate(180deg);
    left: 28px;
    right: auto;
}
a.btn-blue.back:hover::after {
    left: 20px;
}

.submit-btn:hover, .submit-btn input:hover {
    cursor: pointer;
}
.submit-btn:hover {
    opacity: 0.7;
}
.submit-btn input {
    background-color: transparent;
    color: #fff;
    border: none;
    padding: 0;
}
@media screen and (max-width: 1024px) {
    a.btn-blue, a.btn-white {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    a.btn-blue, a.btn-white {
        font-size: 1.8rem;
        padding: 16px 0;
        width: 90%;
    }
    a.btn-blue::after, a.btn-white::after, .submit-btn::after {
        width: 12px;
        height: 20px;
    }
}

p a {
    color: #0054a7;
}
a:hover {
    opacity: 0.7 !important;
    transition : all 0.5s ease 0s;
}


/* Contents */
.cont-inner { 
    margin: 0 auto;
    padding: 120px 40px;
    width: 100%;
    max-width: 1160px;
}
@media screen and (max-width: 768px) {
    .cont-inner { 
        padding: 60px 20px;
    }
}

.cont-txt { 
    margin: 40px 0;
}
.title01 + .cont-txt, .title02 + .cont-txt, .title03 + .cont-txt { 
    margin: 0 auto 40px;
}
.cont-txt.white { 
    color: #fff;
}
@media screen and (max-width: 768px) {
    .cont-txt { 
        margin: 28px 0;
    }
}

.cont-2col {
    display: flex;
    justify-content: flex-start;
    gap: 80px;
    margin: 0 0 80px;
}
.cont-2col:last-of-type {
    margin: 0;
}
.cont-2col-item {
    width: calc((100% - 80px) / 2);
}
.cont-2col-item-img img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
    width: 100%;
}
@media screen and (max-width: 1180px) {
    .cont-2col {
        gap: 60px;
    }
}
@media screen and (max-width: 768px) {
    .cont-2col {
        flex-wrap: wrap;
        gap: 40px;
    }
    .cont-2col-item {
        width: 100%;
    }
}

.cont-3col {
    display: flex;
    justify-content: flex-start;
    gap: 40px;
    margin: 0 0 80px;
}
.cont-3col-item {
    width: calc((100% - 80px) / 3);
}
.cont-3col-item-img img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
    width: 100%;
}
.cont-3col .cont-3col-item a.btn-blue {
    padding: 12px 0;
    max-width: 260px;
}
@media screen and (max-width: 768px) {
    .cont-3col {
        flex-wrap: wrap;
        gap: 60px;
        margin: 0 0 40px;
    }
    .cont-3col-item {
        width: 100%;
    }
}

/* Title */
.title01 {
    color: #0054A7;
    font-family: "Roboto", sans-serif;
    font-size: 8rem;
    font-weight: 600;
    margin: 0 0 52px;
}
.title01-span01 {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    margin: 12px 0 0;
}
.title01.white {
    color: #fff;
}
@media screen and (max-width: 1280px) {
    .title01 {
        font-size: 6rem;
    }
}
@media screen and (max-width: 768px) {
    .title01 {
        font-size: 3.8rem;
        margin: 0 0 28px;
    }
    .title01-span01 {
        font-size: 2rem;
        margin: 4px 0 0;
    }
}

.title02 {
    color: #0054A7;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 4.8rem;
    font-weight: 600;
    margin: 0 0 52px;
}
.title02-span01 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    margin: 12px 0 0;
}
@media screen and (max-width: 768px) {
    .title02 {
        font-size: 3.6rem;
        margin: 0 0 40px;
    }
    .title02-span01 {
        font-size: 2rem;
    }
}

.title03 {
    color: #0054A7;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 4rem;
    font-weight: 600;
    margin: 0 0 36px;
}
.title03-span01 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
    margin: 12px 0 0;
}
@media screen and (max-width: 768px) {
    .title03 {
        font-size: 3.2rem;
        margin: 0 0 28px;
    }
    .title03-span01 {
        font-size: 2rem;
    }
}

/* lower common */
.main-common {
    background-image: linear-gradient(180deg, rgba(0, 84, 167, 1) 70%, rgba(209, 220, 226, 1));
    position: relative;
    width: 100%;
}
.main-common-inner { 
    margin: 0 auto;
    padding: 140px 40px;
    position: inherit;
    max-width: 1200px;
    z-index: 4;
}
.main-common-title {
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 8rem;
    font-weight: 600;
}
.main-common-title .title01-span01 {
    color: #fff;
}
.main-common-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    z-index: 1;
}
.main-common-bg .bg-blue-horizontal {
    background-image: linear-gradient(90deg, rgba(0, 84, 167, 1), rgba(0, 84, 167, 0.4) 50%);
    z-index: 3;
}
.main-common-bg .bg-blue-vertical {
    background-image: linear-gradient(180deg, rgba(0, 84, 167, 0) 30%, rgba(0, 84, 167, 0.85) 80%, rgba(0, 84, 167, 1) 100%);
    z-index: 2;
}
.main-common-bg img {
    object-fit: cover;
    z-index: 1;
}
.main-common-bg .bg-blue-horizontal, .main-common-bg .bg-blue-vertical, .main-common-bg img {
    position: inherit;
    width: 100%;
    height: 300px;
}
@media screen and (max-width: 768px) {
    .main-common-inner {
        padding: 100px 20px 60px;
    }
    .main-common-title {
        font-size: 4rem;
    }
    .main-common-bg .bg-blue-horizontal, .main-common-bg .bg-blue-vertical, .main-common-bg img {
        height: 172px;
    }
}
@media screen and (max-width: 468px) {
    .main-common-bg .bg-blue-horizontal, .main-common-bg .bg-blue-vertical, .main-common-bg img {
        height: 140px;
        margin: 30px 0 0;
    }
    .main-common-bg .bg-blue-vertical {
        background-image: linear-gradient(180deg, rgba(0, 84, 167, 1) 10%, rgba(0, 84, 167, 0) 40%, rgba(0, 84, 167, 0.85) 80%, rgba(0, 84, 167, 1) 100%);
    }
}

.breadcrumbs {
    background-image: linear-gradient(180deg, rgba(209, 220, 226, 1), rgba(255, 255, 255, 1));
    width: 100%;
}
.breadcrumbs-inner {
    margin: 0 auto;
    padding: 20px 40px;
    max-width: 1200px;
}
.breadcrumbs-inner ul {
    display: flex;    
}
.breadcrumbs-inner ul li {
    color: #76797d;
    font-family: "Roboto Condensed", "Zen Kaku Gothic New", sans-serif;
    font-size: 1.4rem;
}
.breadcrumbs-inner ul li a {
    color: #3C3E40;
    text-decoration: none;
}
.breadcrumbs-inner ul li::after {
    content: ">";
    color: #76797d;
    margin: 0 12px;
}
.breadcrumbs-inner ul li:last-child:after {
    content: "";
}
@media screen and (max-width: 768px) {
    .breadcrumbs-inner {
        padding: 20px;
    }
    .breadcrumbs-inner ul li {
        font-size: 1.2rem;
    }
}

.lower-common-cont {
    padding: 120px 0 0 40px;
}
.lower-common-cont .top-cont03-item01 {
    padding: 0 0 80px;
}

.lower-common-bottom {
    padding: 0 20px;
}

@media screen and (max-width: 768px) {
    .lower-common-cont {
        padding: 60px 0 0 20px;
    }
    .lower-common-cont .top-cont03-item01 {
        padding: 0 0 80px;
    }

    .lower-common-bottom {
        padding: 0 20px;
    }
}

/* Decoration */
.line-top {
    border-top: 2px solid #d1dce2;
}
.line-bottom {
    border-bottom: 2px solid #d1dce2;
}

/* Background */
.bg-lblue {
    background-color: #D1DCE2;
}
.bg-gblue {
    background-color: #94b3d3;
}
.bg-blue {
    background-color: #0054A7;
}

.bg-white-lblue, .bg-white-blue, .bg-lblue-white, .bg-lblue-blue, .bg-blue-lblue, .bg-lblue-transparent, .bg-transparent-white {
    height: 200px;
}
.bg-white-lblue {
    background-image: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(158 230 252) 100%);
}
.bg-white-blue {
    background-image: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(0 84 167) 100%);
}
.bg-lblue-white {
    background-image: linear-gradient(180deg, rgb(209 220 226) 0%, rgb(255 255 255) 100%);
}
.bg-blue-white {
    background-image: linear-gradient(180deg, rgb(0 84 167) 0%, rgb(255, 255, 255, 0.97) 86%, rgb(255, 255, 255, 1) 100%);
    height: 240px;
}

.bg-lblue-blue {
    background-image: linear-gradient(180deg, rgb(209 220 226) 0%, rgb(0 84 167) 100%);
}
.bg-blue-lblue {
    background-image: linear-gradient(180deg, rgb(35 104 217) 0%, rgb(158 230 252) 100%);
}

.bg-lblue-transparent {
    background-image: linear-gradient(180deg, rgb(209, 220, 226, 1) 0%, rgb(255, 255, 255, 0));
}
.bg-transparent-white {
    background-image: linear-gradient(180deg, rgb(209, 220, 226, 0) 0%, rgb(255, 255, 255, 1));
}
@media screen and (max-width: 768px) {
    .bg-white-lblue, .bg-white-blue, .bg-lblue-white, .bg-lblue-blue, .bg-blue-white, .bg-blue-lblue, .bg-lblue-transparent, .bg-transparent-white {
        height: 100px;
    }
    .bg-blue-white {
        height: 120px;
    }
}


/* Header
------------------------------- */
#fixedBox {
    display: none;
}
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}

.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
.header-bg {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.85));
    backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    padding: 8px 16px 4px;
}
.header-bg-white {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0));
    display: block;
    width: 100%;
    height: 20px;
}
.header-cont {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo img {
    height: 48px;
}

.header-item02, .header-item02 ul, .header-btn {
    display: flex;
    align-items: center;
    gap: 20px;
}
.header-item02 ul li.toggle_only {
    display: none;
}
.header-btn {
    gap: 12px;
}
.header-btn a.btn-blue {
    font-size: 1.6rem;
    margin: 0;
    padding: 6px 30px 6px 20px;
}
.header-btn a.btn-blue.off {
    padding: 6px 20px;
}
.header-btn a.btn-blue::after {
    right: 12px;
    width: 10px;
    height: 13px;
}
.header-btn a.btn-blue:hover::after {
    right: 8px;
}

/* hamburger */
.nav-toggle {
    display: none;
    width: 30px;
    height: 24px;
    position: relative;
    cursor: pointer;
    z-index: 10000;
}
.nav-toggle span {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    background: #0054A7;
    transition: all .3s;
}
.nav-toggle span:nth-child(1) { top: 0; }
.nav-toggle span:nth-child(2) { top: 11px; }
.nav-toggle span:nth-child(3) { bottom: 0; }

/* hamburger - open animation */
.nav-toggle.open span:nth-child(1) { transform: translateY(11px) rotate(-45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-11px) rotate(45deg); }

@media screen and (max-width: 1280px) {
    .header-bg {
        padding: 8px 12px 4px;
    }
}
@media screen and (max-width: 1160px) {
    .nav-toggle {
        display: block;
    }
    
    /* メニューが開いているときは親要素のフィルターを消す */
    .header-bg.menu-is-open {
        backdrop-filter: none;
            -webkit-backdrop-filter: none;
    }

    .header-logo img {
        height: 40px;
    }
    .header-item02 {
        background-color: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: 28px;
        opacity: 0;
        transition: opacity 0.4s ease;
        position: fixed;
        top: 0;
        right: 0;
        padding: 60px 20px;
        visibility: hidden;
        width: 100%;
        height: 100vh;
        z-index: 9998;
    }
    .open + .header-item02 {
        opacity: 1;
        visibility: visible;
    }

    .header-item02 ul {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    .header-item02 ul li {
        font-size: 1.6rem;
        font-weight: 600;
    }
    .header-item02 ul li.toggle_only {
        display: block;
    }

    .header-btn {
        flex-direction: column;
        width: 100%;
        max-width: 300px;
    }
    .header-btn a.btn-blue, .header-btn a.btn-blue.off {
        padding: 12px 20px;
        width: 100%;
    }
}

/* Footer
------------------------------- */
.footer .cont-inner {
    padding: 120px 40px 60px;
}
.footer .cont-2col {
    display: grid;
    grid-template-columns: 0.5fr 3fr 1fr;
    margin: 0 auto;
}
.footer .cont-2col-item01 {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}
.footer .cont-2col-item02 {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
.footer .cont-2col-item02 .cont-2col {
    display: flex;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: flex-end;
}
.footer .cont-2col-item03 {
    grid-row: 1 / 2;
    grid-column: 3 / 4;
}
.footer .cont-2col-item:nth-child(2n) {
    width: 56%;
}

.footer-logo{
    width: 80px;
}

.footer ul li {
    margin: 0 0 12px;
    font-size: 1.8rem;
    font-weight: 600;
}
.footer ul li span {
    font-size: 1.6rem;
}

.footer ul li ul {
    margin: 8px 0 0;
}
.footer ul li ul li {
    color: #798a9b;
    font-size: 1.4rem;
    margin: 0 0 8px;
}
.footer ul li ul li::before {
    content: "-";
    margin: 0 8px 0 0;
}

.footer a.btn-blue {
    font-size: 1.6rem;
    margin: 0 0 20px;
    padding: 8px 0;
    width: 100%;
}
.footer a.btn-blue::after {
    right: 20px;
    width: 10px;
    height: 16px;
}
.footer a.btn-blue:hover::after {
    right: 16px;
}

@media screen and (max-width: 1160px) {
    .footer .cont-inner {
        width: auto;
    }
    .footer .cont-2col {
        grid-template-columns: 0.5fr 2fr 1fr;
        width: calc(100% - 80px);
        gap: 40px;
    }
    .footer .cont-2col-item02 .cont-2col {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .footer-bg {
        width: 200%;
    }
    .footer .cont-inner {
        bottom: 0;
        width: 80%;
    }

    .footer .cont-2col {
        grid-template-columns: 1fr 2fr;
    }
    .footer .cont-2col-item01 {
        grid-row: 2 / 3;
        grid-column: 1 / 2;
    }
    .footer .cont-2col-item02 {
        grid-row: 1 / 2;
        grid-column: 1 / 3;
    }
    .footer .cont-2col-item02 .cont-2col {
        flex-wrap: wrap;
        gap: 0;
        justify-content: flex-start;
    }
    .footer .cont-2col-item03 {
        grid-row: 2 / 3;
        grid-column: 2 / 3;
    }

    .footer-logo {
        width: 80px;
        margin: 0 0 0 auto;
    }
    .footer ul li {
        margin: 0 0 8px;
    }
    .footer ul li ul {
        margin: 8px 0 0;
    }
    .footer ul li ul li {
        margin: 0 0 4px;
    }
}
@media screen and (max-width: 600px) {
    .footer .cont-inner {
        padding: 60px 40px 40px;
        width: 100%;
    }
    .footer-logo {
        margin: 0 auto;
    }
}
@media screen and (max-width: 480px) {
    .footer .cont-2col {
        width: 100%;
    }
    .footer a.btn-blue {
        font-size: 1.4rem;
        margin: 0 0 12px;
    }
}

/* Top
------------------------------- */
/* FV */
.main-top {
    position: relative;
    margin: 0 0 80px;
    width: 100%;
    height: auto;
}
.main-top-logo {
    position: relative;
    left: 8%;
    margin: 0 0 -380px;
    width: 20%;
    max-width: 280px;
    z-index: 3;
}
.main-top-logotype {
    color: #fff;
    font-size: 6rem;
    font-weight: 800;
    position: absolute;
    top: 20%;
    left: 8%;
    max-width: 80%;
    z-index: 1;
}
.main-top-logo img,
.main-top-logotype img {
    width: 100%;
}
.main-top svg {
    display: block;
    margin: 0 auto;
}
.main-top-slider .slick-slide img {
    object-fit: cover;
    height: 100vh;
}
@media screen and (max-width: 1480px) {
    .main-top-logo {
        margin: 0 0 -280px;
        width: 16%;
    }
}
@media screen and (max-width: 860px) {
    .main-top-logotype {
        font-size: 4rem;
    }
}
@media screen and (max-width: 768px) {
    .main-top-logo {
        margin: 0 0 -120px;
        width: 20%;
    }
    .main-top-logotype {
        font-size: 33px;
        bottom: -10%;
        width: 100%;
    }
    .main-top svg {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        margin: 0;
    }
}
@media screen and (max-width: 480px) {
    .main-top {
        height: 100vh;
    }
    .main-top-logo {
        bottom: auto;
        left: 4%;
        top: 0;
    }
    .main-top-logotype {
        bottom: -5%;
    }
}

/* Top - About */
.top-about {
    overflow: hidden;
    width: 100%;
}
.top-about-item {
    display: flex;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin: 0 0 100px;
    position: relative;
}

.top-about-item01 {
    position: relative;
    color: #0054A7;
}

.top-about-item02 {
    text-align: left;
    padding: 30px 0;
}

.about-title01 {
    /*最小値:18px, 基準（画面幅1280px:42px）, 最大値:36px*/
    font-size: clamp(2.8rem, 3.2vw, 3.6rem);
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 2;
}
.about-title01-span01 {
    display: block;
    font-size: clamp(1.6rem, 1.5vw, 3.2rem);
    letter-spacing: 6px;
}
.about-txt01 {
    /*最小値:16px, 基準（画面幅1280px:18px）, 最大値:20px*/
    /* font-size: clamp(1.6rem, 1.4vw, 2rem); */
    font-size: 16px;
    font-weight: 500;
    padding: 40px 0;
    line-height: 1.8;
}

@media screen and (max-width: 1280px) {
    .about-title01-span01 {
        letter-spacing: 4px;
    }
}
@media screen and (max-width: 860px) {
    .top-about-item {
        flex-wrap: wrap;
        gap: 40px;
        justify-content: center;
        margin: 0 0 20px;
        padding: 60px 40px 100px;
    }
    .top-about-item01 {
        column-gap: 20px;
        row-gap: 20px;
        width: 44%;
    }
    .about-title01, .about-title01-span01 {
        letter-spacing: 2px;
    }
    .about-txt01 {
        padding: 28px 0 0;
    }
}
@media screen and (max-width: 480px) {
    .top-about-item {
        gap: 0;
        padding: 72px 20px 40px;
    }
    .top-about-item01 {
        width: 100%;
    }
    .top-about-item02 {
        padding: 0 0 28px;
        width: 100%;
    }
}

/* Top - News */
.top-news {
    overflow: hidden;
    max-width: 80%;
    padding: 0 0 200px;
    margin: 200px 0 0 auto;
}
.top-news-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 40px;
}
.top-news .title01 {
    margin: 0 40px 0 0;
    padding: 0;
}
.top-news .top-news-title a.btn-blue {
    font-size: 2rem;
    margin: 0;
    padding: 12px 20px;
    width: 160px;
}
.top-news .top-news-title a.btn-blue::after {
    height: 20px;
    width: 13px;
}
.top-news-slider .top-news-list {
    overflow: visible;
    padding: 0 40px 0 0;
}
.top-news-list img {
    aspect-ratio: 1.618 / 1;
    border: #d0d6dc 1px solid;
    object-fit: cover;
    width: 100%;
}
.coming_soon {
    align-content: center;
    aspect-ratio: 1.618 / 1;
    background-color: #94B3D3;
    color: #d8e5f2;
    font-family: "Roboto", sans-serif;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    width: 100%;
}
.coming_soon.border {
    border: #E6EEF6 1px solid;
}

.slick-prev, .slick-next{
    z-index:100;
}
.slick-prev, .slick-prev:hover, .slick-prev:focus {
    left: auto;
    right: 25%;
    top: -80px;
    background-image: url(../images/index/news-icon-prev.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
}
.slick-next, .slick-next:hover, .slick-next:focus {
    right: 20%;
    top: -80px;
    background-image: url(../images/index/news-icon-next.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    opacity: 0.7;
    transition : all 0.5s ease 0s;
}
.slick-prev:before, .slick-next:before {
    display: none;
}

.top-news-list-txt {
    padding: 40px 0 0;
}

@media screen and (max-width: 1480px) {
    .slick-prev, .slick-prev:hover, .slick-prev:focus {
        right: 28%;
    }
    .top-news {
        margin: 0 0 0 auto;
    }
}
@media screen and (max-width: 1080px) {
    .top-news {
        max-width: 90%;
    }
    .slick-prev, .slick-prev:hover, .slick-prev:focus {
        right: 30%;
    }
}
@media screen and (max-width: 768px) {
    .top-news {
        padding: 0 0 60px;
        max-width: calc(100% - 20px);
    }
    .top-news .title01 {
        margin: 0 20px 0 0;
    }
    .top-news .top-news-title a.btn-blue {
        font-size: 1.6rem;
        padding: 8px 8px;
        width: 100px;
    }
    .top-news .top-news-title a.btn-blue::after {
        right: 12px;
        width: 10px;
        height: 14px;
    }
    .top-news-slider .top-news-list {
        padding: 0 12px 0 0;
    }
    .top-news-list img {
        border: #E6EEF6 2px solid;
    }
    .top-news-list-txt {
        padding: 8px 0 0;
    }

    .coming_soon {
        font-size: 3rem;
    }
    .coming_soon.border {
        border: #E6EEF6 2px solid;
    }
    .top-news-slider .coming_soon {
        font-size: 1.8rem;
    }
    
    .slick-prev, .slick-prev:hover, .slick-prev:focus {
        right: 60px;
        top: -64px;
        width: 30px;
        height: 30px;
    }
    .slick-next, .slick-next:hover, .slick-next:focus {
        right: 20px;
        top: -64px;
        width: 30px;
        height: 30px;
    }
}

/* Top - Mission */
.top-mission {
    overflow: hidden;
    padding: 0 0 460px;
    position: relative;
}
.top-mission-title {
    margin: 200px 0 0;
    position: relative;
    z-index: 2;
}
.top-mission-title h2 {
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    width: 100%;
}
.top-mission-title img {
    margin: 0 auto;
}
.top-mission-item {
    font-family: "Zen Kaku Gothic New", sans-serif;
    position: relative;
    width: 80%;
}
.top-mission-txt {
    margin: 0 16%;
    position: relative;
    padding: 100px 40px 40px;
    width: 40%;
    z-index: 3;
}
.top-mission-bg {
    position: absolute;
    right: -20%;
    top: -120px;
    z-index: 1;
}
@media screen and (max-width: 1600px) {
    .top-mission {
        padding: 0 0 320px;
    }
    .top-mission-item {
        width: 100%;
    }
    .top-mission-txt {
        margin: 0 2%;
        padding: 80px 40px 40px;
        width: 40%;
    }
    .top-mission-bg {
        right: -10%;
        top: -180px;
        width: 80%;
    }
}
@media screen and (max-width: 1000px) {
    .top-mission {
        padding: 0 0 20px;
    }
    .top-mission-txt {
        margin: 0;
        padding: 40px 40px 40px;
        width: 100%;
    }
    .top-mission-bg {
        position: relative;
        top: auto;
        right: 20%;
        margin: -110px 0 0;
        width: 154%;
    }
}
@media screen and (max-width: 800px) {
    .top-mission-bg {
        right: 30%;
    }
}
@media screen and (max-width: 768px) {
    .top-mission {
        margin: 40px 0 0;
        padding: 0;
    }
    .top-mission-title {
        margin: 40px 0 0;
    }
    .top-mission-bg {
        position: relative;
        top: auto;
        right: 36%;
        margin: -110px 0 0;
        width: 154%;
    }
}

/* Top - Service */
.top-cont03 {
    overflow: hidden;
    position: relative;
}
.top-cont03-other {
    position: relative;
    width: 100%;
}
.top-cont03-illust01, .top-cont03-illust02, .top-cont03-illust03, .top-cont03-illust04, .top-cont03-illust05 {
    position: absolute;
}
.top-cont03-illust01 svg, .top-cont03-illust05 svg, .top-cont03-illust-bottom svg {
    width: 100%;
    height: auto;
}
.top-cont03-illust01 {
    left: 0;
    top: 5%;
    width: 8%;
    z-index: 3;
}
.top-cont03-illust02 {
    left: 24%;
    top: 5%;
    width: 3.5%;
    z-index: 2;
}
.top-cont03-illust03 {
    left: 8%;
    top: 3%;
    width: 15%;
    z-index: 1;
}
.top-cont03-illust04 {
    right: 4%;
    top: 1%;
    width: 20%;
    z-index: 1;
}
.top-cont03-illust05 {
    right: 0;
    top: -35%;
    width: 25%;
    z-index: 2;
}
.top-cont03-illust-bottom {
    margin: -400px 0 -180px 0;
    width: 40%;
}
.top-cont03-comment {
    background-color: #fff;
    position: relative;
    padding: 40px;
    margin: 0 16% 80px auto;
    width: 50%;
    z-index: 1;
}

.top-cont03 .cont-inner {
    padding: 120px 40px 160px;
}
.top-cont03 .top-cont03-other .cont-inner {
    padding: 0 40px 180px;
}

.top-cont03 .cont-2col-item-img {
    margin: 0 0 36px;
}

.top-cont03-item01 {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    margin: 0 0 0 auto;
    padding: 0 0 280px;
    max-width: 80%;
}
.top-cont03-item01-txt {
    padding: 0 80px 0 0;
    width: 40%;
}

.top-cont03 .title02 {
    margin: 0 0 28px
}

.top-cont03-item-list {
    margin: 0 0 40px;
    width: 360px;
}
.top-cont03-item-list li {
    background-color: #E4EBF3;
    color: #0054A7;
    font-weight: 600;
    margin: 0 0 4px;
    padding: 12px;
}

.top-cont03-item01-img {
    width: 60%;
}
.top-cont03-item01-img img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}
.top-cont03-item01-img02 {
    display: flex;
    gap: 40px;
    margin: -8% 0 0 -12%;
    width: 600px;
}
.top-cont03-item01-img02 img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

.top-cont03-item02 {
    display: flex;
    gap: 80px;
    margin: 0 auto;
    padding: 0 40px 280px;
    max-width: 1320px;
}
.top-cont03-item02-txt01 {
    width: 508px;
}
.top-cont03-item02-txt02 {
    width: 360px;
    margin: 0 0 0 auto;
}

.top-cont03-item02-img {
    width: 50%;
}
.top-cont03-item02-img img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}
.top-cont03-item02-img02 {
    display: flex;
    gap: 40px;
    margin: -8% 0 0 28%;
    width: 600px;
}
.top-cont03-item02-img02 img {
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

@media screen and (max-width: 1480px) {
    .top-cont03-item01 {
        max-width: 95%;
    }
}
@media screen and (max-width: 1180px) {
    .top-cont03-item01-txt {
        padding: 0 60px 0 0;
        width: 50%;
    }
    .top-cont03-item01-img {
        width: 50%;
    }
    .top-cont03-item01-img02 {
        margin: 40px 0 0 0;
        width: calc(100% - 40px);
    }

    .top-cont03-item02 {
        gap: 60px;
    }
    .top-cont03-item02-txt {
        width: 100%;
    }
    .top-cont03-item02-txt01 {
        width: 100%;
    }
    .top-cont03-item02-txt02 {
        margin: 0;
        width: 100%;
    }
    .top-cont03-item02-img02 {
        margin: 40px 0 0 auto;
        margin: 20px 0 40px;
        width: calc(100% - 20px);
    }

    .top-cont03-item02 .btn-blue {
        margin: 0 auto;
    }
}
@media screen and (max-width: 1024px) {
    .top-cont03-item-list {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .top-cont03 .cont-inner {
        padding: 160px 20px 80px;
    }
    .top-cont03 .top-cont03-other .cont-inner {
        padding: 0 20px 80px;
    }
    .top-cont03 .top-cont03-other .cont-2col {
        gap: 80px;
    }
    .top-cont03 .top-cont03-other .cont-2col-item {
        position: relative;
    }

    .top-cont03-illust01 {
        left: 0;
        top: 2%;
        width: 12%;
    }
    .top-cont03-illust02 {
        left: 30%;
        top: 2%;
        width: 6%;
    }
    .top-cont03-illust03 {
        left: 11%;
        top: 1%;
        width: 18%;
    }
    .top-cont03-illust04 {
        top: 1%;
    }
    .top-cont03-illust05 {
        right: -18%;
        top: -30%;
        width: 40%;
    }
    .top-cont03-illust-bottom {
        position: absolute;
        left: -16px;
        bottom: 20px;
        margin: 0;
        width: 42%;
        z-index: 2;
    }
    .top-cont03-comment {
        margin: 0 40px 80px auto;
        padding: 40px;
        width: 60%;
    }

    .top-cont03-item01 {
        flex-direction: column-reverse;
        flex-wrap: wrap;
        padding: 0 0 80px 20px;
        max-width: 100%;
    }
    .top-cont03-item01-txt {
        padding: 0 20px 0 0;
        width: 100%;
    }

    .top-cont03-item-list li {
        padding: 8px;
    }

    .top-cont03-item01-img {
        width: 100%;
    }
    .top-cont03-item01-img02 {
        gap: 20px;
        margin: 20px 0 40px;
        width: calc(100% - 20px);
    }

    .top-cont03-item01 .btn-blue {
        margin: 0 auto;
    }

    .top-cont03-item02 {
        flex-wrap: wrap;
        gap: 20px;
        padding: 0 20px 80px 0;
        max-width: 100%;
    }
    .top-cont03-item02-txt01, .top-cont03-item02-txt02 {
        padding: 0 0 0 20px;
        width: 100%;
    }
    .top-cont03-item02-img {
        width: 100%;
    }
    .top-cont03-item02-img02 {
        gap: 20px;
        margin: 20px;
    }
}
@media screen and (max-width: 480px) {
    .top-cont03 .cont-inner {
        padding: 160px 20px 20px;
    }

    .top-cont03-illust01 {
        left: -7%;
        top: 4%;
        width: 18%;
    }
    .top-cont03-illust02 {
        left: 35%;
        top: 2%;
        width: 8%;
    }
    .top-cont03-illust03 {
        left: 3%;
        top: 0.5%;
        width: 28%;
    }
    .top-cont03-illust04 {
        right: 6%;
        top: 1%;
        width: 27%;
    }
    .top-cont03-illust05 {
        right: -48%;
        top: 10%;
        width: 66%;
    }
    .top-cont03-illust-bottom {
        bottom: 60px;
        width: 62%;
    }
    .top-cont03-comment {
        margin: 0 20px 60px auto;
        padding: 20px 20px 20px 30px;
        width: 65%;
    }
    .top-cont03-comment p {
        font-size: 1.2rem;
    }
}


/* Top - Company */
.top-company {
    padding: 0 0 80px;
    position: relative;
    overflow: hidden;
    width: 100%;
}
.top-company.bg-blue {
    background-image: linear-gradient(180deg, rgb(0 84 167) 0%, rgb(35 104 217) 100%);
}
.top-company .cont-inner {
    padding: 120px 40px 0;
    position: inherit;
    z-index: 2;
}

.top-company-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    z-index: 1;
}
.top-company-bg .bg-blue-horizontal, .top-company-bg .bg-blue-vertical, .top-company-bg img {
    position: inherit;
    width: 100%;
    height: 920px;
}
.top-company-bg img {
    object-fit: cover;
}
.top-company-bg .bg-blue-horizontal {
    background-image: linear-gradient(90deg, rgba(0, 84, 167, 1), rgba(0, 84, 167, 0.4) 50%);
    z-index: 3;
}
.top-company-bg .bg-blue-vertical {
    background-image: linear-gradient(180deg, rgba(0, 84, 167, 1)0%, rgba(0, 84, 167, 0) 30%, rgba(0, 84, 167, 0.85) 80%, rgba(0, 84, 167, 1) 100%);
    z-index: 2;
}

.top-company .cont-2col {
    gap: 40px;
    justify-content: space-between;
    margin: 0;
}
.top-company .cont-2col .cont-2col-item {
    gap: 40px;
    justify-content: space-between;
    position: relative;
}
.top-company .cont-2col .cont-2col-item-img {
    position: relative;
    width: calc(100% / 1.5);
    z-index: 2;
}
.top-company .cont-2col .cont-2col-item-img.behind {
    position: absolute;
    bottom: -246px;
    right: 0;
    opacity: 0.8 !important;
    z-index: 1;
}
.top-company .cont-2col .cont-2col-item-img img {
    aspect-ratio: 1 / 1.4142;
    object-fit: cover;
}

.top-company .cont-3col {
    margin: 0;
}
.top-company .cont-3col-item {
    margin: 40px 0 0;
    z-index: 3;
}

@media screen and (max-width: 768px) {
    .top-company {
        padding: 0;
    }
    .top-company .cont-inner {
        padding: 0 20px;
    }
    .top-company-bg {
        width: 80%;
    }
    .top-company-bg .bg-blue-horizontal, .top-company-bg .bg-blue-vertical, .top-company-bg img {
        height: 580px;
    }
    .top-company .cont-2col {
        gap: 20px;
    }
    .top-company .cont-2col .cont-2col-item {
        width: calc((100% - 20px) / 2);
    }
    .top-company .cont-2col .cont-2col-item-img {
        margin: 80px 0 0;
        width: 60%;
    }
    .top-company .cont-2col .cont-2col-item-img.behind {
        bottom: auto;
        right: -20px;
        top: 44%;
        width: 60%;
    }

    .top-company a.btn-white {
        padding: 12px 0;
        width: 100%;
    }
    .top-company a.btn-white::after {
        right: 12px;
    }
    .top-company a.btn-white:hover::after {
        right: 8px;
    }

    .top-company .cont-3col {
        gap: 16px;
    }
    .top-company .cont-3col-item {
        width: calc(100% / 3);
    }
}
@media screen and (max-width: 480px) {
    .top-company .cont-2col .cont-2col-item-img {
        width: 100%;
    }
    .top-company .cont-2col .cont-2col-item-img.behind {
        width: 90%;
    }
    .top-company .cont-2col .cont-2col-item-img img {
        aspect-ratio: 1 / 1.8;
    }
}


/* Partner */
.top-partner {
    background: url(../images/partner-bg01.jpg) no-repeat 0 200px;
    background-size: cover;
    position: relative;
    z-index: 1;
}
.top-partner .cont-inner {
    padding: 0 40px 120px;
}
.top-partner .cont-2col {
    margin: 40px 0 0;
}
.top-partner .cont-2col-item {
    background-color: rgb(255 255 255 / 80%);
    padding: 40px;
}
@media screen and (max-width: 768px) {
    .top-partner {
        background: url(../images/partner-bg01.jpg) no-repeat 0 100px;
        background-size: cover;
    }
    .top-partner .cont-inner {
        padding: 20px 20px 80px;
    }
    .top-partner .cont-2col {
        gap: 60px;
    }
}

/* Contact */
.top-contact {
    overflow: hidden;
    padding: 0 0 180px 0;
    position: relative;
}
.top-contact .cont-inner {
    margin: 0 auto;
    padding: 60px 0 0 40px;
}

.top-contact .cont-2col {
    position: relative;
    width: 100%;
}
.top-contact .cont-2col-item {
    position: relative;
    width: 50%;
}
.top-contact .title01 {
    margin: 0 auto 60px;
}
.top-contact .title01 + .cont-txt {
    margin: 0 auto 120px;
}
.top-contact .sp-br {
    display: none;
}

.top-contact form {
    background-color: #e1f1f9;
    margin: 0;
    padding: 60px;
    position: relative;
    width: 100%;
    z-index: 2;
}
.top-contact form .form-inner {
    width: 980px;
}
.top-contact form .form-group {
    width: 760px;
}
.top-contact form .form-group {
    display: flex;
    gap: 20px;
    margin: 0 auto 20px;
}
.top-contact form .form-group label {
    padding: 8px 0;
    width: 28%;
}
.top-contact form .form-group .inp p {
    background-color: #eef9ff;
    border: 2px solid #fff;
    padding: 8px;
    min-height: 48px;
}
.top-contact form .form-group label span:nth-child(2) {
    background-color: #0054a7;
    color: #fff;
    font-size: 1.2rem;
    margin: 0 0 0 8px;
    padding: 2px 6px 4px;
}
.top-contact form .form-group .inp {
    width: 72%;
}
.form_input, .form-control {
    border: none;
    padding: 8px;
    width: 100%;
}
.top-contact form .form-group.privacy-policy {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.top-contact form .form-group.privacy-policy p {
    margin: 0 0 20px;
}
.top-contact form .form-group .privacy-policy-content {
    background-color: #f1f7fa;
    border: 1px solid #bac3c8;
    display: block;
    font-size: 0.8em;
    overflow-y: scroll;
    margin-bottom: 20px;
    padding: 15px;
    height: 150px;
}
.top-contact form .form-group .checkbox-group {
    margin: 0 0 10px;
    width: 100%;
}
.top-contact form input:-webkit-autofill {
  box-shadow: 0 0 0px 100px #fff inset;
}

.top-contact form .submit-btn {
    border: none;
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 2rem;
    margin: 40px auto 4px;
    padding: 0;
    width: 200px;
}
.top-contact form .submit-btn::after {
    right: 24px;
}
.top-contact form .submit-btn:hover::after {
    right: 20px;
}
.top-contact form .submit-btn input {
    font-size: 2rem;
    padding: 16px 60px;
}
@media screen and (max-width: 1280px) {
    .top-contact {
        padding: 0 0 360px 0;
    }
    .top-contact .cont-inner {
        margin: 0 0 0 5%;
        max-width: 95%;
    }
}
@media screen and (max-width: 1180px) {
    .top-contact form {
        margin: 0;
    }
    .top-contact form .form-inner {
        width: 100%;
    }
    .top-contact form .form-group, .top-contact form .submit-btn {
        width: 100%;
    }
    .top-contact form .submit-btn input {
        padding: 16px 140px;
    }
}
@media screen and (max-width: 768px) {
    .top-contact {
        padding: 0 0 320px 0;
    }
    .top-contact .cont-inner {
        margin: 0;
        padding: 60px 0 0 20px;
        max-width: 100%;
    }
    .top-contact .cont-2col-item {
        width: 100%;
    }
    .top-contact .title01 {
        margin: 0 auto 28px;
    }
    .top-contact .title01 + .cont-txt {
        margin: 0 auto;
    }

    .top-contact form {
        padding: 20px 20px 32px;
    }
    .top-contact form .form-group {
        display: block;
        width: 100%;
    }
    .top-contact form .form-group label span {
        display: inline-block;
        margin: 0 0 8px;
    }
    .top-contact form .form-group label span:nth-child(2) {
        font-size: 1rem;
        padding: 2px 6px;
    }
    .top-contact form .form-group .inp {
        width: 100%;
    }
    .top-contact form .submit-btn {
        margin: 28px auto 12px;
    }
}
@media screen and (max-width: 480px) {
    .top-contact {
        padding: 80px 0 80px 0;
        margin-top: -60px;
    }
    .top-contact .cont-inner {
        padding: 0 20px;
    }
    .top-contact .sp-br {
        display: block;
    }
}


/* News
------------------------------- */
.news-cont01 .top-news-list-txt {
    padding: 40px 0 0;
}
.news-cont01 .title02 {
    border-bottom: 2px solid #d1dce2;
    color: #0054A7;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.8;
    margin: 0 0 40px;
    padding: 0 0 40px;
}
.news-cont01 .title02-span01 {
    display: block;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0;
}
.news-cont01 .cont-3col {
    margin: 0 0 40px;
}
.news-cont01-img img {
    aspect-ratio: 1.618 / 1;
    border: #E6EEF6 4px solid;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
    .news-cont01 .title02 {
        margin: 0 0 20px;
        padding: 0 0 20px;
    }
}

/* About
------------------------------- */
.about-cont01 {
    padding: 120px 0 40px;
}
.about-cont02 .cont-2col {
    margin: 0;
}
.about-cont02 .cont-2col .cont-2col-item-txt .cont-txt {
    margin: 0 0 20px;
}
.about-cont02 .cont-2col .cont-2col-item-txt .cont-txt.txt-name {
    font-family: "Zen Kurenaido", sans-serif;
    font-size: 2.4rem;
    font-weight: 400;
    text-align: right;
    margin: 0;
}
.about-cont04 .cont-3col {
    align-items: center;
}
.about-cont04 .cont-3col:first-of-type {
    margin: 0 0 40px;
}
.about-cont04 .cont-3col .cont-3col-item {
    width: calc(24% - 80px);
}
.about-cont04 .cont-3col .cont-3col-item:first-of-type {
    width: 6%;
}
.about-cont04 .cont-3col .cont-3col-item:last-of-type {
    width: calc(70% - 80px);
}
.about-cont04 .cont-3col .title03 {
    margin: 0;
}
.about-cont04 .cont-3col .cont-3col-item .title {
    color: #0054a7;
    font-size: 2.4rem;
    font-weight: 500;
    margin: 0 0 8px;
}
@media screen and (max-width: 768px) { 
    .about-cont01 {
        padding: 0;
    }
    .about-cont04 .cont-3col {
        gap: 12px;
    }
    .about-cont04 .cont-3col .cont-3col-item {
        width: calc(90% - 12px);
    }
    .about-cont04 .cont-3col .cont-3col-item:first-of-type {
        width: 10%;
    }
    .about-cont04 .cont-3col .cont-3col-item:last-of-type {
        width: 100%;
    }
}

/* Service
------------------------------- */
.service-cont01 .cont-2col-item-img {
    margin: 0 0 36px;
}

.bg-picture {
    position: relative;
}
.bg-picture img {
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.bg-picture-img::before {
    content: "";
    background-color: rgb(26, 57, 88, 0.4);
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.bg-picture .cont-inner {
    position: relative;
    z-index: 3;
}
.bg-picture .title02, .bg-picture .cont-txt {
    color: #fff;
}
.bg-picture .bg-lblue-transparent,.bg-picture .bg-transparent-white {
    position: relative;
    z-index: 3;
}
@media screen and (max-width: 768px) {   
    .bg-picture .cont-inner {
        padding: 0px 20px;
    }
}

/* Company
------------------------------- */

@media screen and (max-width: 768px) {
    .company-cont02 .cont-2col {
        gap: 0;
    }
}

/* Partner
------------------------------- */
.partner-cont01 + .cont-inner {
    padding: 0 40px 120px;
}
@media screen and (max-width: 768px) {
    .partner-cont01.lower-common-cont .top-cont03-item01 {
        padding: 0;
    }
}