@charset "utf-8";
/*
Theme Name: tohsyow2
Theme URI: 
Description: 東昇コンサルタント2
Author: 
Version: 20251222
Tags: 
*/

/* clearfix */
.cf {
	zoom: 1;
}
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}

/* google fonts */
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
.wf-sawarabigothic { font-family: "Sawarabi Gothic"; }
.wf-mplus1p { font-family: "M PLUS 1p"; }
.wf-mplus1code { font-family: "M PLUS 1 Code"; }

/* --------------------------------------
 * 共通
 * -------------------------------------- */
body {
	background-color: #ffffff;
	/*font-family: "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Geneva, Arial, Verdana, sans-serif;*/
    font-family: "Sawarabi Gothic", "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Geneva, Arial, Verdana, sans-serif;
    /*font-family: "Sawarabi Mincho", "MS PMincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN";*/
	font-size: 18px;
    color: #231815;
    background-color: #f5f2e9;
}
a {
	color: #1188b9;
	text-decoration: none;
}
a:hover {
	color: #ff9933;
	text-decoration: underline;
}
a:hover img {
	opacity: 0.7;
}
.img-responsive {
	height: auto;
	max-width: 100%;
}

/* entry */
.entry {
	margin: 0px;
	padding: 0px;
	line-height: 2.0em;
	word-wrap: break-word;
}
.entry_content {
	padding: 0px;
	margin: 0px;
}
ol,
ul {
	margin-bottom: 15px;
	margin-left: 25px;
}
ol li {
	list-style-type: decimal;
}
ul li {
	list-style-type: disc;
}
p {
	margin-bottom: 15px;
}
sup {
	font-size: 0.7em;
	vertical-align: super;
}
.bold {
	font-weight: bold;
}
.red {
	color: #ff0000;
}
.blue {
	color: #0066cc;
}
.orange {
	color: #ff6600;
}
.brown {
	color: #663300;
}
.font08 {
    font-size: 0.8em;
}
.font09 {
    font-size: 0.9em;
}
.font11 {
	font-size: 1.1em;
}
.font12 {
	font-size: 1.2em;
}
.font13 {
	font-size: 1.3em;
}
.font15 {
	font-size: 1.5em;
}
hr {
	margin-left: 0px;
	margin-bottom: 20px;
	margin-right: 0px;
	margin-top: 20px;
	padding: 0px;
	border: 0;
	height: 1px;
	background: #aaaaaa;
}

/* フォーム */
.hissu {
	font-size: 0.9em;
	color: #ff0000;
}
.small {
	font-size: 85%;
}


/* --------------------------------------
 * スマートフォン (768pxまで）
 * -------------------------------------- */
@media only screen and (max-width: 768px) {
    body {
        font-size: 16px;
    }

    /* Header */
    #wrap_header {
        display: none;
    }
    .mobile_header {
        margin: 0;
        padding: 0;
        width: 100%;
        height: 64px;
        background-color: #ffffff;
        border-bottom-color: #0050a1;
        border-bottom-style: solid;
        border-bottom-width: 2px;
        z-index: 999;
        position: fixed;
    }
    .mobile_header h1 {
        width: 100%;
        margin: 0;
        padding-top: 10px;
        padding-bottom: 0;
        padding-left: 10px;
        padding-right: 0;
    }
    .mobile_header h1 a {
        background-image: url('images/header_logo.png');
        background-position: 0 center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 80%;/*481px;*/
        height: 40px;/*72px;*/
        margin: 0;
        padding: 0;
        display: block;
        text-indent: -9999px;
    }

    /* Photo */
    .header-photo {
        width: 100%;
        height: auto;
        margin: 0;
        padding-top: 65px;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
    }
    .header-photo .slider-text {
        position: absolute;
        top: calc(50% - 15px);
        left: 0%;
        transform: translateY(calc(-50% + 45px));
        -webkit-transform: translateY(calc(-50% + 45px));
        -ms-transform: translateY(calc(-50% + 45px));
        width: 100%;
        height: auto;
        margin: auto;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        background-color: rgb(255, 255, 255, 0.5);
        box-sizing: border-box;
        z-index: 99;
    }
    .header-photo .slider-text .logo30 {
        background-image: url('images/logo30.png');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 80px;/*251px;*/
        height: 68px;/*214px;*/
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        text-indent: -9999px;
    }
    .header-photo .slider-text .text {
        font-size: 18px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        line-height: 1.2em;
        margin-top: 10px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    .header-photo .photo-compnay {
        background-image: url('images/company_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-product {
        background-image: url('images/product_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-message {
        background-image: url('images/message_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-recruit {
        background-image: url('images/recruit_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-privacy {
        background-image: url('images/privacy_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-news,
    .header-photo .photo-sdgs,
    .header-photo .photo-other {
        background-image: url('images/topics_header-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-text {
        /*background-color: #ffffff;*/
        background-color: rgb(255, 255, 255, 0.8);
        width: 250px;
        height: 60px;
        position: absolute;
        bottom: 23px;
        left: 0;
        right: 0;
        box-sizing: border-box;
        margin: auto;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 15px;
        padding-right: 15px;
    }
    .header-photo .photo-text h3 {
        font-size: 18px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin: 0;
        padding: 0;
        text-align: center;
        white-space: nowrap;
    }
    .header-photo .photo-text h4 {
        font-size: 10px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 5px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
        white-space: nowrap;
    }

    /* Content */
    #wrap {
        margin-top: 50px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
    article {
        margin: 0;
        padding: 0;
    }
    section {
        margin-top: 0;
        margin-bottom: 50px;
        margin-left: 10px;
        margin-right: 10px;
        padding: 0;
        line-height: 1.5em;
    }
    section:before,
    section:after {
        content: "";
        display: table;
    }
    section:after {
        clear: both;
    }
    section img {
        height: auto;
        max-width: 100%;
    }

    .alignleft {
        display: block;
        margin-top: 5px;
        margin-right: 10px;
        margin-bottom: 10px;
    }
    .alignright {
        display: block;
        margin-top: 5px;
        margin-left: 10px;
        margin-bottom: 10px;
    }
    .aligncenter {
        text-align: center;
        display: block;
        padding: 0px;
        margin-left: auto;
        margin-bottom: 10px;
        margin-right: auto;
        margin-top: 5px;
    }
    .br {
    }

    /* アンカーポイント調整 */
    a.anch {
        display: block;
        margin-top: -100px;
        padding-top: 100px;
    }

    /* パンクズ */
    #wrap .breadcrumb {
        display: none;
    }

    /* Home */
    article.toppage {
    }
    article.toppage section {
    }
    article.toppage .top1 {
    }
    article.toppage .top1 h2 {
        font-size: 25px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 0;
        margin-bottom: 20px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    article.toppage .top1 ul {
        margin: 0;
        padding: 0;
    }
    article.toppage .top1 ul li {
        margin: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        list-style-type: none;
        border-bottom-color: #999999;
        border-bottom-style: dotted;
        border-bottom-width: 1px;
    }
    article.toppage .top1 ul li span {
        margin-right: 20px;
    }
    article.toppage .top1 .more {
        margin-top: 20px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        font-size: 0.9em;
        text-align: right;
    }
    article.toppage .top2 {
    }
    article.toppage .top2 .sdgs {
        width: 300px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
    article.toppage .top2 .sdgs a {
        background-image: url('images/home01.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        width: 300px;/*430px;*/
        height: 56px;/*80px;*/
        display: block;
        margin: 0;
        padding: 0;
        text-indent: -9999px;
    }

    /* 会社概要 */
    article.company {
    }
    article.company section {
    }
    article.company dl {
        width: 100%;
        display:flex;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        border-top-color: #646464;
        border-top-style: solid;
        border-top-width: 1px;
        float: right;
    }
    article.company dl dt {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 35%;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
    }
    article.company dl dd {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 20px;
        width: 65%;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
        position: relative;
    }
    article.company dl dd::before {
        content: "";
        width: 10px;
        height: auto;
        display: inline-block;
        position: absolute;
        top: 10px;
        bottom: 10px;
        left: -15px;
        border-left-color: #646464;
        border-left-style: solid;
        border-left-width: 1px;
    }
    article.company dl dd .c1,
    article.company dl dd .c2 {
        margin-top: 0;
        margin-bottom: 5px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
    article.company dl dd .tel {
        font-family: monospace;
    }
    article.company h4 {
        font-size: 1.2em;
        font-weight: normal;
        margin-top: 0;
        margin-bottom: 10px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    article.company h5 {
        font-size: 1.0em;
        font-weight: normal;
        margin-top: 0;
        margin-bottom: 15px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    article.company .map {
        width: 100%;
        height: 400px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: 0;
        padding: 0;
        border-color: #999999;
        border-style: solid;
        border-width: 1px;
    }
    article.company .map iframe {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    /* 事業案内 */
    article.product {
    }
    article.product section {
    }
    article.product section {
        background-color: #ffffff;
        border-radius: 20px;
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 30px;
        padding-right: 30px;
        box-sizing: border-box;
    }
    article.product h3 {
        font-size: 25px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        text-align: center;
        margin-top: 0;
        margin-bottom: 50px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        position: relative;
    }
    article.product h3::after {
        content: '';
        width: 250px;
        height: 3px;
        display: inline-block;
        background-color: #999999;
        position: absolute;
        bottom: -15px;
        left: calc(50% - 125px);
    }
    article.product .product-photo {
        margin-top: 0;
        margin-bottom: 15px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
    article.product .product-text {
        margin: 0;
        padding: 0;
    }
    article.product .product-text ul {
        margin-bottom: 5px;
    }
    article.product .product-text ul li {
        font-size: 0.9em;
        line-height: 1.5em;
    }

    /* 代表挨拶 */
    article.message {
    }
    article.message section {
    }
    article.message .m1 {
        width: 250px;
        height: 300px;
        margin-top: 0;
        margin-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
    article.message .m2 {
        margin: 0;
        padding: 0;
        line-height: 2.0em;
        word-break: break-all;
    }
    article.message .m2 p {
        margin-bottom: 30px;
    }
    article.message .m3 {
        margin: 0;
        padding: 0;
    }

    /* 求人情報 */
    article.recruit {
    }
    article.recruit section {
    }
    article.recruit dl {
        width: 100%;
        display:flex;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        border-top-color: #646464;
        border-top-style: solid;
        border-top-width: 1px;
        float: right;
    }
    article.recruit dl dt {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 35%;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
    }
    article.recruit dl dd {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 20px;
        width: 65%;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
        position: relative;
    }
    article.recruit dl dd::before {
        content: "";
        width: 10px;
        height: auto;
        display: inline-block;
        position: absolute;
        top: 10px;
        bottom: 10px;
        left: -15px;
        border-left-color: #646464;
        border-left-style: solid;
        border-left-width: 1px;
    }

    /* SDGs */
    article.sdgs {
    }
    article.sdgs section {
    }

    /* プライバシーポリシー */
    article.privacy {
    }
    article.privacy section {
    }
    article.privacy ol {
        margin-top: 30px;
    }
    article.privacy ol li {
        margin-bottom: 30px;
    }

    /* 新着情報 */
    article.news {
    }
    article.news section {
    }
    article.news ul {
        margin: 0;
        padding: 0;
    }
    article.news ul li {
        margin: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        list-style-type: none;
        border-bottom-color: #999999;
        border-bottom-style: dotted;
        border-bottom-width: 1px;
    }
    article.news ul li span {
        margin-right: 20px;
    }

    /* Single */
    article.single {
    }
    article.single section {
    }
    article.single section h2.single_title {
        font-size: 1.3em;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 0;
        margin-bottom: 10px;
        margin-left: 0;
        margin-right: 0;
        padding-top: 0;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        border-bottom-color: #666666;
        border-bottom-style: solid;
        border-bottom-width: 1px;
    }
    article.single section .single_postdate {
        margin: 0;
        padding: 0;
        text-align: right;
    }

    /* フォーム */
    table.nform {
        width: 100%;
        margin-left: 0px;
        margin-bottom: 30px;
        margin-right: 0px;
        margin-top: 0px;
        padding: 0px;
    }
    table.nform th {
        text-align: left;
        padding: 0px;
        margin-top: 15px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        list-style-type: none;
        display: list-item;
    }
    table.nform td {
        padding: 0;
        margin: 0px;
        list-style-type: none;
        display: list-item;
    }
    table.nform p {
        margin-bottom: 0;
    }
    div.submit {
        text-align: center;
        margin-left: auto;
        margin-bottom: 20px;
        margin-right: auto;
        margin-top: 20px;
        padding: 0px;
    }
    input,
    textarea {
        max-width: 100%;
        padding: 5px;
    }
    .in1,
    .in2,
    .in3 {
        width: 95%;
    }
    .formcheck {
        border-color: #FF7F00;
        border-style: solid;
        border-width: 2px;
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: 0;
        margin-right: 0;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    /* pagingsingle */
    .pagingsingle {
        text-align: center;
    }

    /* footer */
    #wrap_footer {
        margin-top: 50px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding-top: 30px;
        padding-bottom: 50px;
        padding-left: 0;
        padding-right: 0;
        background-color: #ffffff;
    }
    footer {
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 10px;
        margin-right: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
    }
    footer ul {
        display: none;
    }
    footer h2 {
        background-image: url('images/footer_logo.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        width: 250px;/*409px;*/
        height: 35px;/*56px;*/
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        text-indent: -9999px;
    }
    footer .address {
        font-size: 0.9em;
        margin-top: 15px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        line-height: 1.3em;
    }
    footer .copy {
        font-size: 0.7em;
        margin-top: 30px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }

}





/* --------------------------------------
 * タブレット (769px〜960px)
 * -------------------------------------- */
/* JSで縮小表示 */


/* --------------------------------------
 * タブレット (769px〜960px) JSで縮小表示
 * PC (961px以上)
 * -------------------------------------- */
/*@media only screen and (min-width: 961px) {*/
/*@media only screen and (min-width: 768px) {*/
@media print, screen and (min-width: 768px) {
    /* Header */
    #wrap_header {
        width: 100%;
        height: 90px;
        margin: 0;
        padding: 0;
        position: fixed;
        z-index: 999;
        background-color: #ffffff;
        box-sizing: border-box;
        border-bottom-color: #0050a1;
        border-bottom-style: solid;
        border-bottom-width: 3px;
    }
    header {
        margin: 0;
        padding: 0;
        position: relative;
    }
    header h1 {
        width: 408px;
        height: 72px;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 10px;
        left: 20px;
    }
    header h1 a {
        background-image: url('images/header_logo.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        width: 408px;
        height: 72px;
        margin: 0;
        padding: 0;
        display: block;
        text-indent: -9999px;
    }
    header .tel {
        background-image: url('images/header_tel.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        width: 200px;
        height: 40px;
        margin: 0;
        padding: 0;
        display: block;
        text-indent: -9999px;
        position: absolute;
        top: 22px;
        right: 20px;
    }

    /* Navi */
    nav.navi {
        height: 30px;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 26px;
        right: 260px;
    }
    nav.navi ul {
        width: 500px;
        height: 30px;
        margin: 0;
        padding: 0;
        display: table;
    }
    nav.navi ul li {
        width: auto;
        min-width: 50px;
        height: 30px;
        margin: 0;
        padding: 0;
        font-size: 15px;
        list-style-type: none;
        border-right-color: #666666;
        border-right-style: solid;
        border-right-width: 2px;
        display: table-cell;
        vertical-align: middle;
    }
    nav.navi ul li:first-child {
        border-left-color: #666666;
        border-left-style: solid;
        border-left-width: 2px;
    }
    nav.navi ul li a {
        margin: 0;
        padding: 0;
        width: 100%;
        line-height: 35px;
        text-align: center;
        display: block;
        color: #222222;
        text-decoration: none;
        line-height: 1.1em;
    }
    nav.navi ul li a:hover {
        opacity: 0.7;
    }

    .mobile_header {
        display: none;
    }

    /* Photo */
    .header-photo {
        width: 100%;
        height: auto;
        margin: 0;
        padding-top: 90px;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        overflow: hidden;
    }
    .header-photo .slider-text {
        position: absolute;
        top: calc(50% - 150px);
        left: 0%;
        transform: translateY(calc(-50% + 150px));
        -webkit-transform: translateY(calc(-50% + 150px));
        -ms-transform: translateY(calc(-50% + 150px));
        width: 100%;
        height: 300px;
        margin: auto;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 0;
        padding-right: 0;
        background-color: rgb(255, 255, 255, 0.5);
        box-sizing: border-box;
        z-index: 99;
    }
    .header-photo .slider-text .logo30 {
        background-image: url('images/logo30.png');
        background-position: center center;
        background-repeat: no-repeat;
        width: 251px;
        height: 214px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        text-indent: -9999px;
    }
    .header-photo .slider-text .text {
        font-size: 37px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 15px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    .header-photo .photo-compnay {
        background-image: url('images/company_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-product {
        background-image: url('images/product_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-message {
        background-image: url('images/message_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-recruit {
        background-image: url('images/recruit_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-privacy {
        background-image: url('images/privacy_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-news,
    .header-photo .photo-sdgs,
    .header-photo .photo-other {
        background-image: url('images/topics_header@2x-min.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 27.77%;
        text-indent: -9999px;
    }
    .header-photo .photo-text {
        /*background-color: #ffffff;*/
        min-width: 350px;
        height: 120px;
        position: absolute;
        top: 50%;
        left: 30px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        box-sizing: border-box;
        margin: 0;
        padding-top: 25px;
        padding-bottom: 20px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .header-photo .photo-text::after {
        content: "";
        top: 0;
        left: 0;
        min-width: 400px;/*350px;*/
        height: 120px;
        position: absolute;
        background: linear-gradient(to bottom, #ffffff, #ffffff);
        transform: skewX(-10deg);
    }
    .header-photo .photo-text h3 {
        font-size: 35px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin: 0;
        padding: 0;
        text-align: left;
        white-space: nowrap;
        position: relative;
        z-index: 99;
    }
    .header-photo .photo-text h4 {
        font-size: 18px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 15px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: left;
        white-space: nowrap;
        position: relative;
        z-index: 99;
    }
    .header-photo #photo-zoom {
        animation: zoom-photo 10s;
    }
    @keyframes zoom-photo {
        from {
            opacity: 0.7;
            transform: scale(1.1);
        }
    }

    /* Content */
    #wrap {
        width: 1100px;
        margin-top: 80px;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
    article {
        margin: 0;
        padding: 0;
    }
    section {
        margin-top: 0;
        margin-bottom: 100px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        line-height: 1.7em;
    }
    section:before,
    section:after {
        content: "";
        display: table;
    }
    section:after {
        clear: both;
    }
    section img {
        height: auto;
        max-width: 100%;
    }
    section a:hover {
        opacity: 0.7;
    }

    .alignleft {
        margin-top: 5px;
        margin-right: 15px;
        margin-bottom: 15px;
        float: left;
    }
    .alignright {
        margin-top: 5px;
        margin-left: 15px;
        float: right;
        margin-bottom: 15px;
    }
    .aligncenter {
        text-align: center;
        display: block;
        padding: 0px;
        margin-left: auto;
        margin-bottom: 15px;
        margin-right: auto;
        margin-top: 5px;
    }
    .br {
        display: block;
    }

    /* アンカーポイント調整 */
    a.anch {
        display: block;
        margin-top: -100px;
        padding-top: 100px;
    }

    /* パンクズ */
    #wrap .breadcrumb {
        width: 1100px;
        font-size: 14px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 0;
    }
    #wrap .breadcrumb ul {
        padding: 0px;
        margin: 0px;
    }
    #wrap .breadcrumb ul li {
        padding-left: 0px;
        padding-bottom: 0px;
        padding-right: 5px;
        padding-top: 0px;
        list-style-type: none;
        margin: 0px;
        min-height: 15px;
        float: left;
    }
    #wrap .breadcrumb ul li a {
        padding-left: 0px;
        padding-bottom: 5px;
        padding-right: 0px;
        padding-top: 0px;
        margin: 0px;
        text-decoration: none;
        color: #222222;
    }
    #wrap .breadcrumb ul li a:hover {
        text-decoration: underline;
    }

    /* Home */
    article.toppage {
    }
    article.toppage section {
    }
    article.toppage .top1 {
    }
    article.toppage .top1 h2 {
        font-size: 35px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 0;
        margin-bottom: 30px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        width: 100%;
        text-align: center;
    }
    article.toppage .top1 ul {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    article.toppage .top1 ul li {
        margin: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        list-style-type: none;
        border-bottom-color: #999999;
        border-bottom-style: dotted;
        border-bottom-width: 1px;
    }
    article.toppage .top1 ul li span {
        margin-right: 20px;
    }
    article.toppage .top1 .more {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        font-size: 16px;
        text-align: right;
    }
    article.toppage .top2 {
    }
    article.toppage .top2 .sdgs {
        width: 430px;
        height: 80px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
    article.toppage .top2 .sdgs a {
        background-image: url('images/home01.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        width: 430px;
        height: 80px;
        display: block;
        margin: 0;
        padding: 0;
        text-indent: -9999px;
    }

    /* 会社概要 */
    article.company {
    }
    article.company section {
    }
    article.company dl {
        width: 1100px;
        display:flex;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        border-top-color: #646464;
        border-top-style: solid;
        border-top-width: 1px;
        float: right;
    }
    article.company dl dt {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 300px;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
    }
    article.company dl dd {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 20px;
        width: 800px;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
        position: relative;
    }
    article.company dl dd::before {
        content: "";
        width: 10px;
        height: auto;
        display: inline-block;
        position: absolute;
        top: 10px;
        bottom: 10px;
        left: -15px;
        border-left-color: #646464;
        border-left-style: solid;
        border-left-width: 1px;
    }
    article.company dl dd .c1,
    article.company dl dd .c2 {
        width: 250px;
        height: 180px;
        margin: 0;
        padding: 0;
        float: right;
    }
    article.company dl dd .tel {
        font-family: monospace;
    }
    article.company h4 {
        font-size: 30px;
        font-weight: normal;
        margin-top: 0;
        margin-bottom: 10px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    article.company h5 {
        font-size: 20px;
        font-weight: normal;
        margin-top: 0;
        margin-bottom: 15px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        text-align: center;
    }
    article.company .map {
        width: 1100px;
        height: 600px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: 0;
        padding: 0;
        border-color: #999999;
        border-style: solid;
        border-width: 1px;
    }
    article.company .map iframe {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    /* 事業案内 */
    article.product {
    }
    article.product section {
        background-color: #ffffff;
        border-radius: 20px;
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 40px;
        padding-right: 40px;
        box-sizing: border-box;
    }
    article.product h3 {
        font-size: 35px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        text-align: center;
        margin-top: 0;
        margin-bottom: 60px;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        position: relative;
    }
    article.product h3::after {
        content: '';
        width: 300px;
        height: 3px;
        display: inline-block;
        background-color: #999999;
        position: absolute;
        bottom: -15px;
        left: calc(50% - 150px);
    }
    article.product .product-photo {
        width: 460px;
        height: 350px;
        margin: 0;
        padding: 0;
        float: left;
    }
    article.product .product-text {
        width: 510px;
        margin: 0;
        padding: 0;
        float: right;
    }
    article.product .product-text ul {
        margin-bottom: 5px;
    }
    article.product .product-text ul li {
        font-size: 0.9em;
        line-height: 1.5em;
    }

    /* 代表挨拶 */
    article.message {
    }
    article.message section {
    }
    article.message .m1 {
        width: 250px;
        height: 300px;
        margin: 0;
        padding: 0;
        float: left;
    }
    article.message .m2 {
        width: 800px;
        margin: 0;
        padding: 0;
        line-height: 2.5em;
        word-break: break-all;
        float: right;
    }
    article.message .m2 p {
        margin-bottom: 30px;
    }
    article.message .m3 {
        width: 310px;
        margin: 0;
        padding: 0;
        float: right;
    }

    /* 求人情報 */
    article.recruit {
    }
    article.recruit section {
    }
    article.recruit dl {
        width: 1100px;
        display:flex;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        border-top-color: #646464;
        border-top-style: solid;
        border-top-width: 1px;
        float: right;
    }
    article.recruit dl dt {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
        width: 300px;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        font-weight: normal;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
    }
    article.recruit dl dd {
        margin: 0;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 20px;
        width: 800px;
        border-bottom-color: #646464;
        border-bottom-style: solid;
        border-bottom-width: 1px;
        text-align: left;
        line-height: 1.5em;
        box-sizing: border-box;
        position: relative;
    }
    article.recruit dl dd::before {
        content: "";
        width: 10px;
        height: auto;
        display: inline-block;
        position: absolute;
        top: 10px;
        bottom: 10px;
        left: -15px;
        border-left-color: #646464;
        border-left-style: solid;
        border-left-width: 1px;
    }

    /* SDGs */
    article.sdgs {
    }
    article.sdgs section {
        width: 800px;
        margin-left: auto;
        margin-right: auto;
    }

    /* プライバシーポリシー */
    article.privacy {
    }
    article.privacy section {
    }
    article.privacy ol {
        margin-top: 30px;
    }
    article.privacy ol li {
        margin-bottom: 30px;
    }

    /* 新着情報 */
    article.news {
    }
    article.news section {
    }
    article.news ul {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    article.news ul li {
        margin: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        list-style-type: none;
        border-bottom-color: #999999;
        border-bottom-style: dotted;
        border-bottom-width: 1px;
    }
    article.news ul li span {
        margin-right: 20px;
    }

    /* Single */
    article.single {
    }
    article.single section {
    }
    article.single section h2.single_title {
        font-size: 30px;
        font-weight: 200;
        font-family: "Sawarabi Mincho";
        margin-top: 0;
        margin-bottom: 10px;
        margin-left: 0;
        margin-right: 0;
        padding-top: 0;
        padding-bottom: 10px;
        padding-left: 0;
        padding-right: 0;
        border-bottom-color: #666666;
        border-bottom-style: solid;
        border-bottom-width: 1px;
    }
    article.single section .single_postdate {
        margin: 0;
        padding: 0;
        text-align: right;
    }

    /* フォーム */
    table.nform {
        width: 100%;
        margin-left: 0px;
        margin-bottom: 30px;
        margin-right: 0px;
        margin-top: 0px;
        border-top-color: #cccccc;
        border-left-color: #cccccc;
        border-top-style: solid;
        border-left-style: solid;
        border-left-width: 1px;
        border-top-width: 1px;
        padding: 0px;
    }
    table.nform th {
        line-height: 1.5em;
        border-bottom-color: #cccccc;
        border-right-color: #cccccc;
        border-bottom-style: solid;
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-width: 1px;
        padding-left: 10px;
        padding-bottom: 7px;
        padding-right: 10px;
        padding-top: 7px;
        margin: 0px;
        width: 200px;
        background-color: #eeeeee;
        vertical-align: top;
    }
    table.nform td {
        line-height: 2.0em;
        border-bottom-color: #cccccc;
        border-right-color: #cccccc;
        border-bottom-style: solid;
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-width: 1px;
        padding-left: 10px;
        padding-bottom: 7px;
        padding-right: 10px;
        padding-top: 7px;
        margin: 0px;
        vertical-align: top;
        background-color: #ffffff;
    }
    input,
    textarea {
        padding-top: 7px;
        padding-bottom: 7px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .in1 {
        width: 95%;
    }
    .in2 {
        width: 200px;
    }
    .in3 {
        width: 95%;
    }
    div.submit {
        text-align: center;
        margin-left: 0px;
        margin-bottom: 20px;
        margin-right: 0px;
        margin-top: 20px;
        padding: 0px;
    }
    div.submit input {
        padding-right: 30px;
        padding-left: 30px;
        padding-bottom: 10px;
        padding-top: 10px;
        font-size: 140%;
    }
    .formcheck {
        width: 700px;
        border-color: #FF7F00;
        border-style: solid;
        border-width: 2px;
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
        padding: 10px;
    }

    /* pagingsingle */
    .pagingsingle {
        text-align: center;
    }

    /* footer */
	#wrap_footer {
        margin-top: 50px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding-top: 50px;
        padding-bottom: 50px;
        padding-left: 0;
        padding-right: 0;
        background-color: #ffffff;
    }
    footer {
        width: 1100px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        text-align: center;
	}
    footer ul {
        width: 900px;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        display: table;
    }
    footer ul li {
        width: auto;
        min-width: 100px;
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 0.9em;
        list-style-type: none;
        border-right-color: #666666;
        border-right-style: solid;
        border-right-width: 2px;
        display: table-cell;
    }
    footer ul li:first-child {
        border-left-color: #666666;
        border-left-style: solid;
        border-left-width: 2px;
    }
    footer ul li a {
        margin: 0;
        padding: 0;
        width: 100%;
        text-align: center;
        display: block;
        color: #222222;
        text-decoration: none;
        line-height: 1.1em;
        white-space: nowrap;
    }
    footer ul li a:hover {
        opacity: 0.7;
    }
    footer h2 {
        background-image: url('images/footer_logo.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        width: 356px;
        height: 56px;
        margin-top: 40px;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        text-indent: -9999px;
    }
    footer .address {
        margin-top: 15px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        line-height: 1.3em;
    }
    footer .copy {
        font-size: 13px;
        margin-top: 30px;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
}


/* end css */
