

/* company_contents */

.company_contents{
    /* 2020-09-14追記 */
    position: relative;
    /* ここまで */
    padding:0;
}

.company_contents_inner{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 50px;
    display: block;
    /* 2020-09-14追記 */
    position: relative;
    /* ここまで */
}

.company_top_header{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 50px;
    display: block;
}

.company_top_header h1{
    font-size: 1.6em;
    line-height: 2;
    font-weight: normal;
    padding: 1em 0 0;
    letter-spacing: 0.2em;
}
.top_header_img{
    margin-bottom: 3em;
}

.top_message{
    display: block;
    margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
    .company_contents_inner{
        padding:6.333vw 6.67vw 50px;
    }
   /* html.lang-en .company_contents_inner {
        padding: 6.333vw 0 50px;

    }*/
    .company_top_header{
        width: 100%;
        padding:0;
    }
    .company_top_header h1{
        padding: 1em 6.67vw 0;
        text-align: center;
    }
    .top_header_img{
        margin-bottom: 1em;
    }
}

.top_message .top_message_title{
    font-size: 1.4em;
    font-weight: normal;
    padding: 0 0 1em;
}
.top_message .top_message_text{
    display: table-cell;
    width: 70%;
    padding-right: 3em;
    line-height: 2;
}
.top_message .top_message_img{
    display: table-cell;
    vertical-align: top;
    width: 30%;
}
.top_message .top_message_img img{
    width: 100%;
}
.top_message_name{
    text-align: right;
    padding: 2em 0 0;
}
@media screen and (max-width: 767px) {
    .top_message .top_message_text{
        display: block;
        width: auto;
        padding-right: 0;
        line-height: 2;
    }
    .top_message .top_message_img{
        display: block;
    }
    .top_message_name{
        text-align: right;
        padding: 2em 0;
    }
    .top_message .top_message_img{
        width: 100%;
    }
}

.company_contents_inner h1{
    font-size: 18px;
    line-height: 2;
    padding: 40px 0 1em;
    /* letter-spacing: 0.2em; */
}
.company_contents_inner h2{
    font-size: 1.2em;
    line-height: 2;
    font-weight: normal;
    padding: 1em 0;
}


@media screen and (max-width: 767px) {
    .company_contents_inner h1{
        font-size: 4vw;
        padding-top: 0;
    }
}

/* company_menu */

.company_menu{
    padding: 50px 0 0;
    margin: auto;
    width: 100%;
    display: block;
}

.company_menu ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}
.company_menu ul li{
    box-sizing: border-box;
    width: 32%;
    padding:0;
    text-align: center;
    margin-right: 2%;
    margin-bottom: 2em;
    font-size: 0.9em;
}
.company_menu ul li:nth-of-type(3n) {
    margin-right: 0;
}
.company_menu ul li a{
    display: block;
    height: 100%;
}
.company_menu ul li p:last-child{
    padding: 0.5em 0;
}

@media screen and (max-width: 767px) {
    .company_menu ul{
        display: block;
    }
    .company_menu ul li{
        display: block;
        width: 100%;
        font-size: 1em;
        font-weight: normal;
        padding:0;
        margin-bottom: 1em;
        text-align: left;
        vertical-align: middle;
    }
    .company_menu ul li p{
        display: inline-block;
        vertical-align: middle;
        width: 50%;
    }
    .company_menu ul li p:last-child{
        padding:0 0 0 1em;
        width: 40%;
    }

    .company_menu.top_only ul li p{
        display: block;
        width: auto;
        margin-bottom: 1em;
        text-align: center;
    }
}

/* btn_link */

.btn_link{
    position: relative;
    width: 25em;
    border: 1px solid #000;
    margin:2em auto 3em;
}

.btn_link a{
    display: block;
    color: #000 !important;
    padding: 1em;
}
.btn_link a:before {
    content: "";
    position: absolute;
    top: 1.5em;
    right: 1em;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }



/* company_top_news */

.company_top_news{
    width: 100%;
    padding: 50px 0;
}

.company_top_news h2{
    text-align: left;
    font-weight: normal;
    font-size: 1em;
    letter-spacing: 0.2em;
    padding-bottom: 2em;
}

.company_top_news ul{
    display: block;
    border-bottom: 1px solid #DCDCDC;
}
.company_top_news ul li{
    border-top: 1px solid #DCDCDC;
    padding: 1em 0;
}
.company_top_news ul li p.date{
    margin-bottom: 1em;
    font-size: 0.8em;
    color: #C82832;
}
.company_top_news ul li p.date span{
    padding-left: 2em;
    color: #282828;
}



/*------------------------------------*\
    contents_section_menu
\*------------------------------------*/


/* 2020-09-14追記 */
@media screen and (min-width: 768px) {
    .contents_section_menu.end{
/*         position: absolute;
        bottom: 0;
        top: auto; */
    }
}
/* ここまで */
.contents_section_menu{
    display: table-cell;
    width: 220px;
    vertical-align: top;
}
@media screen and (min-width: 768px) {
    .contents_section_menu{
        /* 2020-09-14追記 */
/*         position: fixed;
        top: 110px; */
        /* ここまで */
        /* 2020-09-25追記 */
        position: absolute;
        top: 0;
    }
}
.contents_section_menu ul li{
    border-left: 1px solid #DCDCDC;
    padding: 1em;
    margin-bottom: 1em;
    line-height: 1;
}
body.outline .contents_section_menu ul li:nth-child(1){
    border-left: 3px solid #282828;
}

@media screen and (max-width: 767px) {
    .contents_section_menu{
        display: block;
        width: auto;
        vertical-align: top;
    }
    .contents_section_menu ul{
        border-left:none;
        padding: 0;
        border: 1px solid #DCDCDC;
        margin-bottom: 4em;
    }
    .contents_section_menu ul li{
        border-left: none;
        margin-bottom: 0;
        line-height: 1;
        border: none;
        padding: 0;
    }
    body.outline .contents_section_menu ul li:nth-child(1){
        border: none;
    }
    .contents_section_menu ul li a{
      position: relative;
      display: block;
        padding: 1em;
    }
    .contents_section_menu ul li a::before{
      content: '';
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #282828;
        position: absolute;
        top: 50%;
        right: 1em;
        margin-top: -2px;
    }

}


.contents_section_menu .sp_menu{
    margin-bottom: 2em;
}
.contents_section_menu .sp_menu select{
	width: 100%;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
    font-size: 14px;
    padding: 1em 3em 1em 1em;
}
.contents_section_menu .sp_menu select::-ms-expand {
    display: none;
}
.contents_section_menu .sp_menu.f_select {
	position: relative;
	border: 1px solid #DCDCDC;
	border-radius: 3px;
	background: #ffffff;
    line-height: 1.62;
}
.contents_section_menu .sp_menu.f_select::before {
	position: absolute;
	top: 46%;
	right: 1em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #282828;
	pointer-events: none;
}


/*------------------------------------*\
    contents_section
\*------------------------------------*/

.contents_section{
    display: inline-block;
    width: 100%;

}
/* 2020-09-14追記 */
@media screen and (min-width: 768px) {
    .contents_section{
        width: 100%;
        padding-left: 240px;
        padding-top: 50px;
    }
}
/* ここまで */

@media screen and (max-width: 767px) {
    .contents_section{
        display: block;
        clear: both;
    }
}


.contents_section p{
    margin-bottom: 2em;
}

.contents_section h2{
    font-size: 1.3em;
    line-height:2;
    font-weight: normal;
    padding: 0 1em;
    margin: 3em 0 2em;
    border-left:1px solid #282828;
}

@media screen and (max-width: 767px) {
    .contents_section h2{
        margin-bottom: 2em;
    }
}


/*outline_list*/

.outline_list{
    margin-bottom: 5em;
    border: 1px solid #DCDCDC;
    padding: 0 2em;
}
html.lang-en .outline_list,
html.lang-en .outline_list_office {
    font-size: 24px;
}
@media screen and (min-width: 768px) {
    html.lang-en .outline_list,
    html.lang-en .outline_list_office {
        font-size: 14px;
    }
}
@media screen and (max-width: 749px) {
    html.lang-en .outline_list,
    html.lang-en .outline_list_office {
        font-size: 3.2vw;
    }
}


.outline_list dl dt{
    width: 20%;
    float: left;
    padding: 1em 0;
    border-top: 1px solid #DCDCDC;
    font-weight: bold;
}
.outline_list dl dd{
    width: 80%;
    margin-left: 20%;
    padding: 1em;
    border-top: 1px solid #DCDCDC;
}
.outline_list dl dt:first-child,
.outline_list dl dd:nth-child(2){
    border: none;
    padding-top: 0;
}
.outline_list img {
  width: 100%;
}
#map-canvas {
  width: 100%;
  height: 480px;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
    .outline_list{
        margin-bottom: 5em;
        border: 1px solid #DCDCDC;
        padding: 0 1.5em;
    }
    .outline_list dl dt{
        width: auto;
        float: none;
    }
    .outline_list dl dd{
        width: auto;
        margin-left: 0;
        padding: 0 0 1em;
        border-top: none;
    }
    #map-canvas {
      width: 100%;
      height: 240px;
      margin-bottom: 1.5em;
    }
}


/*outline_list_office*/

.outline_list_office{
    margin-bottom: 5em;
    padding: 0 0;
}
.outline_list_office a{
    color: #C82832;
}

.outline_list_office dl dt{
    width: 30%;
    float: left;
    padding: 2em 0;
    border-top: 1px solid #DCDCDC;
}
.outline_list_office dl dd{
    width: 70%;
    margin-left: 30%;
    padding: 2em;
    border-top: 1px solid #DCDCDC;
}
@media screen and (max-width: 767px) {
    .outline_list_office{

    }
    .outline_list_office dl dt{
        width: auto;
        float: none;
        font-weight: bold;
    }
    .outline_list_office dl dd{
        width: auto;
        margin-left: 0;
        padding: 0 0 1em;
        border-top: none;
    }
}



/*------------------------------------*\
    history_contents
\*------------------------------------*/


.history_contents{
    display: none;
    padding: 3em 0;
}
.history_contents.show{
    display: block;
}

.history_menu{
    display: table;
    margin:2em 0;
    width: 100%;
}
.history_menu li{
    display:table-cell;
    width: 50%;
    text-align: center;
}
.history_menu li:first-child{
    padding:0 0.5em 0 0;
}
.history_menu li:last-child{
    padding:0 0 0 0.5em;
}
.history_menu li a{
    display: block;
    width: 100%;
    padding: 0.5em 1em;
    border-bottom: 1px solid #000;
}
.history_menu li.current a{
    border-bottom: 2px solid #000;
}

.history_table{
    margin-bottom: 3em;
}
.history_table table{
    border-top: 1px solid #DCDCDC;
    border-left: 1px solid #DCDCDC;
    border-collapse: collapse;
}
.history_table table tr th,
.history_table table tr td{
    padding: 1em;
    font-size: 0.8em;
    line-height: 1.8;
    border-bottom: 1px solid #DCDCDC;
    font-weight: normal;
}
.history_table table tr .top{
    background: #fff;
    font-size: 0.9em;
}
.history_table table tr th{
    background: #F5F5F5;
    width: 130px;
    border-right: 1px solid #DCDCDC;
    text-align: center;
    vertical-align: middle;
}
.history_table table tr th p{
    display: inline-block;
    vertical-align: middle;
}

.history_table table tr td{
    vertical-align: top;
    border-right: 1px solid #DCDCDC;
}
.history_table table .col1{
  width: 650px;
}
.history_table table .col2{
  width: 300px;
}
@media screen and (max-width: 767px) {
  .history_table table tr th{
      width: 10%;
  }
  .history_table table .col1{
    width: 50%;
  }
  .history_table table .col2{
    width: 40%;
  }
}


.t_btn{
    font-size: 0.9em;
    text-align: center;
    padding: 2em 0;
}
.t_btn a{
    position: relative;
    line-height: 1;
    padding: 1em 5em 1em 6em;
    border-bottom: 1px solid #282828;
}
.t_btn a::before{
    content: '';
    border-left: 8px solid #282828;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top:1.3em;
    left:6em;
    margin-left: -1em;
}



/*------------------------------------*\
    recruit_contents
\*------------------------------------*/
.recruit_header{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    display: block;
}

.recruit_header h1.h_title,
.recruit_header .h_img{
    display: table-cell;
    vertical-align: top;
}
.recruit_header h1.h_title{
    font-size: 1.6em;
    line-height: 2;
    font-weight: normal;
    padding: 1em 0;
    letter-spacing: 0.2em;
    width: 25%;
}

@media screen and (max-width: 767px) {
    .recruit_header{
        width: auto;
    }
    .recruit_header h1.h_title,
    .recruit_header .h_img{
        display: block;
        width: auto;
        text-align: center;
    }
}



ul.menu_btn{
    display: flex;
    width: 80%;
    margin:3em auto;
}
ul.menu_btn li{
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid #DCDCDC;
    margin:1em;
}
ul.menu_btn li a{
    display: block;
    color: #000 !important;
    padding: 1em;
}
ul.menu_btn li:before {
    content: "";
    position: absolute;
    top: 1.5em;
    right: 1em;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
  .tab_disp {
    display: none;
  }
@media screen and (max-width: 1024px) {
    ul.menu_btn{
        width: auto;
    }
    .tab_disp{
      display: inline;
    }
}
@media screen and (max-width: 767px) {
    ul.menu_btn{
        display: block;
        width: 100%;
        margin:3em auto;
    }
    ul.menu_btn li{
        margin:1em 0;
    }
    .tab_disp {
      display: none;
    }
}


/* headline_box */

.headline_box{
    display: table;
    padding: 3em 0;
}
.headline_box .h_box{
    display: table-cell;
    width: 65%;
    vertical-align: top;
}
.headline_box .h_box:first-child{
    padding-right: 2em;
}
.headline_box .h_box ul.menu_btn{
    display: block;
    width: 100%;
    margin:0 auto;
}
.headline_box .h_box ul.menu_btn li{
    margin:0 0 1em 0;
}
@media screen and (max-width: 1024px) {
    .headline_box .h_box {
      width: 60%;
    }
}
@media screen and (max-width: 767px) {
    .headline_box{
        display: block;
        padding: 0 0;
    }
    .headline_box .h_box{
        display: block;
        width: auto;
    }
}

ul.headline_info{
    display: table;
    margin-bottom: 3em;
}

ul.headline_info li{
    display: table-cell;
    vertical-align: top;
    width: 70%;
}
ul.headline_info li:first-child{
    padding-right: 2em;
}
ul.headline_info li:last-child img{
  width: 100%;
}
ul.headline_info li h3{
    font-size: 1.2em;
    line-height: 1.6;
    font-weight: normal;
    padding: 0 0 1em 0;
}

ul.headline_info_img{
    display: table;
    margin-bottom: 5em;
}
ul.headline_info_img img{
  width: 100%;
}
ul.headline_info_img li{
    display: table-cell;
    vertical-align: top;
    width: 50%;
}
@media screen and (max-width: 767px) {
    ul.headline_info li{
        display: block;
        vertical-align: top;
        width: auto;
    }
    ul.headline_info li:first-child{
        padding-right: 0;
    }
    ul.headline_info_img li{
        display: block;
        vertical-align: top;
        width: calc(100% + 13.34vw);
        margin-left: -6.67vw;
    }
}

/*outline_list_data*/

.outline_list_data dl{
    margin-bottom: 1em;
    padding: 0 0;
    background: #F5F5F5;
    border: 1px solid #DCDCDC;
    border-top: none;
}
.outline_list_data dl dt{
    width: 30%;
    float: left;
    box-sizing: border-box;
    padding: 1em;
    border-top: 1px solid #DCDCDC;
}
.outline_list_data dl dd{
    width: 70%;
    margin-left: 30%;
    padding: 1em;
    border-top: 1px solid #DCDCDC;
    border-left: 1px solid #DCDCDC;
    background: #fff;
}
.outline_list_data dl dd:after{
      display: block;
      content: "";
      clear: both;
    }
@media screen and (max-width: 767px) {
    .outline_list_data dl dt{
        width: auto;
        float: none;
        font-weight: bold;
        border-bottom: 1px solid #DCDCDC;
    }
    .outline_list_data dl dd{
        width: auto;
        margin-left: 0;
        padding: ;
        border-top: none;
        border-left: none;
    }
}


/*recruit_info_box*/

.recruit_info_contents{
    width: 70%;
    margin: auto;
}
.recruit_info_box{
    border: 1px solid #DCDCDC;
    margin-bottom: 50px;
}
.recruit_info_box h3{
    border-bottom: 1px solid #DCDCDC;
    padding: 20px 30px;
    background: #F2F2F2;
}
.box_inner{
    padding: 20px 30px;
    font-size: 0.9em;
}
.box_inner a{
    color: #C82832;
}
.box_inner p{
    margin-bottom: 2em;
}
.recruit_info_box h4{
    padding: 2em 0;
}
.recruit_list{
    padding-bottom: 1em;
}
.recruit_list dl{
    border-bottom: 1px solid #DCDCDC;
    padding: 0 0 1em;
}
.recruit_list dl:last-child{
    border: none;
}
.recruit_list dl dt{
    width: 7em;
    display: flex;
    justify-content: space-between;
    clear: both;
    float: left;
    padding: 0;
    font-weight: bold;
}
.recruit_list dl dd{
   margin-left: 7em;
    padding: 0 3em 0;
}
.recruit_text, .recruit_list, .recruit_note {
    border-bottom: 1px solid #DCDCDC;
}
.recruit_note.last {
    border-bottom: none;
}

@media screen and (max-width: 767px) {
    .recruit_info_contents{
        width: 100%;
        margin: auto;
    }
    .recruit_info_box h3{
        padding: 15px 20px;
    }
    .box_inner{
        padding: 15px 20px;
    }
    .recruit_list dl dt{
        display: block;
        float: none;
        margin-bottom: 1em;
    }
    .recruit_list dl dd{
       margin-left: 0;
        padding: 0;
    }
}

/*------------------------------------*\
    line_section
\*------------------------------------*/
.line_header_img{
    width: 45%;
    text-align: center;
    margin:3em auto;
}

.line_header_notes{
    display: table;
    padding: 3em 0 0;
}
.line_header_notes li{
    display: table-cell;
    width: 50%;
    padding: 0 1em;
    vertical-align: top;
}
.line_header_notes li img{
    max-width: 210px;
    max-height: 110px;
}

.line_header_notes_img{
    height: 110px;
    text-align: center;
}
.line_header_notes li:last-child img{
    padding-top: 40px;
}

h1.line_chapter_title{
    border-top: 1px solid #282828;
    padding: 2em 0 1em;
    margin-top: 5em;
}
@media screen and (max-width: 767px) {
    .w100img{
      width: calc(100% + 13.34vw);
      margin-left: -6.67vw;
    }
/*    html.lang-en .w100img {
        margin-left: 0;
        width: 100%;
    }*/
    .line_header_img{
        width: 90%;
    }
    .line_header_notes li{
        display:block;
        width: auto;
    }
    h1.line_chapter_title{
        text-align: left;
    }
}


.line_chapter_box ul{
    display: block;
}
.line_chapter_box ul li{
    border-top: 1px solid #DCDCDC;
    padding: 2em 0;
}
.line_chapter_box ul li .c_box{
    display: table-cell;
    width: 70%;
    vertical-align: top;
    border-top: 1ox solid #DCDCDC;
}
.line_chapter_box ul li .c_box:first-child{
    padding-right: 2em;
}
.line_chapter_box ul li .c_box p:last-child{
    margin-bottom: 0;
}
.line_chapter_box ul li .c_box .c_title{
    font-size: 1.2em;
    margin-bottom: 1em;
}
.line_chapter_box ul li .c_box .c_title span{
    font-size: 0.8em;
    margin-left: 0.5em;
}
.line_chapter_box ul li .c_box img {
  width: 100%;
}
.line_chapter_box ul li .full{
    margin-top: 2em;
}

@media screen and (max-width: 767px) {
    .line_chapter_box ul li .c_box{
        display: block;
        width: auto;
    }
    .line_chapter_box ul li .c_box .c_title span{
        margin-left: 0;
    }
    .line_chapter_box ul li .c_box p:last-child{
    margin-bottom: 2em;
}
}

.line_chapter_box dl{
    display: block;
}
.line_chapter_box dl dt{
    margin: 0 0 1em 0;
    font-weight: bold;
}
.line_chapter_box dl dd{
    margin: 0 0 2em 0;
}


a.c_link{
    color: #C82832;
}
a.c_link{
  position: relative;
  display: inline-block;
  padding-left: 20px;
    margin-right: 1.5em;
}

a.c_link::before{
    content: '';
    width: 6px;
    height: 6px;
    position: absolute;
    top: 38%;
    left: 0;
    border:4px solid transparent;
    border-left:8px solid #000;
}


/* line_product_menu */

.line_product_menu{
    padding: 0;
    margin: auto;
    width: 100%;
    display: block;
}
.line_product_menu ul{
    margin-left: 1em;
    margin-bottom: 2em;
}
.line_product_menu ul li{
    font-weight: normal;
    padding:0 0 0.5em 0;
}
.line_product_menu ul li:before{
    content: "・";
    margin-left: -1em;
}

.line_product_menu .btn_link{
    margin:2em 0 3em;
}

/*------------------------------------*\
    craftsman_section
\*------------------------------------*/

.craftsman_section{
    padding: 3em 0 0;
}

h1.craftsman_header_text{
    line-height: 1.6;
    font-size: 1.4em;
}

.craftsman_img{
    padding: 1em 0;
}
.craftsman_img ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: start;
}
.craftsman_img ul li{
    display: table-cell;
    width: 49%;
    box-sizing: border-box;
    font-size: 0.8em;
    font-weight: normal;
    margin-right: 2%;
    margin-bottom: 1em;
}
.craftsman_img ul li:nth-of-type(2n) {
    margin-right: 0;
}
.craftsman_img ul li p{
    margin-bottom: 0.5em;
}
.craftsman_img ul li img {
  width: 100%;
}

@media screen and (max-width: 767px) {
    .craftsman_section{
        padding: 1em 0;
    }
    h1.craftsman_header_text{
        text-align: left;
    }
    .craftsman_section h2{
        margin: 2em 0;
    }
    .craftsman_img ul li{
        display: block;
        width: auto;
        margin-right: 0;
    }
    .craftsman_img.graduationwork ul li{
        display: table-cell;
        width: 47%;
        margin-right: 5%;
    }
    .craftsman_img.graduationwork ul li:nth-of-type(2n) {
        margin-right: 0;
    }
}

.competition_list ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: start;
}
.competition_list ul li{
    width: 49%;
    box-sizing: border-box;
    font-size: 0.9em;
    font-weight: normal;
    margin-right: 2%;
    margin-bottom: 1em;
    border-top: 1px solid #DCDCDC;
    padding: 1em 0;
}
.competition_list ul li:nth-of-type(2n) {
    margin-right: 0;
}
.competition_list ul li p{
    display: inline-block;
    vertical-align: top;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .competition_list ul li p{
        display: block;
        width: auto;
        margin: 0 0 1em 0;
    }
}

.outline_list h4{
    padding: 2em 0;
    border-top: 1px solid #DCDCDC;
}
.outline_list a{
    color: #C82832;
}
.outline_list.craftsman dl dt{
    width: auto;
    float: none;
    padding: 2em 0 1em;
    border-top: 1px solid #DCDCDC;
    font-weight: bold;
}
.outline_list.craftsman dl dd{
    width: auto;
    margin-left: 0;
    padding: 0 0 2em;
    border-top: none;
}
.outline_list.craftsman dl dt:first-child{
    border: none;
    padding: 1em 0;
}
p.o_text{
    padding-left:1.5em;
    text-indent:-1.5em;
    margin: 1em 0;
}


/*------------------------------------*\
    designer_section
\*------------------------------------*/
.designer_list ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: start;
}
.designer_list ul li{
    width: 15.4%;
    box-sizing: border-box;
    font-size: 0.9em;
    font-weight: normal;
    margin-right: 1.5%;
    margin-bottom: 1em;
    padding: 0 0 2em;
}
.designer_list ul li:nth-of-type(6n) {
    margin-right: 0;
}
.designer_list ul li a{
    display: block;
}
.designer_list ul li p:first-child{
    margin-bottom: 1em;
}
.designer_list ul li p:last-child{
    font-size: 0.8em;
}

@media screen and (max-width: 767px) {
    .designer_list ul li{
        width: 47.5%;
        margin-right: 5%;
        margin-bottom: 0;
        padding: 0 0 2em;
    }
        .designer_list ul li:nth-of-type(2n) {
        margin-right: 0;
    }
}

.designer_info{
    display: block;
}
.designer_info .d_img{
    display: inline-block;
    vertical-align: top;
    width: 39%;
    padding-right:2em;
}
.designer_info .d_img img {
  width: 100%;
}
.designer_info .d_box{
    width: 60%;
    display: inline-block;
}
.designer_info .d_box .d_name_jp{
    font-size: 1.7em;
    margin-top: 1em;
}
.designer_info .d_box .d_name_en{
    font-size: 0.8em;
    margin-bottom: 2em;
}
.designer_info .d_box .d_overview p{
    margin-bottom: 1em;
}
.designer_info .d_box .d_overview p:first-child{
    margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
    .designer_info .d_img{
        display: block;
        vertical-align: top;
        width: auto;
        padding-right:0;
    }
    .designer_info .d_box{
        display: block;
        width: 100%;
    }
}

.designer_series{
    border-top: 1px solid #DCDCDC;
    border-bottom: 1px solid #DCDCDC;
    padding: 2em 0;
    margin: 3em 0;
}
.designer_series h3{
    font-size: 1em;
    font-weight: normal;
    margin-bottom: 1em;
}

.designer_series .series_list ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: start;
}
.designer_series .series_list ul li{
    width: 48.5%;
    margin-right: 3%;
    box-sizing: border-box;
    font-size: 0.9em;
    font-weight: normal;
    margin-bottom: 1em;
    padding: 0;
}
.designer_series .series_list ul li:nth-of-type(2n) {
    margin-right: 0;
}
.designer_series .series_list ul li p{
    margin-bottom: 0.5em;
}
.designer_series .series_list ul li img{
    width: 100%;
}

@media screen and (max-width: 767px) {
    .designer_series{
        border-bottom: none;
        padding: 2em 0 0;
        margin: 3em 0 0;
    }
    .designer_series .series_list ul li{
        display: block;
        width: 100%;
        margin-right: 0;
        margin-bottom: 2em;
        padding: 0;
    }
}

.t_btn{
    font-size: 0.9em;
    text-align: center;
}
.t_btn a{
    position: relative;
    line-height: 1;
    padding: 1em 5em 1em 6em;
    border-bottom: 1px solid #282828;
}
.t_btn a::before{
    content: '';
    border-left: 8px solid #282828;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top:1.3em;
    left:6em;
    margin-left: -1em;
}
@media screen and (max-width: 767px) {
}



.news_list_s{
    width: 100%;
    margin: 0 0 5em;
}
.news_list_s ul{
    border-bottom: 1px solid #DCDCDC;
}
.news_list_s ul li{
    border-top: 1px solid #DCDCDC;
    padding: 1em 0;
    display: block;
    width: 100%;
    min-height:100px;
    position: relative;
    flex-wrap:wrap;
    box-sizing: border-box;

}
.news_list_s ul li p.n_date{
    margin-bottom: 1em;
    font-size: 0.8em;
    padding: 0 150px 0 0;
    color: #C82832;
}
.news_list_s ul li p.n_date span{
    padding-left: 2em;
    color: #282828;
}
.news_list_s ul li p.n_text{
    padding: 0 150px 0 0;
    min-height: 65px;
}
.news_list_s ul li p.n_text small {
    /*margin-left: 8px;*/
    line-height: 1.75;
}
.news_list_s ul li p.n_img{
    position: absolute;
    top: 1em;
    right: 0;
    width: 140px;
    height:100px;
    display: block;
    overflow: hidden;
}
.news_list_s ul li p.n_img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.news_archive {
  margin-top: 30px;
  text-align: right;
}
.news_archive a{
  font-size: 14px;
  color: #c82832;
}
@media screen and (max-width: 767px) {
   .news_list_s ul li p.n_img{
        position: absolute;
        top: 1em;
        right: 0;
        width: 120px;
        height:90px;
    }
    .news_list_s ul li p.n_date{
        margin-bottom: 1em;
        font-size: 0.8em;
        padding: 0 130px 0 0;
    }
    .news_list_s ul li p.n_date span{
        padding-left: 0;
        display: block;
    }
    .news_list_s ul li p.n_text{
        padding: 0 130px 0 0;
        min-height: 50px;
    }
    .news_archive {
      margin-top: 3.33333vw;
    }
    .news_archive a{
      font-size: 3.2vw;
    }
}
