﻿@media screen and (min-width:751px) and (max-width: 1440px) {
    .under #main .history_page .inner{width: 100%}

    /* HISTORY YOUTUBE */
    .under #content .youtube .frame{right: 70px}

    .lightbox,
    .lightboxOverlay{min-width: 1260px;}


    .under #content .cloud_1970 .year{margin-left: 170px}
}

@media screen and (max-width: 1600px) {
    .under #content .box_stranges02:before {
        width: 200px;
    }
}

.sp420{display: none;}
@media screen and (min-width: 751px) {
    .under #content .history_cloud ul li:hover::before{transform: scale(1.2);}
    .under .section02 {
        margin-top: 110px;
    }

    .under #content .list01_stranges.list01_stranges03 {
        margin-bottom: 90px;
    }
    .under #content #box_stranges02_03 {
        margin-bottom: 110px;
    }
    #product #content .bnr01.bnr01_sm a > span:nth-child(1) {
        font-size: 18px;
        text-align: center;
    }
    .under #content .map_list {
        display: none;
    }
    .under #content p.index_btn01_under a:hover {
        color: #fff;
    }
    .under #content .bnr01 a:hover, .under #content .list_product li a:hover, .acc_box dt:hover {
        opacity: 0.8;
    }
    .under #content .btn01.btn01_stranges {
        margin-bottom: 70px;
    }

    .under #content .bnr_nohover a:hover {
        opacity: 1;
    }
    .under #content .btn01 li a:hover, .under #content .btn02 a:hover, .under #content .btn03 li a:hover {
        color: #fff;
        background: #040000;
    }
    .under #content .list01_stranges04 li:nth-child(1) {
        margin-bottom: 70px;
    }
    .under #content .list01_stranges04 li:nth-child(3) {
        margin-bottom: 80px;
    }
    .under #content .box_stranges01.box_stranges01_t .img {
        margin-top: 83px;
    }
    .under #content .list01_stranges.list01_stranges02 li {
        margin-bottom: 30px;
    }
    .under #content .list01_stranges.list01_stranges02 li:nth-child(2) {
        margin-bottom: 44px;
    }
    .under #content .list01_stranges.list01_stranges02 li:nth-child(4) {
        margin-bottom: 20px;
    }
    .under #content .list01_stranges.list01_stranges02 li:nth-child(3) .list01_stranges_txt {
        margin-top: 8px;
    }
    .under #content .list01_stranges.list01_stranges02 li:nth-child(3) {
        margin-left: 90px;
        margin-bottom: 35px;
    }
    #sustainability #content .bnr01 a > span:nth-child(1) {
        padding-left: 90px;
    }
    #rose #content .sustainability_box02 li:nth-child(2) {
        margin-top: 0px;
    }
    #rose #content .sustainability_icon {
        margin-top: -75px;
    }
    #rose #content .sustainability_box02 {
        justify-content: center;
        width: 100%;
    }
    .under #content .person_list_img li {
        flex: 1;
        position: relative;
        width: 272px;
        height: 180px;
        overflow: hidden;
    }
    /*person*/
    .under #content .person_list_img li img {
        width: 120%;
    }
    .under #content .person_list_img li:nth-child(1) {
        margin-left: -16px;
        transform: skewX(-10deg);
    }
    .under #content .person_list_img li:nth-child(1) img {
        transform: skewX(10deg);
        top: -54px;
        position: relative;
    }
    .under #content .person_list_img li:nth-child(2) {
        margin-left: -16px;
        z-index: -1;
    }
    .under #content .person_list_img li:nth-child(2) img {
        margin-left: -43px;
        top: -40px;
        position: relative;
    }
    .under #content .person_list_img li:nth-child(3) {
        margin-left: -20px;
        transform: skewX(10deg);
    }
    .under #content .person_list_img li:nth-child(3) img {
        transform: skewX(-10deg);
        margin-left: -30px;
    }
    .under #content .person_list_img li:nth-child(4) {
        margin-right: -66px;
        transform: skewX(-10deg) scale(1.2);
    }
    .under #content .person_list_img li:nth-child(4) img {
        transform: skewX(10deg);
        margin-left: -30px;
        width: 96%;
    }
    /*sucess content*/
    .under #content .success_table table .td_sp {
        display: none;
    }
    .under #content .success_table li:nth-child(2) table {
        border-left: none;
    }
    .under #content .success_table li:nth-child(2) table tr:nth-child(1) th:nth-child(2), .under #content .success_table li:nth-child(2) table tr:nth-child(2) td:nth-child(1), .under #content .success_table li:nth-child(2) table tr:nth-child(3) td:nth-child(2), .under #content .success_table.success_table_style02 li:nth-child(2) table tr:nth-child(3) td:nth-child(3), .under #content .success_table.success_table_style02 li:nth-child(2) table tr:nth-child(4) td:nth-child(3), .under #content .success_table.success_table_style02 li:nth-child(2) table tr:nth-child(1) th:nth-child(3) {
        border-left: none;
    }
    .under #content .news_list dl > dd a:hover {
        text-decoration: underline;
    }
    .under #content .btn_right a:hover, .under #content .link02:hover {
        opacity: 0.8;
    }
    .under #content .bnr_list dd ul li a:hover, .under #content .bnr_list02 dd a:hover {
        background-color: rgba(255, 255, 255, 0.2);
    }
    .under .btn_print:hover {
        background: #fff;
        color: #333;
    }
    .under #content ul.pagination li a:hover {
        opacity: 0.8;
        color: #333;
    }
    .under #content .lett_2 {
        letter-spacing: -2px;
    }
    .under #content .box_flex01 table {
        width: 500px;
    }
    /* HOVER */
    .open_map:hover {
        color: red;
        cursor: pointer;
    }
    .close_modal:hover, .under #content .open_map:hover {
        opacity: 0.7;
    }
    /*25/12*/
    .under #content .contact_bnr_sp {
        display: none;
    }
    .under #content .contact_bnr_wrap .contact_bnr {
        position: absolute;
        right: 11px;
        top: 112px;
        width: 785px;
    }
    .under #content .list_col04_contact dl:not(:first-child) dd {
        padding-top: 250px;
    }
    .under #content .fs_sm tr:nth-child(2) th {
    	font-size: 11px;
    	width: 67px;
    	padding: 1px;
    }
    .under #content .fs_sm tr td:nth-child(n+7) {
       text-align: center;
       letter-spacing: -2px;
    }
    .under #main .inner.inner01 {
        width: 1200px;
    }
 
.under #content h4 .link02 {
    top:-5px;
    height: 30px;
    line-height: 32px;
}
    /*90/2/2021*/
    .under #content .box_2col {
        display: flex;
        justify-content: space-between;
    }
    .under #content .box_2col h3 {
        font-size:40px;
        margin-bottom: 25px;
    }
    .under #content .box_2col > div {
        width:calc(50% - 20px);
        display: flex;
        flex-direction: column;
        
    }
    .under #content .box_2col h3.t3_tt01 {
        margin-bottom: 72px;
    }
    .under #content .txt01 {
        font-size:16px;
        text-align: center;
    }
    .under #content  .box_2col .news_list dl {
        flex-direction: column;
    }
    /*.under #content .box_2col > div .frame01 {
        margin-top: auto;
    }*/
    .under #content .txt01 {
        margin-bottom: 9px;
    }
}
@media screen and (max-width: 1500px) {}
@media screen and (max-width: 750px) {
    .under #footer {
        margin-top: 40px;
    }
    /*section*/
    .under .section {
        padding: 0 0 30px;
        box-sizing: border-box;
    }
    .under #content p {
        line-height: 1.8em;
        margin-bottom: 1.8em;
    }
    .under #content .image_r, .under #content .image_l {
        float: none;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin: 0 auto 25px;
    }
    .under #content .frame01 .image_l, .under #content .frame01 .image_r {
        margin: 0 auto 25px;
    }
    /*top_info*/
    .under #top_info {
        margin-bottom: 20px;
        height: 80px;
        padding-top: 0px;
    }
    .under #top_info .inner.active:before, #top_info .inner:before {
        top: 55px;
        bottom: auto;
        margin: 0;
    }
    #person #top_info .inner.active:before, #person #top_info .inner:before, #safety #top_info .inner.active:before, #safety #top_info .inner:before, #look #top_info .inner.active:before, #look #top_info .inner:before, #success #top_info .inner.active:before, #success #top_info .inner:before {
        top: 89px;
    }
    #guest h2 .h2_jp {
        font-size: 23px;
        letter-spacing: -3px;
    }
    /*<h2> - <h3> - <h4> - <h5> - <h6>*/
    .under h2 .h2_en {
        font-size: 16px;
    }
    .under h2 .h2_jp {
        font-size: 20px;
        letter-spacing: 0px;
        text-align: left;
        line-height: 1.5;
    }
    .under h3 {
        font-size: 26px;
        padding-bottom: 12px;
        margin-bottom: 20px;
    }
    .under h4 {
        font-size: 22px;
        padding-left: 15px;
    }
    .under h4:before {
        width: 4px;
        height: 22px;
        top: 6px;
    }
    #service h5 {
        margin: 10px 0 0;
    }
    .under .h5_l, .under .h5_r {
        float: none;
        width: 100%;
    }
    .under h6 {
        margin-bottom: 15px;
    }
    /*table*/
    .under table th, .under table td {
        padding: 10px;
    }
    .under #content .list01 li:before {
        top: 7px;
    }
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* table block                                                        */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #content table.tb_block > tbody > tr > th, .under #content table.tb_block > tbody > tr > th + th, .under #content table.tb_block > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    .under #content table.tb_block {
        border: none;
    }
    .under table.tb_block > tbody > tr > th {
        border: none;
    }
    .under table.tb_block > tbody > tr > th, .under table.tb_block > tbody > tr > td {
        line-height: 1.7;
    }
    .under table.tb_block > tbody > tr {}
    .under table.tb_block > tbody > tr:last-child {
        margin-bottom: 0
    }
    .under table.tb_block > tbody > tr > td + td {
        border-top: none;
    }
    .under #content table.tb_block > tbody > tr > th + th {}
    .under table.tb_block > tbody > tr > th:last-child {}
    /*tb_cal*/
    .under #content .list01 {
        margin-bottom: 25px;
    }
    .under #content .list01 li {
        font-size: 18px;
        margin-bottom: 7px;
    }
    .under #content .btn01, .under #content .btn03 {
        flex-direction: column;
        padding: 0px;
    }
    .under #content .btn03 {
        margin-bottom: 30px;
    }
    .under #content .btn01 li, .under #content .btn03 li {
        width: 100%;
        margin: 0 auto 20px;
    }
    .under #content .btn01 li a, .under #content .btn03 li a {
        font-size: 18px;
    }
    .under #content .btn01 li i img {
        width: 50px;
    }
    .under #content .btn01 li i {
        top: calc(50% - 26px);
    }
    .under #content .btn01 li a:before {
        right: 20px;
    }
    .under #content .btn03 li a:before {
        top: calc(50% - 7px);
        right: 15px;
    }
    .under #content .stranges_img01, .under #content .btn01 li:last-child, .under #content .btn03 li:last-child {
        margin-bottom: 0px !important;
    }
    .under #content .box_stranges01 {
        flex-direction: column;
    }
    .under #content .box_stranges01 .img {
        margin: -50px auto 0;
        z-index: -1;
        display: none;
    }
    .under #content .list01_stranges {
        width: 100%;
        margin: 0px auto 30px;
        padding-top: 0px;
    }
    .under #content .list01_stranges.list01_stranges02 {
        padding-top: 5px;
    }
    .under #content .list01_stranges li {
        font-size: 16px;
        padding-left: 50px;
        margin-bottom: 25px;
    }
    .under #content .list01_stranges li:nth-child(2), .under #content .list01_stranges li:nth-child(3), .under #content .list01_stranges.list01_stranges02 li:nth-child(2), .under #content .list01_stranges.list01_stranges02 li:nth-child(4) {
        margin-left: 0px;
    }
    .under #content .list01_stranges li:before {
        width: 40px;
        height: 40px;
        left: 0;
        top: -6px;
        font-size: 20px;
        padding-bottom: 5px;
    }
    .under #content #box_stranges02_01 {
        margin-top: 0px;
    }
    .under #content .box_stranges02 {
        height: auto;
        background-size: cover;
        margin-bottom: 30px;
    }
    .under #content .box_stranges02_list {
        flex-direction: column;
        padding: 25px 20px;
        box-sizing: border-box;
    }
    .under #content .box_stranges02_list_r .img, .under #content .box_stranges02 .img {
        margin: 0 auto 20px;
        position: relative;
        z-index: 9;
    }
    .under #content .box_stranges02_list h5 {
        font-size: 22px;
        text-align: center;
        margin-bottom: 15px;
    }
    .under #content #box_stranges02_03 .box_stranges02_list h5 {
        margin-bottom: 0px;
    }
    .under #content .ualitypolicy_text {
        font-size: 14px;
        text-align: center;
    }
    .under .ualitypolicy_sp {
        padding-top: 0px;
    }
    .under .ualitypolicy_sp02 {
        padding-top: 10px;
    }
    .under #content .list01_stranges li span.list01_stranges_txt {
        font-size: 15px;
    }
    .under #content .list01_stranges.list01_stranges03 {
        width: 100%;
        margin: 0 auto;
        padding-top: 0px;
    }
    .under #content .list01_stranges.list01_stranges03 li {
        margin-bottom: 25px;
    }
    .under #content .box_stranges04, .under #content .box_stranges05 {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .under #content .box_stranges04 {
        padding: 20px;
    }
    .under #content .box_stranges04 li + li {
        margin-top: 20px;
    }
    .under #content .stranges_tt01 {
        background-position: left top 10px;
        padding-bottom: 46px;
        padding-left: 85px;
    }
    .under #content .box_stranges05 > li + li {
        width: 100%;
        margin-left: 0px;
        margin-top: 20px;
        padding: 20px;
    }
    .under #content .list01 li {
        font-size: 15px;
    }
    .under #content .list01_pl li {
        text-indent: -15px;
        padding-left: 35px;
    }
    .under #content .bnr01 a {
        width: 100%;
        flex-direction: column;
        height: auto;
        padding: 15px 10px 17px;
        box-sizing: border-box;
        background-size: cover;
    }
    .under #content .bnr01 a > span:nth-child(1) {
        width: 100%;
        padding-left: 0px;
        margin-bottom: 6px;
        text-align: center;
        font-size: 18px;
    }
    .under #content .bnr01 a > span:nth-child(2) {
        height: 30px;
        font-size: 13px;
    }
    .under #content .sustainability_box01 {
        flex-direction: column-reverse;
    }
    .under #content .sustainability_tt01 {
        font-size: 20px;
        margin-top: 0px;
        margin-bottom: 20px;
    }
    .under #content .sustainability_box01 .img {
        margin: 0 auto 20px;
    }
    .under #content .sustainability_box02 {
        flex-direction: column;
        width: 100%;
        margin-bottom: 40px;
        margin-top: 100px;
    }
    .under #content .sustainability_box02 li {
        margin: 0 auto 100px !important;
        width: 340px;
        height: 340px;
        padding: 0 50px;
        background-size: 340px auto;
    }
    .under #content .sustainability_box02 li:nth-child(7) h5, .under #content .sustainability_box02 li:nth-child(9) h5 {
        font-size: 18px;
    }
    .under #content .sustainability_box02 li:last-child {
        margin-bottom: 0px !important;
    }
    .under #content .sustainability_box03 {
        flex-direction: column;
        align-items: center;
    }
    .under #content .sustainability_box03 > li {
        background-size: 280px auto;
        width: 280px;
        height: 280px;
    }
    .under #content .sustainability_box03 > li > h5 {
        font-size: 17px;
    }
    .under #content .sustainability_txt {
        font-size: 14px;
        line-height: 1.7;
    }
    .under #content .sustainability_icon {
        margin-bottom: 12px !important;
        margin-top: -70px !important;
    }
    .under #content .sustainability_icon img {
        width: 120px;
    }
    /*map*/
    .under .map_bg01 {
        background: #eaf3fc;
        height: auto;
        margin-bottom: 30px;
    }
    .under .map {
        background-size: 290px auto;
    }
    .under #content .map_list {
        display: table;
        margin: 0 auto;
    }
    .under #content .map_list li {
        margin-bottom: 25px;
    }
    .under #content .map_list li .list_point {
        position: relative;
        padding-left: 15px;
        margin-bottom: 10px;
    }
    .under #content .map_list li .list_point:before {
        position: absolute;
        content: "";
        width: 8px;
        height: 8px;
        background: #e7211a;
        left: 0;
        top: 8px;
    }
    .under #content .map_img {
        text-align: center;
    }
    .under #content .map02 ul {
        display: flex;
        flex-direction: column;
    }
    .under #content .map02 {
        /* background: url(../images/map_bg02_sp.jpg) no-repeat center top;
    background-size: auto 350px;
    height: auto;*/
        background: none;
        height: auto;
        margin-top: 20px;
    }
    .under #content .map02 ul {
        /* padding-top: 350px;*/
        margin-bottom: 30px;
    }
    .under #content .map02 ul li {
        position: relative;
        padding: 20px;
    }
    .under #content .map02 ul li {
        left: 0px !important;
        top: auto !important;
        bottom: auto !important;
        height: auto !important;
        width: 100%;
        margin-bottom: 20px;
        padding-top: 30px;
    }
    .under #content .map_logo01 {
        margin-top: -20px;
    }
	.under .map_notes {
	font-size: 13px;
	text-align: left;
	margin-top: -10px;
	line-height: 1.5em !important;
	}
	.under .map_notes2 {
	margin-top: 0px;
	}
    .under #content .en_tt, .under #content .en_tt_map {
        font-size: 40px;
    }
    .under #content .en_tt {
        top: -20px;
    }
    .under #content .en_tt_map {
        top: 25px;
    }
    /*company*/
    .under #content .company_box01 {
        height: auto;
        background-position: center bottom 40px;
        background-size: auto 250px;
        padding: 10px 20px 260px 20px;
        position: relative;
    }
    .under #content .company_tt01 {
        position: absolute;
        right: 20px;
        bottom: -20px;
    }
    .under #content .frame01 {
        padding: 20px;
    }
    .under #content .family_bg {
        padding: 10px 10px 10px 13px;
    }
    .under #content .family_bg h5 {
        margin-bottom: 10px;
    }
    .under #content .family_list {
        padding-top: 20px;
        width: 280px;
        margin: 0 auto;
    }
    .under #content .family_list li {
        margin-bottom: 10px;
        width: 100px;
        height: 100px;
        margin-left: -7px;
        padding: 5px;
        font-size: 12px;
        line-height: 1.4;
        border-width: 1px !important;
    }
    .under #content .family_list li, .under #content .family_list li:nth-child(n+6) {
        margin-top: -20px;
    }
    /*step*/
    .under #content .step01 dl {
        flex-direction: column !important;
        padding: 20px;
        background: linear-gradient(45deg, transparent 0px, transparent 20px, rgba(255, 255, 255, 1) 20px, rgba(255, 255, 255, 1) 100%);
        margin-bottom: 50px;
    }
    .under #content .step01 dl:nth-child(2n) {
        background: linear-gradient(-45deg, transparent 0px, transparent 20px, rgba(255, 255, 255, 1) 20px, rgba(255, 255, 255, 1) 100%);
    }
    .under #content .step01 {
        padding: 20px 20px 50px 20px;
    }
    .under #content .step01 .inner {
        padding: 0px;
    }
    .under #content .step_icon > span {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }
    .under #content .step01 dl dt {
        padding: 0px;
        margin-bottom: 20px;
    }
    .under #content .step01 dl dd {
        margin: 0 auto !important;
    }
    .under #content .step_icon {
        margin-top: 0px;
        font-size: 19px;
    }
    .under #content .step01 dl:before {
        border-width: 20px 20px 0 20px;
        bottom: -20px;
    }
    /* #flow #content .step01 {
	margin-bottom: 40px;
} */
    .under #content .list_product li, .under #content .list_product li:nth-child(3n) {
        margin-right: 2%;
        width: 49%;
    }
    .under #content .list_product li:nth-child(2n) {
        margin-right: 0px;
    }
    .under #content .list_product li a {
        padding: 10px;
    }
    /*service*/
    /*product*/
    #family #content .list_2col li {
        margin: 0 auto 20px;
    }
    #family #content .list_2col li:last-child {
        margin-bottom: 0px;
    }
    .under #content .box_flex01, #service #content .list_2col, .under #content .list_2col.list_3col, .under #content .btn03, #family #content .list_2col {
        flex-direction: column;
    }
    .under #content .list_2col.list_2col_wrap {
        flex-wrap: wrap;
    }
    .under #content .list_2col.list_2col_wrap li, #service #content .list_2col li, .under #content .list_2col.list_3col li {
        width: 100%;
        margin: 0 auto 20px;
    }
    .under #content .list_2col.list_2col_wrap.list_2col_1col li {
        width: 100%;
        margin-top: -30px;
    }
    .under #content .btn02 a {
        width: 240px;
    }
    .under #content .btn02_2 a {
        width: 280px;
        font-size: 14px;
    }

.under #content .btn02_3 a::after {
    background-size: 40px;
    width: 40px;
    height: 40px;
    left: 5px;
    top: 10px;
}

    .under #content .map02 ul li .btn02 a {
        margin: 10px auto 0;
    }
    /*person*/
    .under #content .person_list_img {
        flex-wrap: wrap;
        overflow: hidden;
    }
    .under #content .person_list_img li {
        width: 50%;
        flex: auto;
        margin-left: -43px;
        overflow: hidden;
    }
    .under #content .person_list_img li:nth-child(2n+1) {
        position: relative;
        z-index: 1;
    }
    .under #content .person_list_img li:nth-child(1), .under #content .person_list_img li:nth-child(3) {
        margin-left: -36px;
        transform: skewX(-10deg);
    }
    .under #content .person_list_img li img {
        max-width: inherit;
        width: 120%;
    }
    .under #content .person_list_img li:nth-child(1) img, .under #content .person_list_img li:nth-child(3) img {
        transform: skewX(10deg);
    }
    .under #content .person_box {
        margin: -60px auto 0;
        width: calc(100% - 40px);
        padding: 20px;
    }
    /*reruit*/
    .under #content .recruit_box dt {
        height: auto;
        padding: 14px 40px 10px 10px;
    }
    .under #content .recruit_box dd, .under #content .td_01 {
        padding: 10px;
    }
    .under #content .recruit_box dd table th, .under #content .recruit_box dd table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
    .acc_box dt:before, .acc_box dt:after {
        width: 15px;
        right: 10px;
    }
    /*success content*/
    .under #content .success_table {
        flex-direction: column;
    }
    .under #content .success_table li {
        width: 100% !important;
    }
    .under #content .success_table li:nth-child(2) table, .under #content .success_table li:nth-child(2) table th {
        border-top: none;
    }
    .under #content .success_txt01 {
        flex-direction: column;
        align-items: flex-start;
    }
    .under #content .success_table.success_table_style02 table th, .under #content .success_table.success_table_style02 table td {
        padding: 5px;
        font-size: 12px;
    }
    /*news */
    .under #content .news_list dl {
        flex-direction: column;
    }
    .under #content .news_list dl dt {
        margin-bottom: 10px;
    }
    .under #content .box06_cate {
        margin-left: 10px;
    }
    .under #content .news_list dl > dd {
    font-size: initial;
    }
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* 2020.03.22 追加                                                         */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    #recruit_staff .staff_list {
        margin-bottom: 50px;
    }
    #recruit_staff .staff_list li {
        width: 24.4%;
        padding: 3px;
    }
    #recruit_staff .staff_list li:nth-child(6n+1) {
        margin-left: .8%;
    }
    #recruit_staff .staff_list li:nth-child(4n+1) {
        margin-left: 0;
    }
    #recruit_staff .staff_list li p {
        font-size: 12px;
        margin-top: 5px;
    }
    #recruit_staff .section h5 {
        font-size: 16px;
    }
    #recruit_staff .section .image_l, #recruit_staff .section .image_r {
        display: block;
        max-width: 400px;
    }
    #recruit_staff .section p.q {
        font-size: 15px;
        margin-bottom: 10px;
    }
    #catalog #content .section table, #catalog #content .section tbody, #catalog #content .section tr, #catalog #content .section th, #catalog #content .section td {
        display: block;
    }
    #fan .fan_list li a p {
        font-size: 12px;
        margin-top: 5px;
    }
    #map .base_map iframe {
        height: 300px;
    }
    #map .base_description {
        margin-bottom: 50px;
    }
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* 2020.03.28 追加                                                         */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    #inherit #content .box_flex01 {
        align-items: center;
    }
    #inherit #content .box_flex01 .table_box {
        margin-left: 0;
    }
    #service .box_flex02 {
        margin: 0;
    }
    #product .box_flex01 {
        margin-bottom: 50px;
    }
    #service .box_flex01 {
        margin-bottom: 0px;
    }
    #service .box_flex01 a, #service .box_flex02 a, #product .box_flex01 figure {
        width: 100%;
        margin-top: 20px;
    }
    #service .box_flex01 a, #service .box_flex02 a {
        width: 100%;
        margin: 10px 0;
    }
    .under #content .h4style {
        font-size: 22px;
        padding-left: 15px;
    }
    .under #content .h4style::before {
        width: 4px;
        height: 22px;
        top: 6px;
    }
    #town #content {
        padding-bottom: 50px;
    }
    .under .box_flex01_p li, #service .box_flex02, .under .h5_print {
        max-width: 500px;
        margin: 0 auto 20px !important;
    }
    .under .h5_print01 {
        margin: 0 auto 20px !important;
        width: auto;
        flex-shrink: 0;
    }
    .under .btn_print01 {
        top: 0px;
        position: relative;
    }
    .under .box_flex01_p {
        top: -25px;
        position: relative;
    }
    .under .btn_print {
        margin: 10px auto 0px;
        left: 0;
        right: 0;
    }
    .under .btn_print.btn_print01 {
        margin: 10px auto 20px;
    }
    .under .btn_print.btn_print01.box_pc {
        display: none;
    }
    .under .h5_print {
        flex-direction: column;
        align-items: center;
    }
    .under table.tbl_pt03 {
        border-color: #dbdbdb;
        border-top: none;
        border-bottom: none;
    }
    .under table.tbl_pt03 tr.none {
        display: none;
    }
    .under table.tbl_pt03 td {
        display: block;
        position: relative;
        width: 100%;
        border: none;
        border-bottom: 1px #dbdbdb solid;
        padding-left: 105px !important;
        box-sizing: border-box;
        line-height: 1.5;
    }
    .under table.tbl_pt03 tr {
        border-bottom: 20px #fff solid;
    }
    .under table.tbl_pt03 tr:nth-child(n+1) > td:nth-child(1) {
        border-top: 1px #dbdbdb solid;
    }
    .under table.tbl_pt03 tr td:last-child {
        border-bottom: 1px #dbdbdb solid;
    }
    .under table.tbl_pt03 td::before {
         white-space: pre;
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 0px;
        background: #f7f7f7;
        width: 100px;
        text-align: center;
        top: 0;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .under table.tbl_pt03 td:last-child {
        border-bottom: 0;
    }
    .under #content .link_icon01 {
        background-size: 25px auto;
        padding-left: 30px;
    }
    .under #content .bnr_list {
        width: 100%;
    }
    .under #content .bnr_list dd ul li {
        width: 48.5%;
    }
    .under #content .bnr_list dt {
        margin-bottom: 20px;
    }
    .under #content .bnr_list02 {
        width: 100%;
        flex-direction: column;
    }
    .under #content .bnr_list02 dt {
        margin-bottom: 20px;
    }
    .under #content .bnr_list02 dd {
        padding-right: 0px;
    }
    .under #content .video_under {
        height: 280px;
    }
    .under #content .b_copy, .under #content .tag_copy {
        margin: -5px auto 7px !important;
        line-height: 1.4;
    }
    .under #content .b_copy {
        text-indent: -30px;
        padding-left: 12px;
    }
    .under #content .tag_copy {
        font-size: 240%;
    }
    .under #content .section03:last-child {
        padding-bottom: 10px;
    }
    .under #content .resp-container {
        position: relative;
        overflow: hidden;
        padding-top: 56.25%;
    }
    .resp-iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    .under #content .kid_tt01 p > span:nth-child(1) {
        width: 70px;
    }
    .under #content .rose_txt {
        text-align: center;
        line-height: 1.4;
    }
    .under #content .list01_stranges05 li {
        padding-left: 25px;
    }
    .under #content .list01_stranges05 {
        padding: 20px !important;
    }
    .under #content .list01_stranges05 li::before {
        left: 0px;
    }
    .under #content .info_table01 .w30 {
        width: 25%;
    }
    .under #content .info_table02 .w40 {
        width: 55%;
    }
    .under #content .box04_list01 {
        flex-direction: column;
    }
    .under #content .box04_list01 > li {
        width: 100%;
    }
    .under #content .box04_info01 {
        padding: 20px 30px;
        width: calc(100% - 40px);
        margin: 0px auto 0px;
    }

    .box04_list01 .h4_tt03 {
        font-size: 19px;
    }
    .under #content .box04_list01 > li {
        margin-bottom: 30px !important;
    }
    .under #content .box04_list01 > li:last-child {
        margin-bottom: 0px !important;
    }
    .under #content .open_map {
        margin-left: auto;
        margin-right: 0px;
    }
    .under .map_under {
        height: 299px;
        width: 100%;
    }
    .iframe_map_ct {
        height: 280px;
        width: 90%;
        margin: 15vh auto;
    }
    .under #content .list_product_sub_box {
        width: 200%;
    }
    /*20/07/02*/
    .under #content .list_col04 {
        flex-direction: column;
    }
    .under #content .list_col04 dl {
        margin-right: 0px !important;
        margin-bottom: 15px;
    }
    .under #content .list_col04 dl dt {
        height: 85px;
    }
    .under #content .list_col04 dl dd {
        height: auto;
    }
    .under #content .list_col04 dl dd p {
        letter-spacing: 0px;
    }
    /*25/12*/
    .under #content .contact_bnr_wrap {
        display: none;
    }
    .under #content .contact_bnr {
        padding: 15px;
        margin-bottom: 20px !important;
    }
    .under #content .contact_bnr_tt {
        font-size: 20px;
    }
    .under #content .contact_bnr_txt {
        text-align: left;
    }
    .under #content .list_col04.list_col04_contact dd {
        padding-top: 5px;
    }
    .under table.tbl_pt03.fs_sm td::before {
        font-size: 13px;
        width: 130px;
    }
    .under table.tbl_pt03.fs_sm td {
        padding-left: 135px !important;
    }
    .under table.tbl_pt03.fs_sm tr td:nth-child(n+8):before {
        padding-left: 30px;
        font-size: 10px;
        width: 100px;
    }
    .under table.tbl_pt03.fs_sm tr td:last-child {
        position: relative;
    }
    .under table.tbl_pt03.fs_sm td:last-child:after {
        position: absolute;
        left: 0;
        background: #f7f7f7;
        border-right: 1px #dbdbdb solid;
        width: 27px;
        content: "対応可能修理区分";
        height: 234px;
        text-align: center;
        bottom: 0;
        writing-mode: vertical-lr;
        padding-left: 5px;
        color: #333;
        font-weight: bold;
        font-size: 14px;
        letter-spacing: 2px;
    }
    /*map*/
      .maplistsp {
    background: #F2F7FD;
    padding:5px 15px;
  }
  .maplistsp dl{
    margin: 10px auto
  }
  .maplistsp a{
    color: #333;
    text-decoration: none;
    display: block;
    background: #ffffff;
    padding: 5px 10px;
    line-height: 1.5
    
  }
  .maplistsp dt a{
    font-size: 16px;
    border-bottom: 1px solid #333333;
    font-weight: 600
  }
  .maplistsp ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -5px;
  }
  .maplistsp ul li{
    margin: 5px;
  }
    .under #content .link02 {
    height: 30px;
    line-height: 34px;
    margin-left: 20px;
}
    .under #content h3 .link02 {
    top: -4px;
        margin-left: 3px;
}
    .under #content h4 .link02 {
    top: -3px;
}
    .under #content .box_2col > div:nth-child(1) {
        margin-bottom: 30px;
    }

/* HISTORY */
.under #main .history_page{background: url('../images/history_bg_sp.jpg') top center /cover  no-repeat;}
.under #main .history_page .inner{padding: 190px 15px 0}

.under #content .history_box01{width: 100%;height: 50vw;left: 0;display: flex;align-items: center;justify-content: center;text-align: center;padding: 0}
.under #content .history_box01 p{font-size: 4vw;}
.under #content .history_box01::after{display: none;}
.under #content .history_box01::before{width: 142px;height: 121px;left: calc(50% - 71px);top: -135px}


.under #content .history_cloud{margin: 100px 0 0 !important}
.under #content .history_cloud .year{font-size: 48px;margin: 0;text-align: center}
.under #content .history_cloud ul{align-items: center;justify-content: center;margin: 50px 0 0 !important;}
.under #content .history_cloud ul li{left: 0 !important;font-size: 18px;}
.under #content .history_cloud ul li a{font-size: 18px;padding-right: 50px}
.under #content .history_cloud ul li::before{width: 36px;height: 26px;top: calc(50% - 13px)}
.under #content .history_cloud ul li span{width: 80px;font-size: 14px;}


.under #content .cloud_2020 .year::before{width: 337px;height: 105px;left: calc(50% - 250px);top: -40px}
.under #content .cloud_2010 .year::before{width: 264px;height: 102px;right: calc(50% - 152px);top: -30px}
.under #content .cloud_2000 .year::before{width: 294px;height: 117px;left: calc(50% - 202px);top: -45px}
.under #content .cloud_1990 .year::before{width: 264px;height: 102px;right: calc(50% - 152px);top: -30px}
.under #content .cloud_1980 .year::before{width: 307px;height: 116px;left: calc(50% - 212px);top: -50px}
.under #content .cloud_1970 .year::before{width: 226px;height: 86px;left: calc(50% - 102px);top: -30px}
.under #content .cloud_1960 .year::before{width: 310px;height: 114px;left: calc(50% - 222px);top: -50px}
.under #content .cloud_1910 .year::before{width: 220px;height: 85px;left: calc(50% - 92px);top: -25px}
.under #content .cloud_1910 ul li{padding-left: 0;}

.under #content .youtube{margin-top: 150px;}
.under #content .youtube .frame{right: calc(50% - 280px)}
.under #content .youtube .frame::after{display: none;}
	
}

@media screen and (max-width: 640px) {
    .under #content .info_table01 .w30 {
        width: 20%;
    }
    .under #content .guest_box01 li {
        width: 100%;
    }
    .under #content .guest_bg {
        margin: -50px auto 0;
        padding: 20px;
    }
    
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* table scroll                                                        */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }
    .under .tb_scroll > table {
        width: 640px;
    }
    .under #content .txt_note {
        font-size: 12px;
        color: #AFAFAF;
        display: block;
    }
}

@media screen and (max-width: 560px) {
    .under #content .youtube .frame{width: calc(100% - 30px);height: calc((100vw - 60px) * 13 / 28 );right: 15px}
    .under #content .youtube .frame::before{width: 100vw;height: calc((100vw - 30px) * 46 / 68 );left: calc(50% - 50vw);top: -40px}

}
@media screen and (max-width: 490px) {}
@media screen and (max-width: 450px) {}
@media screen and (max-width: 414px) {
    .sp420{display: block;}
    .under #content .history_cloud ul li{width: 100%;font-size: 14px;}
    .under #content .bnr01 a > span:nth-child(1), .under #content .bnr01.bnr01_sm a > span:nth-child(1) {
        font-size: 16px;
    }
    #flow #content .bnr01 a > span:nth-child(1) {
        font-size: 15px;
    }
    .under #content .sustainability_box02 li h5, .under #content .sustainability_box02 li:nth-child(7) h5, .under #content .sustainability_box02 li:nth-child(9) h5 {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .under #content .sustainability_box02 li {
        margin: 0 auto 100px !important;
        width: 290px;
        height: 290px;
        padding: 0 40px;
        background-size: 290px auto;
    }
    .under #content .sustainability_icon {
        margin-top: -80px !important;
    }
    .under #content .sustainability_box02 li:nth-child(9) .sustainability_txt {
        font-size: 12px;
    }


    /*contents*/
    .under #content .list_product li, .under #content .list_product li:nth-child(3n), .under #content .list_product li:nth-child(2n), .under #content .list_product_sub_box, .under #content .list_product_sub_box > ul > li {
        margin-right: 0%;
        width: 100%;
    }
    .under #content .list_product_sub_box > ul {
        flex-direction: column;
    }
    /*service*/
    .under #content .service_bg01 {
        padding: 15px;
    }
    .under #content .box_success01 {
        flex-direction: column;
        align-items: flex-start;
    }
    .under #content p.success_label {
        margin-bottom: 15px;
    }
    .under #content .success_img {
        padding: 20px;
    }
    .under #content .bnr01 a > span:nth-child(2) {
        height: 34px;
        font-size: 12px;
    }
    .under #content .bnr_list {
        padding: 10px 10px 10px 10px;
    }
    .under #content .bnr_list dd ul li {
        width: 49%;
    }
    .under #content .bnr_list dd ul li a:before {
        right: 5px;
    }
    .under #content .b_copy {
        font-size: 270%;
    }
    .under #content .contact_last {
        margin-top: 0px;
    }
    /*25/12*/
    .under #content .contact_bnr_tt {
        font-size: 4.5vw;
    }
    .under #content .index_btn2 a {
    width: 280px;
    margin-right: 0px;
    }
}
@media screen and (max-width: 360px) {
    .under #content table td.fs01 {
        font-size: 13px;
        letter-spacing: -0.1px
    }
}
@media screen and (max-width: 400px) {
    .under #content .tag_copy {
        font-size: 177%;
    }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {}