@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(max-width:999px){

/*-----STYLE-----*/
.pc {
    display:none;
}

.wrap {
    padding-top:60px;
}

.cts {
    width:90%;
}

.titles {
    padding-bottom:20px;
    text-align:center;
}

.titles .title {
    display:inline-block;
}

.titles .title p {
    font-size:120%;
    font-weight:600;
    line-height:135%;
}

.titles .title p:first-letter {
    color:#55b4e6;
}

.titles .title .line {
    display:block;
    height:4px;
    background:#55b4e6;
}

.more_btn {
    text-align:center;
}

.more_btn .btn {
    display:inline-block;
}

.more_btn .btn a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    background:#55b4e6;
    border-radius:5px;
    padding:10px 20px;
}

.more_btn .btn .arrow {
    content:"";
    width:20px;
    height:3px;
    background:#fff;
    display:block;
    position:absolute;
    right:20px;
    display:flex;
    align-items:center;
    animation:arrow 0.6s infinite alternate;
}

.more_btn .btn .arrow:after {
    content:"";
    width:14px;
    height:14px;
    border-top:#fff 3px solid;
    border-right:#fff 3px solid;
    transform:rotate(45deg);
    position:absolute;
    right:0;
}

.more_btn .btn a p {
    font-weight:600;
    color:#fff;
    margin-right:30px;
}

.back_btn {
    text-align:center;
    margin-top:50px;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    border:#55b4e6 1px solid;
    border-radius:5px;
    padding:10px 25px;
}

.back_btn .btn a p {
    font-size:90%;
    font-weight:600;
    color:#55b4e6;
    margin-left:25px;
}

.back_btn .btn .arrow {
    content:"";
    width:20px;
    height:2px;
    background:#55b4e6;
    display:block;
    position:absolute;
    left:20px;
    display:flex;
    align-items:center;
    animation:arrow 0.6s infinite alternate;
}

.back_btn .btn .arrow:after {
    content:"";
    width:12px;
    height:12px;
    border-top:#55b4e6 2px solid;
    border-right:#55b4e6 2px solid;
    transform:rotate(-135deg);
    position:absolute;
    left:0;
}





/*-----HEADER-----*/
header {
    width:100%;
    height:60px;
    background:rgba(255,255,255,0.95);
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
}

header .logo {
    width:210px;
    margin-left:10px;
}

header .logo p {
    font-size:150%;
    font-weight:bold;
    line-height:100%;
}

header h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}





/*-----MV-----*/
#mv {
    width:100vw;
    overflow:hidden;
    position:relative;
}

#mv .movie {
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

#mv video{
    width:100%;
    height:auto;
    vertical-align:bottom;
}

#mv .movie .sample {
    font-size:80%;
    line-height:100%;
    padding:5px 5px;
    border:#fff 1px solid;
    color:#fff;
    position:absolute;
}

#mv .sound {
    width:30px;
    position:absolute;
    right:15px;
    bottom:15px;
    z-index:1000;
    cursor:pointer;
}

.more_text {
}

.more_text .btn {
    display:inline-block;
}

.more_text .btn a {
    display:flex;
}

.more_text .btn p {
    font-weight:600;
}

.more_text .btn .arrow {
    width:30px;
    margin:0 0 10px 5px;
    animation:arrow 0.6s infinite alternate;
}




/*-----TOP TOPICS-----*/
#top_topics {
    padding:50px 0;
    background:#eef7fc;
    position:relative;
}

#top_topics .deco {
    display:none;
}

#top_topics .cts {
    width:90%;
}

#top_topics .details {
    display:block;
}

#top_topics .details .titles {
    width:100%;
    text-align:center;
}

#top_topics .details .detail {
    width:100%;
    border-left:none;
    padding-left:0;
}

#top_topics .details .detail .topics {
    margin-bottom:20px;
}

#top_topics .details .detail .topics .topic {
    border-bottom:#d2d2d2 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

#top_topics .details .detail .topics .topic:first-child {
    border-top:#d2d2d2 1px solid;
    padding-top:15px;
}

#top_topics .details .detail .topics .topic:last-child {
    margin-bottom:0;
}

#top_topics .details .detail .topics .topic .date_cate {
    display:flex;
    align-items:center;
    margin-bottom:5px;
}

#top_topics .details .detail .topics .topic .date_cate .date {
    font-size:90%;
    margin-right:10px;
}

#top_topics .details .detail .topics .topic .date_cate .cate {
    font-size:80%;
    line-height:100%;
    color:#fff;
}

#top_topics .details .detail .topics .topic .date_cate .cate a {
    color:#fff;
    display:block;
    background:#55b4e6;
    padding:3px 6px;
}

#top_topics .details .detail .topics .topic .subject {
    font-size:100%;
    line-height:155%;
}

#top_topics .details .detail .more_text {
    text-align:right;
}





/*-----TOP SERVICE-----*/
#top_service {
    padding:50px 0;
    position:relative;
}

#top_service .deco {
    display:none;
}

#top_service .cts {
    width:90%;
    max-width:none;
}

#top_service .copy {
    text-align:center;
    margin-bottom:25px;
}

#top_service .services {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

#top_service .services .service {
    width:32%;
    height:auto;
    margin:0 0 2%;
    overflow:hidden;
}

#top_service .services .service:nth-child(6n) {
    margin-right:0;
}

#top_service .services .service:nth-last-child(-n+2) {
    margin-bottom:0;
}

#top_service .services .service a {
    display:block;
    position:relative;
}

#top_service .services .service a .photo {
    width:100%;
    height:auto;
    aspect-ratio:1 / 1.5;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

#top_service .services .service a .photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transform:none;
    transition:none;
}

#top_service .services .service a:hover img {
    transform:none;
}

#top_service .services .service a:hover {
    animation:none;
}

#top_service .services .service a .subject {
    width:100%;
    min-height:48px;
    background:rgba(85,180,230,0.9);
    padding:8px 7px;
    position:absolute;
    left:0;
    bottom:0;
    display:flex;
    align-items:center;
}

#top_service .services .service a .subject p {
    font-size:70%;
    font-weight:600;
    line-height:135%;
    color:#fff;
}

#top_service .more_text {
    margin-top:20px;
    text-align:right;
}





/*-----TOP COMPANY-----*/
#top_company {
    padding:0 0 50px;
    position:relative;
}

#top_company .cts {
    width:90%;
    max-width:none;
}

#top_company .details {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    position:relative;
}

#top_company .details .photo {
    width:100%;
    height:65vw;
    max-height:420px;
    background:url(../img/company.jpg) center / cover;
    margin-bottom:25px;
}

#top_company .details .detail {
    width:100%;
    padding-left:0;
}

#top_company .details .detail .deco {
    display:none;
}

#top_company .details .detail .item {
    font-size:135%;
    font-weight:600;
    line-height:150%;
    margin-bottom:15px;
    text-align:center;
}

#top_company .details .detail .item:first-letter {
    color:#55b4e6;
}

#top_company .details .detail .tx {
    margin-bottom:25px;
}





/*-----TOP CASE-----*/
#top_case {
    background:#eef7fc;
    padding:50px 0;
}

#top_case .cts {
    width:100%;
}

#top_case .copy {
    width:90%;
    margin:0 auto 25px;
    text-align:center;
}

#top_case .cases {
    width:100%;
    margin-bottom:25px;
}

#top_case .cases .case {
    height:auto;
    min-height:330px;
    background:#fff;
    position:relative;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
}

#top_case .cases .case a {
    height:100%;
    padding:12px;
    display:block;
}

#top_case .cases .case .photo {
    width:100%;
    height:45vw;
    margin-bottom:12px;
}

#top_case .cases .case .photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}

#top_case .cases .case .info {
    padding:0 5px 30px;
}

#top_case .cases .case .info .cate {
    font-size:70%;
    line-height:100%;
    background:#55b4e6;
    color:#fff;
    display:inline-block;
    padding:4px;
    margin-bottom:5px;
}

#top_case .cases .case .info .subject {
    font-size:100%;
    font-weight:600;
    line-height:145%;
    margin-bottom:3px;
}

#top_case .cases .case .info .customer {
    font-size:75%;
    color:#969696;
}

#top_case .cases .case .info .date {
    position:absolute;
    right:15px;
    bottom:10px;
    font-size:75%;
    color:#969696;
}

#top_case .more_btn {
    text-align:center;
}





/*-----TOP RECRUIT-----*/
#top_recruit {
    padding:50px 0;
    background:linear-gradient(#fff,#f5f5f5);
}

#top_recruit .cts {
    width:90%;
    position:relative;
}

#top_recruit .details {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    position:relative;
}

#top_recruit .details .detail {
    width:100%;
    padding-right:0;
}

#top_recruit .details .detail .deco {
    display:none;
}

#top_recruit .details .detail .item {
    font-size:135%;
    font-weight:600;
    line-height:150%;
    margin-bottom:15px;
    text-align:center;
}

#top_recruit .details .detail .item:first-letter {
    color:#55b4e6;
}

#top_recruit .details .detail .tx {
    margin-bottom:25px;
}

#top_recruit .details .photos {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    position:relative;
    margin-bottom:25px;
}

#top_recruit .details .photos .photo {
    width:23.5%;
    margin-bottom:2%;
}

#top_recruit .details .photos .photo:nth-child(n+9) {
    margin-bottom:0;
}

#top_recruit .details .photos .photo img {
    width:100%;
    height:auto;
    display:block;
}

#top_recruit .details .photos .all {
    width:55%;
    position:absolute;
    left:0;
    right:0;
    bottom:-23vw;
    margin:auto;
}





/*-----PARTNERS-----*/
#partners {
    padding:50px 0;
}

#partners .titles .title p {
    font-size:110%;
}


/*-----PARTNER LOGO-----*/
#partners .partners {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px 5%;
    margin-bottom:40px;
}

#partners .partners .partner {
    width:30%;
    margin:0;
}

#partners .partners .partner:nth-child(6n) {
    margin-right:0;
}

#partners .partners .partner:nth-child(n+7) {
    margin-bottom:0;
}

#partners .partners .partner img {
    width:100%;
    height:auto;
    display:block;
}


/*-----SYSTEM-----*/
#partners .systems {
    display:block;
}

#partners .systems .system {
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 0;
    border-bottom:#d2d2d2 1px solid;
}

#partners .systems .system:first-child {
    border-right:none;
    border-top:#d2d2d2 1px solid;
    padding:20px 0;
    margin-right:0;
}

#partners .systems .system .symbol {
    width:50px;
    flex-shrink:0;
}

#partners .systems .system .symbol img {
    width:100%;
    height:auto;
    display:block;
}

#partners .systems .system .detail {
    width:calc(100% - 70px);
}

#partners .systems .system .detail .item {
    font-size:95%;
    font-weight:600;
    margin-bottom:5px;
}

#partners .systems .system .detail .tx {
    font-size:75%;
    line-height:160%;
    color:#969696;
}





/*-----CTA-----*/
#cta {
    padding:50px 0;
    background:url(../img/cta_bg.jpg) center / cover;
}

#cta .cts {
    width:90%;
}


/*-----TITLE-----*/
#cta .titles {
    padding-bottom:10px;
}

#cta .titles .title p {
    font-size:100%;
    color:#fff;
}

#cta .titles .title p:first-letter {
    color:#fff;
}

#cta .titles .title .line {
    background:#fff;
}

#cta .en {
    font-size:260%;
    font-weight:500;
    line-height:100%;
    color:#fff;
    text-align:center;
    margin-bottom:15px;
}

#cta .copy {
    font-size:90%;
    line-height:160%;
    color:#fff;
    text-align:center;
    margin-bottom:20px;
}


/*-----CTA BUTTONS-----*/
#cta .cta_btns {
    display:block;
    width:100%;
    display:flex;
    justify-content:space-between;
    gap:15px;
}

#cta .cta_btns .cta_btn {
    width:100%;
}

#cta .cta_btns .cta_btn:last-child {
    margin-bottom:0;
}

#cta .cta_btns .cta_btn a {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:12px 10px;
    border:#fff 1px solid;
}

#cta .cta_btns .cta_btn:first-child a {
    background:#55b4e6;
}

#cta .cta_btns .cta_btn:last-child a {
    background:#0080c8;
}

#cta .cta_btns .cta_btn a img {
    width:35px;
    margin-right:12px;
}

#cta .cta_btns .cta_btn a p {
    font-size:90%;
    font-weight:600;
    line-height:135%;
    color:#fff;
}


/*-----MORE BUTTON-----*/
#cta .more_btn {
    text-align:center;
}

#cta .more_btn .btn {
    width:100%;
    display:block;
}

#cta .more_btn .btn a {
    width:100%;
    min-height:60px;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    background:#fff;
    border-radius:5px;
    padding:15px 50px 15px 20px;
}

#cta .more_btn .btn a:before {
    content:"";
    width:12px;
    height:12px;
    border-top:#0080c8 3px solid;
    border-right:#0080c8 3px solid;
    transform:rotate(45deg);
    position:absolute;
    right:20px;
}

#cta .more_btn .btn a:after {
    content:"";
    width:17px;
    height:3px;
    background:#0080c8;
    position:absolute;
    right:20px;
}

#cta .more_btn .btn a p {
    font-size:100%;
    font-weight:600;
    color:#0080c8;
    margin-right:0;
}





/*-----PAGE-----*/
.under {
    padding-bottom:80px;
}


/*-----PAGE TITLE-----*/
.pagetitles {
    width:100%;
    height:180px;
    background:#eef7fc;
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.pagetitles .pagedeco_l {
    width:40px;
    position:absolute;
    top:0;
    left:0;
    z-index:1;
}

.pagetitles .pagedeco_r {
    width:40px;
    position:absolute;
    bottom:0;
    right:0;
    z-index:3;
}



/*-----BACKGROUND PHOTO-----*/
.pagetitles .bg {
    width:80%;
    height:180px;
    background:#ccc;
    position:absolute;
    top:0;
    right:-15%;
    margin:0;
}

.pagetitles .bg img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.pagetitles .bg .bgdeco_l {
    width:100px;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
}

.pagetitles .bg .bgdeco_r {
    width:100px;
    position:absolute;
    right:0;
    bottom:0;
    z-index:2;
}


/*-----TITLE-----*/
.pagetitles .pagetitle {
    width:90%;
    margin:auto;
    position:absolute;
    left:0;
    right:0;
    z-index:2;
}

.pagetitles .pagetitle .subject {
    font-size:320%;
    font-weight:500;
    line-height:100%;
    color:#0080c8;
    text-shadow:0 0 5px rgba(238,247,252,1),0 0 7px rgba(238,247,252,1),0 0 10px rgba(238,247,252,1);
}

.pagetitles .pagetitle .kana {
    font-size:100%;
    font-weight:600;
    margin-top:5px;
}

.pagetitles .pagetitle .kana:first-letter {
    color:#0080c8;
}


/*-----BREADCRUMB-----*/
.under .bread {
    width:90%;
    margin:10px auto 45px;
    text-align:right;
}

.under .bread p {
    font-size:65%;
    line-height:150%;
}


/*-----CORNER TITLE-----*/
.corner_titles {
    text-align:center;
    margin-bottom:25px;
}

.corner_titles .corner_title {
    position:relative;
    display:inline-block;
}

.corner_titles .corner_title .title {
    font-size:100%;
    font-weight:600;
    display:inline-block;
}

.corner_titles .corner_title .title:first-letter {
    color:#0080c8;
}

.corner_titles .corner_title .underline {
    width:100%;
    height:3px;
    background:#0080c8;
    position:absolute;
    left:0;
    right:0;
    bottom:-5px;
    margin:auto;
}




/*----- TOPICS -----*/
#topics_index {
}

#topics_index .pagetitles .bg {
    background:url(../topics/img/pagetitle.jpg) center / cover;
}


/*-----CATEGORY-----*/
#topics_index .category {
    display:flex;
    flex-wrap:wrap;
    gap:2%;
    margin-bottom:20px;
}

#topics_index .category nav {
    width:23.5%;
    margin-bottom:2%;
}

#topics_index .category nav a {
    line-height:100%;
    border:#0080c8 1px solid;
    display:block;
    padding:10px 12px;
}

#topics_index .category nav a p {
    font-size:80%;
    font-weight:500;
    line-height:100%;
    color:#0080c8;
    white-space:nowrap;
}

#topics_index .category nav.now a {
    pointer-events:none;
    background:#0080c8;
    border:#0080c8 1px solid;
}

#topics_index .category nav.now a p {
    color:#fff;
}

#topics_index .category nav.none a {
    pointer-events:none;
    opacity:0.3;
}


/*-----TOPICS LIST-----*/
#topics_index .topics {
    position:relative;
    margin-bottom:30px;
}

#topics_index .topics .topic {
    display:block;
    position:relative;
    border-bottom:#e1e1e1 1px solid;
    padding:20px 0;
}

#topics_index .topics .topic:first-child {
    border-top:#e1e1e1 1px solid;
}


/*-----DATE・CATEGORY-----*/
#topics_index .topics .topic .date_cate {
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 7px;
}

#topics_index .topics .topic .date_cate .date {
    width:auto;
    font-size:90%;
    line-height:100%;
}

#topics_index .topics .topic .date_cate .cate {
}

#topics_index .topics .topic .date_cate .cate p {
    font-size:80%;
    line-height:100%;
}

#topics_index .topics .topic .date_cate .cate p a {
    width:auto;
    min-width:80px;
    min-height:20px;
    color:#fff;
    background:#0080c8;
    padding:2px 6px;
    display:flex;
    justify-content:center;
    align-items:center;
}


/*-----SUBJECT-----*/
#topics_index .topics .topic .subject {
    width:100%;
    font-size:100%;
    font-weight:500;
    line-height:160%;
}


/*-----PAGENATION-----*/
.pagenation {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:25px;
}

.pagenation nav {
    line-height:100%;
    margin:0;
}

.pagenation nav a {
    min-width:30px;
    height:30px;
    font-size:75%;
    border:#0080c8 1px solid;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:0 8px;
}

.pagenation nav a p {
    color:#0080c8;
}

.pagenation nav.now a {
    pointer-events:none;
    background:#0080c8;
    border:#0080c8 1px solid;
}

.pagenation nav.now a p {
    color:#fff;
}

.pagenation nav.none a {
    pointer-events:none;
    opacity:0.3;
}





/*-----TOPICS DETAIL-----*/
#topics_detail {
}

#topics_detail .pagetitles .bg {
    background:url(../topics/img/pagetitle.jpg) center / cover;
}

#topics_detail .cts {
    width:90%;
}

#topics_detail article {
}

#topics_detail article p {
    color:#323232;
}


/*-----CORNER-----*/
#topics_detail article .corner {
    text-align:center;
}

#topics_detail article .corner .cate_titles {
    margin-bottom:25px;
}

#topics_detail article .corner .cate_title {
    color:#c8b478;
}


/*-----ARTICLE TITLE-----*/
#topics_detail article h2 {
    font-size:135%;
    font-weight:600;
    line-height:135%;
    color:#0080c8;
    margin-bottom:12px;
}


/*-----DATE・CATEGORY-----*/
#topics_detail article .date_cate {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
}

#topics_detail article .date_cate .date {
    font-size:90%;
    line-height:100%;
    margin-right:12px;
}

#topics_detail article .date_cate .cate {
    font-size:80%;
    line-height:100%;
}

#topics_detail article .date_cate .cate a {
    min-width:80px;
    min-height:20px;
    background:#0080c8;
    padding:2px 6px;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
}


/*-----PHOTO-----*/
#topics_detail article .photo {
    margin-top:30px;
    text-align:center;
}

#topics_detail article .photo img {
    width:auto;
    max-width:100%;
    height:auto;
    display:inline-block;
}


/*-----TEXT-----*/
#topics_detail article .ex {
    margin-top:30px;
}

#topics_detail article .ex p {
    font-size:100%;
    line-height:180%;
}


/*-----YOUTUBE-----*/
#topics_detail article .youtube {
    width:100%;
    margin:30px auto 0;
    padding-top:56.25%;
    position:relative;
    overflow:hidden;
}

#topics_detail article .youtube iframe {
    width:100% !important;
    height:100% !important;
    position:absolute;
    top:0;
    right:0;
}


/*-----PREV・NEXT-----*/
#topics_detail article .btns {
    margin-top:40px;
}

#topics_detail article .btns .btn {
    position:relative;
    display:flex;
    align-items:center;
    border-bottom:#e1e1e1 1px solid;
}

#topics_detail article .btns .btn:first-child {
    border-top:#e1e1e1 1px solid;
}

#topics_detail article .btns .btn .icon {
    width:20px;
    flex-shrink:0;
    margin-right:8px;
}

#topics_detail article .btns .btn a {
    width:100%;
    min-height:65px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    padding:15px 10px;
}

#topics_detail article .btns .btn a p {
    font-size:80%;
    font-weight:500;
    line-height:150%;
    letter-spacing:1px;
}


/*-----BACK BUTTON-----*/
#topics_detail .back_btn {
    margin-top:40px;
}





/*-----COMPANY-----*/
#company {
}

#company .pagetitles .bg {
    background:url(../company/img/pagetitle.jpg) center / cover;
}


/*-----MESSAGE-----*/
#company #message {
    margin-bottom:70px;
}

#company #message .cts {
    width:90%;
    max-width:none;
}

#company #message .details {
    display:flex;
    flex-direction:column;
}

#company #message .details .photo {
    width:100%;
    min-height:0;
    max-height:none;
    height:65vw;
    max-height:420px;
    background:url(../company/img/main.jpg) center / cover;
    margin:0 0 25px;
}

#company #message .details .detail {
    width:100%;
    padding-left:0;
}

#company #message .details .detail .copies {
    width:100%;
}

#company #message .details .detail .copies .subject {
    font-size:135%;
    font-weight:600;
    line-height:150%;
    color:#0080c8;
    text-align:center;
    margin-bottom:20px;
}


/*-----OVERVIEW-----*/
#company #overview {
    margin-bottom:70px;
}

#company #overview .overviews {
}

#company #overview .overviews .overview {
    border-bottom:#e1e1e1 1px solid;
    padding:20px 0;
    display:block;
}

#company #overview .overviews .overview:first-child {
    border-top:#e1e1e1 1px solid;
}

#company #overview .overviews .overview .subject {
    width:100%;
    font-size:100%;
    font-weight:600;
    color:#0080c8;
    margin-bottom:7px;
}

#company #overview .overviews .overview .detail {
    width:100%;
}


/*-----OFFICE DATA IN OVERVIEW-----*/
#company #overview .overviews .overview .detail .offices {
}

#company #overview .overviews .overview .detail .offices .office {
    border-bottom:#e1e1e1 1px solid;
    display:block;
    padding-bottom:15px;
    margin-bottom:15px;
}

#company #overview .overviews .overview .detail .offices .office:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#company #overview .overviews .overview .detail .offices .office .item {
    width:100%;
    font-size:100%;
    font-weight:600;
    margin-bottom:3px;
}

#company #overview .overviews .overview .detail .offices .office .tx {
    width:100%;
}


/*-----OFFICE-----*/
#company #office {
}

#company #office .offices {
    display:block;
}

#company #office .offices .office {
    width:100%;
    margin-bottom:40px;
}

#company #office .offices .office:last-child {
    margin-bottom:0;
}

#company #office .offices .office .map {
    width:100%;
    height:60vw;
    max-height:320px;
    margin-bottom:15px;
}

#company #office .offices .office .map iframe {
    width:100%;
    height:100%;
    display:block;
}

#company #office .offices .office .name {
    font-size:125%;
    font-weight:600;
    line-height:145%;
    margin-bottom:5px;
}

#company #office .offices .office .name:first-letter {
    color:#0080c8;
}

#company #office .offices .office .address {
    font-size:90%;
    line-height:160%;
}





/*-----SERVICE-----*/
#service_index {
}

#service_index .pagetitles .bg {
    background:url(../service/img/pagetitle.jpg) center / cover;
}


/*-----INTRO-----*/
#service_index .intro {
    text-align:center;
    margin-bottom:25px;
}


/*-----SERVICE LIST-----*/
#service_index .services {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

#service_index .services .service {
    width:32%;
    height:auto;
    margin:0 0 2%;
    overflow:hidden;
}

#service_index .services .service:nth-child(4n) {
    margin-right:0;
}

#service_index .services .service:nth-last-child(-n+2) {
    margin-bottom:0;
}

#service_index .services .service a {
    width:100%;
    display:block;
    position:relative;
}

#service_index .services .service a .photo {
    width:100%;
    height:auto;
    aspect-ratio:1 / 1.5;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

#service_index .services .service a .photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transform:none;
    transition:none;
}

#service_index .services .service a:hover img {
    transform:none;
}

#service_index .services .service a:hover {
    animation:none;
}

#service_index .services .service a .subject {
    width:100%;
    min-height:48px;
    background:rgba(85,180,230,0.9);
    padding:8px 7px;
    position:absolute;
    left:0;
    bottom:0;
    display:flex;
    align-items:center;
}

#service_index .services .service a .subject p {
    font-size:70%;
    font-weight:600;
    line-height:135%;
    color:#fff;
}





/*-----SERVICE DETAIL-----*/
#service_detail {
}

#service_detail .pagetitles .bg {
    background:url(../service/img/pagetitle.jpg) center / cover;
}

#service_detail .corner_titles {
    margin-bottom:15px;
}

#service_detail .service_name {
    font-size:180%;
    font-weight:600;
    line-height:140%;
    text-align:center;
    margin-bottom:25px;
}

#service_detail .service_name:first-letter {
    color:#0080c8;
}

#service_detail article {
}


/*-----DETAIL INTRO-----*/
#service_detail article .intro {
    display:flex;
    flex-direction:column;
}

#service_detail article .intro .photo {
    width:100%;
    height:65vw;
    max-height:420px;
    overflow:hidden;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:25px;
}

#service_detail article .intro .photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}

#service_detail article .intro .detail {
    width:100%;
}

#service_detail article .intro .detail .subject {
    font-size:135%;
    font-weight:600;
    line-height:150%;
    margin-bottom:15px;
    color:#0080c8;
    text-align:center;
}


/*-----ANCHOR LINKS-----*/
#service_detail article .intro .detail .links {
    margin-top:20px;
    padding:15px;
    background:#eef7fc;
}

#service_detail article .intro .detail .links li {
    display:flex;
    align-items:flex-start;
    margin-bottom:10px;
}

#service_detail article .intro .detail .links li:last-child {
    margin-bottom:0;
}

#service_detail article .intro .detail .links .arrow {
    width:18px;
    height:18px;
    border:#0080c8 1px solid;
    border-radius:50%;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-shrink:0;
    margin:2px 7px 0 0;
}

#service_detail article .intro .detail .links .arrow:before {
    content:"";
    width:6px;
    height:6px;
    border-top:#0080c8 1px solid;
    border-right:#0080c8 1px solid;
    transform:rotate(45deg);
    margin-right:2px;
}

#service_detail article .intro .detail .links li p {
    width:calc(100% - 25px);
    line-height:150%;
}

#service_detail article .intro .detail .links li p a {
    font-size:90%;
    font-weight:600;
    color:#0080c8;
}


/*-----COLUMNS-----*/
#service_detail article .columns {
    margin-top:50px;
}

#service_detail article .columns .column {
    margin-top:50px;
}

#service_detail article .columns .column:first-child {
    margin-top:0;
}


/*固定ヘッダーを考慮したアンカー位置*/
#service_detail article .columns .column .anchor {
    margin-top:-80px;
    padding-top:80px;
}

#service_detail article .columns .column .service_subname {
    border-bottom:#e1e1e1 1px solid;
    margin-bottom:15px;
}

#service_detail article .columns .column .service_subname p {
    font-size:95%;
    font-weight:600;
    line-height:150%;
    border-left:#0080c8 4px solid;
    padding:8px 0 8px 12px;
    color:#0080c8;
}

#service_detail article .columns .column .subject {
    font-size:125%;
    font-weight:600;
    line-height:150%;
    margin-bottom:15px;
}

#service_detail article .columns .column .subject:first-letter {
    color:#0080c8;
}


/*-----COLUMN LEFT-----*/
#service_detail article .columns .column.column_left .details {
}

#service_detail article .columns .column.column_left .details .photo {
    width:100%;
    margin:0 auto 20px;
}

#service_detail article .columns .column.column_left .details .photo img {
    width:100%;
    height:auto;
    display:block;
}

#service_detail article .columns .column.column_left .details .detail {
    width:100%;
}

#service_detail article .columns .column.column_left .details .detail .more_text {
    margin-top:15px;
    text-align:right;
}


/*-----COLUMN CENTER-----*/
#service_detail article .columns .column.column_center .details {
}

#service_detail article .columns .column.column_center .details .photo {
    width:100%;
    margin:0 auto 20px;
}

#service_detail article .columns .column.column_center .details .photo img {
    width:100%;
    height:auto;
    display:block;
}

#service_detail article .columns .column.column_center .details .detail {
    width:100%;
}

#service_detail article .columns .column.column_center .details .detail .more_text {
    margin-top:15px;
    text-align:right;
}


/*-----COLUMN RIGHT-----*/
#service_detail article .columns .column.column_right .details {
}

#service_detail article .columns .column.column_right .details .photo {
    width:100%;
    margin:0 auto 20px;
}

#service_detail article .columns .column.column_right .details .photo img {
    width:100%;
    height:auto;
    display:block;
}

#service_detail article .columns .column.column_right .details .detail {
    width:100%;
}

#service_detail article .columns .column.column_right .details .detail .more_text {
    margin-top:15px;
    text-align:right;
}


/*-----COLUMN NONE-----*/
#service_detail article .columns .column.column_none .details {
    display:block;
}

#service_detail article .columns .column.column_none .details .detail {
    width:100%;
}

#service_detail article .columns .column.column_none .details .detail .more_text {
    margin-top:15px;
    text-align:right;
}






/*-----CASE-----*/
#case_index {
}

#case_index .pagetitles .bg {
    background:url(../case/img/pagetitle.jpg) center / cover;
}

#case_index .corner_titles {
    margin-bottom:10px;
}

#case_index .service_name {
    font-size:170%;
    font-weight:600;
    line-height:140%;
    text-align:center;
    margin-bottom:15px;
}

#case_index .service_name:first-letter {
    color:#0080c8;
}

#case_index .intro {
    text-align:center;
    margin-bottom:25px;
}


/*-----CASE LIST-----*/
#case_index .cases {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

#case_index .cases .case {
    width:48%;
    margin:0 0 5%;
}

#case_index .cases .case:nth-child(3n) {
    margin-right:0;
}

#case_index .cases .case:nth-last-child(-n+2) {
    margin-bottom:0;
}

#case_index .cases .case a {
    width:100%;
    display:block;
}

#case_index .cases .case .photo {
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:10px;
    overflow:hidden;
}

#case_index .cases .case .photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

#case_index .cases .case .info .cate {
    font-size:65%;
    line-height:100%;
    background:#55b4e6;
    color:#fff;
    display:inline-block;
    padding:4px;
    margin-bottom:5px;
}

#case_index .cases .case .info .subject {
    font-size:90%;
    font-weight:600;
    line-height:145%;
    margin-bottom:3px;
}

#case_index .cases .case .info .customer {
    font-size:70%;
    line-height:150%;
    color:#969696;
}

#case_index .cases .case .info .date {
    font-size:70%;
    line-height:150%;
    color:#969696;
}





/*-----CASE DETAIL-----*/
#case_detail {
}

#case_detail .pagetitles .bg {
    background:url(../case/img/pagetitle.jpg) center / cover;
}

#case_detail article {
}

#case_detail article .cate {
    margin-bottom:7px;
}

#case_detail article .cate a {
    background:#0080c8;
    font-size:70%;
    line-height:100%;
    color:#fff;
    padding:4px 7px;
    display:inline-block;
}

#case_detail article h2 {
    font-size:145%;
    font-weight:600;
    line-height:145%;
    margin-bottom:7px;
}

#case_detail article h2:first-letter {
    color:#0080c8;
}

#case_detail article .customer {
    font-size:85%;
    line-height:150%;
}

#case_detail article .date {
    font-size:75%;
    line-height:150%;
    color:#969696;
}


/*-----MAIN PHOTO-----*/
#case_detail article .photo {
    width:100%;
    text-align:center;
    margin:20px auto 35px;
    overflow:hidden;
}

#case_detail article .photo img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:none;
    display:inline-block;
}


/*-----MESSAGE-----*/
#case_detail article .message {
}

#case_detail article .message .message_subname {
    border-bottom:#e1e1e1 1px solid;
    margin-bottom:15px;
}

#case_detail article .message .message_subname p {
    font-size:95%;
    font-weight:600;
    line-height:150%;
    border-left:#0080c8 4px solid;
    padding:8px 0 8px 12px;
    color:#0080c8;
}

#case_detail article .message .tx {
    font-size:90%;
    line-height:180%;
}





/*-----SERVICE LINEUP-----*/
.service_lineup {
    margin-top:50px;
}

.service_lineup .en {
    font-size:90%;
    font-weight:500;
    line-height:130%;
    color:#0080c8;
    margin-bottom:5px;
}

.service_lineup ul {
    background:#eef7fc;
    padding:15px;
    display:flex;
    flex-wrap:wrap;
}

.service_lineup li {
    width:50%;
    display:flex;
    align-items:flex-start;
    padding-right:8px;
}

.service_lineup li:nth-last-child(-n+2) {
    margin-bottom:0;
}

.service_lineup li .arrow {
    width:16px;
    height:16px;
    border:#0080c8 1px solid;
    border-radius:50%;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-shrink:0;
    margin:2px 6px 0 0;
}

.service_lineup li .arrow:before {
    content:"";
    width:6px;
    height:6px;
    border-top:#0080c8 1px solid;
    border-right:#0080c8 1px solid;
    transform:rotate(45deg);
    margin-right:3px;
}

.service_lineup li p {
    width:calc(100% - 22px);
    line-height:140%;
}

.service_lineup li p a {
    font-size:75%;
    font-weight:600;
    line-height:140%;
    color:#0080c8;
}




/*-----RECRUIT-----*/
#recruit {
}

#recruit .pagetitles .bg {
    background:url(../recruit/img/pagetitle.jpg) center / cover;
}


/*-----INTRO-----*/
#recruit .intro {
    margin-bottom:70px;
}

#recruit .intro .main {
    margin-bottom:25px;
}

#recruit .intro .main img {
    width:100%;
    height:auto;
    display:block;
}

#recruit .intro .copies {
    text-align:center;
}

#recruit .intro .copies .subject {
    font-size:135%;
    font-weight:600;
    line-height:150%;
    margin-bottom:15px;
    color:#0080c8;
}

#recruit .intro .copies .tx {
    text-align:left;
}


/*-----WORKS-----*/
#recruit #works {
    margin-bottom:70px;
}

#recruit #works .copy {
    margin-bottom:20px;
}

#recruit #works .works {
    display:block;
}

#recruit #works .works .work {
    width:100%;
    margin-bottom:35px;
}

#recruit #works .works .work:nth-child(n+3) {
    margin-bottom:35px;
}

#recruit #works .works .work:last-child {
    margin-bottom:0;
}

#recruit #works .works .work .photo {
    width:100%;
    margin-bottom:20px;
}

#recruit #works .works .work .photo img {
    width:100%;
    height:auto;
    display:block;
}

#recruit #works .works .work .item {
    font-size:110%;
    font-weight:600;
    line-height:145%;
    color:#0080c8;
    text-align:center;
    margin-bottom:5px;
}

#recruit #works .works .work .tx {
    font-size:90%;
    line-height:175%;
}


/*-----GALLERY-----*/
#recruit #gallery {
    margin-bottom:70px;
}

#recruit #gallery .cts {
    width:100%;
}

#recruit #gallery .copy {
    width:90%;
    margin:0 auto 20px;
}

#recruit #gallery .gallery_slider {
    width:100%;
}

#recruit #gallery .gallery_slider img {
    width:100%;
    height:auto;
    display:block;
}


/*-----BENEFIT-----*/
#recruit #benefit {
    margin-bottom:70px;
}

#recruit #benefit .copy {
    margin-bottom:20px;
}

#recruit #benefit .benefits {
    display:block;
}

#recruit #benefit .benefits .benefit {
    width:100%;
    min-height:0;
    background:#f2f5f5;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 15px;
    margin-bottom:12px;
}

#recruit #benefit .benefits .benefit:nth-child(n+5) {
    margin-bottom:12px;
}

#recruit #benefit .benefits .benefit:last-child {
    margin-bottom:0;
}

#recruit #benefit .benefits .benefit .icon {
    width:60px;
    flex-shrink:0;
}

#recruit #benefit .benefits .benefit .icon img {
    width:100%;
    height:auto;
    display:block;
}

#recruit #benefit .benefits .benefit .detail {
    width:calc(100% - 75px);
}

#recruit #benefit .benefits .benefit .detail .item {
    font-size:100%;
    font-weight:600;
    line-height:145%;
    color:#0080c8;
    margin-bottom:3px;
}

#recruit #benefit .benefits .benefit .detail .tx {
    font-size:80%;
    line-height:165%;
}


/*-----JOB-----*/
#recruit #job {
}


/*-----SELECT BUTTON-----*/
#recruit #job .select_btns {
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:8px;
    margin-bottom:20px;
}

#recruit #job .select_btns .btn {
    width:calc((100% - 16px) / 3);
    min-width:0;
    text-align:center;
    cursor:pointer;
    border:#0080c8 1px solid;
    color:#0080c8;
    padding:10px 5px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#recruit #job .select_btns .btn:hover {
    animation:none;
}

#recruit #job .select_btns .btn.active {
    background:#0080c8;
    color:#fff;
    pointer-events:none;
    display:flex;
}

#recruit #job .select_btns .btn p {
    font-size:80%;
    font-weight:600;
    line-height:140%;
    color:#0080c8;
}

#recruit #job .select_btns .btn.active p {
    color:#fff;
}


/*-----JOB CONTENT-----*/
#recruit #job .jobs {
}

#recruit #job .jobs .job {
    display:none;
}

#recruit #job .jobs .job.active {
    display:block;
}

#recruit #job .jobs .job .jobname {
    font-size:120%;
    font-weight:600;
    line-height:145%;
    padding:8px 0 8px 10px;
    border-left:#0080c8 4px solid;
    margin-bottom:10px;
}


/*-----JOB DESCRIPTION-----*/
#recruit #job .descriptions {
}

#recruit #job .descriptions .description {
    border-bottom:#e1e1e1 1px solid;
    padding:20px 5px;
    display:block;
}

#recruit #job .descriptions .description:first-child {
    border-top:#e1e1e1 1px solid;
}

#recruit #job .descriptions .description .subject {
    width:100%;
    font-size:100%;
    font-weight:600;
    color:#0080c8;
    margin-bottom:5px;
}

#recruit #job .descriptions .description .detail {
    width:100%;
}

#recruit #job .descriptions .description .detail .item {
    font-size:90%;
    font-weight:600;
    margin-bottom:3px;
}

#recruit #job .descriptions .description .detail .blank {
    margin-top:15px;
}

#recruit #job .descriptions .description .detail .attention {
    display:flex;
    align-items:flex-start;
    font-size:75%;
    line-height:160%;
}

#recruit #job .descriptions .description .detail .attention:before {
    content:"※";
    flex-shrink:0;
    margin-right:3px;
}

#recruit #job .descriptions .description .detail .pr {
    margin-bottom:15px;
}

#recruit #job .descriptions .description .detail .pr:last-child {
    margin-bottom:0;
}


/*-----ENTRY-----*/
#recruit .entry {
    margin-top:30px;
    text-align:center;
}

#recruit .entry .btn {
    width:90%;
}

#recruit .entry .btn a {
    width:100%;
    min-height:65px;
    padding:15px 20px 15px 20px;
    justify-content:center;
    position:relative;
}

#recruit .entry .btn .arrow {
    width:17px;
    height:3px;
    background:#fff;
    display:flex;
    align-items:center;
    position:absolute;
    right:20px;
    animation:arrow 0.6s infinite alternate;
}

#recruit .entry .btn .arrow:after {
    content:"";
    width:12px;
    height:12px;
    border-top:#fff 3px solid;
    border-right:#fff 3px solid;
    transform:rotate(45deg);
    position:absolute;
    right:0;
}

#recruit .entry .btn a p {
    font-size:100%;
    font-weight:600;
    color:#fff;
    margin-right:0;
}





/*----- CONTACT -----*/
#contact {
}

#contact.contact_individual .pagetitles .bg {
    background:url(../for_individual/img/pagetitle.jpg) center / cover;
}

#contact.contact_corporate .pagetitles .bg {
    background:url(../for_corporate/img/pagetitle.jpg) center / cover;
}

#contact .pagetitles .pagetitle .subject {
    font-size:270%;
    font-weight:500;
    line-height:100%;
    color:#0080c8;
}

#contact .cts {
    width:90%;
    background:#fff;
    padding:0 0;
}


/*-----INTRO-----*/
#contact .corner {
    text-align:center;
}

#contact .intro {
    margin-bottom:35px;
    text-align:center;
}

#contact .intro h2 {
    font-size:140%;
    font-weight:600;
    line-height:150%;
    margin-bottom:8px;
}

#contact .intro h2:first-letter {
    color:#0080c8;
}

#contact .intro .tx {
    text-align:left;
}


/*-----SECTION TITLE-----*/
#contact h3 {
    border-left:#0080c8 4px solid;
    padding:5px 0 5px 10px;
    margin-bottom:10px;
    font-size:100%;
    font-weight:600;
    line-height:145%;
}


/*-----CONTACT TEL-----*/
#contact #contact_tel {
    margin-bottom:35px;
    display:none;
}

#contact #contact_tel .tel_cts {
    background:#fafafa;
    padding:20px 15px;
    text-align:center;
}

#contact #contact_tel .tel_cts .item {
    font-size:90%;
    margin-bottom:8px;
}

#contact #contact_tel .tel_cts .number {
    font-size:155%;
    font-weight:600;
    line-height:110%;
}

#contact #contact_tel .tel_cts .number a {
    color:#0080c8;
}


/*-----CONTACT FORM-----*/
#contact #contact_form {
}

#contact #contact_form .form_cts {
}

#contact #contact_form .form_cts .copy {
    margin-bottom:20px;
}

#contact #contact_form .form_cts .copy .tx {
}

#contact #contact_form .form_cts .copy .attention {
    font-size:75%;
    line-height:160%;
    margin-top:5px;
}


/*-----FORM ROW-----*/
#contact #contact_form .form_cts .forms {
}

#contact #contact_form .form_cts .forms .form {
    border-bottom:#f0f0f0 1px solid;
    padding:20px 0;
    display:block;
}

#contact #contact_form .form_cts .forms .form:first-child {
    border-top:#f0f0f0 1px solid;
}

#contact #contact_form .form_cts .forms .form .items {
    width:100%;
    display:flex;
    align-items:center;
    margin-bottom:10px;
}

#contact #contact_form .form_cts .forms .form .items .required {
    font-size:65%;
    line-height:100%;
    padding:3px 5px;
    margin-right:8px;
    border:#55b4e6 1px solid;
    color:#55b4e6;
    flex-shrink:0;
}

#contact #contact_form .form_cts .forms .form .items .any {
    font-size:65%;
    line-height:100%;
    padding:3px 5px;
    margin-right:8px;
    border:#ccc 1px solid;
    color:#aaa;
    flex-shrink:0;
}

#contact #contact_form .form_cts .forms .form .items .item {
    font-size:90%;
    font-weight:600;
    line-height:145%;
}

#contact #contact_form .form_cts .forms .form .detail {
    width:100%;
}

#contact #contact_form .form_cts .forms .form:nth-last-child(-n+2) {
    align-items:stretch;
}


/*-----FORM PARTS-----*/
input,
textarea,
select {
    max-width:100%;
    padding:12px 12px;
    font-size:16px;
}

form .style_type {
    margin:0 5px 8px 0;
    border:#aaa 1px solid;
}

form .style_name {
    width:100%;
}

form .style_company {
    width:100%;
}

form .style_kana {
    width:100%;
}

form .style_genre {
    width:100%;
}

form .style_mail {
    width:100%;
}

form .style_tel {
    width:100%;
}

form .style_select {
    width:100%;
}

form .style_detail {
    width:100%;
    height:180px;
    vertical-align:top;
    resize:vertical;
}


/*-----RADIO BUTTON-----*/
form .detail input[type="radio"] {
    width:16px;
    height:16px;
    margin-right:3px;
}

form .detail input[type="radio"]:checked {
    background:#0080c8;
}


/*-----WARNING-----*/
form .warning {
    font-size:75%;
    line-height:160%;
}

form .warning.block,
form .warning .block {
    display:block;
    line-height:150%;
    margin-top:7px;
    color:#c84632;
}


/*-----PRIVACY POLICY-----*/
form .detail .privacy_policy {
}

form .detail .privacy_policy .privacies {
    height:220px;
    border:#e1e1e1 1px solid;
    padding:15px;
    overflow-y:auto;
    margin-bottom:15px;
}

form .detail .privacy_policy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:15px;
    margin-bottom:15px;
}

form .detail .privacy_policy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

form .detail .privacy_policy .privacies .privacy .attention {
    display:flex;
    font-size:75%;
    line-height:160%;
    padding-top:5px;
}

form .detail .privacy_policy .privacies .privacy .subject {
    font-size:80%;
    font-weight:600;
    line-height:150%;
    margin-bottom:5px;
}

form .detail .privacy_policy .privacies .privacy .tx {
    font-size:75%;
    line-height:170%;
}

form .detail .privacy_policy .privacies .privacy ul {
}

form .detail .privacy_policy .privacies .privacy ul li {
    display:flex;
    align-items:flex-start;
}

form .detail .privacy_policy .privacies .privacy ul li p {
    font-size:75%;
    line-height:170%;
}


/*-----CONSENT-----*/
form .detail .consent_cap {
    padding-bottom:12px;
}

form .detail .consent {
    display:flex;
    align-items:flex-start;
    position:relative;
    padding-left:20px;
}

form .detail .consent label {
    cursor:pointer;
    padding-left:7px;
    font-size:85%;
    font-weight:500;
    line-height:160%;
    color:#323232;
    position:relative;
}

form .detail .consent label:before {
    content:"";
    width:17px;
    height:17px;
    border:#323232 1px solid;
    background:#fff;
    display:inline-block;
    position:absolute;
    top:2px;
    left:-20px;
}

form .detail .consent label:after {
    content:"";
    width:9px;
    height:14px;
    border-right:#0080c8 2px solid;
    border-bottom:#0080c8 2px solid;
    display:block;
    transform:rotate(45deg);
    position:absolute;
    top:-2px;
    left:-13px;
    opacity:0;
}

form .detail input[type="checkbox"] {
    width:1px;
    height:1px;
    position:absolute;
    opacity:0;
}

form .detail input[type="checkbox"]:checked + label:after {
    opacity:1;
}


/*-----FORM BUTTONS-----*/
form .btns {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}

form .btns .btn {
    width:100%;
    margin:0;
}

form .btns .btn input:hover {
    animation:none;
}

form .btns .btn .style_submit {
    width:100%;
    min-height:55px;
    border:none;
    background:#0080c8;
    padding:20px 20px;
    cursor:pointer;
    color:#fff;
    font-weight:600;
    border-radius:5px;
}

#contact .btns .btn .accepted:disabled {
    background:#ddd;
    pointer-events:none;
}

form .btns .btn .style_fix {
    width:100%;
    min-height:55px;
    border:none;
    background:#aaa;
    color:#fff;
    padding:20px 20px;
    cursor:pointer;
    border-radius:5px;
}


/*-----THANKS-----*/
#contact .thanks h2 {
    font-size:140%;
    font-weight:600;
    line-height:150%;
    color:#0080c8;
}

#contact .thanks .intro {
    margin-bottom:25px;
}

#contact .thanks .attention {
}

#contact .thanks .attention p {
    justify-content:flex-start;
    text-align:left;
}





/*-----PRIVACY POLICY-----*/
#privacy {
}

#privacy .pagetitles .bg {
    background:url(../privacy/img/pagetitle.jpg) center / cover;
}


/*-----PRIVACY LIST-----*/
#privacy .privacies {
}

#privacy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#privacy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}


/*-----SUBJECT-----*/
#privacy .privacies .privacy .subject {
    font-size:100%;
    font-weight:600;
    line-height:150%;
    color:#0080c8;
    margin-bottom:7px;
}


/*-----TEXT-----*/
#privacy .privacies .privacy .tx {
    font-size:100%;
    line-height:180%;
}


/*-----ATTENTION-----*/
#privacy .privacies .privacy .attention {
    display:flex;
    align-items:flex-start;
    font-size:75%;
    line-height:170%;
    padding-top:7px;
}

#privacy .privacies .privacy .attention:before {
    content:"※";
    flex-shrink:0;
    margin-right:3px;
}


/*-----LIST-----*/
#privacy .privacies .privacy ul {
    margin-top:7px;
}

#privacy .privacies .privacy ul li {
    display:flex;
    align-items:flex-start;
    margin-bottom:5px;
}

#privacy .privacies .privacy ul li:last-child {
    margin-bottom:0;
}

#privacy .privacies .privacy ul li:before {
    content:"・";
    flex-shrink:0;
    margin-right:2px;
}

#privacy .privacies .privacy ul li p {
    width:calc(100% - 15px);
    font-size:80%;
    line-height:175%;
}


/*-----LINK-----*/
#privacy .privacies .privacy a {
    color:#0080c8;
    text-decoration:underline;
    overflow-wrap:anywhere;
}









/*-----GLOBAL-----*/
#global {
}


/*-----NAV BUTTON-----*/
#global .nav_btn {
    width:32px;
    height:24px;
    position:fixed;
    top:18px;
    right:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:1001;
    cursor:pointer;
}

#global .nav_btn span {
    width:100%;
    height:2px;
    background:#0080c8;
    position:absolute;
    left:0;
    transition:0.5s;
}

#global .nav_btn span:first-child {
    top:0;
}

#global .nav_btn span:nth-child(2) {
    top:11px;
}

#global .nav_btn span:last-child {
    bottom:0;
}


/*メニュー表示時*/
#global .nav_btn span.show {
    background:#fff;
}

#global .nav_btn span.show:first-child {
    top:11px;
    transform:rotate(45deg);
}

#global .nav_btn span.show:nth-child(2) {
    opacity:0;
}

#global .nav_btn span.show:last-child {
    bottom:11px;
    transform:rotate(-45deg);
}


/*-----BACKGROUND-----*/
#global .nav_close {
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.35);
    position:fixed;
    top:0;
    left:0;
    display:none;
    cursor:pointer;
    z-index:999;
}


/*-----GLOBAL NAVIGATION-----*/
#global .global_nav {
    width:calc(100vw - 80px);
    height:100%;
    padding:35px 35px;
    background:rgba(0,128,200,0.97);
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    overflow-y:auto;
    transform:translateX(-100%);
    transition:0.5s;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#global .global_nav.show {
    transform:translateX(0);
}


/*-----NAVIGATION ITEM-----*/
#global .global_nav .grnav {
    width:100%;
    margin:0;
    border-bottom:rgba(255,255,255,0.25) 1px solid;
    cursor:pointer;
}

#global .global_nav .grnav:first-child {
    border-top:rgba(255,255,255,0.25) 1px solid;
}

#global .global_nav .grnav a {
    width:100%;
    padding:15px 0;
    display:flex;
    align-items:center;
    position:relative;
    text-align:left;
}


/*PC用の四角装飾をSPでは矢印に変更*/
#global .global_nav .grnav .square {
    width:7px;
    height:7px;
    background:none;
    border-top:#fff 1px solid;
    border-right:#fff 1px solid;
    margin:0 12px 0 3px;
    flex-shrink:0;
    transform:rotate(45deg);
}


/*ホーム・プライバシーポリシーにはsquareがないため矢印を追加*/
#global .global_nav .grnav.sp a:before {
    content:"";
    width:7px;
    height:7px;
    border-top:#fff 1px solid;
    border-right:#fff 1px solid;
    margin:0 12px 0 3px;
    flex-shrink:0;
    transform:rotate(45deg);
}


/*-----TEXT-----*/
#global .global_nav .grnav .jp {
    font-size:100%;
    font-weight:600;
    line-height:135%;
    color:#fff;
    margin:0;
}

#global .global_nav .grnav .en {
    font-size:65%;
    font-weight:400;
    line-height:100%;
    color:rgba(255,255,255,0.65);
    margin:2px 0 0 auto;
}


/*-----CONTACT CTA-----*/
#global .global_nav .nav_contact {
    width:50%;
    border-bottom:none;
    float:left;
}

#global .global_nav .nav_contact:first-of-type {
    clear:both;
}

#global .global_nav .global_contacts {
    display:flex;
    justify-content:space-between;
    margin-top:20px;
    width:100%;
    gap:15px;
}

#global .global_nav .global_contacts nav:first-child {
    border-top:none;
}
    
#global .global_nav .nav_contact a {
    width:100%;
    height:100px;
    padding:0;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

#global .global_nav .nav_contact.cta_individual a {
    background:#55b4e6;
}

#global .global_nav .nav_contact.cta_corpolate a {
    background:#006eaf;
}

#global .global_nav .nav_contact a:before {
    display:none;
}

#global .global_nav .nav_contact a .nav_contact_cts {
    width:100%;
}

#global .global_nav .nav_contact a .nav_contact_cts img {
    width:40px;
    margin:0 auto 5px;
}

#global .global_nav .nav_contact a .nav_contact_cts .jp {
    font-size:80%;
    font-weight:600;
    line-height:135%;
    color:#fff;
    margin:0;
}


/*CTAより後ろのプライバシーポリシー*/
#global .global_nav .nav_contact + .nav_contact + .grnav {
    clear:both;
}





/*-----BACK TO TOP-----*/
.BackToTop {
position:fixed;
width:20px;
right:30px;
bottom:0;
z-index:100;
display:none;
}





/*-----FOOTER-----*/
footer {
    width:100%;
    padding:45px 0 25px;
}

footer .cts {
    width:90%;
}


/*-----DETAILS-----*/
footer .details {
    display:flex;
    flex-direction:column;
    margin-bottom:35px;
}


/*-----FOOTER LINKS-----*/
footer .details .links {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin:0 auto 40px;
}

footer .details .links .link {
    width:100%;
    margin:0 0 25px;
}

footer .details .links .link:first-child {
    display:none;
}

footer .details .links .link:nth-last-child(-n+2) {
    margin-bottom:0;
}

footer .details .links .link ul {
}

footer .details .links .link ul li {
    font-size:90%;
    line-height:150%;
    margin-bottom:7px;
}

footer .details .links .link ul li:last-child {
    margin-bottom:0;
}

footer .details .links .link ul li:first-child {
    font-size:100%;
    font-weight:600;
    margin-bottom:10px;
    text-align:center;
}

footer .details .links .link ul li a {
    color:#969696;
    display:block;
    position:relative;
}

footer .details .links .link ul li:not(:first-child) a {
    padding-left:12px;
}

footer .details .links .link ul li:not(:first-child) a:before {
    content:"";
    width:6px;
    height:6px;
    border-top:#969696 1px solid;
    border-right:#969696 1px solid;
    position:absolute;
    top:7px;
    left:0;
    transform:rotate(45deg);
}


/*-----INFORMATION-----*/
footer .details .information {
    width:100%;
    text-align:center;
}

footer .details .information .footer_logo {
    width:180px;
    margin:0 auto 20px;
}

footer .details .information .footer_logo img {
    width:100%;
    height:auto;
    display:block;
}

footer .details .information .company {
    font-size:100%;
    font-weight:500;
    line-height:150%;
    margin-bottom:5px;
}

footer .details .information .address {
    font-size:80%;
    line-height:170%;
    margin-bottom:20px;
}


/*-----SNS-----*/
footer .details .information .sns {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
}

footer .details .information .sns a {
    width:40px;
    margin-right:0;
    display:block;
}

footer .details .information .sns a img {
    width:100%;
    height:auto;
    display:block;
}


/*-----COPYRIGHT-----*/
footer .copyright {
    font-size:70%;
    line-height:150%;
    text-align:center;
    color:#d2d2d2;
}






}