@media screen and (max-width: 750px) {
    .sp_hidden {
        display: none
    }
    .pc_hidden {
        display: inline
    }
    p {
        padding: 0;
        margin: 0;
    }
    /*font-face*/
    @font-face {
        font-family: 'condenseicon';
        src: url('../font/CONDENSEicon.ttf') format('truetype'), url('../font/CONDENSEicon.otf') format('opentype'), url('../font/CONDENSEicon.woff') format('woff');
    }
    @font-face {
        font-family: 'LigatureSymbols';
        src: url('../font/LigatureSymbols-2.11.eot');
        src: url('../font/LigatureSymbols-2.11.eot?#iefix') format('embedded-opentype'), url('../font/LigatureSymbols-2.11.woff') format('woff'), url('../font/LigatureSymbols-2.11.ttf') format('truetype'), url('../font/LigatureSymbols-2.11.svg#LigatureSymbols') format('svg');
        font-weight: normal;
        font-style: normal;
    }
    body {
        -webkit-text-size-adjust: none;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        color: #222 !important;
        font-size: 11.5pt !important;
        line-height: 180% !important;
        text-align: left;
    }
    * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
    img, iframe {
        vertical-align: bottom;
    }
    #wrap {
        background: #fff;
    }
    #ind img {
        width: auto;
        max-width: 100%;
    }
    .sec main {
        margin: 7% 5% 5%;
    }
    .sec main img {
        width: auto;
        max-width: 100%;
    }
    .content_wrap {
        width: 90%;
        margin: 0 auto;
    }
    ol {
        margin: 0;
        padding: 0;
    }
    ul {
        margin: 0;
        padding: 0;
    }
    ol.un {
        padding-bottom: 20px;
    }
    ol.un li {
        margin-left: 1.5em;
    }
    .table_basic {
        border-collapse: separate;
        border-spacing: 1px;
        background: #ddd;
        border-style: none;
        width: 100%;
    }
    .table_basic th {
        background-color: #f3f3f3;
        padding: 8px;
        font-weight: normal;
        border-top: 1px solid #FFF;
        text-align: left;
        display: block;
    }
    .table_basic td {
        background-color: #FFF;
        padding: 8px;
        border-top: 1px solid #FFF;
        display: block;
    }
    .table_basic td .full {
        width: 100%;
    }
    .table_basic td textarea {
        width: 100%;
        height: 120px;
    }
    .scrool-table table {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .table_scrool {
        border-collapse: separate;
        border-spacing: 1px;
        background: #ddd;
        border-style: none;
        width: 100%;
    }
    .table_scrool th {
        background-color: #f3f3f3;
        padding: 8px;
        font-weight: normal;
        border-top: 1px solid #FFF;
        text-align: left;
    }
    .table_scrool td {
        background-color: #FFF;
        padding: 8px;
        border-top: 1px solid #FFF;
    }
    .table_scrool td img {}
    .req-mark {
        font-size: 8pt;
        color: #D00003
    }
    .right {
        text-align: right;
    }
    .cen {
        text-align: center;
    }
    .sp_no {
        display: none
    }
    .h img {
        display: none;
    }
    /*----------------------------------------ヘッダ----------------------------------------*/
    header {
        width: 100%;
        text-align: center;
    }
    header .logo {
        padding-top: 25px;
        padding-bottom: 25px;
    }
    header .logo img {
        width: 200px !important;
    }
    header .h_menu {
        display: none;
    }
    header .sp_nav {
        position: fixed;
        bottom: 0;
        width: 100%;
        display: flex;
        background: rgb(43, 193, 223);
        background: linear-gradient(137deg, rgba(43, 193, 223, 1) 0%, rgba(43, 155, 223, 1) 60%);
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial;
        z-index: 999999;
    }
    header .sp_nav li {
        flex: 1;
        padding: 12px 0;
        border-top: 1px solid #fff;
    }
    header .sp_nav li + li {
        border-left: 1px solid #fff;
    }
    header .sp_nav li a {
        color: #fff;
        display: block;
    }
    header .sp_nav li:nth-child(1) a:before {
        font-family: 'LigatureSymbols';
        content: "\E100";
        line-height: 1;
        font-weight: normal;
        font-size: 19pt;
    }
    header .sp_nav li:nth-child(2) a:before {
        font-family: 'LigatureSymbols';
        content: "\E08a";
        line-height: 1;
        font-weight: normal;
        font-size: 19pt;
    }
    header .sp_nav li:nth-child(3) a:before {
        font-family: 'LigatureSymbols';
        content: "\E048";
        line-height: 1;
        font-weight: normal;
        font-size: 19pt;
    }
    header .sp_nav li:nth-child(4) a:before {
        font-family: FontAwesome;
        content: "\f0c9";
        font-weight: normal;
        font-size: 16pt;
    }
    header .sp_nav li a span {
        font-size: 11pt;
        line-height: 1.4;
        padding-top: 6px;
        display: block;
    }
    .menu-btn {}
    /*----------------------------------------Ｇナビ----------------------------------------*/
    .gnav-wrapper {
        display: none;
    }
    /*----------------------------------------フッタ----------------------------------------*/
    footer {
        background: rgb(22, 60, 91);
        background: linear-gradient(90deg, rgba(22, 60, 91, 1) 25%, rgba(30, 73, 108, 1) 50%, rgba(22, 60, 91, 1) 75%);
        padding: 30px 0 80px;
    }
    footer .inner {
        margin: 0 auto;
        color: #fff;
    }
    footer .inner .box {
        text-align: center;
    }
    footer .inner .box .logo {
        display: block;
        margin-bottom: 20px;
    }
    footer .inner .box .logo img{
        display: block;
        margin: 0 auto;
        width: 160px;
    }
    footer .inner .box .tel {
        margin-bottom: 20px;
    }
    footer .inner .box .tel span {
        font-size: 21pt;
        line-height: 1;
        display: block;
        letter-spacing: 1.8pt;
        font-weight: 600;
        white-space: nowrap;
        color: #40b5ff;
    }
    footer .inner .box .tel span:before {
        font-family: 'LigatureSymbols';
        content: "\E100";
        line-height: 1;
        margin-right: 2px;
        font-weight: 300;
    }
    footer .inner .box .tel p {
        display: block;
        font-size: 11pt;
        padding-top: 5px;
    }
    footer .inner .box .mail {}
    footer .inner .box .mail a {
        display: inline-block;
        border: 1px solid #5b83a3;
        padding: 9px 45px 12px;
    }
    footer .inner .box .mail a span {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11.5pt;
        line-height: 11.5pt;
        color: #fff;
    }
    footer .inner .box .mail a span:before {
        font-family: 'LigatureSymbols';
        content: "\E08a";
        font-weight: normal;
        margin-right: 7px;
        transform: translateY(1px);
        display: inline-block;
        font-size: 18pt;
        line-height: 18pt;
    }
    footer .inner #footer_nav {
        display: none;
    }
    footer .inner #footer_nav ol {
        flex: 1;
    }
    footer .inner #footer_nav ol {
        border-left: 1px solid #2d587a;
    }
    footer .inner #footer_nav ol li {
        padding-left: 40px;
    }
    footer .inner #footer_nav ol li.sub {
        padding-left: 50px;
    }
    footer .inner #footer_nav ol li a {
        color: #fff;
        font-size: 10.5pt;
        display: block;
        padding: 8px 0;
    }
    footer .inner #footer_nav ol li a:before {
        font-family: 'LigatureSymbols';
        content: "\E096";
        font-weight: normal;
        margin-right: .6em;
        font-size: 8pt;
        line-height: 8pt;
        transform: translateY(-3px);
        display: inline-block;
        color: #40b5ff;
    }
    footer .inner #footer_nav ol li.sub a:before {
        content: "－";
        display: inline-block;
        margin-right: .4em;
        font-size: 9pt;
        color: #fff;
        transform: translateY(-1px);
    }
    footer .copy {
        font-size: 10pt;
        text-align: center;
        padding: 15px;
    }
    #topcontrol {
        position: fixed;
        bottom: 90px;
        right: 10px;
        background: #163c5b;
        z-index: 9999999;
        border-radius: 100px;
    }
    #topcontrol img {
        display: block;
        width: 50px;
        height: 50px;
    }
    /*----------------------------------------メインイメージＩＮＤＥＸ----------------------------------------*/
    #viewerbox, .viewer, .viewer .kv_txt1, .viewer .kv_txt2, .viewer .kv_txt3, .viewer ul{
        display: none;
    }
    #slides {
        margin: 0 auto;
    }
    /*----------------------------------------index----------------------------------------*/
    .tuijyu {
        display: none;
    }
    #index01 {
        padding: 30px 5% 40px;
        text-align: center;
    }
    #index01 h2 {
        font-size: 18pt;
        line-height: 1.6;
        font-weight: 500;
        margin: 0;
        padding: 0 0 20px;
        color: #2b99df;
        letter-spacing: 1pt;
    }
    #index01 p {
        line-height: 2.2;
        margin-bottom: 20px;
        text-align: left;
    }
    #index01 .btn a {
        display: inline-block;
        color: #fff;
        background: rgb(38, 105, 157);
        background: linear-gradient(100deg, rgba(38, 105, 157, 1) 0%, rgba(37, 82, 117, 1) 100%);
        padding: 14px 60px 17px;
        font-size: 11.5pt;
    }
    #index01 .btn a:before {
        font-family: 'LigatureSymbols';
        content: "\E096";
        font-weight: normal;
        margin-right: .6em;
        font-size: 8pt;
        line-height: 8pt;
        transform: translateY(-3px);
        display: inline-block;
    }
    #index02 {
        padding: 30px 5% 20px;
        position:sticky;
        text-align: center;
    }
    #index02::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 180px;
        background: url("../img/index02_bg.png") no-repeat center top /cover;
        z-index: -1;
    }
    #index02 h2 {
        font-size: 18pt;
        line-height: 1.6;
        font-weight: 400;
        margin: 0;
        padding: 0 0 20px;
        letter-spacing:1pt;
        color: #fff;
    }
    #index02 h2 span{
        font-size: 18pt;
        line-height: 1.5;
        font-weight: 500;
        margin: 0;
        padding: 0;
        letter-spacing: 1pt;
    }
    #index02 p.come{
        display: block;
        color: #fff;
        line-height: 2.2;
        margin-bottom: 20px;
        text-align: left;
    }
    #index02 .box{
        padding:5% 5% 0;
        background: #fff;
        margin: 0 auto;
        box-shadow: 0px -6px 4px 0px rgba(63, 117, 144, 0.3);
    }
    #index02 .box div{
        margin-bottom: 20px;
    }
    #index03 {
        padding:0 0 20px;
    }
    #index03 p{
        display: block;
        text-align: center;
        padding-top:10px;
        margin-bottom: 20px;
    }
    #index04 {
        background: url("../img/index04_bg.png") no-repeat right top / cover;
        padding: 30px 0 20px;
    }
    #index04 div.box{
        margin-bottom: 25px;
    }
    #index04 div.box .tit{
        color: #2b99df;
        text-align: center;
        padding-bottom: 20px;
    }
    #index04 div.box .tit h2{
        font-size: 20pt;
        line-height: 1.5;
        font-weight: 500;
        margin: 0;
        padding: 0;
        color: #2b99df;
        letter-spacing: 1pt;
    }
    #index04 div.box .tit p{
        font-size:9pt;
        line-height: 1.7;
        font-weight: 400;
        margin: 0;
        padding: 5px 0 0 0;
        color: #2b99df;
        letter-spacing: 2pt;
    }
    #index04 div.box .txt{
    }
    #index04 div.box .txt p{
        padding:0;
    }
    #index04 ol{
    }
    #index04 ol li{
        margin-bottom: 20px;
    }
    #index04 ol li img{
        box-shadow: 0px 0px 5px 2px rgb(0 0 0 / 7%);
    }
    #index05 {
        padding: 30px 0;
        text-align: center;
    }
    #index05 .tit{
        text-align: center;
    }
    #index05 .tit h2{
        font-size: 23pt;
        line-height: 1.6;
        font-weight: 500;
        margin: 0 0 15px;
        padding: 0;
        letter-spacing: 1pt;
        
    }
    #index05 .btn a {
        display: inline-block;
        color: #fff;
        background: rgb(43,195,223);
background: linear-gradient(100deg, rgba(43,195,223,1) 0%, rgba(43,153,223,1) 100%);
        padding: 12px 50px 15px;
        font-size: 11.5pt;
    }
    #index05 .btn a:before {
        font-family: 'LigatureSymbols';
        content: "\E096";
        font-weight: normal;
        margin-right: .6em;
        font-size: 8pt;
        line-height: 8pt;
        transform: translateY(-3px);
        display: inline-block;
    }
    #index05 ol{
        margin-bottom: 25px;
    }
    #index05 ol li{
        display: flex;
        padding: 10px 0;
        text-align: left;
    }
    #index05 ol li span{
        display: block;
        margin-right: 20px;
    }
    /*--------------------------------------------------------------------------------*/
    #kv_sec {
        height:100px;
        background: url("../img/sec_kv.png") no-repeat center top / cover;
        text-align: center;
        margin: 0 auto;
    }
    .sec h2 {
        color: #2b99df;
        font-size: 20pt;
        font-weight: 500;
        text-align: center;
        margin: 0 0 25px;
        letter-spacing:2pt;
        padding: 0;
    }
    h3 {
        color: #2b99df;
        font-size: 15pt;
        font-weight: 500;
        padding: 8px 0px;
        margin: 0 0px 20px;
        border-bottom: 1px solid #2b99df;
    }
    h4{
        padding:0px;
        margin: 0 0px 10px;
    }
    .in-txt {
        padding: 0;
    }
    .mbs {
        margin-bottom: 10px;
    }
    .mbm {
        margin-bottom: 20px;
    }
    .mbl {
        margin-bottom: 30px;
    }
    ol.num {}
    ol.num li {
        padding: 0 0 5px;
        margin-left: 2em;
        list-style-type: decimal;
    }
    ol.disc {}
    ol.disc li {
        padding: 0 0 5px;
        margin-left: 2em;
        list-style-type: disc;
    }
    ol.check {
        padding-left: 1em; /* 文章のスタート位置。li:beforeが入るスペースを確保*/
    }
    ol.check li {
        position: relative;
        padding: 5px 0 5px 0.4em;
    }
    ol.check li:before {
        font-family: FontAwesome;
        content: "\f058";
        position: absolute;
        left: -1em; /* アイコンのスタート位置。左揃えの場合 ul のpadding-leftと同じ値 */
        color: #ccc;
    }
    /*-----------------------------------------company---------------------------------------*/
    #company .company01{
        background: url("../img/about-company01_bg.png")no-repeat center center;
        text-align: center;
        padding: 30px 5%;
        margin-bottom: 20px;
    }
    #company .company01 span{
        font-size: 15pt;
        line-height: 1.6;
        font-weight: 500;
        margin: 0;
        padding:0px 0 20px;
        letter-spacing: 1pt;
        display: block;
    }
    #company .company01 p{
        line-height: 2.2;
        padding-bottom: 50px;
        display: block;
    }
    #company .company01 .box{
        display: flex;
        justify-content: center;
    }
    #company .company01 .box div{
        margin: 0 5px;
    }
    #company .company02{
        padding-bottom: 20px;
    }
    #company .company02 .pic{
    }
    #company .company02 .box{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #company .company02 .box .tit{
        width: 250px;
    }
    #company .company02 .box .tit span{
        color: #2b99df;
    }
    #company .company02 .box .txt{
        width: 900px;
    }
    #company .map{
        position: relative;
width: 100%;
padding-top: 56.25%;
    }
    #company .map iframe{
        position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
    }
    #company ol.pass {
    }
    #company ol.pass li{
        border-bottom: 1px solid #eee;
        padding: 15px 0;
        display: flex;
        justify-content: space-between;
    }
    #company ol.pass li span{
        display: inline-block;
        white-space: nowrap;
        padding-left: 10px;
    }
    .about-office .pics{
        text-align: center;
        margin-bottom: 20px;
    }
    /*-----------------------------------------product---------------------------------------*/
    #product .box{
        margin-bottom: 30px;
        padding-bottom:30px;
        border-bottom: 1px solid #ccc;
    }
    #product .box .pic{
        text-align: center;
    }
    #product .box .pic img{
        width:200px;
    }
    #product .box .txt{
        text-align: center;
        padding-bottom: 20px;
    }
    #product .box .txt span{
        display: block;
        font-size: 13pt;
        text-align: center;
        color: #2b99df;
        margin-bottom:5px;
    }
    #product ol.other {
        padding: 15px 0 0;
    }
    #product ol.other li {
        padding: 0 0 10px;
        margin-left: 2em;
        list-style-type: disc;
    }
    /*-----------------------------------------archive---------------------------------------*/
    #archive ol {
    }
    #archive ol li{
        margin-bottom: 30px;
    }
    #archive ol li p{
        display: block;
        padding-top: 10px;
    }
    .table_archive {
        border-collapse: separate;
        border-spacing: 1px;
        background: #ddd;
        border-style: none;
        width:100%;
        margin-bottom: 30px;
    }
    .table_archive th {
        background: #f3f3f3;
        padding: 6px;
        font-weight: normal;
        text-align: center;
        width: 25%;
    }
    .table_archive td {
        background: #FFF;
        padding: 6px;
        text-align: center;
    }
    .table_archive td.l{
        text-align:left;
    }
    /*-----------------------------------catalog---------------------------------------------*/
    #catalog ol{
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }
    #catalog ol li{
        width: calc((100% - 90px) / 4);
        background: #f9f9f9;
        border: 1px solid #ddd;
        padding: 25px 30px;
    }
    #catalog ol li span{
        display: block;
        text-align: center;
        color: #2b99df;
        padding: 0px 0px 15px;
        font-size: 13pt;
    }
    #catalog ol li p{
        display: block;
        font-size: 11pt;
        padding: 15px 0;
    }
    #catalog ol li a {
        display:block;
        color: #fff;
        background: rgb(38, 105, 157);
        background: linear-gradient(100deg, rgba(38, 105, 157, 1) 0%, rgba(37, 82, 117, 1) 100%);
        padding: 10px 20px 13px;
        font-size: 11pt;
        text-align: center;
    }
    #catalog ol li a:before {
        font-family: 'LigatureSymbols';
        content: "\E096";
        font-weight: normal;
        margin-right: .6em;
        font-size: 8pt;
        line-height: 8pt;
        transform: translateY(-3px);
        display: inline-block;
    }
    /*-----------------------------------------recruit---------------------------------------*/
    #recruit ol.sec_nav li {
        width: calc(100% / 4 - 20px) !important;
        margin: 0 10px 20px;
    }
    #recruit .messsage_box{
        background: #fff;
        border: 20px solid #e2f9ff;
        padding:5% 5% 1px; 
    }
    .table_message {
        border-collapse: separate;
        border-spacing: 1px;
        background: #a3c9ea;
        border-style: none;
        width:100%;
        margin: 0 auto 20px;
    }
    .table_message th {
        background: #e2f9ff;
        padding: 10px;
        font-weight: normal;
        text-align:left;
        display: block;
        color: #2b99df;
        border-bottom: 1px solid #a3c9ea;
    }
    .table_message td {
        background: #FFF;
        padding: 10px;
        display: block;
    }
    #recruit .messsage_box .box{
    }
    #recruit .messsage_box .box div{
        padding-bottom: 40px;
        padding-left: 2em; /* 文章のスタート位置。li:beforeが入るスペースを確保*/
    }
    #recruit .messsage_box .box div span{
        display: block;
        color: #2b99df;
        font-size: 13pt;
        padding-bottom: 15px;
        position: relative;
        padding-left: 0.08em; /* アイコンと文章の間のスペース */
    }
    #recruit .messsage_box .box div span:before {
        font-family: 'LigatureSymbols';
        content: "\E09f";
        font-weight: normal;
        margin-right: .3em;
        font-size: 22pt;
        line-height: 22pt;
        transform: translateY(2px);
        display: inline-block;
        
        position: absolute;
left: -1em; /* アイコンのスタート位置。左揃えの場合 ul のpadding-leftと同じ値 */
    }
    
    #recruit ol.pass {
    }
    #recruit ol.pass li{
        border-bottom: 1px solid #eee;
        padding: 15px 0;
        display: flex;
        justify-content: space-between;
    }
    #recruit ol.pass li span{
        display: inline-block;
        white-space: nowrap;
        padding-left: 15px;
    }
    /*-----------------------------------------contact---------------------------------------*/
    #contact .btn{
        text-align: center;
    }
    #contact .btn a {
        display: inline-block;
        color: #fff;
        background: rgb(38, 105, 157);
        background: linear-gradient(100deg, rgba(38, 105, 157, 1) 0%, rgba(37, 82, 117, 1) 100%);
        padding: 14px 60px 17px;
        font-size: 11.5pt;
    }
    #contact .btn a:before {
        font-family: 'LigatureSymbols';
        content: "\E096";
        font-weight: normal;
        margin-right: .6em;
        font-size: 8pt;
        line-height: 8pt;
        transform: translateY(-3px);
        display: inline-block;
    }
    
    #contact input {
        width: 100%;
    }
    
    /*-----------------------------------------news---------------------------------------*/
    #news ol{
    }
    #news ol li{
        display: flex;
        padding:20px 0;
        border-bottom: 1px dotted #ddd;
    }
    #news ol li span{
        display: block;
        margin-right: 20px;
    }
    /*-----------------------------------------law---------------------------------------*/
    #law p {
        padding: 0 0px 25px;
    }
    /*-----------------------------------------policy---------------------------------------*/
    #policy p {
        padding: 0 0px 25px;
    }
    /*-----------------------------------------sitemap---------------------------------------*/
    #sitemap .box {
    }
    #sitemap ol li {
        padding-left: 0px;
        border-bottom: 1px solid #ddd;
    }
    #sitemap ol li.no, #sitemap ol li.sub {
        border-bottom: 1px solid #fff;
    }
    #sitemap ol li.no a {
        padding: 12px 0 0;
    }
    #sitemap ol li a {
        color: #222;
        display: block;
        padding: 12px 0;
    }
    #sitemap ol li.sub a:before {
        content: "├";
        display: inline-block;
        margin-right: .6em;
    }
    #sitemap ol li.sub_end a:before {
        content: "└";
        display: inline-block;
        margin-right: .6em;
    }
    #sitemap ol li.sub_end a {
        padding-bottom: 12px;
    }
    /*-----------------------------------------link---------------------------------------*/
    #link ol{
        margin-bottom: 30px;
        padding: 0 0px;
    }
    #link ol li{
        border-bottom: 1px dotted #ccc;
        padding:10px 0;
    }
    #link ol li a{
        color: #222;
    }
    
    #al1, #al2, #al3, #al4, #al5, #al6, #al7, #al8, #al9, #al10, #al11, #al12 {}
}