 @charset "utf-8";

/*----------------------
 header
----------------------*/


/*----------------------
 .content
----------------------*/

.mt10 {
    margin-top: 10px!important;
}
.mt50 {
    margin-top: 50px!important;
}
.pb20 {
    padding-bottom: 20px!important;
}
.wf-sawarabimincho {
    font-family: "Sawarabi Mincho";
}
.link_area {
    padding: 20px 0px 20px 50px;
    background: #f8f8f8;
}
.link_area a {
    background: url(../img/to_detail@2x.png) no-repeat left center;
    background-size: 121px 23px;
    color: #e60019;
    font-size: 14px;
    padding: 5px 0px 5px 130px;
    display: block;
}
#Company_Contents {
    padding-bottom: 80px;
    font-family: 'Noto Sans Jp', sans-serif;
    font-feature-settings: "palt";
    text-align: justify;
    color: #333;
}
#Company_Contents .company_Title img {
    margin-bottom: 20px;
}
#Company_Contents .contentsarea .company_Title {
    text-align: center;
    font-size: 22px;
    padding: 20px 0px 45px;
    background: none;
    height: auto;
    line-height: 1.5em;
}
#Company_Contents .companytop .company_Title {
    text-align: center;
    font-size: 24px;
    padding: 20px 0px 50px;
}
.companytop ul {
    overflow: hidden;
}
.companytop ul li:nth-child(1) {
    background-image: url(../img/photo_president@2x.jpg);
}
.companytop ul li:nth-child(2) {
    background-image: url(../img/photo_outline@2x.jpg);
}
.companytop ul li:nth-child(3) {
    background-image: url(../img/photo_office@2x.jpg);
}
.companytop ul li:nth-child(4) {
    background-image: url(../img/photo_message@2x.jpg);
}
.companytop ul li {
    float: left;
    width: 25%;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height: 200px;
}
.companytop ul li:nth-child(3),
.companytop ul li:nth-child(6) {
    width: 25%;
}
.companytop ul li a {
    padding: 50px 0px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 300;
    display: block;
    height: 200px;
    line-height: 1.5em;
}
.companytop ul li:hover {
    opacity: 0.5;
}
.companytop ul li a img {
    margin-bottom: 10px;
    display: block;
    margin: 0px auto 10px;
}
.companytop ul.second li,
.companytop ul.blanklink li {
    width: 25%;
    height: 200px;
}
.companytop ul.second li a,
.companytop ul.blanklink li a {
    padding: 50px 0px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 300;
    display: block;
    height: 200px;
}
.companytop ul.second li:nth-child(1) {
    background-image: url(../img/photo_meister.jpg);
}
.companytop ul.second li:nth-child(2) {

    background-image: url(../img/photo_factory@2x.jpg);
}
.companytop ul.second li:nth-child(3) {

    background-image: url(../img/photo_quality@2x.jpg);
}
.companytop ul.second li:nth-child(4) {
    background-image: url(../img/photo_rd@2x.jpg);
}
.companytop ul.blanklink li:nth-child(1) {
    background-image: url(../img/photo_activity@2x.jpg);
}
.companytop ul.blanklink li:nth-child(2) {
    background-image: url(../img/photo_csr@2x.jpg);
}
.companytop ul.blanklink li:nth-child(3) {
    background-image: url(../img/photo_world@2x.jpg);
}
.companytop ul.blanklink li:nth-child(4) {
    background-image: url(../img/photo_recruit@2x.jpg);
}
.to_global a {
    background: url(../img/photo_global@2x.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height: 90px;
    text-align: center;
    display: block;
    color: #fff;
    font-size: 21px;
    vertical-align: middle;
    padding-top: 60px;
    line-height: 1em;
    margin-top: 70px;
}
.to_global a:hover {
    opacity: 0.5;
}
.to_global a img {
    vertical-align: middle;
    margin-right: 10px;
    margin-top: -5px;
}
#Company_Contents .contact ul li h2 {
    padding-top: 70px;
    font-size: 18px;
    margin-bottom: 40px;
}
#Company_Contents h2.title {
    font-size: 18px;
    padding: 70px 0px 50px;
    text-align: center;
}
#Company_Contents h2.title2 {
    font-size: 18px;
    padding: 50px 0px 50px;
    text-align: center;
}
.link_btn {
    border: 1px solid #333;
    padding: 20px 0px;
    background: url(../img/arrow.png) no-repeat center right 10px;
    margin: 20px 10px 0px;
    font-size: 18px;
    width: 320px;
    display: block;
    text-align: center;
    margin: 0px auto 20px;
}
.link_btn2 {
    border: 1px solid #333;
    padding: 15px 0px;
    background: url(../img/arrow.png) no-repeat center right 10px;
    margin: 20px 10px 0px;
    font-size: 13px;
    width: 260px;
    display: block;
    text-align: center;
    margin: 20px auto;
}
.contact ul.border {
    border-bottom: 1px solid #ccc;
}
.bg_col {
    background: #f8f8f8;
    padding: 50px 0px 80px;
}
.contentsarea {
    width: 960px;
    margin: 0px auto;
}
#Company_Contents .maintitle .contentsarea p{
    text-align: center;
    font-size: 22px;
    padding: 20px 0 45px;
    background: 0 0;
    height: auto;
    line-height: 1.5em;
}
.president {
    text-align: center;
    background: transparent;
}
.president p {
    font-size: 16px;
    line-height: 2.5em;
    padding: 0px 0px 50px;
}
.president h3 span {
    font-size: 14px;
    display: inline-block;
    margin-right: 20px;
}
.president h3 {
    font-size: 18px;
}
#Company_Contents h2 {
    background: url(../img/arrow.png) no-repeat left center;
    font-size: 16px;
    color: #666;
    padding: 15px 25px;
    border-bottom: 1px solid #e4e4e4;
    margin-bottom: 25px;
}
#Company_Contents .president h2 {
    font-size: 14px;
    margin: 30px 0px 15px;
    background: none;
    border: none;
    padding: 0px;
    color: #333;
}
#Company_Contents h2 span {
    font-size: 14px;
}
.office table {
    width: 100%;
    margin-bottom: 45px;
    border-collapse: collapse;
    border-spacing: 0;
}
.office table.en {
    margin-bottom: 0px;
}
.office table thead th {
    background: #a6a6a4;
    text-align: center;
    font-size: 14px;
    padding: 10px 0px;
    color: #fff;
    vertical-align: middle;
}
.office table td,
.office table th {
    font-size: 14px;
    padding: 20px;
    padding-right: 0px;
    border-bottom: 1px solid #a6a6a4;
    line-height: 1.5em;
    vertical-align: middle;
}
.office .col1 {
    width: 23%;
    border-right: 1px solid #fff;
}
.office .col1en {
    width: 27%;
    border-right: 1px solid #fff;
}
.office .col2 {
    width: 12%;
}
.outline table {
    width: 100%;
    margin-bottom: 45px;
    border-collapse: collapse;
    border-spacing: 0;
}
.outline table.history {
    margin-bottom: 0px;
}
.outline table.outline th,
.outline table.outline td {
    border: 1px solid #a6a6a4;
    padding: 15px;
    font-size: 16px;
    line-height: 1.8em;
}
.outline table.outline td a {
    color: #e60019;
    display: inline-block;
    margin-left: 10px;
}
.outline table.outline td a:hover {
    text-decoration: underline;
}
.outline table.outline th span {
    font-size: 13px;
}
.outline table.outline td {
    background: #fff;
}
.outline table.history th {
    width: 120px;
}
.outline table.history th,
.outline table.history td {
    padding: 15px;
    font-size: 14px;
    line-height: 1.8em;
}
.outline table.history td {
    border-left: 1px solid #a6a6a4;
}

/* message */

.message .bg_col {
    padding-top: 0px;
}
.mainbk {
    background: url(../message/img/main_photo@2x.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    text-align: center;
    padding-top: 170px;
    height: 290px;
    width: 960px;
    margin: 0px auto;
}
#Company_Contents .mainbk h2 {
    display: inline-block;
    color: #fff;
    font-family: "Sawarabi Mincho";
    font-size: 36px;
    border: none;
    letter-spacing: 5px;
    background: none;
}
.message h2 span {
    font-family: 'Noto Sans Jp', sans-serif;
    font-size: 16px;
    display: block;
    padding-bottom: 24px;
    border-bottom: 1px solid #fff;
    margin-bottom: 25px;
}
.message_txt p {
    font-size: 16px;
    line-height: 2.5em;
    padding: 50px 0px 50px;
    text-align: center;
}
.message .vision {
    overflow: hidden;
    text-align: center;
}
.message .vision .left {
    background: #fff;
    float: left;
    width: 460px;
    height: 450px;
}
.message .vision .left p {
    font-size: 18px;
    line-height: 2.5em;
    font-weight: 400;
    margin-top: 10px;
}
.message .vision .left h3 {
    background: url(../message/img/icon_bk01.png) no-repeat center center;
    color: #fff;
    padding: 100px 0px;
    color: #fff;
    font-size: 16px;
    margin-top: 10px;
}
.message .vision .right {
    background: #fff;
    float: right;
    width: 460px;
    height: 450px;
}
.message .vision .right h3 {
    background: url(../message/img/icon_bk02.png) no-repeat center center;
    color: #fff;
    text-align: center;
    padding: 100px 0px;
    color: #fff;
    font-size: 16px;
    margin-top: 10px;
}
.message .vision .right p {
    font-size: 14px;
    line-height: 1.5em;
    font-weight: 400;
    margin-top: 10px;
}
.yurai {
    text-align: center;
    margin-top: 60px;
}
.yurai p.red {
    font-size: 18px;
    color: #e70012;
    line-height: 2.5em;
    padding: 40px 0px 0px;
    font-weight: 500;
}
.yurai p {
    font-size: 14px;
    line-height: 2.5em;
    padding: 40px 0px 0px;
    text-align: center;
}
#Company_Contents .yurai h2 {
    display: block;
    color: #333;
    font-family: "Sawarabi Mincho";
    font-size: 36px;
    border: none;
    letter-spacing: 5px;
    background: none;
    margin-bottom: 40px;
}
.yurai h2 span {
    font-family: 'Noto Sans Jp', sans-serif;
    font-size: 16px;
    display: block;
    padding-bottom: 24px;
    border-bottom: 1px solid #333;
    margin-bottom: 25px;
}
.yurai h2 span.smf {
    font-family: "Sawarabi Mincho";
    border: none;
    margin-bottom: 15px;
    font-size: 24px;
    padding-bottom: 0px;
}

/* global */

.global p {
    font-size: 14px;
    line-height: 2em;
    padding: 10px 0px 50px;
}
.global_bk {
    background: url(../global/img/global_bk@2x.png);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    padding: 70px;
    margin-bottom: 50px;
}
ul.global_link {
    width: 960px;
    margin: 0px auto;
    overflow: hidden;
}
ul.global_link li {
    float: left;
    width: 90%;
    padding: 0% 5%;
}
ul.global_link li a {
    display: block;
    border: 1px solid #fff;
    padding: 70px 20px 50px;
    font-size: 30px;
    color: #fff;
    text-align: center;
}
ul.global_link li a:hover {
    opacity: 0.5;
}
ul.global_link li a span {
    font-size: 24px;
}
ul.global_link li a p {
    font-size: 14px;
    padding-bottom: 70px;
    background: url(../global/img/white_arrow.png) no-repeat bottom center;
    padding-top: 30px;
}
ul.global_link li a p.ch {
    font-size: 18px;
}
ul.overseas_link {
    overflow: hidden;
}
ul.overseas_link li {
    float: left;
    width: 48%;
    background: #fff;
}
ul.overseas_link li:last-child {
    float: right;
}
ul.overseas_link li a {
    text-align: center;
    border: 1px solid #929292;
    padding: 60px 0px 35px;
    font-size: 18px;
    display: block;
}
ul.overseas_link li a:hover {
    opacity: 0.5;
}
ul.overseas_link li a span {
    display: block;
    margin: 20px auto 10px;
    padding-bottom: 50px;
    background: url(../global/img/arrow.png) no-repeat bottom center;
}

/*csr*/

.csr_mainbk {
    /*background: url(../csr/img/main_photo@2x.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;*/
    max-width: 960px;
    position: relative;
    width: 100%;
    padding-top: 540px;
    text-align: center;
    margin: 0px auto 70px;
}
.csr_mainbk iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.csr #Company_Contents h2.main {
    text-align: center;
    color: #333;
    font-family: "Sawarabi Mincho";
    font-size: 36px;
    border: none;
    letter-spacing: 5px;
    background: none;
    line-height: 1.5em;
}
.csr_txt p {
    font-size: 16px;
    line-height: 2.5em;
    padding: 50px 0px 50px;
    text-align: center;
}
.scene {
    background: url(../csr/img/scene@2x.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height: 250px;
}
.csr .ambassador {
    overflow: hidden;
    margin-top: 70px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e6e6e6;
    margin-bottom: 30px;
}
.csr .ambassador .left {
    width: 50%;
    float: left;
}
.csr .ambassador .right {
    width: 50%;
    float: right;
}
.csr .ambassador .right h3 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5em;
}
.csr .ambassador .right p {
    text-align: left;
    font-size: 14px;
    line-height: 2em;
    margin-top: 20px;
}
.csr .ambassador .right img {
    display: block;
    margin: 10px auto;
}
.csr .bg_col {
    padding-top: 0px;
}
#Company_Contents .kit {
    text-align: center;
}
#Company_Contents .kit h2 {
    font-size: 24px;
    background: none;
    border: none;
}
#Company_Contents .kit h2 span {
    font-size: 18px;
    display: block;
    margin-bottom: 15px;
    background: none;
    border: none;
}
#Company_Contents .kit p {
    text-align: center;
    font-size: 14px;
    line-height: 2em;
    margin-bottom: 50px;
}
#Company_Contents .kit ul {
    overflow: hidden;
}
#Company_Contents .kit ul li {
    width: 100%;
    text-align: center;
    float: left;
}
#Company_Contents .kit ul li h3 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 30px;
}
.link_btn3 {
    border: 1px solid #333;
    padding: 12px 0px;
    background: url(../img/circle_arrow.png) no-repeat center right 10px;
    margin: 20px 10px 0px;
    font-size: 12px;
    width: 260px;
    display: block;
    text-align: center;
    margin: 40px auto 0px;
}
.link_btn3:hover {
    border: 1px solid #e60019;
    padding: 12px 0px;
    background: url(../img/arrow_red.png) no-repeat center right 10px;
    margin: 20px 10px 0px;
    font-size: 12px;
    width: 260px;
    display: block;
    color: #e60019;
    text-align: center;
    margin: 24px auto 0px;
}

/* world */

#Company_Contents h2.worldtitle {
    display: block;
    color: #333;
    font-family: "Sawarabi Mincho";
    font-size: 36px;
    border: none;
    letter-spacing: 5px;
    background: none;
    line-height: 1.5em;
    text-align: center;
}
.worldarea {
    overflow: hidden;
    margin: 50px 0px;
}
.worldarea .left {
    width: 50%;
    float: left;
}
.worldarea .right {
    width: 50%;
    float: right;
}
.worldarea .right p {
    font-size: 14px;
    line-height: 2.5em;
}
.cap {
    font-size: 14px;
    margin-top: 10px;
}
.cap2 {
    font-size: 12px;
    text-align: right;
    margin-top: 10px;
}
.export {
    text-align: center;
}
.export h3 {
    font-size: 22px;
    margin-bottom: 20px;
    margin-top: 40px;
}
.export h3 span {
    font-size: 14px;
    margin-top: 10px;
    display: block;
}
.detailinfo {
    background: #fff;
    padding: 30px 40px 20px;
    margin-bottom: 50px;
}
.detailinfo h3 {
    font-weight: 500;
    font-size: 18px;
}
.detailinfo p {
    font-size: 14px;
    line-height: 2em;
    padding: 10px 0px 20px;
}
ul.tab {
    overflow: hidden;
    margin-top: 50px;
}
ul.tab li {
    float: left;
    width: 159px;
    border-right: 1px solid #fff;
}
ul.tab li a {
    display: block;
    text-align: center;
    background: url(../world/img/bk.png) no-repeat top center #fff;
    padding: 16px 0px 40px;
    font-size: 16px;
    color: #666;
}
.area02txt,
.area03txt,
.area04txt,
.area05txt,
.area06txt {
    display: none;
}
area {
    border: none;
    outline: none;
}
.world_info {
    background: #a6a6a4;
    padding: 20px 0px;
}
.world_info p {
    color: #fff;
    font-size: 14px;
    line-height: 2em;
}
.sp_only {
    display: none!important;
}
.pc_only {
    display: block!important;
}
.pc_only_inline {
    display: inline-block!important;
}
ul.tab li a:hover {
    opacity: 0.5;
}
ul.tab li a.on:hover {
    opacity: 1;
}
ul.tab li:nth-child(1) a.on {
    background: url(../world/img/bk01_on.png) no-repeat top center #fff;
    color: #333;
}
ul.tab li:nth-child(2) a.on {
    background: url(../world/img/bk02_on.png) no-repeat top center #fff;
    color: #333;
}
ul.tab li:nth-child(3) a.on {
    background: url(../world/img/bk03_on.png) no-repeat top center #fff;
    color: #333;
}
ul.tab li:nth-child(4) a.on {
    background: url(../world/img/bk04_on.png) no-repeat top center #fff;
    color: #333;
}
ul.tab li:nth-child(5) a.on {
    background: url(../world/img/bk05_on.png) no-repeat top center #fff;
    color: #333;
}
ul.tab li:nth-child(6) a.on {
    background: url(../world/img/bk06_on.png) no-repeat top center #fff;
    color: #333;
}

/* factory */

.factory .bg_col {
    padding-top: 0px;
}
.factory p {
    font-size: 14px;
    line-height: 2em;
}
.factory_txt p {
    font-size: 16px;
    line-height: 2.5em;
    padding: 30px 0px 30px;
    text-align: center;
}
.factoryleftright {
    overflow: hidden;
    padding-bottom: 30px;
}
.factoryleftright .left {
    float: left;
    width: 50%;
}
.factoryleftright .right {
    float: right;
    width: 45%;
}
.alignright {
    float: right;
    margin-left: 20px;
}
.factoryphotoarea {
    padding-bottom: 30px;
    overflow: hidden;
    padding-top: 30px;
}
.factoryphotoarea img {
    float: left;
    margin-right: 20px;
}
.factoryphotoarea h3 {
    font-size: 14px;
    font-weight: 500;
}
.factorybannerarea {
    padding: 60px 0 0 0;
}
.iframe-content {
    margin-top: 30px;
    margin-bottom: 30px;
}
.factory .step {
    padding-bottom: 30px;
    text-align: center;
}
.factory .step p {
    font-size: 16px;
}
.photonavi {
    margin-top: 30px;
    border-bottom: 1px solid #686868;
    margin-bottom: 30px;
    position: relative;
    height: 200px;
}
.photonavi ul {
    overflow: hidden;
    z-index: 10;
    bottom: -1px;
    position: absolute;
}
.photonavi ul li {
    float: left;
    padding-bottom: 30px;
}
.photonavi ul li.arrow {
    padding: 30px 5px 0px;
}
.factory .step .photonavi ul li a {
    display: block;
    padding: 5px;
    border: 1px solid #f8f8f8;
}
.factory .step .photonavi ul li.on {
    background: url(../factory/img/arrow_current.png) no-repeat bottom center;
}
.factory .step .photonavi ul li.on a {
    border: 1px solid #333;
}
.factory .step .photonavi ul li a:hover {
    opacity: 0.5;
}
.factory .step .photonavi ul li a p {
    font-size: 14px;
    text-align: center;
    font-weight: 500;
    padding-top: 10px;
    line-height: 1.8em;
}
.stepdetail {
    margin-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #686868;
}
.stepdetail .step02,
.stepdetail .step03,
.stepdetail .step04,
.stepdetail .step05 {
    display: none;
}
.stepdetail li {
    text-align: left;
    padding: 0px 10px;
}
.stepdetail li h3 {
    font-size: 16px;
    font-weight: 500;
    padding: 15px 0px;
}
.stepdetail li h3.small {
    font-size: 16px;
    font-weight: 500;
    padding: 0px 0px 15px;
}
.stepdetail li h3 span {
    font-size: 36px;
    display: inline-block;
    vertical-align: sub;
    margin-right: 10px;
}
.factory .step .stepdetail li p {
    font-size: 14px;
    line-height: 1.8em;
}
.factory .step .stepdetail li p.small {
    font-size: 12px;
    text-align: center;
    padding-top: 3px;
    line-height: 1em;
}
.factoryimg {
    display: block;
    margin: 0px auto;
}
.question {
    overflow: hidden;
    padding: 40px 0 74px;
    border-bottom: 1px solid #e6e6e6;
    margin: 0 0 30px;
}
.question p{
    text-align: center;
    font-size: 24px;
    font-weight: 500;
	padding-bottom: 40px;
	letter-spacing: 0.01em;
}
.question .answer{
	overflow: hidden;
	padding-bottom: 14px;
}
.question .answer:nth-child(6){
	padding-bottom: 39px;
}
.question  .answer .profile_rap{
	width: 176px;
}
.question  .answer:nth-child(odd) .profile_rap{
	width: 172px;
}
.question  .answer:nth-child(odd) .profile_rap div{
	margin: 6px auto 0;
}
.question  .answer .profile_rap div{
    width: 94px;
	margin: 8px auto 0;
	padding-bottom: 9px;
}
.question .answer:nth-child(even) .profile_rap{
    float: left;
}
.question .answer:nth-child(odd) .profile_rap{
    float: right;
}
.question .answer .profile_rap p{
	font-size: 16px;
    padding: 0;
    line-height: 1.5;
}
.question .answer p{
	font-size: 16px;
}

.question .answer .answer_txt{
    position: relative;
    padding: 25px 25px 25px 22px;
    border-radius: 22px;
    background-color: #fff;
    width: 695px;
}
.question .answer:nth-child(even) .answer_txt{
    margin: 5px 0 0 173px;
}
.question .answer:nth-child(odd) .answer_txt{
    margin: 5px 41px 0 43px;
    padding: 25px 25px 25px 22px;
}
.question .answer.type01 .answer_txt{
    border: 3px solid #e1bace;
}
.question .answer.type02 .answer_txt{
    border: 3px solid #95b1ca;
}
.question .answer.type03 .answer_txt{
    border: 3px solid #bbafd3;
}
.question .answer:nth-child(9){
	padding-bottom: 35px;
}
.question .answer:nth-child(11){
	padding-bottom: 33px;
}
.question .answer:nth-child(12){
	padding-bottom: 15px;
}
.question .answer:nth-child(13){
	padding-bottom: 34px;
}
.question .answer:nth-child(14){
	padding-bottom: 37px;
}
.question .answer:last-child{
	padding-bottom: 0;
}
.question .answer:nth-child(9) .answer_txt{
	padding: 25px 23px 25px 23px;
}
.question .answer:nth-child(7) .answer_txt{
	padding: 25px 15px 25px 31px;
}
.question .answer:nth-child(9) .answer_txt:before,
.question .answer:nth-child(11) .answer_txt:before,
.question .answer:nth-child(13) .answer_txt:before,
.question .answer:nth-child(15) .answer_txt:before{
  top: 67px;
}
.question .answer:nth-child(9) .answer_txt:after,
.question .answer:nth-child(11) .answer_txt:after,
.question .answer:nth-child(13) .answer_txt:after,
.question .answer:nth-child(15) .answer_txt:after{
  top: 67px;
}
.question .answer .answer_txt:before{
  content: "";
  position: absolute;
  top: 60px;
  margin-top: -24px;
  border: 10px solid transparent;
  border-right: 24px solid #FFF;
  z-index: 2;
}
.question .answer .answer_txt:after{
  content: "";
  position: absolute;
  top: 60px;
  margin-top: -24px;
  border: 10px solid transparent;
  z-index: 1;
}
.question .answer:nth-child(even) .answer_txt:before{
  left: -28px;
}
.question .answer:nth-child(even) .answer_txt:after{
    left: -35px;
}
.question .answer:nth-child(odd) .answer_txt:before{
  right: -18px;
  border-left: 24px solid #FFF;
  border-right: none;
}
.question .answer:nth-child(odd) .answer_txt:after{
    right: -25px;
}
.question .answer.type01 .answer_txt:after{
  border-right: 24px solid #e1bace;
}
.question .answer.type02 .answer_txt:after{
  border-left: 24px solid #95b1ca;
  border-right: none;
}
.question .answer.type03:nth-child(even) .answer_txt:after{
  border-right: 24px solid #bbafd3;
}
.question .answer.type03:nth-child(odd) .answer_txt:after{
  border-left: 24px solid #bbafd3;
  border-right: none;
}
.question .answer .answer_txt p:first-child{
    padding: 0 0 13px;
    text-align: left;
	font-weight: 600;
}
.question .answer.type01 .answer_txt p:first-child{
	color: #dfb4ca;
}
.question .answer.type02 .answer_txt p:first-child{
	color: #95b1ca;
}
.question .answer.type03 .answer_txt p:first-child{
	color: #bbafd3;
}
.question .answer .answer_txt p:last-child{
    padding: 0;
    text-align: left;
    line-height: 1.5;
	color: #111;
	letter-spacing: normal;
}
/*activity*/
#Company_Contents.activity {
    margin-bottom:0;
    padding-bottom: 0;
}
.activity section:first-child{
    margin-top: 20px;
    margin-bottom: 30px;
}
#Company_Contents .contentsarea .activitytitle{
    font-size: 30px;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP",  sans-serif;
    line-height: 1.66;
    padding: 20px 0px 35px;
    font-weight: 500;
    text-align: center;
    color: #333;
}
.flexBox{
    display: flex;
}
.flexBox.type02{
    flex-direction: row-reverse;
}
.flexBox .flexImg,
.flexBox .flexText{
    width: 49%;
}
.flexBox .flexText p:first-of-type{
    margin-bottom: 27px;
}

#Company_Contents .contentsarea .boxTitle{
    font-size: 24px;
    font-family: "Noto Serif JP",  sans-serif;
    line-height: 2;
    background: none;
    color: #111;
    border: none;
    padding: 0;
    margin: 0 0 12px;
    text-align: left;
    letter-spacing: 0.05em;
    font-weight: 500;
}
#Company_Contents .contentsarea .boxTitle span{
    font-size: 24px;
    letter-spacing: 0.05em;
    font-weight: 500;
}
#Company_Contents .contentsarea .cont .boxTitle{
    text-align: center;
    line-height: 1.41;
    margin: 0 0 20px;
}
.activity p{
    font-size: 15px;
    letter-spacing: 0.05em;
    line-height: 1.73;
    color: #000;
    font-weight: 500;
}
.tabContentArea{
    position: relative;
    box-sizing: border-box;
    margin-top: 10px;
}
.activity ul.tab{
    margin:0;
    position: absolute;
    display: flex;
    width: 100%;
    box-sizing: border-box;
}
.activity ul.tab li{
    max-width: 318px;
    width: 100%;
    margin-right: 3px;
    border: none;
    float: none;
}
.activity ul.tab li:last-child{
    margin-right: 0;
}
.activity ul.tab li a{
    font-size: 21px;
    font-family: "Noto Serif JP",  sans-serif;
    line-height: 2.38;
    letter-spacing: 0.05em;
    color: #111;
    padding: 7px 0 40px;
    background-size: contain;
}
.activity ul.tab li:first-of-type a{
    background: url(../activity/img/tab01.png) no-repeat top center/contain;
}
.activity ul.tab li:nth-of-type(2) a{
    background: url(../activity/img/tab02.png) no-repeat top center/contain;
}
.activity ul.tab li:last-of-type a{
    background: url(../activity/img/tab03.png) no-repeat top center/contain;
}
.activity ul.tab li:first-of-type a.on{
    background: url(../activity/img/tab01_on.png) no-repeat top center/contain;
}
.activity ul.tab li:nth-of-type(2) a.on{
    background: url(../activity/img/tab02_on.png) no-repeat top center/contain;
}
.activity ul.tab li:last-of-type a.on{
    background: url(../activity/img/tab03_on.png) no-repeat top center/contain;
}
.activity .detailinfo {
    background: #fff;
    padding: 61px 0 30px;
    margin-bottom: 30px;
    border: 1px solid #acabab;
    border-top: none;
    box-sizing: border-box;
}
.activity .areatxt{
    border-top: 1px solid #acabab;
    padding: 47px 40px;
    box-sizing: border-box;
}
.activity .cont{
    border-bottom: 1px solid #e6e6e6;
    margin-bottom: 40px;
    padding-bottom: 35px;
}
.activity .cont:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.activity .areatxt p{
    text-align: center;
    padding: 0 0 35px;
}
.activity .areatxt p.smallText{
    padding: 0;
}
.activity .areatxt .flexImg p{
    text-align: left;
}
.activity .detailinfo h3{
    font-size: 21px;
    font-family: "Noto Serif JP",  sans-serif;
    letter-spacing: 0.05em;
    color: #111;
    margin-left: 15px;
    margin-bottom: 7px;
}
.detailinfo .flexBox .flexImg,
.detailinfo .flexBox .flexText{
    width: 49%;
}
.flexBox .flexText{
    margin-top: 26px;
}
.activity .areatxt .periodText{
    font-size: 19px;
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", sans-serif;
    line-height: 1.3;
}
.activity .areatxt .periodText span{
    font-weight: bold;
    color: #ff0000;
}

#Company_Contents .contentsarea .cont .flexBox .boxTitle {
    text-align: left;
}
#Company_Contents .contentsarea .flexBox .flexImg p {
    text-align: left;
    padding: 0;
    margin-top: 9px;
}
.detailinfo .cont .flexBox .flexText{
    margin-left: 30px;
}
.detailinfo .area01txt .flexBox .flexImg{
    margin-left: 80px;
}
.detailinfo .area01txt .flexBox .flexImg:first-child{
    margin-left: 0;
}
.detailinfo .flexBox.type02 .flexText{
    margin-right: 20px;
    margin-left: 0;
}
.detailinfo .cont .imgBox{
    margin-bottom: 20px;
}
.detailinfo .cont .imgBox img{
    margin-bottom: 23px;
}
.area03txt .flexBox .flexText p{
    text-align: left;
}
.activity .areatxt .tblContainer table th,
.activity .areatxt .tblContainer table td {
    border: 1px solid #e3f3f2;
    text-align: center;
}
.activity .areatxt .tblContainer table tbody td {
    font-weight: 600;
    font-size:17px;
}
.activity .areatxt .tblContainer table + p {
    text-align: right;
    font-size:14px;
    margin-top: 8px;
}
.activity .areatxt .tblContainer table {
    width: 100%;
    font-size:15px;
}
.activity .areatxt .tblContainer table thead td {
    background: #f8ffec;
}
.activity .areatxt .tblContainer table th {
     background: #e8f5d3;
 }
@media screen and (min-width: 770px) {
    .activity .areatxt .tblContainer table {
        width: 100%;
        display: grid;
        grid-template-columns: 12% 1fr;
        font-size:15px;
    }
    .activity .areatxt .tblContainer table th,
    .activity .areatxt .tblContainer table td {
        display: block;
        font-weight: 500;
        padding: 16px 8px;
        border: 1px solid #e3f3f2;
        text-align: center;
    }
    .activity .areatxt .tblContainer thead tr {
        width:100%;
        display:block;
    }
    .activity .areatxt .tblContainer tbody {
        display:flex;
    }
    .activity .areatxt .tblContainer tbody tr {
        width:calc(100% / 8);
    }
}

@media screen and (max-width: 769px) {
    .sp_only {
        display: block!important;
    }
    .pc_only,
    .pc_only_inline {
        display: none!important;
    }
    #Company_Contents *,
    #Company_Contents *:before,
    #Company_Contents *:after {
        -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 {
        max-width: 100%!important;
        height: auto;
    }
    #Company_Contents {}
    .contentsarea {
        width: 100%;
        padding: 10px;
    }
    #Company_Contents .maintitle .contentsarea p {
        text-align: center;
        font-size: 22px;
        padding: 20px 0;
    }
    .bg_col {
        background: #f8f8f8;
        padding: 30px 10px;
    }
    .president{
        background: transparent;
    }
    .qa {
        padding: 0px 10px;
    }
    dl.q dd {
        font-size: 16px;
        display: inline-block;
        padding-left: 0px;
        width: 90%;
        float: right;
        padding-right: 30px;
        line-height: 1.4em;
        float: left;
    }
    dl.q dt {
        font-size: 18px;
        font-weight: 700;
        display: inline-block;
        width: 22px;
        line-height: 1.2em;
        float: left;
    }
    dl.a dd {
        font-size: 14px;
        display: inline-block;
        padding-left: 0px;
        line-height: 2em;
        width: 90%;
        float: left;
        padding-right: 10px;
    }
    dl.a dt {
        font-size: 18px;
        color: #e60019;
        display: inline-block;
        vertical-align: top;
        margin-top: 5px;
        font-weight: 700;
        width: 22px;
        float: left;
        /* line-height: 2em; */
    }
    dl.q {
        cursor: pointer;
        background: url(../img/arrow_of.png) no-repeat right center;
    }
    dl.up {
        background: url(../img/arrow_on.png) no-repeat right center!important;
    }
    #Company_Contents h1 {
        text-align: center;
        font-size: 22px;
        padding: 20px 0px 20px;
    }
    #Company_Contents h1 img {
        margin-bottom: 10px;
    }
    .link_btn,
    .link_btn:hover,
    .link_btn2,
    .link_btn2:hover {
        width: 100%;
        font-size: 16px;
    }
    #Company_Contents h2.title2 {
        padding: 20px 0px;
    }
    #Company_Contents .contentsarea {
        padding: 10px 0px;
    }
    .office table thead th {
        background: #a6a6a4;
        text-align: center;
        font-size: 14px;
        padding: 10px 5px;
        color: #fff;
        vertical-align: middle;
    }
    .office table td,
    .office table th {
        font-size: 14px;
        padding: 5px;
        border-bottom: 1px solid #a6a6a4;
        line-height: 1.5em;
        text-align: left;
        vertical-align: middle;
    }
    .office .col1 {
        width: 23%;
        border-right: 1px solid #fff;
    }
    .office .col1en {
        width: 23%;
        border-right: 1px solid #fff;
    }
    .office .col2 {
        width: 24%;
    }
    .companytop ul li {
        width: 100%;
    }
    .companytop ul li:nth-child(3),
    .companytop ul li:nth-child(6) {
        width: 100%;
    }
    .companytop ul.second li,
    .companytop ul.blanklink li {
        width: 50%;
    }
    .to_global a {
        height: 150px;
    }
    .mainbk {
        height: auto;
        padding: 50px 0px;
        width: 100%;
    }
    .csr_mainbk {
        height: auto;
        padding-top: 56.25%;
        width: 100%;
        margin-bottom: 30px;
    }
    .csr #Company_Contents h2.main {
        font-size: 25px;
        line-height: 1.5em;
        padding: 10px 0px;
    }
    .message .vision .right,
    .message .vision .left {
        width: 100%;
        padding: 0px 10px 20px;
        height: auto;
        margin: 20px 0px;
    }
    .message .bg_col,
    .csr .bg_col {
        padding: 0px 0px 30px;
    }
    .message_txt p {
        padding: 30px 10px;
    }
    .yurai p {
        font-size: 14px;
        line-height: 2.5em;
        padding: 40px 10px 0px;
        text-align: center;
    }
    #Company_Contents .yurai h2 {
        line-height: 1.5em;
        padding: 10px 0px;
    }
    .yurai {
        text-align: center;
        margin-top: 60px;
        padding: 0px 10px;
    }
    ul.global_link {
        width: 100%;
    }
    .global_bk {
        background: url(../global/img/global_bk@2x.png);
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        padding: 50px 10px;
        margin-bottom: 50px;
    }
    ul.global_link li {
        float: left;
        width: 100%;
        padding: 0px;
        margin: 5px 0px;
    }
    ul.overseas_link li {
        float: left;
        width: 100%;
        background: #fff;
        margin: 5px 0px;
    }
    #Company_Contents .kit {
        padding: 0px 10px;
    }
    #Company_Contents .kit ul li {
        width: 100%;
        text-align: center;
        float: left;
    }
    .csr .ambassador .left {
        width: 100%;
        float: left;
    }
    .csr_txt p {
        padding: 10px;
    }
    .csr .ambassador .left img {
        width: 80%;
        display: block;
        margin: 0px auto 10px;
    }
    .csr .ambassador .right {
        width: 100%;
        float: right;
        padding: 0px 10px;
    }
    .scene {
        height: 150px;
    }
    .link_btn3,
    .link_btn3:hover {
        width: 100%;
        margin-bottom: 40px;
    }
    #Company_Contents .kit h2 {
        padding-left: 0px;
        padding-right: 0px;
    }
    .worldarea .left {
        width: 100%;
        float: left;
        text-align: center;
        margin-bottom: 30px;
    }
    .worldarea .right {
        width: 100%;
        float: right;
    }
    .worldarea .right p {
        line-height: 2em;
    }
    #Company_Contents h2.worldtitle {
        display: block;
        color: #333;
        font-family: "Sawarabi Mincho";
        font-size: 26px;
        padding: 10px;
    }
    .worldarea {
        overflow: hidden;
        margin: 20px 0px;
    }
    .detailinfo {
        background: #fff;
        padding: 30px 10px 20px;
        margin-bottom: 30px;
    }
    ul.tab {
        background: #fff;
    }
    ul.tab li {
        width: 16.6%;
    }
    ul.tab li a {
        display: block;
        text-align: center;
        background: url(../world/img/bk.png) no-repeat top center #fff;
        padding: 18px 0px 35px;
        font-size: 12px;
        color: #666;
    }
    .detailinfo {
        background: #fff;
        padding: 10px 10px 20px;
        margin-bottom: 30px;
    }
    .world_info p {
        color: #fff;
        font-size: 14px;
        line-height: 2em;
        padding: 0px 10px;
    }
    .iframe-content {
        position: relative;
        width: 100%;
        padding: 56% 0 0 0;
    }
    .iframe-content iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .photonavi ul li {
        float: left;
        padding-bottom: 30px;
        width: 17%;
        height: 200px;
    }
    .photonavi ul li.arrow {
        width: 3%;
        text-align: center;
    }
    .factoryleftright .left {
        float: left;
        width: 100%;
    }
    .factoryleftright .right {
        float: right;
        width: 100%;
        margin-top: 20px;
    }
    .factory .bg_col {
        padding: 0px 0px 30px;
    }
    #Company_Contents .factoryarea {
        padding: 10px;
    }
    .factoryphotoarea img {
        float: none;
        display: block;
        margin: 10px auto;
    }
    .factorybannerarea {
        padding: 60px 10px 0 10px;
    }
    .alignright {
        float: none;
        margin: 10px auto;
        display: block;
    }
    .photonavi ul li.arrow {
        padding: 50px 2px 0px;
    }
    .sp_left,
    .message_txt p,
    .yurai p.sp_left,
    .csr_txt p {
        text-align: left;
    }
    .factory .step p {
        font-size: 16px;
        text-align: left;
    }
    #Company_Contents h2 {
        background: url(../img/arrow.png) no-repeat left center;
        font-size: 16px;
        color: #666;
        padding: 15px 15px;
        border-bottom: 1px solid #e4e4e4;
        margin-bottom: 25px;
    }
    .outline table.outline td a {
        color: #e60019;
        display: block;
        margin-left: 0px;
    }
    .photonavi {
        margin-top: 30px;
        margin-bottom: 30px;
        position: inherit;
        height: auto;
        background: url(../factory/img/step_foot.png) no-repeat bottom center;
        padding: 5px;
        border-bottom: none;
    }
    .photonavi ul li {
        float: left;
        padding-bottom: 30px;
        width: 30%;
        height: auto;
    }
    .photonavi ul li a img {
        width: 100%;
    }
    .factory .step .photonavi ul li.on {
        background: none;
    }
    .factory .step .photonavi ul li a {
        padding-bottom: 10px;
    }
    .photonavi ul {
        overflow: hidden;
        position: inherit;
    }
    .factory .step .photonavi ul li a p {
        font-size: 12px;
        text-align: left;
        font-weight: 500;
        padding-top: 10px;
        line-height: 1.8em;
    }
	.question {
	    padding: 15px 15px 30px;
	}
	.question p {
		font-size: 18px;
	}
	.question .answer {
	    padding-bottom: 15px;
	}
	.question .answer:nth-child(6) {
	    padding-bottom: 15px;
	}
	.question .answer:nth-child(9) {
	    padding-bottom: 15px;
	}
	.question .answer:nth-child(11) {
	    padding-bottom: 15px;
	}
	.question .answer:nth-child(13) {
	    padding-bottom: 15px;
	}
	.question .answer:nth-child(14) {
	    padding-bottom: 15px;
	}
	.question .answer .profile_rap p{
		font-size: 14px;
	}
	.question .answer .answer_txt {
		width: auto;
	    padding: 15px;
	}
	.question .answer p {
		font-size: 14px;
	}
	.question .answer:nth-child(odd) .answer_txt {
	    margin: 5px 161px 0 0;
	    padding: 15px;
	}
    #Company_Contents.activity{
        padding-top: 40px;
        padding-bottom: 0;
    }
    #Company_Contents.activity .contentsarea {
        padding: 0px 0px;
    }
    .activity section:last-child{
        margin-bottom:20px;
    }
    .activity .contentsarea{
        width: 90%;
        margin:auto;
    }
    #Company_Contents .contentsarea .activitytitle{
        font-size: 20px;
        line-height: 1.375;
        padding: 0px 0px 15px;
    }
    #Company_Contents .contentsarea .boxTitle{
        text-align: center;
        font-size: 18px;
        line-height: 1.31;
        margin: 0 0 9px;
    }
    #Company_Contents .contentsarea .boxTitle span{
        font-size: 18px;
    }
    #Company_Contents .contentsarea .cont .flexBox .boxTitle{
        text-align: center;
    }
    .activity .detailinfo h3{
        font-size: 9px;
        line-height: 1.8;
        margin-left: 0;
    }
    .activity p{
        font-size: 14px;
        line-height: 1.6;
    }
    .activity section:first-child{
        margin-top: 0;
    }
    .flexBox{
        flex-wrap: wrap;
    }
    .flexBox .flexText {
        margin-top: 16px;
    }
    .flexBox .flexImg,
    .flexBox .flexText{
        width: 100%;
    }
    .flexBox .flexText p:first-of-type{
        margin-bottom: 2px;
    }
    .flexBox .flexImg{
        text-align: center;
    }
    #Company_Contents .contentsarea .cont .boxTitle{
        margin: 0 0 13px;
    }
    .tabContentArea{
        margin-top:0;
        margin-top: 0px;
    }
    .activity ul.tab{
        background-color: transparent;
    }
    .activity ul.tab li{
        max-width: 33%;
    }
    .activity ul.tab li a{
        font-size: 10px;
        padding: 4% 0 10%;
        width: 100%;
    }
    .activity .detailinfo{
        padding: 6.3% 0 33px;
        margin-bottom: 0;
    }
    .activity .areatxt{
        padding: 19px 15px 0;
    }
    .activity .areatxt p{
        text-align: left;
        padding: 0 0 16px;
    }
    .activity .detailinfo img{
        margin:auto;
    }
    .activity .cont{
        margin-bottom: 20px;
    padding-bottom: 20px;
    }
    #Company_Contents .contentsarea {
        padding: 0px 0px;
    }
    .detailinfo .cont .flexBox .flexText{
        margin-left: 0;
    }
    .detailinfo .cont .imgBox img{
        margin-bottom: 20px;
    }
    .detailinfo .flexBox.type02 .flexText{
        margin-right: 0;
    }
    .detailinfo .area03txt .flexBox .flexText{
        margin-top: 0;
        margin-bottom: 5px;
    }
    .detailinfo .area03txt .flexBox{
        flex-direction: column-reverse;
    }

    .detailinfo .area03txt .flexBox .flexImg,
    .detailinfo .area03txt .flexBox .flexText{
        width: 100%;
    }
    .detailinfo .area01txt .flexBox .flexImg {
        margin-left: 2%;
    }
    #Company_Contents .contentsarea .flexBox .flexImg p{
        font-size: 10px;
        text-align: center;
        margin-top: 5px;
    }
    .activity .areatxt .periodText{
        font-size: 14px;
        line-height: 1.6;
        text-align: center;
        padding: 0 0 8px;
    }
    .activity .areatxt p.smallText{
        font-size: 10px;
        text-align: center;
        padding: 0;
    }
    .activity .cont {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .flexBox .flexText p:first-of-type {
        margin-bottom: 2px;
    }
    .detailinfo .cont .imgBox{
        margin-top: 10px;
    }
    .detailinfo .cont .imgBox:last-child{
        margin-bottom: 0;
    }
    .activity .areatxt .tblContainer {
        max-width:480px;
        margin:0 auto;
    }
    .activity .areatxt .tblContainer table {
        font-size: 14px;
        border-collapse: collapse;
    }
    .activity .areatxt .tblContainer table th,
    .activity .areatxt .tblContainer table td {
        padding:16px;
    }
    .activity .areatxt .tblContainer table th {
        width: 36%;
    }
    .activity .areatxt .tblContainer table tbody td {
        font-size: 15px;

    }
}
@media screen and (max-width: 500px) {
    .activity ul.tab li a {
        padding: 2% 0 7%;
    }
}
@media screen and (max-width: 450px) {
	.question {
		padding: 10px 10px 30px;
	}

	.question .answer .profile_rap {
	    width: 31%;
		padding: 15px 0 0;
	}
	.question .answer:nth-child(odd) .profile_rap {
	    width: 31%;
	}
	.question .answer .profile_rap div{
		width: 50%;
	}
	.question .answer .profile_rap p{
		font-size: 10px;
	}
	.question .answer:nth-child(even) .answer_txt {
	    margin: 5px 0 0 120px;
	}
	.question .answer:nth-child(odd) .answer_txt {
	    margin: 5px 120px 0 0;
	}
	.question .answer .answer_txt {
	    padding: 10px;
	}
	.question .answer .answer_txt p:first-child{
	    padding: 0 0 5px;
	}
	.question .answer:nth-child(odd) .answer_txt {
	    padding: 10px;
		width: auto;
	}
	.question .answer:nth-child(7) .answer_txt {
	    padding: 10px;
		width: auto;
	}
    .activity .detailinfo {
        padding: 10.4% 0 33px;
        margin-bottom: 0;
    }
    .activity ul.tab li a {
        padding: 6% 0 10%;
    }
    .activity ul.tab li:first-of-type a {
        background: url(../activity/img/tab01_sp.png) no-repeat top center/contain;
    }
    .activity ul.tab li:nth-of-type(2) a {
        background: url(../activity/img/tab02_sp.png) no-repeat top center/contain;
    }
    .activity ul.tab li:last-of-type a {
        background: url(../activity/img/tab03_sp.png) no-repeat top center/contain;
    }
    .activity ul.tab li:first-of-type a.on {
        background: url(../activity/img/tab01_sp_on.png) no-repeat top center/contain;
    }
    .activity ul.tab li:nth-of-type(2) a.on {
        background: url(../activity/img/tab02_sp_on.png) no-repeat top center/contain;
    }
    .activity ul.tab li:last-of-type a.on {
        background: url(../activity/img/tab03_sp_on.png) no-repeat top center/contain;
    }
}
@media screen and (max-width: 360px) {
	.question .answer .profile_rap {
	    width: 36%;
	}
	.question .answer:nth-child(odd) .profile_rap {
	    width: 36%;
	}
    .activity .detailinfo {
        padding: 29px 0 33px;
    }
    .activity ul.tab li a {
        padding: 4% 0 8%;
    }
}
