.sp {
    display: none;
}
.pc {
    display: block;
}
br.sp, br.pc {
    font-size: 0;
    line-height: 0;
}

@media screen and (min-width: 751px) {
    .fram03_ttl p a:hover{text-decoration: underline;color: #e33432;}
    .name_au:hover{text-decoration: underline;}
    .list_anchor_fun .column_btn.center a:hover{opacity: 0.8;}
    .column_btn.next:hover::after{right: 10px;}
    .dom-col-left.d-8::before {
        top: 175px;
    }
    .dom-col-left.d-8::after {
        top: 172px;
    }
}
@media screen and (max-width: 769px) {
    .frame03_img p {
        width: 150px;
        height: 150px;
    }
    .frame03 {
        margin: 30px auto;
    }
    .fram03_ttl p {
        text-align: center;
    }
    .frame03_position p {
        text-align: center;
    }
    /* .frame03_img p img {
        width: 100px;
        height: 100px;
    } */
    .frame03_flex {
        flex-direction: column;
    }
    .frame03_img {
        margin: 0 auto 20px auto;
    }
    .frame03 {
        padding: 20px 20px;
    }
    .sing_post .list_anchor_fun {
        flex-direction: column;
        align-items: center;
    }
    .sing_post .list_anchor_fun li {
        margin: 2px 0;
    }
    .contact_btn.back {
        margin: 20px 0 30px;
    }
    .sp_flex_center {
        display: flex;
        justify-content: center;
    }
    .btn_add {
        margin: 40px 0 0 0;
        padding: 0 0;
    }
    .btn_add .f01-btn a {
        max-width: none;
    }
    .g-recaptcha {
        transform: translateX(0) !important;
        margin: 20px auto;
        display: table;
    }
    h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
        font-size: 140%;
    }
    #wrapper {
        min-width: 100%;
        margin: 0;
        padding-top: 95px;
    }
    #main, #footer {
        min-width: 100%;
    }
    .container {
        padding: 0 3%;
        width: 100%;
        box-sizing: border-box;
    }
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    .image-r, .image-l {
        float: none;
        text-align: center;
        margin: 0 0 10px;
    }
    /** start table scroll***/
    /*<p class="sp note">※表は左右にスクロールして確認することができます。</p>
<p class="sp note">※画像は左右にスクロールして確認することができます。</p>*/
    .tbl-scroll, .img-scroll {
        overflow-x: scroll;
    }
    .tbl-scroll > table, .img-scroll img {
        min-width: 640px;
    }
    .tbl-scroll > table > table {
        min-width: 100%;
    }
    /** end table scroll***/
    /* MENU-ICON */
    .menu-icon {
        width: 60px;
        height: 60px;
        box-sizing: border-box;
        text-align: center;
        text-transform: uppercase;
        line-height: 1em;
        cursor: pointer;
        color: #fff;
        font-size: 14px;
        padding: 8px 0;
        z-index: 99999;
        background: #ed302b;
        margin-left: 10px;
    }
    .menu-icon span {
        display: block;
        margin: 0 auto 15px;
        width: 30px;
        height: 3px;
        background-color: #fff;
        -webkit-transition-duration: 0;
        -moz-transition-duration: 0;
        -ms-transition-duration: 0;
        -o-transition-duration: 0;
        transition-duration: 0;
        -webkit-transition-delay: 0.2s;
        -moz-transition-delay: 0.2s;
        -ms-transition-delay: 0.2s;
        -o-transition-delay: 0.2s;
        transition-delay: 0.2s;
        top: 12px;
        left: 0;
        position: relative;
    }
    .menu-icon span::after, .menu-icon span::before {
        display: block;
        content: '';
        position: absolute;
        width: 30px;
        height: 3px;
        background-color: #fff;
        -webkit-transition-property: margin, -webkit-transform;
        -webkit-transition-duration: 0.2s;
        -moz-transition-duration: 0.2s;
        -ms-transition-duration: 0.2s;
        -o-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-delay: 0.2s, 0;
        -moz-transition-delay: 0.2s, 0;
        -ms-transition-delay: 0.2s, 0;
        -o-transition-delay: 0.2s, 0;
        transition-delay: 0.2s, 0;
    }
    .menu-icon span::before {
        margin-top: -10px;
    }
    .menu-icon span::after {
        margin-top: 10px;
    }
    .menu-icon.active span {
        background-color: transparent;
    }
    .menu-icon.active span::before, .menu-icon.active span::after {
        margin-top: 0px;
        -webkit-transition-delay: 0, 0.2s;
        -moz-transition-delay: 0, 0.2s;
        -ms-transition-delay: 0, 0.2s;
        -o-transition-delay: 0, 0.2s;
        transition-delay: 0, 0.2s;
    }
    .menu-icon.active span::before {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .menu-icon.active span::after {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #totop {
        width: 50px;
        right: 3%;
        bottom: 50px;
        line-height: 0;
    }
    /* index */
    .h-lang {
        display: none;
    }
    .h-main {
        padding: 0;
    }
    #header {
        padding: 15px 0;
        border-top: 5px solid #ed302b;
        position: fixed;
        width: 100%;
        top: 0;
        left: 0;
        z-index: 999;
        background: rgba(255, 255, 255, 0.9);
    }
    .h-search {
        display: none;
    }
    .h-search.sp {
        display: block;
        max-width: 420px;
        margin: 0 auto 15px;
    }
    .h-search input {
        width: 100%;
        font-size: 14px;
        border-radius: 0;
    }
    .h-search button {
        padding: 10px 8px;
    }
    .sp-btn {
        display: flex;
    }
    .sp-tel {
        margin: 0;
    }
    .sp-tel a {
        display: block;
        width: 60px;
        height: 60px;
        color: #fff;
        background: #333333;
        font-size: 14px;
        text-decoration: none;
        text-align: center;
        padding: 8px;
        line-height: 1em;
    }
    .sp-tel a:before {
        content: '';
        position: relative;
        display: block;
        background: url(../images/tel_ico_sp.png) no-repeat;
        width: 27px;
        height: 28px;
        background-size: 100% auto;
        margin: 0 auto 5px;
    }
    h1 {
        width: 250px;
    }
    .gnavi {
        display: none;
    }
    .f02-link {
        position: fixed;
        width: 100%;
        top: 95px;
        left: 0;
        z-index: 999;
        height: calc(100% - 95px);
        background: rgba(211, 15, 10, 0.9);
        padding: 3%;
        display: none;
        overflow: auto;
    }
    .f02-link > ul {
        width: 100%;
    }
    .f02-link > ul > li {
        border-bottom: 1px solid #fff;
    }
    .f02-link > ul > li > a, .f02-link > ul > li > span {
        padding: 10px 0;
        position: relative;
        display: block;
    }
    .f02-link > ul > li > span {
        background: #0b508e;
        padding: 10px;
        position: relative;
        display: block;
    }
    .f02-link > ul > li a:after, .f02-link > ul > li span:after {
        content: '';
        border: solid #fff;
        border-width: 0 1px 1px 0;
        display: inline-block;
        padding: 3px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        right: 10px;
        top: calc(50% - 3px);
        position: absolute;
    }
    .f02-link-sub {
        margin: 0;
        padding-left: 3%;
    }
    .f02-link-sub a {
        display: block;
        padding: 10px 0;
        border-bottom: 1px dashed #fff;
    }
    .f02-link-sub li:last-child a {
        border-bottom: none;
    }
    .f02-link-sub li:before {
        display: none;
    }
    .f02-link-sub li {
        padding-left: 0;
    }
    .f02-link > ul:nth-child(1) > li:not(:last-child) {
        border-bottom: none;
    }
    .close-menu {
        width: 250px;
        text-align: center;
        margin: 20px auto 30px;
        background: #b02a30;
        font-size: 14px;
        font-weight: bold;
        padding: 15px;
        color: #fff;
    }
    .lang-itm {
        display: flex;
        justify-content: center;
    }
    .lang-itm a {
        background: #fff;
        color: #ed302b !important;
        text-align: center;
    }
    .lang-itm li {
        width: 48%;
        max-width: 200px;
        border-bottom: none !important;
    }
    .lang-itm li:first-child {
        margin-right: 20px;
    }
    .f-contact-btn a {
        display: block;
        background: #404040;
        color: #fff;
        text-decoration: none;
        text-align: center;
        padding: 10px;
        position: relative;
        z-index: 0;
    }
    .f-contact-btn a:after {
        content: '';
        position: absolute;
        background: url(../images/idx_btn_arr.png) no-repeat;
        width: 16px;
        height: 16px;
        background-size: 100% auto;
        right: 15px;
        top: calc(50% - 8px);
    }
    .f-contact-btn {
        width: 100%;
        max-width: 420px;
        margin: 20px auto 15px;
    }
    .idx-slide-item h2 {
        background: url(../images/idx_catcopy_bg_sp.png) no-repeat center;
        background-size: cover;
        font-size: 3.5vw;
        padding: 15px 0;
        text-shadow: 0px 0px 30px rgba(255, 255, 255, 0.35), 0px 0px 30px rgba(255, 255, 255, 0.35), 0px 0px 30px rgba(255, 255, 255, 0.35), 0px 0px 30px rgba(255, 255, 255, 0.35), 0px 0px 30px rgba(255, 255, 255, 0.35), 0px 0px 30px rgba(255, 255, 255, 0.35);
    }
    #index #mainvisual .container {
        padding: 0;
    }
    #index #mainvisual .main-slide {
        display: flex;
    }
    #index #mainvisual .main-slide .idx-slide-item {
        flex-shrink: 0;
        width: 100%;
    }
    .box01 {
        padding: 40px 0;
    }
    .box01 .container {
        display: block;
    }
    .b01-main {
        width: 100%;
        text-align: center;
    }
    .idx-h3 {
        font-size: 24px;
        padding: 0 0 15px;
        margin: 0 0 25px;
    }
    .idx-h3:after {
        height: 3px;
    }
    .b01-img {
        width: 100%;
        text-align: center;
        margin: 0 0 20px;
    }
    .b01-txt {
        text-align: left;
    }
    .box02, .box03, .box04, .box05, .footer01 {
        padding: 40px 0;
    }
    .box05{padding-top: 0;}
    .box02 .idx-h3, .box03 .idx-h3, .box04 .idx-h3 {
        margin: 0 0 25px;
    }
    .b02-list, .b03-list, .footer01 .container {
        display: block;
    }
    .b02-item, .b03-item {
        width: 100%;
        margin: 0 0 30px;
    }
    .b02-item:last-child, .b03-item:last-child {
        margin: 0;
    }
    .b02-cont {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
    }
    .b02-txt {
        height: auto !important;
    }
    .b02-ttl, .b03-ttl {
        font-size: 18px;
    }
    .b02-ttl span, .b03-ttl span {
        font-size: 14px;
    }
    .b03-txt {
        font-size: 14px;
        width: calc(100% - 134px);
        padding: 0 10px;
    }
    .b03-img {
        width: 100%;
        max-width: 470px;
        margin: 0 auto;
    }
    .b03-main {
        max-width: 470px;
        left: 50%;
        transform: translateX(-50%);
    }
    .b04-main {
        padding: 15px 10px;
        margin: 0 0 25px;
    }
    .b04-date {
        margin-right: 15px;
    }
    .b04-list li {
        padding: 15px;
        flex-direction: column;
    }
    .b04-scroll {
        height: 237px;
    }
    .b05-list {
        margin: 0;
        flex-wrap: wrap;
        justify-content: center;
    }
    .b05-list li {
        width: 47%;
        margin: 0 5% 30px 0;
        max-width: 220px;
    }
    .b05-list li:nth-child(2n) {
        margin-right: 0;
    }
    .f01-main, .f01-box, .f02-main {
        width: 100%;
    }
    .f01-main {
        margin: 0 0 20px;
    }
    .f02-link {
        display: none;
    }
    .f02-logo {
        margin: 0 0 20px;
        text-align: center;
    }
    .copyright {
        padding: 20px 0;
        font-size: 10px;
    }
    .footer02 {
        padding: 40px 0 0;
    }
    .under .section {
        margin-bottom: 30px
    }
    .under #content {
        padding: 25px 0 30px 0
    }
    .under #mainvisual .container {
        height: 210px
    }
    .under .h3_404 {
        font-size: 60px;
        margin: 20px 0 10px 0
    }
    .under .h3_404 span {
        font-size: 20px
    }
    .page_404 {
        padding-bottom: 15px
    }
    .btn_404 {
        margin: 0 auto
    }
    .under #mainvisual h2 {
        font-size: 22px;
        padding: 10px
    }
    .under h3 {
        font-size: 22px;
        margin-bottom: 25px;
    }
    .under h3 span {
        padding: 0 0 15px 0
    }
    .under h4 {
        font-size: 18px;
        margin-bottom: 20px
    }
    .topic-path {
        width: 100%;
        padding: 8px 3%;
    }
    .topic-path li, .topic-path a {
        font-size: 10px
    }
    .privacy_step dd {
        padding: 20px
    }
    .wrapper_qa {
        padding: 20px
    }
    .grp_qa dt:before, .grp_qa dd:before {
        height: 40px;
        width: 40px;
        font-size: 25px;
        padding: 6px;
    }
    .grp_qa dt {
        font-size: 16px;
        padding: 10px 10px 10px 56px;
    }
    .grp_qa dd {
        padding: 20px 20px 25px 56px;
    }
    .grp_qa {
        margin-bottom: 25px
    }
    .off_inter_bnr {
        margin-bottom: 20px
    }
    .off_inter_bnr li {
        width: 46%;
        margin: 0 2% 4%;
    }
    .qa_off_inter dt {
        font-size: 14px
    }
    .under #mainvisual [class*="box_"] {
        font-size: 16px;
        padding: 9px 20px;
    }
    .qa_off_inter {
        width: 100%;
    }
    .off_inter_frm01 .image-l {
        margin-bottom: 18px
    }
    .off_inter_frm01 p {
        line-height: 1.9em
    }
    .off_inter_box02 {
        padding: 30px 10px;
        margin: 0 -3%
    }
    .off_inter_frm01 p:last-child {
        margin-bottom: 0
    }
    .off_inter_frm01 {
        padding: 20px
    }
    .off_inter_box01 {
        padding-bottom: 30px
    }
    .qa_off_inter {
        margin-bottom: 20px
    }
    .grp_news span {
        margin-bottom: 10px;
        line-height: 1.4em
    }
    .grp_news p {
        display: block;
        max-width: 100%;
        width: 100%
    }
    .pager {
        margin: 30px auto
    }
    .grp_colunm .img {
        margin-bottom: 24px
    }
    .grp_colunm li, .grp_colunm .img {
        display: block;
        width: 100%
    }
    .wrapper_colunm > li:first-child {
        padding-top: 10px
    }
    .wrapper_colunm > li {
        padding: 30px 0
    }
    .off_inter_txt {
        margin-bottom: 30px
    }
    .pager li {
        margin: 3px
    }
    .pager a {
        font-size: 13px;
        padding: 3px 9px;
    }
    .privacy_txt {
        margin-bottom: 20px
    }
    .tbl-block th, .tbl-block td {
        display: block;
        width: 100%;
    }
    .under .company-bg01 {
        padding: 40px 0;
    }
    .company-map .gMap, .company-map iframe {
        height: 300px;
    }
    .com-main #content {
        padding-bottom: 0;
    }
    .under h2 span {
        font-size: 13px;
        padding: 10px 15px;
    }
    .br-h2 {
        margin-bottom: 10px;
    }
    .under h4 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .mb64 {
        margin-bottom: 0;
    }
    .under dl.w580 {
        width: 100%;
    }
    .under .qa_domestic_bg {
        padding: 30px 10px;
    }
    .under .qa_domestic dt {
        font-size: 17px;
        margin-bottom: 15px;
    }
    .under .qa_domestic dt:before {
        padding: 5px 13px;
    }
    .under .qa_domestic dd:before {
        padding: 6px 13px;
    }
    .under .qa_domestic dt:before, .under .qa_domestic dd:before {
        font-size: 25px;
        left: -55px;
    }
    .under .contact dl {
        display: block;
        margin: 0 30px;
    }
    .under .contact dt, .under .contact dd {
        width: 100%;
        padding: 10px 0;
        font-size: 14px;
    }
    .under .contact input[type='text'], .under .contact .input01 input[type='text'], .under .contact .input02 input[type='text'], .under .contact textarea, .under .contact select, .under .contact .input02 select, .contact input[type='tel'], .contact input[type='email'] {
        width: 100%;
        overflow: hidden;
    }
    .under .contact .input02 input[type='text'] {
        margin-bottom: 10px;
    }
    .under .contact .contact_check {
        padding: 30px 0 41px;
    }
    .under .contact .li_input li {
        display: flex;
        padding-left: 0;
    }
    .grp_colunm .tit a {
        font-size: 16px;
    }
    .contact-txt02, .contact-txt01 {
        margin: 0 0 25px;
    }
    .under_list li:before {
        top: 6px;
    }
    .dom-grp, .dom-item {
        display: block;
        margin: 0;
    }
    .dom-grp li, .dom-item li {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 30px;
    }
    .tbl_ct th.txt_l {
        text-align: center
    }
    .tbl_ct {
        margin: 0 0 30px 0
    }
    .note {
        font-size: 12px;
        color: #0a5395
    }
    .txt_01 {
        padding-left: 22px
    }
    /* .under .contact_check, .under .contact .contact_check {
        padding: 10px 0 40px;
    } */
    .off-row {
        display: block;
        margin: 0;
    }
    .off-row dl {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }
    .off-row dl:first-child {
        margin: 0 auto 50px;
    }
    .off-row:after {
        transform: rotate(90deg);
        width: 30px;
        height: 64px;
        top: calc(50% - 32px);
        left: calc(50% - 15px);
    }
    .dom-bg01 {
        padding: 40px 0;
    }
    .off-row dt {
        font-size: 18px;
    }
    .off-row dt span {
        font-size: 14px;
    }
    .off-list {
        display: block;
    }
    .off-list dl {
        width: 100%;
        max-width: 500px;
        margin: 0 auto 30px;
    }
    .off-list dt {
        min-height: auto;
        font-size: 18px;
    }
    .off-list dl:last-child {
        margin-bottom: 0;
    }
    .off-bg01 {
        background-position: 10% center;
    }
    .off-main {
        width: 100%;
        float: none;
        padding: 40px 20px;
    }
    .off-item:nth-child(2), .off-item:nth-child(3) {
        background: #fff;
    }
    .off-item .idx-btn {
        text-align: center;
    }
    .off-itm-main {
        width: 100%;
        padding: 30px 20px;
    }
    .off-bd {
        padding: 40px 0 10px;
    }
    .under #mainvisual.offshore [class *='box_'] {
        margin-bottom: 15px;
    }
    .under #mainvisual.offshore h2 {
        font-size: 22px;
    }
    .dom-col-ttl, .dom-row-img, .dom-ttl02 {
        display: none;
    }
    .dom-col-main:before, .dom-col-right:before, .dom-col-left:before, .dom-col-right:after, .dom-col-left:after, .dom-col-full:last-child:after {
        display: none;
    }
    .dom-col-right, .dom-col-left {
        float: none;
        width: 100%;
    }
    .dom-col-main dl {
        margin: 0 0 20px;
    }
    .contact .contact_confirm {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .contact .contact_confirm .contact_btn {
        display: block;
    }
    .contact .contact_btn + .contact_btn {
        margin-left: auto;
        margin-top: 10px;
    }
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* MISSION                                                                */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .mission_frame, .mission_frame02 {
        padding: 15px;
    }
    .mission_ttl01 {
        font-size: 22px
    }
    .mission_ttl02 dt {
        font-size: 16px;
    }
    /*boxlp*/
    .boxlp {
        padding:40px 0
    }
    .boxlp .container {
        padding: 0;
    }
    .boxlp_bnr {
        width: 100%;
        max-width: 600px;
        flex-direction: column;
        padding: 40px 3%;
        margin: 0 auto;
        transform: none
    }
    .boxlp_bnr_info {
        width: 100%;
        padding: 0;
    }
    .boxlp_bnr_info h3 {
        margin-bottom: 25px;
    }
    .boxlp_bnr_txt dt {
        font-size: 30px;
    }
    .boxlp_bnr_txt dd {
        font-size: 16px;
        letter-spacing: 0;
    }
    .boxlp_bnr_img {
        width: 85%;
        margin: 30px auto 0
    }
}
@media screen and (max-width: 425px) {
    .b03-btn {
        width: auto;
    }
    .b03-btn a {
        font-size: 12px;
        padding: 10px 40px 10px 10px;
    }
    h1 {
        width: 200px;
        margin-right: 20px;
    }
    .sp-tel a {
        width: 50px;
        height: 50px;
        font-size: 12px;
        padding: 6px;
    }
    .sp-tel a:before {
        width: 21px;
        height: 22px;
    }
    .menu-icon {
        width: 50px;
        height: 50px;
        font-size: 12px;
        padding: 5px;
    }
    .menu-icon span::before {
        margin-top: -8px;
    }
    .menu-icon span::after {
        margin-top: 8px;
    }
    .menu-icon span {
        margin-bottom: 13px;
    }
    .f02-link {
        top: 85px;
        height: calc(100% - 85px);
    }
    #wrapper {
        padding-top: 85px;
    }
    .f01-btn a {
        font-size: 5vw;
        padding: 15px;
    }
    .under #mainvisual.offshore h2 {
        font-size: 18px;
    }
    .boxlp_bnr_txt dt {
        font-size: 7vmin;
    }
    .boxlp_bnr_txt dd {
        font-size: 4vmin;
    }
}
@media screen and (max-width: 375px) {}
@media screen and (max-width: 320px) {}