﻿html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

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

body {
    line-height: 1
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

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

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

@font-face {
    font-family: 'Notera';
    font-style: normal;
    font-weight: 400;
    src: url("../font/Notera_PersonalUseOnly.ttf") format("truetype"),url("../font/Notera_PersonalUseOnly.woff") format("woff"),url("../font/Notera_PersonalUseOnly.eot?") format("eot");
    font-display: swap
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500;
    src: url("../font/Oswald-Medium.ttf") format("truetype"),url("../font/Oswald-Medium.woff") format("woff"),url("../font/Oswald-Medium.eot?") format("eot");
    font-display: swap
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    src: url("../font/Oswald-Regular.ttf") format("truetype"),url("../font/Oswald-Regular.woff") format("woff"),url("../font/Oswald-Regular.eot?") format("eot");
    font-display: swap
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    scroll-behavior: smooth
}

@media (max-width: 940px) {
    html {
        font-size:50%
    }
}

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

body {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: 300;
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
    line-height: 1.7;
    color: #000
}

.preload * {
    -webkit-transition: none !important;
    transition: none !important
}

a {
    text-decoration: none;
    color: #000;
    transition: .3s;
    -webkit-transition: .3s
}

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

.pc_only {
    display: inherit
}

@media (max-width: 740px) {
    .pc_only {
        display:none
    }
}

.sp_only {
    display: none
}

@media (max-width: 740px) {
    .sp_only {
        display:inherit
    }
}

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

.flex.both {
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between
}

.flex-center {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.c-center {
    text-align: center
}

.c-mb3 {
    margin-bottom: 3% !important
}

@media (max-width: 740px) {
    .c-mb3 {
        margin-bottom:6% !important
    }
}

.c-mb5 {
    margin-bottom: 5% !important
}

@media (max-width: 740px) {
    .c-mb5 {
        margin-bottom:8% !important
    }
}

.c-mb8 {
    margin-bottom: 8% !important
}

@media (max-width: 740px) {
    .c-mb8 {
        margin-bottom:12% !important
    }
}

.c-mb10 {
    margin-bottom: 10% !important
}

@media (max-width: 740px) {
    .c-mb10 {
        margin-bottom:15% !important
    }
}

.btn {
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
    display: block;
    background: #26d;
    color: #fff;
    padding: 15px 2%;
    text-align: center;
    border-radius: 30px;
    font-weight: 600;
    position: relative
}

.btn:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5%;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-top: -5px
}

.btn.file:after {
    width: 34px;
    height: 34px;
    margin-top: -17px;
    background: url(../img/icon-pdf.png) no-repeat center center;
    background-size: contain;
    border: none;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg)
}

@media (max-width: 740px) {
    .btn {
        padding:12px 2%
    }
}

input,textarea,select {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    max-width: 100%;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: 300
}

input[type="reset"],input[type="submit"] {
    -webkit-appearance: button;
    appearance: button
}

.fo-txt,.fo-area,.fo-zip,.fo-select {
    border: 0;
    outline: 0;
    background: #fff;
    border: 1px solid #a5a6a1;
    font-size: 1.6rem;
    padding: 12px 2%;
    border-radius: 5px
}

.fo-txt::placeholder,.fo-area::placeholder,.fo-zip::placeholder,.fo-select::placeholder {
    color: #a5a6a1
}

.fo-txt,.fo-area {
    width: 100%
}

.fo-txt.s1 {
    max-width: 500px !important;
    width: 100%
}

.contact-form .smf-form .smf-select-control {
    max-width: 400px;
    width: 100%
}

.contact-form select {
    max-width: 400px;
    width: 100% !important;
    padding: 12px 2% !important;
    font-size: 1.7rem
}

.fo-radio {
    display: none
}

.fo-radio+label {
    display: inline-block;
    padding-left: 30px;
    position: relative;
    margin: 0 5% 5px 0
}

.fo-radio+label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    margin-top: -10px
}

.fo-radio:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 4px;
    width: 12px;
    height: 12px;
    background: #0057b8;
    border-radius: 50%;
    margin-top: -6px
}

.fo-radio {
    display: none
}

.fo-radio+span {
    display: inline-block;
    padding-left: 40px;
    position: relative;
    margin: 10px 20px 10px 0
}

.fo-radio+span:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 26px;
    height: 26px;
    background: #fff;
    border-radius: 50%;
    margin-top: -13px
}

.fo-radio:checked+span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 6px;
    width: 14px;
    height: 14px;
    background: #0057b8;
    border-radius: 50%;
    margin-top: -7px
}

@media (max-width: 740px) {
    .fo-radio+span {
        padding-left:30px
    }

    .fo-radio+span:before {
        width: 20px;
        height: 20px;
        margin-top: -10px
    }

    .fo-radio:checked+span:after {
        width: 10px;
        height: 10px;
        margin-top: -5px;
        left: 5px
    }
}

.fo-send {
    text-align: center
}

.smf-action {
    text-align: center;
    margin-top: 5%
}

.smf-action .smf-button-control .smf-button-control__control {
    background-color: #fff;
    background-image: none;
    border: 2px solid #26d;
    outline: 0;
    color: #26d;
    max-width: 460px;
    width: 60%;
    padding: 15px 0;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 30px;
    margin: 0 auto
}

@media (max-width: 740px) {
    .smf-action .smf-button-control .smf-button-control__control {
        padding:10px 0
    }
}

input[type="submit"],input[type="reset"] {
    background: #002d7d;
    background-image: -webkit-linear-gradient(left, #fff352, #aadb00 90%);
    background-image: -o-linear-gradient(left, #fff352, #aadb00 90%);
    background-image: linear-gradient(to right, #fff352, #aadb00 90%);
    border: 3px solid #002d7d;
    outline: 0;
    color: #d70c19;
    max-width: 460px;
    width: 60%;
    padding: 15px 0;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    border-radius: 30px;
    margin: 0 auto
}

@media (max-width: 740px) {
    input[type="submit"],input[type="reset"] {
        padding:10px 0
    }
}

input.fo-graybtn {
    background: #5785d5;
    color: #000;
    max-width: 200px;
    width: 30%;
    border-color: #5785d5;
    margin-right: 4%
}

.ta-table1 {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto
}

.ta-table1 th {
    width: 25%;
    padding: 2% 2%;
    vertical-align: middle;
    border-bottom: 1px solid #0057b8
}

.ta-table1 td {
    width: 75%;
    padding: 2% 2%;
    border-bottom: 1px solid #e4e4e4
}

.ta-table1 tr:first-child th {
    border-top: 1px solid #0057b8
}

.ta-table1 tr:first-child td {
    border-top: 1px solid #e4e4e4
}

@media (max-width: 740px) {
    .ta-table1 td,.ta-table1 th {
        display:block;
        width: 100%
    }

    .ta-table1 th {
        background: #fafafa;
        padding: 5px 3%
    }

    .ta-table1 td {
        border: none;
        padding: 10px 0 20px
    }

    .ta-table1 tr:first-child th,.ta-table1 tr:first-child td {
        border-top: none
    }
}

.ta-table2 {
    width: 100%
}

.ta-table2 th,.ta-table2 td {
    padding: 1% 2%;
    border-bottom: 1px solid #e4e4e4
}

.ta-table2.col2 {
    text-align: left
}

.ta-table2.col2 th {
    width: 80%
}

.ta-table2.col2 td {
    width: 20%
}

.ta-table2.col4 {
    text-align: left
}

.ta-table2.col4 th {
    width: 30%
}

.ta-table2.col4 td {
    width: 25%
}

.ta-table2.col4 td:last-child {
    width: 20%
}

.ta-table2.col3 {
    text-align: left
}

.ta-table2.col3 th {
    width: 30%
}

.ta-table2.col3 td {
    width: 50%
}

.ta-table2.col3 td:last-child {
    width: 20%
}

@media (max-width: 740px) {
    .ta-table2 th,.ta-table2 td {
        padding:12px 2%
    }
}

.ta-table3 {
    width: 100%
}

.ta-table3 th {
    background: #fafafa;
    border-bottom: 3px solid #fff;
    width: 35%;
    text-align: center;
    position: relative;
    font-weight: 600;
    padding: 2% 100px 2% 0
}

.ta-table3 th span {
    position: absolute;
    width: 80px;
    border-radius: 5px;
    background: #26d;
    color: #fff;
    text-align: center;
    right: 0;
    font-size: 1.5rem;
    line-height: 2
}

.ta-table3 td {
    background: #fafafa;
    border-bottom: 3px solid #fff;
    width: 65%;
    padding: 2%
}

.ti-pagetitle {
    position: relative;
    padding: 0 3%;
    margin-bottom: 1%
}

.ti-pagetitle .title {
    padding-top: 1%;
    text-align: right;
    font-size: 4.2rem;
    font-weight: 600;
    position: relative;
    z-index: 1;
    margin-right: 6%
}

.ti-pagetitle .en {
    position: absolute;
    top: 50%;
    margin-top: -10rem;
    right: 0.5%;
    font-family: 'Notera';
    color: rgba(34,102,221,0.7);
    font-size: 10rem;
    -webkit-transform: rotate(-10deg)
}

@media (max-width: 940px) {
    .ti-pagetitle .title {
        font-size:3.4rem
    }

    .ti-pagetitle .en {
        font-size: 8rem;
        margin-top: -8rem
    }
}

@media (max-width: 740px) {
    .ti-pagetitle {
        margin-bottom:10px
    }

    .ti-pagetitle .title {
        font-size: 2.6rem;
        margin-right: 3%
    }

    .ti-pagetitle .en {
        font-size: 6rem;
        margin-top: -6rem
    }
}

.ti-title1 {
    font-size: 2.8rem;
    font-weight: 600;
    padding-left: 35px;
    position: relative;
    margin-bottom: 5%
}

.ti-title1:before {
    content: "";
    width: 20px;
    display: block;
    position: absolute;
    background: #26d;
    height: 1px;
    top: 50%;
    left: 0
}

@media (max-width: 740px) {
    .ti-title1 {
        margin-bottom:30px;
        font-size: 2.2rem
    }
}

.ti-title2 {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 2%
}

@media (max-width: 740px) {
    .ti-title2 {
        font-size:2rem
    }
}

.ti-title3 {
    font-size: 2.2rem;
    font-weight: 600;
    background: #26d;
    margin-bottom: 2%;
    text-align: center;
    color: #fff;
    padding: 8px 2%;
    margin-bottom: 5%
}

@media (max-width: 940px) {
    .ti-title3 {
        font-size:2rem
    }
}

@media (max-width: 740px) {
    .ti-title3 {
        margin-bottom:20px
    }
}

.ti-title4 {
    font-size: 2.2rem;
    color: #26d;
    font-weight: 600;
    text-align: center;
    margin-bottom: 5%
}

.ti-title4 span {
    font-family: 'Oswald';
    font-size: 5rem;
    font-weight: 400;
    display: block;
    position: relative;
    letter-spacing: .4rem;
    text-indent: .4rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.ti-title4 span:before,.ti-title4 span:after {
    content: "";
    border-top: 1px solid;
    content: "";
    flex-grow: 1
}

.ti-title4 span:before {
    margin-right: 2rem
}

.ti-title4 span:after {
    margin-left: 2rem
}

@media (max-width: 940px) {
    .ti-title4 span {
        font-size:4rem
    }
}

@media (max-width: 740px) {
    .ti-title4 {
        font-size:1.8rem;
        margin-bottom: 20px
    }

    .ti-title4 span {
        font-size: 3.4rem
    }
}

.ti-title5 {
    background: #002d7d;
    color: #fff;
    font-size: 3rem;
    padding: 10px 2%;
    margin-bottom: 5%;
    text-align: center
}

@media (max-width: 740px) {
    .ti-title5 {
        font-size:2.2rem;
        margin-bottom: 30px
    }
}

.ti-title6 {
    background: #fafafa;
    margin-bottom: 4%;
    color: #002d7d;
    font-weight: 600;
    font-size: 2rem;
    padding: 5px 3%
}

@media (max-width: 740px) {
    .ti-title6 {
        font-size:1.8rem;
        margin-bottom: 30px
    }
}

.ti-title7 {
    font-weight: 600;
    margin-bottom: 5%
}

.ti-title7 span {
    font-family: 'Oswald';
    font-size: 3rem;
    font-weight: 400;
    display: block;
    position: relative;
    letter-spacing: .3rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.ti-title7 span:after {
    content: "";
    border-top: 1px solid;
    content: "";
    flex-grow: 1
}

.ti-title7 span:after {
    margin-left: 2rem
}

@media (max-width: 940px) {
    .ti-title7 span {
        font-size:2.4rem
    }
}

@media (max-width: 740px) {
    .ti-title7 {
        margin-bottom:20px
    }
}

.head {
    transition: .5s;
    -webkit-transition: .5s;
    padding: 20px 1%;
    position: fixed;
    background: #fff;
    width: 100%;
    z-index: 100;
    top: 0
}

.head>.flex {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

@media (min-width: 941px) {
    .head.fixed {
        padding:0px 1%;
        box-shadow: 0px 0px 5px 0px #3e3e3b
    }

    .head.fixed .head-logo {
        width: 150px;
        padding: 5px 0
    }

    .head.fixed .globalnav-box {
        padding-top: 0
    }

    .head.fixed .globalnav-box>li>a {
        font-size: 1.4rem
    }
}

@media (max-width: 940px) {
    .head {
        position:inherit
    }
}

@media (max-width: 740px) {
    .head {
        padding:10px 4%
    }
}

.l-wrapper.top .head {
    background: none
}

.l-wrapper.top .head.fixed {
    background: #000
}

@media (max-width: 940px) {
    .l-wrapper.top .head {
        position:absolute
    }
}

.head-logo {
    width: 18%;
    max-width: 300px;
    transition: .5s;
    -webkit-transition: .5s
}

@media (max-width: 940px) {
    .head-logo {
        width:30%
    }
}

@media (max-width: 740px) {
    .head-logo {
        width:50%;
        max-width: 200px
    }
}

.footer {
    background: #fafafa;
    padding-bottom: 40px
}

.footer>.flex {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    overflow: hidden
}

.footer .copy {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    color: #787878;
    font-size: 1.4rem
}

@media (max-width: 740px) {
    .footer {
        padding-bottom:30px
    }
}

.footer-logo {
    background: #fff;
    padding: 20px 2% 25px;
    width: 20%;
    position: relative;
    text-align: center
}

.footer-logo:after {
    content: "";
    position: absolute;
    right: -10%;
    top: -50%;
    width: 30%;
    z-index: 0;
    height: 200%;
    background: #fff;
    border-right: 2px solid #d70c19;
    transform: rotate(25deg)
}

.footer-logo img {
    width: 100%;
    max-width: 300px;
    position: relative;
    z-index: 2
}

@media (max-width: 940px) {
    .footer-logo {
        width:30%
    }
}

@media (max-width: 740px) {
    .footer-logo {
        width:100%;
        margin: 0 auto 5%;
        margin-bottom: 50px
    }

    .footer-logo img {
        width: 60%
    }

    .footer-logo:after {
        right: auto;
        left: -1px;
        transform: rotate(-4deg);
        top: auto;
        bottom: -14px;
        width: 100%;
        height: 34px;
        border-right: 0;
        border-bottom: 2px solid #d70c19
    }
}

.footer-nav {
    width: 76%;
    padding: 0 1%;
    font-size: 1.7rem;
    font-size: clamp(1.5rem, 1.3vw, 1.8rem);
    font-weight: 600;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.footer-nav li {
    margin: 1% 2% 0 0
}

.footer-nav a:hover {
    color: #002d7d
}

.footer-nav .contact span {
    position: relative;
    display: inline-block;
    padding-left: 30px
}

.footer-nav .contact span:before {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    margin-top: -10px;
    top: 50%;
    left: 0;
    background: url(../img/icon-mail.png) no-repeat center center;
    background-size: contain
}

.footer-nav .sns img {
    width: 30px
}

@media (max-width: 940px) {
    .footer-nav {
        width:65%;
        font-size: 1.8rem
    }

    .footer-nav li {
        margin: 2% 4% 0 0
    }

    .footer-nav .sns img {
        width: 26px
    }
}

@media (max-width: 740px) {
    .footer-nav {
        width:96%;
        margin: 0 auto;
        font-size: 1.6rem;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -ms-flex-pack: space-between
    }

    .footer-nav li {
        width: 48%;
        margin: 0 0 4%
    }

    .footer-nav a {
        padding: 12px 6%;
        display: block;
        background: #fff
    }

    .footer-nav .sns {
        width: 36px;
        margin: 5% auto 0
    }

    .footer-nav .sns a {
        background: none
    }

    .footer-nav .sns img {
        width: 100%
    }
}

.globalnav {
    width: 75%;
    max-width: 1100px;
    padding: 0 1% 0 0;
    font-weight: 600;
    letter-spacing: 0
}

.globalnav-box {
    padding-top: 0.5%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between
}

.globalnav-box>li {
    margin: 0 0 0 1.5%
}

.globalnav-box>li>a {
    margin-top: 22px;
    font-size: 1.7rem;
    font-size: clamp(1.4rem, 1.3vw, 1.8rem)
}

.globalnav-box>li>a:hover {
    color: #002d7d
}

.globalnav-box a {
    white-space: nowrap
}

.globalnav-box .contact span {
    position: relative;
    display: inline-block;
    padding-left: 20px
}

.globalnav-box .contact span:before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    margin-top: -8px;
    top: 50%;
    left: 0;
    background: url(../img/icon-mail.png) no-repeat center center;
    background-size: contain
}

.globalnav-box .sns {
    width: 30px
}

.is-parent-nav>a {
    display: block;
    margin-bottom: 0;
    padding-bottom: 22px;
    position: relative
}

.is-parent-nav>a:before {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 12px;
    margin: 0 auto;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent #002d7d #002d7d transparent;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    border-width: 1px
}

.is-child-nav {
    display: none;
    background: rgba(0,87,184,0.8);
    position: fixed;
    left: 0;
    z-index: 5000;
    min-width: 100%;
    opacity: 0;
    padding: 4% 0
}

.is-child-nav ul {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto
}

.is-child-nav li {
    flex-grow: 1;
    text-align: center
}

.is-child-nav a {
    font-size: 1.8rem;
    color: #fff
}

@media (max-width: 940px) {
    .globalnav {
        position:fixed;
        width: 90%;
        height: 100%;
        top: 0;
        right: 0;
        margin: 0 auto;
        z-index: 998;
        box-shadow: 0px 0px 5px 0px #ddd;
        display: block;
        transform: translateX(100%);
        -webkit-transform: translateX(100%);
        overflow-x: auto;
        background: #fff;
        padding: 55px 0 40px;
        -webkit-transition: all 0.6s;
        -webkit-overflow-scrolling: touch
    }

    .globalnav.is-active {
        visibility: visible;
        opacity: 1;
        transform: translateX(0%);
        -webkit-transform: translateX(0%)
    }

    .globalnav-box {
        padding-top: 0;
        width: 94%;
        margin: 0 auto;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        background: #fff
    }

    .globalnav-box>li {
        width: 100%;
        margin: 0;
        position: relative;
        border-bottom: 1px solid #787878
    }

    .globalnav-box>li:first-child {
        border-top: 1px solid #787878
    }

    .globalnav-box>li>a {
        display: block;
        padding: 15px 3%;
        margin: 0;
        font-size: 1.7rem
    }

    .globalnav-box .sns {
        width: 40px;
        border-bottom: 0;
        margin: 10px auto
    }

    .is-parent-nav>a {
        display: block;
        padding: 0;
        position: relative
    }

    .is-parent-nav>a:before {
        content: none
    }

    .is-parent-sp {
        position: absolute;
        background: #0057b8;
        top: 0;
        right: 0;
        width: 54px;
        height: 54px
    }

    .is-parent-sp:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        margin: -11px auto 0;
        width: 14px;
        height: 14px;
        border: 2px solid;
        border-color: transparent #fff #fff transparent;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        border-width: 1px
    }

    .is-child-nav {
        background: #0057b8;
        position: relative;
        opacity: 1;
        padding: 0
    }

    .is-child-nav ul {
        display: block
    }

    .is-child-nav li {
        width: 100%;
        text-align: left;
        border-bottom: 1px dashed #fff
    }

    .is-child-nav li:last-child {
        border-bottom: none
    }

    .is-child-nav a {
        display: block;
        font-size: 1.7rem;
        color: #fff;
        padding: 15px 3%
    }
}

@media (min-width: 941px) {
    .l-wrapper.top .globalnav-box>li>a {
        color:#fff
    }

    .l-wrapper.top .globalnav-box .contact span:before {
        background-image: url(../img/icon-mail-w.png)
    }

    .l-wrapper.top .is-parent-nav>a:before {
        border-color: transparent #fff #fff transparent
    }
}

.is-fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

@media (max-width: 940px) {
    .is-hamburger {
        background:#fff;
        padding: 10px;
        width: 44px;
        height: 40px;
        position: fixed;
        right: 10px;
        top: 10px;
        z-index: 1001;
        text-align: center;
        font-size: 1rem;
        letter-spacing: .4rem;
        text-indent: .4rem
    }

    .is-hamburger span {
        display: inline-block;
        transition: all .4s;
        -webkit-transition: all .4s;
        cursor: pointer;
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 30px;
        height: 2px;
        background-color: #26d
    }

    .is-hamburger span:nth-of-type(1) {
        top: 8.5px
    }

    .is-hamburger span:nth-of-type(2) {
        top: 50%;
        margin-top: -1px
    }

    .is-hamburger span:nth-of-type(3) {
        bottom: 8.5px
    }

    .is-hamburger.is-active span:nth-of-type(1) {
        -webkit-transform: translateY(15px) rotate(-45deg);
        transform: translateY(10.5px) rotate(-45deg)
    }

    .is-hamburger.is-active span:nth-of-type(2) {
        opacity: 0;
        left: 50%;
        -webkit-animation: active-menu-bar02 .8s forwards;
        animation: active-menu-bar02 .8s forwards
    }

    .is-hamburger.is-active span:nth-of-type(3) {
        -webkit-transform: translateY(-15px) rotate(45deg);
        transform: translateY(-10.5px) rotate(45deg)
    }
}

.l-main {
    overflow: hidden
}

@media (min-width: 941px) {
    .l-main {
        padding-top:119px;
        margin-top: 0.1px
    }
}

@media (max-width: 740px) {
    .l-main {
        padding-top:0;
        margin-top: 0
    }
}

@media (min-width: 941px) {
    .l-wrapper.top .l-main {
        padding-top:0
    }
}

.l-inner {
    max-width: 1400px;
    width: 96%;
    margin: 0 auto
}

@media (max-width: 940px) {
    .l-inner {
        width:94%;
        max-width: 700px
    }
}

.l-box {
    max-width: 1100px;
    margin: 0 auto
}

.c-thumbnail {
    width: 100%;
    padding-top: 72.25%;
    position: relative;
    display: block;
    overflow: hidden
}

.c-thumbnail img {
    object-fit: cover;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)
}

.c-bread {
    width: 96%;
    margin: 0 auto 3%
}

.c-bread.mb1 {
    margin-bottom: 1%
}

.c-bread li {
    padding-right: 26px;
    margin-bottom: 10px;
    line-height: 1;
    position: relative;
    font-size: 1.4rem
}

.c-bread li:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 8px;
    height: 8px;
    border: 1px solid;
    border-color: #d70c19 #d70c19 transparent transparent;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin: -4px 0 0 0
}

.c-bread li:last-child {
    margin-bottom: 0;
    padding-right: 0
}

.c-bread li:last-child:after {
    content: none
}

@media (max-width: 740px) {
    .c-bread {
        margin-bottom:30px
    }
}

.c-pagenav {
    margin-top: -120px !important;
    padding-top: 120px !important
}

@media (max-width: 940px) {
    .c-pagenav {
        margin-top:-20px !important;
        padding-top: 20px !important
    }
}

.c-inb {
    display: inline-block
}

.c-right {
    text-align: right
}

.c-center {
    text-align: center
}

.c-mb3 {
    margin-bottom: 3% !important
}

@media (max-width: 740px) {
    .c-mb3 {
        margin-bottom:30px !important
    }
}

.c-mb5 {
    margin-bottom: 5% !important
}

@media (max-width: 740px) {
    .c-mb5 {
        margin-bottom:40px !important
    }
}

.c-mb8 {
    margin-bottom: 8% !important
}

@media (max-width: 740px) {
    .c-mb8 {
        margin-bottom:50px !important
    }
}

.c-mb10 {
    margin-bottom: 10% !important
}

@media (max-width: 740px) {
    .c-mb10 {
        margin-bottom:60px !important
    }
}

.top-main {
    position: relative
}

.top-main .catch {
    bottom: 10%;
    right: 3%;
    z-index: 2;
    position: absolute;
    width: 50%
}

@media (max-width: 740px) {
    .top-main .catch {
        width:72%
    }
}

.top-about {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center
}

.top-about .item {
    width: 32.333%;
    margin: 0 0.5% 1%;
    padding: 3% 2%;
    color: #fff;
    background-size: cover;
    min-height: 400px;
    text-shadow: 1px 2px 3px #000
}

.top-about h2 {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 3%
}

.top-about .back1 {
    background-image: url(../img/top-back1.jpg)
}

.top-about .back2 {
    background-image: url(../img/top-back2.jpg)
}

.top-about .back3 {
    background-image: url(../img/top-back3.jpg)
}

.top-about .back4 {
    background-image: url(../img/top-back4.jpg)
}

.top-about .back5 {
    background-image: url(../img/top-back5.jpg)
}

@media (max-width: 940px) {
    .top-about .item {
        min-height:300px
    }
}

@media (max-width: 740px) {
    .top-about .item {
        padding:30px 5%;
        width: 100%;
        min-height: 240px
    }

    .top-about .item h2 {
        margin-bottom: 20px
    }

    .top-about .item>* {
        max-width: 340px;
        margin: 0 auto
    }
}

.top-info dl {
    position: relative;
    max-width: 1100px;
    margin: 0 auto
}

.top-info dt {
    position: absolute
}

.top-info dd {
    border-bottom: 1px solid #e4e4e4;
    margin-bottom: 2%;
    padding-bottom: 2%;
    /*	padding-left:150px;*/
    padding-left: 25%;
}

.top-info dd:last-child {
    border-bottom: 0
}

@media (max-width: 940px) {
    .top-info dd {
        padding-left:130px
    }
}

@media (max-width: 740px) {
    .top-info dt {
        position:relative;
        margin-bottom: 0
    }

    .top-info dd {
        padding: 0 0 12px;
        margin-bottom: 12px
    }
}

.company-policy .catch {
    font-size: 3rem;
    text-align: center
}

@media (max-width: 740px) {
    .company-policy .catch {
        font-size:2.4rem
    }
}

.company-rinen .contents {
    max-width: 1100px;
    margin: 0 auto
}

.company-rinen p {
    margin-bottom: 2rem
}

.company-rinen li {
    position: relative;
    padding-left: 45px
}

.company-rinen li span {
    left: 0;
    position: absolute
}

@media (max-width: 740px) {
    .company-rinen .catch {
        font-size:2.4rem
    }
}

.company-message2 .contents {
    max-width: 1100px;
    margin: 0 auto
}

.company-message2 .img {
    text-align: center;
    margin: 0 0 3%
}

.company-message2 p {
    margin-bottom: 2rem
}

.company-message2 .name {
    text-align: right
}

@media (max-width: 740px) {
    .company-message2 .catch {
        font-size:2.4rem
    }

    .company-message2 .img {
        width: 80%;
        margin: 0 auto 20px
    }
}

.company-message {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.company-message .left {
    width: 50%
}

.company-message .contents p {
    line-height: 1.8
}

.company-message .contents figure {
    float: right;
    margin-left: 5%;
    width: 35%;
    max-width: 200px
}

.company-message .catch {
    font-weight: 600;
    margin-bottom: 5%;
    font-size: 3rem
}

.company-message .catch span {
    display: inline-block
}

.company-message .name {
    display: block;
    margin-top: 3%;
    font-size: 2.4rem
}

.company-message .right {
    width: 46%
}

@media (max-width: 940px) {
    .company-message .left {
        width:100%;
        margin: 0 auto 3%;
        margin-bottom: 30px
    }

    .company-message .catch {
        font-size: 2.6rem;
        margin-bottom: 3%
    }

    .company-message .right {
        width: 100%;
        margin: 0 auto
    }
}

@media (max-width: 740px) {
    .company-message .catch {
        margin-bottom:20px;
        font-size: 2.2rem;
        text-align: center
    }

    .company-message .name {
        font-size: 2rem
    }
}

.company-history {
    padding: 5% 0;
    background: #a5a6a1;
    position: relative;
    overflow: hidden
}

.company-history .ti-title1 {
    position: relative;
    z-index: 2
}

.company-history .l-inner:before,.company-history .l-inner:after {
    content: "";
    width: 40%;
    height: 20%;
    position: absolute;
    top: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1
}

.company-history .l-inner:before {
    background-image: url(../img/company-history3.png);
    left: 0;
    top: 54%
}

.company-history .l-inner:after {
    background-image: url(../img/company-history4.png);
    right: 0;
    top: 76%
}

.company-history:before,.company-history:after {
    content: "";
    width: 40%;
    height: 20%;
    position: absolute;
    top: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1
}

.company-history:before {
    background-image: url(../img/company-history1.png);
    left: 0;
    top: 10%
}

.company-history:after {
    background-image: url(../img/company-history2.png);
    right: 0;
    top: 32%
}

.company-history .ti-title1 {
    color: #fff
}

.company-history .box {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    width: 90%;
    margin: 0 auto
}

.company-history .box:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 1px;
    height: 100%;
    top: 0;
    left: 0;
    margin-left: 24.45%;
    background: #26d
}

.company-history dl {
    margin: 0 auto 2%;
    background: rgba(255,255,255,0.8);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    padding: 1%
}

.company-history dt {
    width: 24%;
    text-align: center
}

.company-history dt span {
    font-size: 1.4rem;
    display: inline-block
}

.company-history dd {
    width: 76%;
    position: relative;
    padding-left: 4%
}

.company-history dd:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 14px;
    height: 14px;
    top: 50%;
    left: 0;
    margin-left: -8px;
    margin-top: -7px;
    background: rgba(34,102,221,0.5);
    border-radius: 50%
}

@media (max-width: 740px) {
    .company-history {
        padding:30px 0
    }

    .company-history .l-inner:before,.company-history .l-inner:after {
        width: 60%;
        height: 15%
    }

    .company-history:before,.company-history:after {
        width: 60%;
        height: 15%
    }

    .company-history .box {
        width: 100%
    }

    .company-history .box:before {
        margin-left: 28%
    }

    .company-history dl {
        padding: 8px 1%;
        width: 100%;
        line-height: 1.5;
        margin-bottom: 15px
    }

    .company-history dt {
        width: 28%
    }

    .company-history dd {
        width: 72%
    }
}

.company-sdgs .contents {
    padding: 5%;
    background: #fafafa
}

.company-sdgs .item {
    margin-bottom: 4%;
    width: 48%
}

.company-sdgs .item h4 {
    letter-spacing: 0;
    margin-bottom: 2%
}

.company-sdgs .item h4 span {
    display: inline-block;
    background: #26d;
    color: #fff;
    width: 20px;
    height: 20px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 20px;
    margin-right: 10px
}

.company-sdgs .item li {
    margin-right: 1%;
    width: 19%
}

@media (max-width: 740px) {
    .company-sdgs .item {
        width:100%;
        margin-bottom: 20px
    }
}

.company .ta-table1 a {
    text-decoration: underline
}

.company .ta-table1 a:hover {
    text-decoration: none
}

.company-eco .flex {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto
}

.company-eco .img {
    width: 30%
}

.company-eco .txt {
    width: 60%;
    line-height: 2
}

@media (max-width: 740px) {
    .company-eco .txt {
        width:100%;
        line-height: 1.7;
        margin-bottom: 20px
    }

    .company-eco .img {
        width: 40%;
        margin: 0 auto
    }
}

.company-map iframe {
    width: 100%;
    height: 500px;
    margin-bottom: 3%
}

.company-map .address {
    margin-bottom: 2%
}

.company-map li {
    width: 48%
}

@media (max-width: 740px) {
    .company-map iframe {
        height:400px
    }

    .company-map li {
        width: 100%;
        margin-bottom: 20px
    }
}

.recruit-top {
    position: relative;
    overflow: hidden
}

.recruit-top:before,.recruit-top:after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 100%;
    background: #fff
}

.recruit-top:before {
    height: 40%;
    left: -35%;
    top: -10%;
    transform: rotate(-25deg)
}

.recruit-top:after {
    height: 25%;
    right: -35%;
    bottom: -10%;
    transform: rotate(-10deg)
}

.recruit-top .catch {
    position: absolute;
    left: 5%;
    top: 5%;
    z-index: 2;
    font-size: 3rem;
    color: #26d;
    font-size: clamp(2.6rem, 2vw, 5rem)
}

.recruit-top .img img {
    width: 100%
}

@media (max-width: 940px) {
    .recruit-top .catch {
        left:3%
    }
}

@media (max-width: 740px) {
    .recruit-top:before {
        left:-25%;
        transform: rotate(-15deg)
    }

    .recruit-top .catch {
        width: 100%;
        text-align: center;
        background: #fff;
        padding: 2% 0 3%;
        top: 0;
        left: 0;
        font-size: 2.2rem
    }

    .recruit-top .img img {
        width: 122%;
        margin-left: -22%;
        max-width: inherit
    }
}

.recruit-toptxt {
    max-width: 900px;
    margin: 0 auto;
    line-height: 2;
    text-align: center
}

@media (max-width: 740px) {
    .recruit-toptxt {
        text-align:left
    }
}

.recruit-about li {
    width: 31%
}

.recruit-about .img {
    margin-bottom: 5%
}

@media (max-width: 740px) {
    .recruit-about li {
        width:100%;
        margin-bottom: 30px
    }

    .recruit-about li:last-child {
        margin-bottom: 0
    }

    .recruit-about .img {
        width: 80%;
        margin: 0 auto 5%
    }
}

.recruit-data li {
    width: 30%;
    margin-bottom: 4%;
    text-align: center
}

.recruit-data li p {
    margin-top: 3%;
    font-size: 2rem
}

@media (max-width: 740px) {
    .recruit-data li {
        width:45%;
        margin-bottom: 20px
    }

    .recruit-data li p {
        font-size: 1.8rem
    }
}

.recruit-voice-list {
    margin-bottom: 8%;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.recruit-voice-list:last-child {
    margin-bottom: 0
}

.recruit-voice-list .contents {
    width: 50%
}

.recruit-voice-list .img {
    width: 45%
}

.recruit-voice-list .no {
    font-size: 2rem;
    font-weight: 500;
    font-family: 'Oswald';
    color: #26d;
    margin-bottom: 15px
}

.recruit-voice-list .name {
    font-size: 2.8rem;
    margin-bottom: 15px
}

.recruit-voice-list .name span {
    font-size: 1.8rem;
    display: block
}

@media (max-width: 740px) {
    .recruit-voice-list {
        -webkit-flex-direction:column-reverse;
        -moz-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-bottom: 40px
    }

    .recruit-voice-list .contents {
        width: 100%
    }

    .recruit-voice-list .img {
        margin-bottom: 15px;
        width: 100%
    }

    .recruit-voice-list .no,.recruit-voice-list .name {
        margin-bottom: 10px
    }

    .recruit-voice-list .name {
        font-size: 2.4rem
    }
}

.recruit-bosyu .contents {
    padding: 0 3% 1px;
    margin-bottom: 4%;
    background: #fafafa
}

.recruit-bosyu .contents:last-child {
    margin-bottom: 0
}

.recruit-bosyu .is-parent {
    padding: 2% 0;
    text-align: center;
    font-weight: 600;
    font-size: 2.2rem;
    cursor: pointer;
    position: relative
}

.recruit-bosyu .is-child {
    margin: 0 0 3%;
    background: #fff;
    padding: 5% 3%
}

.recruit-bosyu .is-child p {
    width: 94%;
    padding: 2.5%;
    background: #fff
}

@media (max-width: 940px) {
    .recruit-bosyu .is-parent {
        padding:3% 0
    }

    .recruit-bosyu .is-child {
        padding-bottom: 3%;
        padding: 3%
    }

    .recruit-bosyu .is-child p {
        padding: 3%
    }
}

@media (max-width: 740px) {
    .recruit-bosyu .contents {
        margin-bottom:20px
    }

    .recruit-bosyu .is-parent {
        padding: 12px 30px 12px 0;
        text-align: left;
        font-size: 1.8rem
    }

    .recruit-bosyu .is-child {
        padding: 20px 3%
    }
}

.recruit-contact {
    max-width: 900px;
    margin: 0 auto;
    padding: 3% 5%;
    border: 1px solid #26d
}

.recruit-contact .ti-title2 {
    color: #26d
}

.recruit-contact ul {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.recruit-contact li {
    width: 48%
}

.recruit-contact .tel {
    text-align: center
}

.recruit-contact .tel a {
    padding-left: 34px;
    position: relative;
    display: inline-block;
    font-size: 3.4rem
}

.recruit-contact .tel a:before {
    content: "";
    width: 24px;
    height: 24px;
    margin-top: -12px;
    position: absolute;
    top: 50%;
    left: 0;
    background: url(../img/icon-tel.png) no-repeat center center;
    background-size: contain
}

.recruit-contact .tel span {
    display: block
}

@media (max-width: 740px) {
    .recruit-contact {
        padding:25px 5%
    }
}

@media (max-width: 740px) and (max-width: 740px) {
    .recruit-contact li {
        width:100%;
        margin-bottom: 20px
    }

    .recruit-contact li:last-child {
        margin-bottom: 0
    }
}

.case-top .sub {
    font-size: 2rem
}

.case-top .name {
    font-size: 3rem;
    margin-bottom: 3%
}

.case-top .img {
    width: 90%;
    margin: 0 auto
}

@media (max-width: 740px) {
    .case-top .sub {
        font-size:1.7rem
    }

    .case-top .name {
        font-size: 2.2rem;
        margin-bottom: 20px
    }
}

.case-contents .box {
    width: 50%;
    padding: 3%
}

.case-contents .box h2 {
    font-size: 2.6rem;
    font-weight: 600;
    margin-bottom: 3%;
    text-align: center
}

.case-contents .item1 {
    background: #5785d5;
    color: #fff
}

.case-contents .item1 .img {
    width: 60%;
    text-align: center;
    margin: 0 auto 3%
}

.case-contents .item1 p {
    margin-bottom: 3%;
    font-size: 1.8rem
}

.case-contents .item1 p:last-child {
    margin-bottom: 0
}

.case-contents .item2 .img {
    margin-bottom: 3%;
    text-align: center
}

.case-contents .item2 .caption {
    text-align: center;
    font-size: 2rem
}

.case-contents .item3 {
    padding: 15% 5%;
    background-image: url(../img/case-img4.png),url(../img/case-img4-2.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top left, bottom right;
    background-size: 80% auto , 80% auto
}

.case-contents .item3 .name {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 5%
}

.case-contents .item4 {
    background: #dce3f3;
    color: #26d;
    text-align: center
}

.case-contents .item4 .img {
    width: 80%;
    margin: 5% auto 0
}

@media (max-width: 740px) {
    .case-contents .box {
        padding:40px 5%;
        width: 100%
    }

    .case-contents .box h2 {
        font-size: 2.2rem
    }

    .case-contents .item2 .caption {
        font-size: 1.8rem
    }

    .case-contents .item3 {
        padding: 60px 5%
    }

    .case-contents .item3 .name {
        font-size: 2rem;
        text-align: center
    }

    .case-contents .item4 .img {
        width: 100%
    }
}

.case-chance .catch {
    font-size: 3rem;
    text-align: center;
    font-weight: 600;
    margin-bottom: 3%
}

.case-chance .catch span {
    color: #d70c19
}

.case-chance .txt {
    max-width: 800px;
    margin: 0 auto;
    line-height: 2
}

@media (max-width: 740px) {
    .case-chance .catch {
        font-size:2.2rem;
        margin-bottom: 20px
    }

    .case-chance .catch span {
        display: inline-block
    }

    .case-chance .txt {
        line-height: 1.8
    }
}

.case-chance-item {
    position: relative
}

.case-chance-item:before {
    content: "";
    position: absolute;
    width: 24%;
    height: 40%;
    bottom: 10%;
    left: 50%;
    margin-left: -12%;
    background: url(../img/icon-arrow.png) no-repeat center bottom;
    background-size: contain
}

.case-chance-item .img {
    text-align: center;
    width: 80%;
    margin: 0 auto 4%
}

.case-chance-item .box {
    width: 34%
}

.case-chance-item .box h5 {
    color: #26d;
    font-size: 2rem;
    font-weight: 600;
    text-align: center
}

.case-chance-item .box li {
    margin-bottom: 3%;
    border: 1px solid #26d;
    padding: 3% 6%
}

.case-chance-item .box li:first-child {
    min-height: 140px
}

.case-chance-item .box li.bold {
    border-width: 4px
}

@media (max-width: 740px) {
    .case-chance-item:before {
        width:12%;
        margin-left: -6%;
        top: 20px;
        bottom: auto;
        background-position: top center
    }

    .case-chance-item .ti-title3 {
        margin-bottom: 10px
    }

    .case-chance-item .img {
        width: 70%;
        padding: 15px 0
    }

    .case-chance-item .box {
        width: 46%
    }

    .case-chance-item .box h5 {
        font-size: 1.5rem
    }

    .case-chance-item .box li {
        font-size: 1.3rem;
        letter-spacing: 0;
        padding: 14px 2%;
        margin-bottom: 10px
    }

    .case-chance-item .box li:first-child {
        min-height: 100px
    }
}

.case-flow .ti-title3 {
    letter-spacing: 0;
    font-size: 1.7rem;
    white-space: nowrap
}

.case-flow ul {
    margin-right: -24px
}

.case-flow li {
    position: relative;
    width: 25%;
    padding-right: 24px
}

.case-flow li:last-child:after {
    content: none
}

.case-flow li:after {
    content: "";
    position: absolute;
    right: -6px;
    top: 12px;
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-left-color: #dce3f3
}

.case-flow .more {
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 3%
}

.case-flow .more:after {
    content: "";
    display: block;
    right: 0;
    left: 0;
    margin: 20px auto 0;
    width: 0;
    height: 0;
    border: 25px solid transparent;
    border-top-color: #26d
}

@media (max-width: 940px) {
    .case-flow .ti-title3 {
        font-size:1.5rem
    }

    .case-flow li:after {
        top: 6px
    }
}

@media (max-width: 740px) {
    .case-flow ul {
        width:100%;
        margin: 0 auto
    }

    .case-flow li {
        margin-bottom: 20px;
        width: 50%;
        padding-right: 20px
    }

    .case-flow li:after {
        top: 8px;
        border-width: 10px
    }

    .case-flow .more:after {
        border-width: 20px
    }
}

.case-contact {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    padding: 3%;
    border: 1px solid #26d;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.case-contact .left {
    width: 44%
}

.case-contact .right {
    width: 52%;
    text-align: center;
    color: #26d;
    font-size: 2rem;
    font-weight: 600
}

@media (max-width: 940px) {
    .case-contact .right {
        font-size:1.8rem
    }
}

@media (max-width: 740px) {
    .case-contact {
        padding:30px 4%
    }

    .case-contact .left {
        width: 100%;
        margin-bottom: 20px
    }

    .case-contact .right {
        width: 100%;
        text-align: left
    }
}

.brand-top {
    background: url(../img/brand-main.jpg) no-repeat center center;
    background-size: cover;
    padding: 15% 5% 42%
}

.brand-top .catch {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 600
}

.brand-top .catch span {
    color: #d70c19
}

@media (max-width: 940px) {
    .brand-top .catch {
        font-size:3rem
    }
}

@media (max-width: 740px) {
    .brand-top {
        padding:60px 15% 200px
    }

    .brand-top .catch {
        max-width: 230px;
        margin: 0 auto;
        font-size: 2rem
    }

    .brand-top .catch br {
        display: none
    }
}

.brand-top-txt {
    max-width: 1000px;
    margin: 0 auto 5%;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 2;
    text-align: center
}

@media (max-width: 740px) {
    .brand-top-txt {
        text-align:left;
        margin-bottom: 40px
    }
}

.brand-map span {
    display: block;
    margin-top: 1%;
    text-align: right
}

.brand-contents .catch {
    width: 92%;
    margin: 0 auto 3%;
    font-size: 3rem;
    font-weight: 600;
    text-align: center
}

.brand-contents .catch span {
    font-size: 5rem;
    color: #d70c19
}

.brand-contents .back {
    padding: 10% 0;
    background: url(../img/brand-back.jpg) no-repeat center center;
    background-size: cover
}

.brand-contents ul {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center
}

.brand-contents li {
    width: 27.333%;
    padding: 3% 2%;
    margin: 3% 3%;
    background: rgba(255,255,255,0.8)
}

.brand-contents h3 {
    color: #d70c19;
    font-weight: 600;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 4%
}

@media (max-width: 940px) {
    .brand-contents li {
        width:31.333%;
        margin: 2% 1%
    }
}

@media (max-width: 740px) {
    .brand-contents .catch {
        font-size:2.4rem
    }

    .brand-contents .catch span {
        font-size: 3.6rem
    }

    .brand-contents li {
        padding: 30px 6%;
        width: 90%;
        margin-bottom: 3%
    }
}

.brand-file ul {
    max-width: 800px;
    margin: 0 auto
}

.brand-file li {
    width: 48%
}

@media (max-width: 740px) {
    .brand-file li {
        width:100%;
        margin-bottom: 20px
    }
}

.product-top {
    background: #aac1e9;
    padding: 5% 0
}

.product-top .title {
    text-align: center;
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 2%
}

.product-top .txt {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2;
    margin-bottom: 2%
}

@media (max-width: 740px) {
    .product-top {
        padding:40px 0 50px
    }

    .product-top .title {
        font-size: 2.4rem;
        margin-bottom: 10px
    }

    .product-top .txt {
        text-align: left;
        margin-bottom: 15px;
        font-size: 1.6rem;
        line-height: 1.6
    }
}

.product-main {
    max-width: 1000px;
    margin: 0 auto;
    padding: 3% 5%;
    border: 1px solid #26d
}

.product-main .flex {
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.product-main .txt {
    width: 50%
}

.product-main .img {
    width: 43%
}

@media (max-width: 740px) {
    .product-main {
        padding:4% 5% 30px
    }

    .product-main .flex {
        -webkit-flex-direction: column-reverse;
        -moz-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .product-main .txt {
        width: 100%
    }

    .product-main .img {
        margin: 0 auto 20px;
        width: 70%
    }
}

.product-name {
    position: relative;
    padding-left: 60px;
    margin-bottom: 5%
}

.product-name .no {
    top: 5px;
    left: 0;
    width: 40px;
    height: 40px;
    background: #26d;
    text-align: center;
    color: #fff;
    font-size: 2.4rem;
    line-height: 40px;
    position: absolute
}

.product-name h2 {
    font-size: 2.4rem;
    color: #0057b8;
    font-weight: 600;
    margin-bottom: 2%
}

.product-name dl {
    position: relative;
    width: 100%;
    max-width: 200px;
    text-align: center
}

.product-name dt {
    position: absolute;
    width: 80px;
    color: #fff;
    background: #96b3e6
}

.product-name dd {
    padding-left: 80px;
    background: #e4e4e4;
    color: #0057b8
}

@media (max-width: 740px) {
    .product-name {
        padding-left:45px
    }

    .product-name .no {
        width: 30px;
        height: 30px;
        font-size: 2rem;
        line-height: 30px
    }

    .product-name h2 {
        margin-bottom: 10px;
        font-size: 2.2rem
    }
}

.product-list li {
    width: 29.333%;
    margin: 0 2% 4%
}

.product-list .img {
    width: 80%;
    margin: 0 auto 2%
}

@media (max-width: 740px) {
    .product-list li {
        width:100%;
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #002d7d;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: wrap;
        -moz-align-items: wrap;
        -ms-align-items: wrap;
        align-items: wrap
    }

    .product-list .product-name {
        width: 55%;
        padding-left: 0
    }

    .product-list .product-name .no {
        width: 25px;
        height: 25px;
        line-height: 25px
    }

    .product-list .product-name h2 {
        padding-left: 32px;
        line-height: 1.5
    }

    .product-list .product-name dt {
        width: 60px
    }

    .product-list .product-name dd {
        padding-left: 60px
    }

    .product-list .img {
        width: 40%;
        margin-right: 5%
    }
}

.equipment-item .ti-title3 {
    text-align: left;
    margin-bottom: 2%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.equipment-item .ti-title3 span {
    font-size: 1.6rem
}

.contact-form-link {
    border-bottom: 4px solid #5785d5
}

.contact-form-link li {
    width: 46%;
    margin: 0 2%;
    font-size: 1.8rem;
    text-align: center
}

.contact-form-link li.active {
    position: relative;
    background: #fafafa;
    text-align: center;
    color: #0057b8;
    font-weight: 600;
    padding: 20px 2%;
    border: 4px solid #5785d5;
    border-bottom: none
}

.contact-form-link li.active:after {
    content: "";
    width: 100%;
    height: 5px;
    position: absolute;
    left: 0;
    bottom: -5px;
    z-index: 2;
    background: #fafafa
}

.contact-form-link li a {
    display: block;
    padding: 20px 2%;
    background: #96b3e6;
    border: 4px solid #96b3e6;
    color: #fff;
    font-weight: 600;
    border-bottom: none
}

@media (max-width: 740px) {
    .contact-form-link li {
        font-size:1.5rem;
        letter-spacing: 0
    }
}

.contact-form .smf-item {
    background: #fafafa;
    border-bottom: 2px solid #fff;
    padding: 2% 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

.contact-form .smf-item:last-child {
    border-bottom: 0
}

.contact-form .smf-item__col--label {
    width: 35%;
    text-align: center;
    position: relative;
    padding-right: 100px
}

.contact-form .smf-item__label {
    font-weight: 600
}

.contact-form .smf-item__description {
    position: absolute;
    width: 80px;
    border-radius: 5px;
    background: #26d;
    color: #fff;
    text-align: center;
    right: 0;
    top: 50%;
    margin-top: -12px;
    font-size: 1.5rem;
    line-height: 2
}

.contact-form .smf-item__col--controls {
    width: 65%;
    padding: 0 2%
}

.contact-form .smf-complete-content {
    padding: 6% 5%;
    background: #fafafa
}

.contact-form .smf-complete-content p {
    margin-bottom: 2rem
}

.contact-form .smf-complete-content p:last-child {
    margin-bottom: 0
}

@media (max-width: 940px) {
    .contact-form .smf-item__col--label {
        padding-right:80px;
        width: 40%
    }

    .contact-form .smf-item__description {
        width: 60px
    }

    .contact-form .smf-item__col--controls {
        width: 70%
    }
}

@media (max-width: 740px) {
    .contact-form .smf-item {
        -webkit-flex-wrap:wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .contact-form .smf-item__col--label {
        padding: 10px 2%;
        width: 100%;
        text-align: left
    }

    .contact-form .smf-item__description {
        width: 60px;
        right: 2%;
        padding: 0;
        margin-top: -10px;
        line-height: 1.6
    }

    .contact-form .smf-item__col--controls {
        width: 100%;
        padding: 0 2% 10px
    }
}

.smf-form {
    padding: 4% 0;
    background: #fafafa
}

.smf-form>p {
    font-weight: 600;
    color: #26d;
    font-size: 2rem;
    margin: 3% 0 2%
}

@media (max-width: 740px) {
    .smf-form>p {
        margin:30px 0 10px
    }
}

.contact-privacy h3 {
    color: #26d;
    font-weight: 600;
    font-size: 1.8rem;
    margin-bottom: 1%
}

.contact-privacy p {
    margin-bottom: 2rem
}

.info {
    padding: 3%;
    background: #fafafa
}

@media (max-width: 740px) {
    .info {
        padding:30px 3%
    }
}

.info-list {
    background: #fff;
    padding: 3%
}

.info-list dl {
    position: relative;
    max-width: 900px;
    margin: 0 auto
}

.info-list dt {
    position: absolute;
    color: #26d
}

.info-list dd {
    border-bottom: 1px solid #e4e4e4;
    margin-bottom: 2%;
    padding-bottom: 2%;
    padding-left: 150px
}

.info-list dd:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0
}

@media (max-width: 940px) {
    .info-list dd {
        padding-left:130px
    }
}

@media (max-width: 740px) {
    .info-list {
        padding:30px 3%
    }

    .info-list dt {
        position: relative;
        margin-bottom: 0
    }

    .info-list dd {
        padding: 0 0 12px;
        margin-bottom: 12px
    }
}

.info-s {
    padding: 3%;
    background: #fafafa
}

@media (max-width: 740px) {
    .info-s {
        padding:30px 3%
    }
}

.info-s-title {
    margin-bottom: 3%
}

.info-s-title .data {
    color: #26d
}

.info-s-title .title {
    font-size: 2.4rem;
    font-weight: 600
}

.info-s-contents {
    padding: 3%;
    background: #fff
}

.info-s-contents p {
    margin-bottom: 2rem
}

.info-s-contents p:last-child {
    margin-bottom: 0
}

.is-open {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #26d;
    margin-top: -17px;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    border: 1px solid #26d
}

.is-open span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 20px;
    height: 1px;
    border-radius: 5px;
    transition: all .5s;
    background: #fff;
    -webkit-transition: all .5s
}

.is-open span:nth-of-type(1) {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg)
}

.is-open span:nth-of-type(2) {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg)
}

@media (max-width: 940px) {
    .is-open {
        width:26px;
        height: 26px;
        margin-top: -13px
    }

    .is-open span {
        width: 14px
    }
}

@media (max-width: 740px) {
    .is-open {
        width:22px;
        height: 22px;
        margin-top: -11px
    }

    .is-open span {
        width: 14px
    }
}

.is-active .is-open {
    background: #fff
}

.is-active .is-open span:nth-of-type(1) {
    display: none
}

.is-active .is-open span:nth-of-type(2) {
    background: #26d;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg)
}

.slick-loading .slick-list {
    background: #fff url('../img/../img/c-loader.gif') center center no-repeat
}

.slide-arrow {
    position: absolute;
    top: 50%;
    background: none
}

.slide-arrow:focus {
    outline: 0
}

.slide-arrow.prev-arrow,.slide-arrow.next-arrow {
    box-sizing: content-box;
    padding: 0
}

.slide-arrow.prev-arrow {
    left: 0;
    z-index: 3;
    width: 30px;
    height: 30px;
    border: 5px solid;
    border-color: transparent transparent #d70c19 #d70c19;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    border-width: 2px
}

.slide-arrow.next-arrow {
    right: 0;
    z-index: 3;
    width: 30px;
    height: 30px;
    border: 5px solid;
    border-color: #d70c19 #d70c19 transparent transparent;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    border-width: 2px
}

@media (max-width: 940px) {
    .slide-arrow.prev-arrow,.slide-arrow.next-arrow {
        width:24px;
        height: 24px
    }
}

@media (max-width: 740px) {
    .slide-arrow.prev-arrow {
        left:0
    }

    .slide-arrow.next-arrow {
        right: 0
    }

    .slide-arrow.prev-arrow,.slide-arrow.next-arrow {
        width: 15px;
        height: 15px
    }
}

.slick-prev,.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    z-index: 3;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none
}

.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent
}

.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before {
    opacity: 1
}

.slick-prev:before,.slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-prev {
    left: 0
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: 0
}

.slick-prev:before {
    content: "←"
}

[dir="rtl"] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: 0
}

[dir="rtl"] .slick-next {
    left: 0;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir="rtl"] .slick-next:before {
    content: "←"
}

.slick-dots {
    position: absolute;
    bottom: 5%;
    right: 3%;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    width: auto
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: #d70c19;
    cursor: pointer
}

.slick-dots li button:hover,.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,.slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 20px;
    border-radius: 50%;
    height: 20px;
    background: #fff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    background: #d70c19;
    opacity: 1
}

@media (max-width: 940px) {
    .slick-dots li {
        margin:0 8px;
        width: 14px;
        height: 14px
    }

    .slick-dots li button {
        width: 14px;
        height: 14px
    }

    .slick-dots li button:before {
        width: 14px;
        height: 14px
    }
}

@media (max-width: 740px) {
    .slick-dots li {
        margin:0 5px;
        width: 10px;
        height: 10px
    }

    .slick-dots li button {
        width: 10px;
        height: 10px
    }

    .slick-dots li button:before {
        width: 10px;
        height: 10px
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    width: 100%;
    height: 1000px;
    height: 100vh;
    position: relative;
    overflow: hidden;
    min-height: 1;
    display: none
}

.slick-slide img {
    object-fit: cover;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)
}

[dir="rtl"] .slick-slide {
    float: right
}

.slick-slide img {
    width: 100%;
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

@media (max-width: 740px) {
    .slick-slide {
        height:80vh
    }
}

.slick-arrow.slick-hidden {
    display: none
}

/** 202512 追加 **/
/* =========================================================
   Information (NEW) 20251222
   - PC: 1行 (日付+タグ | タイトル)
   - Tablet/SP: 2行 (日付+タグ / タイトル)
   - 既存の .btn はそのまま
========================================================= */
/* 既存の absolute レイアウトを殺す（上書き） */
.top-info dl, .info .info-list dl {
    position: static !important;
}

.top-info dt, .info .info-list dt {
    position: static !important;
    color: inherit !important;
}

.top-info dd, .info .info-list dd {
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* 共通コンテナ */
.info-list {
    max-width: 100%;
    margin: 0 auto;
    background: #fff;
}

/* 1記事（dt+dd）をまとめるラッパー */
.info-item {
    display: grid;
    grid-template-columns: 200px 1fr;
    /* 左：日付+タグ / 右：タイトル */
    column-gap: 24px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #e4e4e4;
}

.info-item:last-child {
    border-bottom: 0;
}

/* 左：日付+タグ */
.info-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: 600;
}

/* 日付 */
.info-date {
    font-size: 1.4rem;
    color: #000;
    white-space: nowrap;
}

/* タグ（デザインは現状維持の想定） */
.info-category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: auto;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    white-space: nowrap;
    text-decoration: none;
    background: var(--cat-color, #eee);
    color: #ffffff;
}

/* 右：タイトル */
.info-title a {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #000;
}

.info-title a:hover {
    text-decoration: underline;
}

/* Tablet / SP：2行（上：日付+タグ、下：タイトル） */
@media (max-width: 1140px) {
    .info-list {
        padding: 0;
        /* 既存の .info-list padding 影響があれば調整 */
    }

    .info-item {
        grid-template-columns: 1fr;
        row-gap: 6px;
        padding: 18px 0;
    }

    .info-title a {
        font-size: 1.5rem;
    }

    .info-category {
        font-size: 1.2rem;
        width:90px;
        height: auto;
        padding: 0px 10px;
    }
}

/* 「投稿がありません」 */
.info-empty-message {
    text-align: center;
    padding:20px 0px 80px;
    font-size: 1.4rem;
    color: #666;
}

/* =========================================================
   Archive Filter UI (Year / Category)
========================================================= */
.info-filter {
    max-width: 1100px;
    margin: 0 auto 40px;
}

.info-filter .filter-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.info-filter select {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.6rem;
    border: 1px solid #cfd6e6;
    background: #fff;
    cursor: pointer;
}

/* 年見出し */
.info-year-heading {
    max-width: 1100px;
    margin: 0 auto 20px;
    font-size: 3rem;
    font-weight: 700;
    color: #002d7d;
}

/* カテゴリボタン */
.info-tab {
    max-width: 1100px;
    margin: 0 auto 40px;
}

.info-tab ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.info-tab li button {
    padding: 12px 18px;
    font-size: 1.4rem;
    border: 1px solid #cfd6e6;
    background: #fff;
    cursor: pointer;
}

.info-tab li.is-active button {
    background: #001f6b;
    color: #fff;
    border-color: #001f6b;
}

/* 一覧の外枠（アーカイブ側） */
.info-archive-list {
    max-width: 1100px;
    margin: 0 auto;
    background: #fff;
    padding: 0 3%;
}

@media (max-width: 740px) {
    .info-filter .filter-row {
        grid-template-columns: 1fr;
    }

    .info-year-heading {
        font-size: 2.6rem;
    }
}

/* ========================================
   wp-pagenavi 調整（Information専用）
======================================== */
/* ナビ全体 */
.info .wp-pagenavi {
    display: flex;
    justify-content: center;
    /* 中央寄せ */
    align-items: center;
    gap: 6px;
    max-width: 900px;
    margin: 40px auto 0;
    padding: 0;
    background: none;
    /* 帯を消す */
}

/* 各ボタン共通 */
.info .wp-pagenavi a, .info .wp-pagenavi span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    margin: 0;
    border: 1px solid #bfbfbf;
    background: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    color: #000;
    text-decoration: none;
}

/* 現在ページ */
.info .wp-pagenavi span.current {
    background: #001f6b;
    border-color: #001f6b;
    color: #fff;
    font-weight: 600;
}

/* hover */
.info .wp-pagenavi a:hover {
    background: #f2f2f2;
}

/* 前へ・次へ */
.info .wp-pagenavi a.previouspostslink, .info .wp-pagenavi a.nextpostslink {
    padding: 0 14px;
}

/* モバイル */
@media (max-width: 740px) {
    .info .wp-pagenavi {
        margin-top: 30px;
        gap: 4px;
    }

    .info .wp-pagenavi a, .info .wp-pagenavi span {
        min-width: 32px;
        height: 32px;
        font-size: 1.3rem;
    }
}

/* 全カテゴリ表示時はタブを隠す */
.is-mode-all .info-tab {
    display: none;
}
