@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
/*-----------------BODY--------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    font: 62.5% "Noto Serif JP", serif;
	font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6rem-1.4rem*/
	font-weight: 500;
    letter-spacing: 0.14em;
    line-height: 2;
    overflow-x: hidden !important;
    position: relative;
}
::-moz-selection {
    background-color: rgba(224,241,224,1);
}
::selection {
    background-color: rgba(224,241,224,1);
}
#wrapper, #content, .post {
	overflow: visible !important;
}
body.mobile #mainImg, body.mobile #breadcrumb {
	margin-top: 0;
}
a:hover, a:active {
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
}
a:hover, a:active, .newsTitle p a:hover,a:hover img {
    opacity: 0.7;
}
/*バグ回避*/
.sticky-header #header .inner, nav#mainNav ul li li a,
nav#mainNav ul li.current-menu-item li a,
nav#mainNav ul li.current-menu-ancestor li a,
nav#mainNav ul li li.current-menu-item li a, nav#mainNav ul li li a:hover,
nav#mainNav ul li li.current-menu-item a,
nav#mainNav ul li li.current-menu-item li a:hover,
nav#mainNav ul li.current-menu-item li a:hover,
nav#mainNav ul li.current-menu-ancestor li.current-menu-item a,
nav#mainNav ul li.current-menu-ancestor li a:hover, nav#mainNav ul li a, nav#mainNav ul li li a,
nav#mainNav ul li.current-menu-item li a , nav#mainNav ul li li a,
nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li li:last-child a,
nav#mainNav ul li li:last-child li:last-child a,
nav#mainNav ul li li.current-menu-item li:last-child a,
nav#mainNav ul li li.menu-item-object-page li:last-child a,
nav#mainNav ul li li.current-menu-item:last-child li:last-child a,
nav#mainNav ul li.current-menu-item li li:last-child a , nav#mainNav ul li li:last-child a, nav#mainNav ul li li:last-child li a,
nav#mainNav ul li li li a,
nav#mainNav ul li li.current-menu-item:last-child li a,
nav#mainNav ul li li.menu-item-object-page li a,
nav#mainNav ul li.current-menu-ancestor li.current-menu-item li a,
nav#mainNav ul li.current-menu-item li li a, nav#mainNav ul li a,nav#mainNav ul li li:first-child a,
nav#mainNav ul li li:last-child a,
nav#mainNav ul li li a,
nav#mainNav ul li.current-menu-ancestor li:first-child a,
nav#mainNav ul li.current-menu-ancestor li:last-child a,
nav#mainNav ul li.current-menu-ancestor li a,nav#mainNav ul li li:first-child a:hover,
nav#mainNav ul li li:last-child a:hover,
nav#mainNav ul li li a:hover,
nav#mainNav ul li li.current-menu-item:first-child a,
nav#mainNav ul li li.current-menu-item:last-child a,
nav#mainNav ul li li.current-menu-item a, section.widget,
.widgetInfo, .mobile #header .logo .spmenu {
	background-color: #fff;
}
.spmenu #menu span, .spmenu #menu span:before, .spmenu #menu span:after {
    height: 2px;
    background: #aaa;
}
.spmenu #menu p {
    color: #aaa;
}
/*-----------------BODY--------------------------------------------*/
/*----FV調整
--------------------------------------------*/
.fv_toptxt { 
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #fff;
    -webkit-font-feature-settings : "palt";
            font-feature-settings : "palt";
    font-size: calc(72px + (1vw - 19.2px) * 3.3333);/*1920-1200幅72px-48px*/
    white-space: nowrap;
    line-height: 1.6;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
}
.fvmin {
    font-size: 80%;
}
.fv_bottom {
    width: 100%;
    background: #01874e;
}
.fv_bottomtxt {
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 0.14em;
    color: #fff;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: calc(20px + (1vw - 19.2px) * 0.2589);/*20px-16px*/
    line-height: 1.6;
    margin-right: 20px;
    margin-bottom: 20px;
    max-width: 650px;
    width: 100%;
}
.fv_bottomtitle {
    position: absolute !important;
    top: -25px;
    left: 0;
}
.fv_bottomtitle img {
    max-width: 600px;
    width: 100%;
    height: auto;
}
.fv_inner {
    max-width: 1400px !important;
    width: 90% !important;
}
.fv_top .fv_inner {
    margin-right: auto;
}
.fv_bottom .fv_inner {
    margin: 0 auto;
    padding: 45px 0 30px;
    position: relative;
}
.fv_innerflex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.linkBtn.fv_btn {
    border: solid 1px #fff;
    margin: 0 0 0 auto !important;
}
@media print, screen and (max-width: 1600px) {
    .fv_top .fv_inner {
        margin: 0 auto
    }  
}
@media print, screen and (max-width: 1024px) {
    .linkBtn.fv_btn {
        margin: 0 0 0 auto !important;
        width: auto;
        padding-right: 20px;
        height: auto;
        border: none!important;
        border-bottom: solid 1px #fff!important;
    }
    .post .linkBtn.fv_btn:after, .linkBtn.fv_btn:after {
        width: auto;
    }
}
@media print, screen and (min-width: 769px) {
    .fv_bottomtxt {
        white-space: nowrap;
    }
}
@media print, screen and (max-width: 768px) {
  .fv_toptxt {
    font-size: 40px ;
    letter-spacing: 0.14em;
    }
}
@media print, screen and (max-width: 640px) {
    .fv_bottomtitle {
        top: -15px;
    }
    .fv_bottomtxt {
        min-height: 50px;
    }
}
@media print, screen and (max-width: 411px) {
    .fv_toptxt {
        font-size: 9.2vw;
    }
}
/*----PC・SP共通
--------------------------------------------*/
.bg .inner {
	width: auto;
}
#header .inner {
    z-index: 999 !important;
}
/*-----------------------------------------
ヘッダー
-----------------------------------------*/
#header {
    overflow: visible;
}
#header-layout {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 0 0 2%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
}
#header .inner,#mainNav .inner {
    margin: 0 auto;
    width: 100%;
    z-index: 999;
    background-color: #fff;
}
/*ヘッダーロゴエリア*/
#header .logo {
    display: block;
    width: auto;
    text-align: left;
    white-space: nowrap;
    margin-right: auto;
        z-index: 999;
}
@media print, screen and (min-width: 1023px) {
    #header .logo img,body.mobile #header .logo .mark {
        height: auto;
        width: auto;
        vertical-align: middle;
        max-height: 90px !important;
    }
}
nav#mainNav ul li.current-menu-item a:hover b, nav#mainNav ul li a:hover b, nav#mainNav ul li a:active b, nav#mainNav ul li.current-menu-parent a:hover b {
    -webkit-transition: 0.6s all;
    -o-transition: 0.6s all;
    transition: 0.6s all;
    opacity: 0.8;
}
nav#mainNav ul li a {
    font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6rem-1.4rem*/
}
@media print, screen and (min-width: 1100px) {
    #header .inner {
        width: 100%;
    }
}
@media print, screen and (min-width: 1024px) {
    nav#mainNav {
        display: block;
        width: auto;
        margin: 0 0 0 auto;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        background: transparent;
    }
    nav div.panel {
        float: none;
        text-align: right;
    }
    nav#mainNav ul {
        padding: 8px 0;
    }
    nav#mainNav ul li {
        float: none;
        display: inline-block;

        margin: 2px;
    }
nav#mainNav ul li, nav#mainNav ul li:first-child, nav#mainNav ul li:last-child {
    border-right: 1px solid #ccc;
}
    nav#mainNav ul li a {
        height: auto;
        padding: 0 calc(30px + (1vw - 19.2px) * 1.2945);
    }
    nav#mainNav ul li:first-child a {
        padding-left: 0;
    }
    nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a:hover b, nav#mainNav ul li a:hover b, nav#mainNav ul li a:active b, nav#mainNav ul li.current-menu-parent a:hover b {
        opacity: 1;
    }
    nav#mainNav ul li a b {
        margin-top: 0;
    }
    nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a, nav#mainNav ul li.current-menu-ancestor a {
        background: transparent;
    }
}
nav#mainNav b {
    font-weight: 500 !important;
}
/*-----------------------------------------
ヘッダー1023px以下調整
-----------------------------------------*/
@media only screen and (max-width: 1023px) {
    #header-layout {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
            -ms-flex-direction: column !important;
                flex-direction: column !important;
        padding: 0;
    }
    body nav#mainNav,div#headerInfo {
        width: 100% !important;
    }
    nav#mainNav a.menu {/*メニューバーカラー変更*/
        border: none;
        background: -o-linear-gradient(left, #1a6846 0%, #ceeace 100%);
        background: -webkit-gradient(linear, left top, right top, from(#1a6846), to(#ceeace));
        background: linear-gradient(to right, #1a6846 0%, #ceeace 100%);
    }
    nav#mainNav a#menu span {
        padding-left: 10px;
    }
    nav#mainNav a#menu span:before {/*メニューバーメインアイコン変更*/
        content: "\f0c9";
        font: normal normal normal 14px/1 FontAwesome;
        margin-right: 8px;
    }
/*------1023以下サブメニューアイコン変更
    --------------------------------------------*/
    /*sub画像打消し*/
    nav#mainNav ul li li a,nav#mainNav ul li.current-menu-item li a,nav#mainNav ul li li:last-child li a,nav#mainNav ul li li li a,nav#mainNav ul li li.current-menu-item:last-child li a,nav#mainNav ul li li.menu-item-object-page li a,nav#mainNav ul li.current-menu-ancestor li.current-menu-item li a,nav#mainNav ul li.current-menu-item li li a,nav#mainNav ul li li a:hover,nav#mainNav ul li.current-menu-item li a:hover,nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li:last-child li a:hover,nav#mainNav ul li li li a:hover,
    nav#mainNav ul li.current-menu-item li:last-child li a:hover,nav#mainNav ul li li.menu-item-object-page li a:hover,nav#mainNav ul li li.menu-item-object-page li.current-menu-item a,nav#mainNav ul li li:last-child li.current-menu-item a,nav#mainNav ul li.current-menu-ancestor li.current-menu-item li a:hover,nav#mainNav ul li li li.current-menu-item a,nav#mainNav ul li li li.current-menu-item a:hover,nav#mainNav ul li li:last-child li a:hover,nav#mainNav ul li li li a:hover,nav#mainNav ul li.current-menu-item li:last-child li a:hover,nav#mainNav ul li li.menu-item-object-page li a:hover,nav#mainNav ul li li.menu-item-object-page li.current-menu-item a,nav#mainNav ul li li:last-child li.current-menu-item a,nav#mainNav ul li.current-menu-ancestor li.current-menu-item li a:hover,nav#mainNav ul li li li.current-menu-item a,nav#mainNav ul li li li.current-menu-item a:hover
    {
    background-image: none;
    }
    /*sublast画像打消し*/
    nav#mainNav ul li li li:last-child a,nav#mainNav ul li li:last-child li:last-child a,nav#mainNav ul li li.current-menu-item li:last-child a,nav#mainNav ul li li.menu-item-object-page li:last-child a,nav#mainNav ul li li.current-menu-item:last-child li:last-child a,nav#mainNav ul li.current-menu-item li li:last-child a,nav#mainNav ul li li:last-child a,nav#mainNav ul li li li:last-child a:hover,nav#mainNav ul li li:last-child li:last-child a:hover,nav#mainNav ul li.current-menu-item li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child li:last-child a:hover,nav#mainNav ul li li.current-menu-item li:last-child a:hover,nav#mainNav ul li li li.current-menu-item:last-child a,nav#mainNav ul li li:last-child li.current-menu-item:last-child a,nav#mainNav ul li li.menu-item-object-page li:last-child a:hover,nav#mainNav ul li li.menu-item-object-page li.current-menu-item:last-child a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover,nav#mainNav ul li li.current-menu-item:last-child a
    {
        background-image: none;
        padding-left: 43px;/*位置調整*/
    }
    /*subメニュー文字前装飾*/
    nav#mainNav ul li li a,nav#mainNav ul li li li a {
        position: relative;
    }
    nav#mainNav ul li li a:before,nav#mainNav ul li li li a:before {
        content: "\f0da";
        font: normal normal normal 14px/1 FontAwesome;
        font-weight: 100;
        color: #01874e;
        position: absolute;
        display: inline-block;
        line-height: 1.4;
        left: 20px;
    }
    nav#mainNav ul li li li:last-child a, nav#mainNav ul li li.menu-item-object-page li:last-child a,nav#mainNav ul li li li:last-child a:hover, nav#mainNav ul li li.menu-item-object-page li:last-child a:hover {
        padding-left: 60px;/*サブメニュー直下の孫サブメニュー調整*/
    }
    nav#mainNav ul li li.menu-item-object-page li a:before,nav#mainNav ul li li.menu-item-object-page li a,nav#mainNav ul li li li:last-child a:before, nav#mainNav ul li li.menu-item-object-page li:last-child a:before {
        padding-left: 14px;
    }
}
/*-----------------------------------------
ヘッダーモバイル調整
-----------------------------------------*/
@media print, screen and (max-width: 1023px) {
    body.mobile {
        margin-top: 60px;
    }
	.mobile #header {
		z-index: 9999;
	}
    .mobile #header-layout {
        padding: 0;
        display: block;
    }
    body.mobile #header .logo {
        height: 60px;
    }
    .mobile #header .logo .mark {
        max-height: 38px;
        padding: 0;
        text-align: left;
    }
    body.mobile #header .logo img {
        width: auto;
        max-height: 60px;
    }
    .spmenu #menu {
        height: 35px;
        width: 35px;
    }
    .spmenu #menu span {
        margin-top: 3px;
    }
    .spmenu #menu p {
        font-size: 10px;
        letter-spacing: 0.08em;
        bottom: -5px;
    }
    .mobile header#h1Header {
        margin-top: 60px;
    }
    body.mobile #breadcrumb {
        margin-top: 0;
    }
}
/*-----------------------------------------
ヘッダーコンタクトエリア
-----------------------------------------*/
#headerInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}
#headerInfo .mail_box {
    background: #031f74;
    height: 100%;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding: 16px 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    white-space: nowrap;
}
#headerInfo .mail_box a {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#headerInfo .mail_box i.fa.fa-envelope {
    font-size: 22px;
    margin-bottom: 4px;
}
#headerInfo .tel_box {
    text-align: center;
    margin: 0 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 600;
    max-width: 240px;
    width: 100%;
    white-space: nowrap;
}
#headerInfo .tel_box a {
    font-size: 24px;
    line-height: 1.4;
}
.mintxt {
    display: block;
    font-size: 12px;
    margin-top: 4px;
    letter-spacing: 0.075em;
    font-weight: 500;
}
@media only screen and (max-width: 1400px) {
    #headerInfo .tel_box a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    #headerInfo .tel_box .info_txt {
        font-size: 14px;
    }
    #headerInfo .tel_box .mintxt {
        font-size: 10px;
    }
}
@media only screen and (max-width: 1023px) {
    #headerInfo .tel_box, #headerInfo .mail_box {
        width: 50%;
        margin: 0;
        max-width: none;
    }
}
/*--------------------------------------------------------------------*/
/*------フッターレイアウト
--------------------------------------------*/
/*------共通
--------------------------------------------*/
#footer {
    text-align: center;
    padding: 80px 0 40px 0;
}
#footer ul {
    padding: 0;
}
#footer ul li:first-child {
    margin-left: 0;
    border: none;
}
#footer ul li {
    padding: 1px 16px 0 24px;
    margin: 0;
    background: none;
    position: relative;
    border-left: solid 1px #ccc;
}
.footer_inner {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}
.footer_bottom {
    margin-top: 20px;
}
.footer_sns {
    margin-top: 20px;
}
#footer .footer_sns ul li {
    border: none !important;
    padding: 0;
}
#footer .footer_sns ul li:first-of-type a {
    padding-left: 0;
}
/*------住所・インフォメーション
--------------------------------------------*/
.add {
    font-size: 14px;
}
.footer_add {
    text-align: center;
}
.footer_add p {
    text-align: left;
    display: inline-block;
}
.footer_telarea {
    font-size: 1.4rem;
    line-height: 1.4;
    display: inline-block;
    margin-top: 20px;
}
.footer_telarea a {
    font-size: calc(3.2rem + (1vw - 1.92rem) * 0.2589);/*3.2rem-2.8rem*/
}
.footer_info.flexbox {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: center;
    margin: 0 auto;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
#footer .mintxt {
    font-size: 14px;
}
.footer_info.flexbox .linkBtn:not(:first-child) {
    margin-left: 5%;
}
.footer_info .mail_box .info_txt {
    margin-left: 10px;
}
/*------フッターサイトネーム
--------------------------------------------*/
.footer_site_name {
    font-size: 24px;
    margin-bottom: 18px;
}
/*------コピーライト・nav 
--------------------------------------------*/
#footer ul li::before {
    content: none;
}
#footer .footnav li a {
    color: #111;
    font-size: 12px;
    padding-left: 0;
}
#copyright {
    background: transparent;
    padding: 0;
    font-size: 12px;
    color: #111;
    text-align: center;
    margin-top: 8px;
}
@media only screen and (max-width: 640px) {
    .footer_logo {
        margin: 0 0 8px 0;
    }
    #footer .inner {
        margin: 0;
    }
    #footer .mintxt {
        font-size: 12px;
    }
    #footer,#footer ul,#copyright,.footer_add {
        text-align: left;
    }
    #footer ul li {
        margin-left: 0;
        padding: 1px 6px 0 14px;
    }
    #footer ul li:first-child {
        border-left: solid 1px #ccc;
    }
    #footer ul li:last-child {
        border-right: solid 1px #ccc;
    }
    #footer .footnav li a,#copyright {
        font-size: 10px;
    }
}
@media only screen and (max-width: 375px) {
    .footer_add a {
        font-size: 7vw;
    }
    #footer .linkBtn {
        max-width: none;
    }
}
/*-----------------フッターend--------------------------------------------*/
/*-----------------FV--------------------------------------------*/
#mainImg {
    padding: 0;
}
/*-----------------見出し--------------------------------------------*/
/*------共通
--------------------------------------------*/
h1.title, .post h1, .post h2, .post2b h2, .post4b h2, h2.title, .post h3, .post h4 {
	background: none;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.1em;
    margin: 0;
    padding: 0;
    line-height: 1.6;
}
.post h1 span, .post h2 span, .post h3 span, .post h4 span {
	padding: 0;
}
/*------h1タイトル
--------------------------------------------*/
h1.title, .post h1, #front-sectionPost h1,#front_bottom_content h1,#front_top_content h1 {/*TOP,下層,投稿ポストのh1共通設定*/
    margin: 0 0 calc(3rem + (1vw - 1.92rem) * 0.9061) 0;/*3rem-1.6rem*/
    padding: 0;
    font-size: calc(4.2rem + (1vw - 1.92rem) * 0.9061);/*4.2rem-2.8rem*/
}
/*------h2タイトル
--------------------------------------------*/
.post h2 {/*h2共通設定*/
    font-size: calc(3.6rem + (1vw - 1.92rem) * 0.7767);/*3.6rem-2.4rem*/
    margin-bottom: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2rem-1.6rem*/
    color: #031f74;
}
body:not(.home):not(.single-post) .post h2 {/*TOPと投稿以外のh2設定*/
    margin-bottom: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2rem-1.6rem*/
    letter-spacing: 0.15em;
    font-weight: 500;
}
/*------h3タイトル
--------------------------------------------*/
.post h3,#privacy h2 {/*h3共通設定*/
    font-size: calc(2.8rem + (1vw - 1.92rem) * 0.3883);/*2.8rem-2.2rem*/
    margin-bottom: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2rem-1.6rem*/
    padding-left: 2.4rem;
    font-weight: 500;
}
.post h3:before, #privacy h2:before {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 55%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    background: #000;
}
.post h3 {
    padding-left: 0;
}
.post h3:before {
    content: none;
}
/*------h4タイトル
--------------------------------------------*/
.post h4 {
    font-size: calc(2.2rem + (1vw - 1.92rem) * 0.2589);/*2.2rem-1.8rem*/
    margin-bottom: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2rem-1.6rem*/
    padding: 0;
    color: #000;
    border-bottom: solid 4px #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: bold;
}
.post h4:before {
    content: "";
    width: 10px;
    height: 3px;
    background: #000;
    margin: 4px 16px 0px 0;
    position: static;
}
/*-----------------見出しend--------------------------------------------*/
/*-----------------トップ--------------------------------------------*/
/*------共通
--------------------------------------------*/
.home #content {
    padding: 0;
    width: 100%;
}
.front-contents, #front_bottom_content, #front_top_content {
    padding: calc(100px + (1vw - 19.2px) * 3.2362) 0;/*100px-50px*/
    margin: calc(100px + (1vw - 19.2px) * 3.2362) auto;/*100px-50px*/
    position: relative;
    overflow: hidden;
}
/*------各セクションフォント調整------*/
.jaTtl {
    font-size: calc(1.8rem + (1vw - 1.92rem) * 0.1294);/*1.8rem-1.6rem*/
    display: block;
    font-family: 'Noto Serif JP', serif;
    /*margin-top: calc(16px + (1vw - 19.2px) * 0.7767);*//*16px-4px*/
    color: #111;
}
#sec01 h1, #sec04 h1 {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(46px + (1vw - 19.2px) * 1.5625);/*1920-1024幅46px-32px*/
    line-height: 1.6;
    letter-spacing: 0.18em;
    white-space: nowrap;
}
#sec02 h1,#sec03 h1,#sec04 h2,#front_bottom_content h1, #front_top_content h1 {
    color: #031f74;
    margin: 0 0 calc(40px + (1vw - 19.2px) * 1.0356) 0;/*40px-24px*/
    padding: 0;
    font-size: calc(5rem + (1vw - 1.92rem) * 1.0356);/*4.2rem-3.4rem*/
    font-weight: 700;
    letter-spacing: 0.1em;
}
#front_bottom_content h1, #front_top_content h1,#sec03 h1 {
    color: #01874e;
}
#sec04 h2 {
    font-size: calc(2.2rem + (1vw - 1.92rem) * 0.2589);/*2.2rem-1.8rem*/
    font-weight: 500;
}
span.red {
    color: #be2222;
}
@media print, screen and (min-width: 641px) {
    br.sp_display {
        display: none;
    }
}
@media print, screen and (max-width: 640px) {
    #sec01 h1, #sec04 h1 {
        white-space: normal;
        font-size: 30px;
    }
    #sec01 h1, #sec04 h1 {
        font-size: calc(38px + (1vw - 10.2px) * 1.2346);/*1023px-375幅38px-30px*/
    }
    br.sp_display {
        display: block;
    }
    br.sp_none {
        display: none;
    }
}
/*------ラッパーコンテンツ
--------------------------------------------*/
#full-wrapper .post {
    margin: 0 auto;
}
.wrapper-content {
    position: relative;
    max-width: 1400px;
    width: 90%;
    margin: 0 auto;
    z-index: 1;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.imgarea {
    position: absolute;
    z-index: -1;
    overflow: hidden;
    bottom: calc(100px + (1vw - 19.2px) * 3.2362);/*100px-50px*/
    height: 494px;
    width: 800px !important;
}
.textarea, .text-inner {
    background: #fff;
    padding: 8%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 60px 0 calc(100px + (1vw - 19.2px) * 3.2362);/*100px-50px*/;
    max-width: 700px;
    -webkit-box-shadow: 40px 60px 90px 10px rgba(7, 65, 40, 0.26);
            box-shadow: 40px 60px 90px 10px rgba(7, 65, 40, 0.26);
}
/*------グラデーション設定
--------------------------------------------*/
.grad:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    background: #ceeace;
    background: -o-linear-gradient(left, #1a6846 0%, #ceeace 100%);
    background: -webkit-gradient(linear, left top, right top, from(#1a6846), to(#ceeace));
    background: linear-gradient(to right, #1a6846 0%, #ceeace 100%);
}
#sec03 .grad:before,#sec04.grad:before {
    background: #1a6846;
    background: -o-linear-gradient(left, #ceeace 0%, #1a6846 100%);
    background: -webkit-gradient(linear, left top, right top, from(#ceeace), to(#1a6846));
    background: linear-gradient(to right, #ceeace 0%, #1a6846 100%);
}
#sec01.grad:before, #sec04.grad:before {
    width: 33%;
    height: 100%;
    z-index: -2;
}
#sec01.grad:before {
    left: 0;
    right: inherit;
}
#sec04.grad:before {
    right: 0;
    left: inherit;
}
/*-----各エリア左右レイアウト調整-----*/
#sec01 .imgarea,#sec02 .textarea,#sec03 .imgarea,#sec04 .textarea {
    margin-left: auto;
    right: 0;
}
#sec02 .imgarea,#sec03 .textarea {
    margin-right: auto;
    left: 0;
}
#sec01 .imgarea, #sec04 .imgarea {
    width: 100% !important;
    max-width: 55%;
    height: auto;
}
/*-----各エリア余白調整-----*/
#sec01, #sec04, #sec01 .textarea, #sec04 .textarear {
    margin-top: 0;
}
#sec04 {
    margin-bottom: 0;
}
#sec04 .textarea {
    margin-top: 0;
}
#sec02.front-contents, #sec03.front-contents {
    padding-bottom: 0;
}
#sec03.front-contents {
    margin-bottom: 0;
}
/*------テキスト内調整------*/
.text-wrapper {
    max-width: 480px;
    margin: 4% auto;
}
#sec01 .text-wrapper, #sec04 .text-wrapper {
    margin: 6% auto;
}
/*------背景帯設定------*/
#sec01:after, #sec02:after,#sec03:after, #sec04:after {
    content: '';
    background: rgba(224,241,224,1);
    position: absolute;
    height: 50%;
    bottom: 0;
    top: inherit;
    z-index: -2;
}
#sec01:after, #sec04:after {
    width: 100%;
}
#sec02:after,#sec03:after {
    width: 75%;
}
#sec02:after {
    right: 0;
}
#sec03:after {
    left: 0;
}
/*------sec02,sec03コンテンツ調整
--------------------------------------------*/
#sec02 .imgarea, #sec03 .imgarea {
    top: -160px;
}
#sec02 .textarea, #sec03 .textarea {
    -webkit-box-shadow: none;
            box-shadow: none;
    background: none;
    padding: 0;
    position: relative;
}
#sec02 .text-inner, #sec03 .text-inner {
    position: relative;
    z-index: 2;
}
#sec02 .grad:before,#sec03 .grad:before {
    top: -50px;
}
#sec02 .grad:before {
    right: -50px;
    left: inherit;
}
 #sec03 .grad:before {
    left: -50px;
    right: inherit;
}
#sec04 .imgarea {
    width: 50% !important;
}
/*------レスポンシブ
--------------------------------------------*/
@media print, screen and (max-width: 1024px) {
    .textarea, .text-inner {
        padding: 10%;
    }
    #sec01,#sec04 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding-bottom: 0;
    }
    #sec01 .imgarea,#sec04 .imgarea {
        position: static;
        height: auto;
        margin-left: auto;
        width: 80% !important;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
    }
    #sec01 .wrapper-content,#sec04 .wrapper-content {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        top: -50px;
    }
    #sec01 .textarea,#sec04 .textarea {
        width: 100% !important;
        max-width: none;
        margin-bottom: 0;
    }
    .text-wrapper {
        max-width: none !important;
        margin: 0 auto !important;
    }
}
@media print, screen and (max-width: 768px) { 
    #sec02 .w60, #sec03 .w60 {
        width: 70%;
    }
}
@media print, screen and (max-width: 640px) {
    #sec01 .imgarea, #sec04 .imgarea {
        width: 100% !important;
        max-width: none !important;
    }
    #sec02.front-contents, #sec03.front-contents {
        overflow: inherit;
        padding-top: 0;
    }
    #sec02 .wrapper-content,#sec03 .wrapper-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding-bottom: 0;
    }
    #sec02 .imgarea,#sec03 .imgarea {
        position: static;
        height: auto;
        margin-left: auto;
        width: 100% !important;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
    }
    #sec02 .imgarea,#sec03 .imgarea {
        margin-right: auto;
    }
    #sec02 .textarea,#sec03 .textarea {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        top: -50px;
        width: 100%;
    }
    #sec02 .wrapper-content, #sec03 .wrapper-content {
        width: 100%;
    }
    #sec02 .text-inner, #sec03 .text-inner {
        width: 90%;
    }
    #sec02 .text-inner {
        margin-left: auto;
    }
    #sec03 .text-inner {
        margin-right: auto;
    }
    .textarea, .text-inner {
        margin: 0;
    }
    #sec02 .grad:before, #sec03 .grad:before {
        content: none;
    }
}
/*------トップインフォ
--------------------------------------------*/
#front_bottom_content, #front_top_content {
    max-width: 1400px;
    text-align: right;
    width: 90%;
    padding: 0;
}
.post img, .post2b img, .post4b img {
    border-radius: 0;
}
#front_bottom_content .linkBtn, #front_top_content .linkBtn {
    margin: 30px auto 0;
}
.post2b, .post4b {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    background: transparent;
}
li .post_contents {
    margin: 1rem 0;
}
.post2b li, .post4b li {
	width: 100%;
	margin: 0 0 2rem;
	padding: 0;
	border-bottom: none !important;
}
.post2b .post2b_img {
	text-align: center;
}
.postlist {
	margin-bottom: 0;
    background-color: transparent;
}
.postlist li {
	border-bottom: none;
	margin: 0 auto;
}
.postlist li:last-child {
    margin-bottom: 0;
}
.postlist .ttls, .postlist .date {
	display: block;
	padding: 0 0 0 20px;
	margin-bottom: 0;
}
.postlist .ttls {
	overflow: hidden;
	white-space: nowrap;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
}
.postlist .ttls a {
/*    color: #fff;*/
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.postlist .post_text {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
	padding: 1.2rem 0;
    /*color: #fff;*/
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    padding: 5px 7px !important;
    white-space: nowrap;
    margin-bottom: 1rem;
    border-radius: 0;
}
/*------カテゴリータグカラー調整------*/
/*デフォルト・NEWS*/
.post .time, .postlist .time, .post2b .time, .post4b .time, .post .time.cat-news, .postlist .time.cat-news, .post2b .time.cat-news, .post4b .time.cat-news {
    color: #fff;
    background-color: #01874e;
    padding: 5px 7px;
}
.post .time, .post2b .time, .post4b .time, .post .time.cat-news, .post2b .time.cat-news, .post4b .time.cat-news {
    text-align: left;/*リスト以外でのタグ左寄せに*/
}
/*採用情報*/
.post .time.cat-recruitpost, .postlist .time.cat-recruitpost, .post2b .time.cat-recruitpost, .post4b .time.cat-recruitpost {
    background-color: #031f74;
}
/*------カテゴリータグカラー調整end------*/
.postlist .time {
    display: block;
    margin: 0 1rem 0 0;
    padding: 3px 0px !important;
    min-width: 72px;
    text-align: center;
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
    padding: 0.2rem 1.2rem;
    display: inline-block;
    line-height: 1.4;
    text-align: center;
    border-radius: 0;
    letter-spacing: 0.01em;
    font-size: 12px;
}
.post .time a:hover, .post2b .time a:hover, .post4b .time a:hover, .postlist .time a:hover,.postlist .ttls a:hover,#footer ul li a:hover {
    opacity: 0.6;
    text-decoration: none;
}
.post .post_text  h2 a, .post2b h2 a, .post4b h2 a {
    font-size: inherit;
}
.post .post_text h2, .post2b h2, .post4b h2 {
    text-align: left !important;
    margin-bottom: 1rem;
    font-size: calc(2rem + (1vw - 1.92rem) * 0.2589);/*2rem-1.6rem*/
}
.post2b h2, .post4b h2 {
    margin: 1rem 0;
}
/*------トップインフォレスポンシブ
--------------------------------------------*/
@media print, screen and (min-width: 800px) {
	.post2b li {
		width: 48%;
	}
	.post4b li {
		width: 24%;
	}
	.post4b li:nth-child(4n+2):last-child {
		margin-right: calc((24% * 2) + (((100% - (24% * 4)) / 3) * 2));
	}
	.post4b li:nth-child(4n+3):last-child {
		margin-right: calc((24% * 1) + (((100% - (24% * 4)) / 3) * 1));
	}
	.post2b li:nth-child(2n+1):nth-last-child(-n+2), .post2b li:nth-child(2n+1):nth-last-child(-n+2) ~ li {
		margin-bottom: 0;
	}
	.post4b li:nth-child(4n+1):nth-last-child(-n+4), .post4b li:nth-child(4n+1):nth-last-child(-n+4) ~ li {
		margin-bottom: 0;
	}
}
@media print, screen and (max-width: 800px) {
    .postlist .post_text {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .postlist .ttls {
        margin-top: 1rem;
    }
}
@media only screen and (max-width: 640px) {
    .post .post_text h2, .post2b h2, .post4b h2 {
        margin: 8px 0;
    }
}
/*------トップインフォリストのみ横並び
--------------------------------------------*/
.front_post_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
.front_post_list .listTitle {
    width: 40%;
    text-align: left;
}
.front_post_list .postlist_Title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    border-right: solid 1px #ccc;
}
.front_post_list .postlist {
    margin-left: 10%;
    width: auto;
    max-width: 49.9% !important;
}
#front_bottom_content.front_post_list .linkBtn,#front_top_content.front_post_list .linkBtn {
    margin: 30px 0 0 auto;
}
@media only screen and (max-width: 1023px) {
    
}
@media only screen and (max-width: 1023px) {
    .front_post_list .listTitle {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }
    .front_post_list {
        display: block;
    }
    .front_post_list .listTitle, .front_post_list .postlist {
        width: 100% !important;
        max-width: none !important;
    }
    .front_post_list .listTitle {
        border-right: none;
        border-bottom: solid 1px #ccc;
    }
    .front_post_list .postlist {
        margin-left: 0;
        margin-top: 4%;
    }
}
/*------トップインフォリストのみ横並びend
--------------------------------------------*/
/*-----------------トップインフォend--------------------------------------------*/
/*-----------------トップend--------------------------------------------*/
/*-----------------下層ページ--------------------------------------------*/
/*-----------------記事詳細--------------------------------------------*/
#cat-post h2, #cat-post h2 a {
	font-size: calc(2rem + (1vw - 1.92rem) * 0.2589);
	letter-spacing: .1rem;
}
#cat-post h2 {
	font-style: normal;
	margin-bottom: 0;
	text-align: left;
	padding: 1rem 0;
	border: none;
}
#cat-post .post2b h2, #cat-post .post4b h2, #cat-post .post2b h2 a, #cat-post .post4b h2 a {
	font-size: calc(1.8rem + (1vw - 1.92rem) * 0.1294);
}
#cat-post h2::before, #cat-post h2::after {
	content: none;
}
#cat-post li {
	margin-bottom: calc(3rem + (1vw - 1.92rem) * 0.6472);
}
#cat-post .postlist li {
	margin-bottom: 0;
}
#cat-post li .post_contents {
	margin-top: 1rem;
}
#single-post h2 {
	font-size: calc(2.4rem + (1vw - 1.92rem) * 0.5178);
	font-style: normal;
        margin-bottom: calc(3rem + (1vw - 1.92rem) * 0.9061);/*30-16px*/
}
.post_link {
	font-size: calc(1.4rem + (1vw - 1.92rem) * 0.1294);
}
.single-post h1.title,.dateLabel {
    margin: 1rem auto;
}
.single-post h1.title {
    font-size: calc(2.5rem + (1vw - 1.92rem) * 0.3236);
    padding-top: 1.5rem;
}
.dateLabel {
    font-style: normal;
    font-family: "Roboto", "Noto Sans JP", "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    background: transparent;
}
.pagenav {
	margin: 2rem 0 0;
}
.single-post #wrapper {/*投稿ページのみ適用*/
    max-width: 1100px;
    margin: 0 auto;
}
.single-post h1.title,.dateLabel {/*投稿ページのみ適用*/
    margin: 1rem auto;
}
.single-post h1.title {/*投稿ページのみ適用*/
    font-size: calc(2.5rem + (1vw - 1.92rem) * 0.3236);
    padding-top: 1.5rem;
    color: #111;
    border-bottom: solid 1px #ddd;
    padding-bottom: 16px;
    margin-bottom: 16px;
}
@media print, screen and (max-width: 768px) {
    .single-post .post figure {/*投稿ページのみ適用*/
        margin-bottom: 1.6rem;
    }
}
@media print, screen and (max-width: 640px) {
    .single-post h1.title,.single-post h1.title:after {/*投稿ページのみ適用*/
        text-align: left;
    }
}
/*-----------------記事詳細end--------------------------------------------*/
/*------共通
--------------------------------------------*/
body:not(.home):before {
    background: #ceeace;
    background: -o-linear-gradient(left, #1a6846 0%, #ceeace 100%);
    background: -webkit-gradient(linear, left top, right top, from(#1a6846), to(#ceeace));
    background: linear-gradient(to right, #1a6846 0%, #ceeace 100%);
    content: "";
    height: 100%;
    width: 33%;
    top: 0;
    left: 0;
    z-index: -1;
    position: absolute;
}
.post {
    margin: 0 auto;
    padding: 0;
    background-color: transparent;
}
#content,#content.wide {
    padding: 0;
}
.content-inner,.inner-content {
    position: relative;
    z-index: 1;
}
.content-inner,.content-inner + .content-inner,.single-post #content {
    position: relative;
    margin: calc(80px + (1vw - 19.2px) * 2.5890) 0;/*80px-40px*/
}
.inner-content + .inner-content {
	margin-top: calc(60px + (1vw - 19.2px) * 1.9417);/*60px-30px*/
}
.content-inner {
    -webkit-box-shadow: -10px -10px 0 0px rgba(122, 206, 144, 0.2),8px 8px 20px 0px rgba(7, 65, 40, 0.2);
            box-shadow: -10px -10px 0 0px rgba(122, 206, 144, 0.2),8px 8px 20px 0px rgba(7, 65, 40, 0.2);
    padding: 6%;
    background: #fff;
}
.full-inner .content-inner {
    margin: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background: transparent;
}
@media only screen and (max-width: 1023px) {
    #content.wide {
        width: 90%;
        margin: 0 auto;
    }
}
@media print, screen and (max-width: 768px){
    .content-inner {
        padding: 8%;
    }
}
/*-----------------各種パーツ--------------------------------------------*/
/*------リンクボタン
--------------------------------------------*/
/*------リンクボタン共通------*/
.post .linkBtn, .linkBtn {
    width: 100%;
    max-width: 240px;
    height: 60px;
    font-size: 1.4rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    padding: 0;
    margin: calc(40px + (1vw - 19.2px) * 1.5625)
 0 0;/*40px-20px*/
    letter-spacing: 0.1em;
    background-color: #01874e;
    border-radius: 0;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.linkBtn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #ffff;
    font-family: "Roboto", "Noto Sans JP";
    font-weight: 500;
    font-style: italic;
    width: 100%;
    height: 100%;
    
}
.post .linkBtn:after, .linkBtn:after {
    content: "\f0da";
    font: normal normal normal 14px/1 FontAwesome;
    color: #fff;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    width: 31px;
    height: 8px;
    border: none;
    right: 5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
/*------リンクボタン共通end------*/
/*------リンクボタンホバー------*/
.linkBtn a:hover {
    opacity: 1;
    color: #fff;
}
.post .linkBtn:hover,.linkBtn:hover {
    background: #01874e;
    opacity: 0.7;
}
.post .linkBtn:hover:after, .linkBtn:hover:after {
    right: 0;
}
@media print, screen and (max-width: 640px) {
    .linkBtn {
        display: block;
        width: 100%;
        max-width: 240px;
        margin-right: auto !important;
    }
}
@media print, screen and (max-width: 320px) {
    .post .linkBtn:after, .linkBtn:after {
        right: 0;
    }
}
/*------カラバリ------*/
.post .linkBtn.blue, .linkBtn.blue {
    background: rgba(3,31,116,1);
}

/*------パンくずリスト
--------------------------------------------*/
#breadcrumb {
    padding: 8px;
}
#breadcrumb ul {
    width: 90%;
}
#breadcrumb ul li:first-child {
	margin-left: 0;
}
#breadcrumb ul li a, #breadcrumb ul li {
    color: #333;
}
#breadcrumb span.jaTtl {
    display: none;
}
/*------フレックスボックス
--------------------------------------------*/
.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.column {
    display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
/*-----基本テーブル
--------------------------------------------*/
.post table th {
    background: #f5f5f5;
}
.post table td {
    border-bottom: solid 1px #eee;
}
.post table ul, .post table ol {
    margin: 0;
}
@media only screen and (max-width: 640px) {
    .post table.responsive th, .post table.responsive td {
        text-align: left;
    }
}
/*-----沿革、お問い合わせテーブル
--------------------------------------------*/
.post table.table_style {
	margin: calc(30px + (1vw - 19.2px) * 0.6472) auto;
    max-width: 960px;
    width: 100%;
}
.post table th, .post table td {
	padding: 14px 15px 10px;
}
.post table.table_style th {
    background: transparent;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: bold;
    width: auto;
    padding-left: 24px;
    max-width: 280px;
    white-space: nowrap;
}
.post table.table_style th:before {
    content: "";
    width: 1px;
    height: 50%;
    background: #ccc;
    position: absolute;
    left: 0;
    padding-bottom: 15px;
}
.post table.table_style:first-child {
	margin-top: 0;
}
.post table.table_style:last-child {
	margin-bottom: 0;
}
@media print, screen and (max-width: 768px) {
    .post table.table_style th {
        padding-left: 14px;
    }
}
@media print, screen and (max-width: 640px) {
    .post table.table_style.responsive th, .post table.table_style.responsive td {
        text-align: left;
        max-width: none;
    }
}
/*------画像まわり
--------------------------------------------*/
.tmb figure {
    display: block;
    position: relative;
    padding-top: 75%;
    text-align: center;
    overflow: hidden;
}
.tmb figure img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none !important;
    max-height: none;
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
}
figure {
    margin: 0;
}
.post img.aligncenter {
    margin: 0 auto;
}
@media print, screen and (max-width: 768px) {
    figure {
        margin-bottom: 1.6rem;
    }
}
/*------ギャラリー
--------------------------------------------*/
.gallery-caption {
    padding-top: 0.8rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none;
    text-align: left;
}
/*------3カラム設定
--------------------------------------------*/
.column3 .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    text-align: left;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}
.column3 .gallery-item {
    width: 27% !important;
    margin-right: 5%;
    margin-bottom: 20px;
    margin: 0;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}
.column3 .gallery-item:nth-child( 3n ) {
    margin-right: 0;
}
.column3 figure {
    margin-bottom: 16px !important;
}
.column3 p {
    margin: 0 0 16px;
}
@media only screen and (max-width: 1023px) {
    .column3 .gallery-item,.column3 .gallery-item:nth-child( 3n ) {
        width: 40.5% !important;
        margin-right: 3.5%;
    }
    .column3 .gallery-item:nth-child( 2n ) {
        margin-right: 0 !important;
    }
}
@media only screen and (max-width: 640px) {
    .column3 .gallery-item,.column3 .gallery-item:nth-child( 3n ),.column3 .gallery-item:nth-child( 2n ) {
        width: 80% !important;
        margin-right: 0;
    }
    .column3 .gallery-item:not(:first-child) {
        margin-top: 16px;
    }
}
/*------アイキャッチ
--------------------------------------------*/
header#h1Header h1.title {/*アイキャッチバックh1設定*/
    letter-spacing: 0.2em;
    text-align: center;
    width: 90%;
    left: 50%;
    top: 50%;
    max-width: 1400px;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
#h1Header .jaTtl {
    color: #fff;
}
#thumbImg, header#h1Header {
    position: relative;
    overflow: hidden;
    height: 300px;
    z-index: 1;
    top: 0;
}
#thumbImg img, header#h1Header img {
	width: auto;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
@media print, screen and (max-width: 1024px) {
	#h1Header #thumb img {
		height: 100%;
		margin: auto;
	}
	#thumbImg, header#h1Header {
		height: 200px;
        top: 0;
	}
}
@media print, screen and (max-width: 640px) {
    header#h1Header h1.title {
        font-size: 11vw;
    }
}
/*採用情報,社員紹介ページ個別設定*/
.page-recruit header#h1Header, .page-member header#h1Header {
    background: rgba(224,241,224,1);
}
.page-recruit-3 header#h1Header img,.page-recruit header#h1Header img,.page-member header#h1Header img {
    width: 100%;
    height: auto;
}
@media print, screen and (max-width: 414px) {
    .page-recruit header#h1Header img,.page-member header#h1Header img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%,-50%);
            -ms-transform: translate(-50%,-50%);
                transform: translate(-50%,-50%);
        width: 100%;
        height: auto;
    }
}
/*------レイアウト
--------------------------------------------*/
.w20 {
    width: 22%;
}
.w25 {
    width: 23.5%;
}
.w30 {
	width: 27%;
}
.w40 {
	width: 40%;
}
.w50 {
	width: 47.5%;
}
.w60 {
	width: 55%;
}
.w70 {
	width: 68%;
}
.w100 {
    width: 100%;
}
@media print, screen and (max-width: 768px) {
    body:not(.home) .w20,body:not(.home) .w30,body:not(.home) .w40,body:not(.home) .w50,body:not(.home) .w60,body:not(.home) .w70 {
        width: 100%;
    }
}
/*------グーグルマップ
--------------------------------------------*/
.googlemap {
    margin-bottom: 0;
    margin-top: 1.6rem;
}
/*------テキストパーツ
--------------------------------------------*/
.post p {
    padding-bottom: 0;
    line-height: 2;
}
.left {
    text-align: left !important;
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
}
.subtxt {
    font-size: 1.3rem;
    letter-spacing: 0.08em;
}
/*------ベースパーツ
--------------------------------------------*/
.blackbase,.blackbase h1,.blackbase h2,.blackbase h3,.blackbase h4.blackbase p {
    color: #fff !important
}
/*-----横フル背景-----*/
.content-inner.full-inner {
    padding: calc(80px + (1vw - 19.2px) * 2.5890) 0;/*80px-40px*/
}
.full-inner {
    position: relative;
    z-index: 1;
}
.full-inner:after, .full-inner:before {
    content: "";
    width: 100vw;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
    position: absolute;
    height: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
}
@media print, screen and (max-width: 1100px) {
    .home .full-inner:after, .home .full-inner:before {
        width: 100%;
    }
}
/*----カラバリ-----*/
.full-inner.greenbase:after {
    content: "";
    background: rgba(224,241,224,1);
    z-index: -1;
    height: 100%;
}
/*------リスト
--------------------------------------------*/
.post ul,.post ol {
    margin: 0 0 0 30px;
}
.post li {
    margin: 0 0 calc(2rem + (1vw - 1.92rem) * 0.2589) 0;/*2rem-1.6rem*/
    line-height: 1.8;
}
.post li:last-child {
	margin-bottom: 0;
}
/*------特殊リスト
--------------------------------------------*/
/*------装飾リスト-----*/
.post .arrowlist li,.post .checklist li,.post ul#sitemap_list.sitemap_disp_level_1 li a {
    line-height: 2;
    position: relative;
    padding-left: 2.4rem;
}
.post .arrowlist li:before,.post ul#sitemap_list.sitemap_disp_level_1 li a:before,.post .checklist li:before {
    font: normal normal normal 14px/1 FontAwesome;
    font-weight: normal;
    color: #111;
    position: absolute;
    display: inline-block;
    line-height: 2.2;
    left: 16px;
    left: 0;
}
.post .arrowlist li:before,.post ul#sitemap_list.sitemap_disp_level_1 li a:before {
    content: "\f0da";
}
.post .checklist li:before {
    content: "\f00c";
    line-height: 1.4;
}
/*-----------------各種パーツend--------------------------------------------*/
/*------お問い合わせ
--------------------------------------------*/
.wpcf7-form {
	padding: 0;
}
span.wpcf7-list-item {
	margin: 0 10px 0 0;
}
.wpcf7-form .must, .wpcf7-form .option {
	font-size: 75%;
}
.wpcf7-form .must {
    margin-left: auto;
    white-space: nowrap;
}
div.wpcf7 .ajax-loader {
    display: none;
}
.post .linkBtn input[type="submit"] {
    display: block;
    margin: 0 auto;
    height: 100%;
    width: 100%;
    background: transparent;
    font-family: "Roboto", "Noto Sans JP";
    letter-spacing: 0.2em;
    font-weight: 500;
}
span.wpcf7-form-control-wrap.naiyou {
    text-align: left;
    margin: 0 auto;
    display: inline-block;
}
span.wpcf7-list-item {
    margin: 0 10px 10px 0;
}
@media print, screen and (min-width: 641px) {
    .wpcf7-list-item-label {
        min-width: 140px;
        width: auto;
        text-align: left;
        display: inline-block;
    }
}
@media print, screen and (max-width: 640px) {
    .wpcf7-form .wpcf7-date {
        width: 100% !important;
    }
    .wpcf7-form .must {
        margin-left: 8px;
    }
}
/*------お問い合わせend
--------------------------------------------*/
/*------サイトマップ
--------------------------------------------*/
#sitemap_list {
    background: none!important;
    margin: 0;
}
post ul#sitemap_list li {
    margin-bottom: 16px;
    padding-left: 16px;
}
.post ul#sitemap_list.sitemap_disp_level_1 li a:before {
    content: '';
    width: 1px;
    height: 100%;
    background: #ccc;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
}
.post ul#sitemap_list li a:hover:before {
    right: -8px;
}
#sitemap span.jaTtl {
    display: inherit;
    font-size: inherit;
    margin-left: 1rem;
}
#sitemap span.jaTtl:before {
    display: none;
}
/*------サイトマップend
--------------------------------------------*/
/*------プライバシーポリシー
--------------------------------------------*/
#privacy h2 {
    font-family: 'Noto Serif JP', serif;
    color: #111;
}
#privacy h2:not(:first-child) {
    margin-top: calc(60px + (1vw - 19.2px) * 1.9417);/*inner-content余白と同値*/
}
/*------プライバシーポリシーend
--------------------------------------------*/
/*------下層ページ
--------------------------------------------*/
.anchor-link{
	margin-top: -88px;
	padding-top: 88px;
}
.sp-on{
	display: none;
}
@media print, screen and (max-width: 1023px){
	.anchor-link{
        margin-top: -60px;
        padding-top: 60px;
    }
}
@media print, screen and (max-width: 768px){
    .sp-off{
        display: none;
    }
    .sp-on{
        display: block;
    }
}
/*------コンセプトページ
--------------------------------------------*/
#concept .content-inner:not(:last-child) {
    margin-bottom: 0;
}
.concept-link-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.concept-link-area .linkBtn{
	width: 20%;
    margin-top: 0;
}
.concept-link-area .linkBtn a{
	width: 100%;
}
.concept-name-box{
	text-align: right;
    font-weight: bold;
    margin-top: 4rem;
}
.post .concept-vision-text{
	text-align: center;
    font-size: 2.7rem;
    font-weight: 600;
	background: #eee;
    padding: 2rem;
    font-family: 'Noto Serif JP';
}
.concept-guidelines{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.concept-guidelines__item {
    width: 30%;
    padding: 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(224,241,224,1);
}
.concept-guidelines__item h3 {
    padding: 0;
    font-family: 'Noto Serif JP';
    font-weight: 600;
    border-bottom: dotted 1px #000;
    padding-bottom: 8px;
}
.concept-guidelines__item h3:before{
	display: none;
}
#concept table .gallery-columns-1 .gallery-item {
    width: 30%;
    text-align: left;
}
@media print, screen and (max-width: 768px){
	.post .concept-link-area .linkBtn{
		margin: calc(40px + (1vw - 19.2px) * 1.5625) auto 0;
	}
	.concept-link-area .linkBtn{
	width: 48%;
}
	.concept-greeting-box__img-box{
	width: 100%;
}
	.post .concept-vision-text{
		font-size: 4vw;
	}
	.concept-guidelines__item{
		width: 100%;
		padding: 6%;
	}
	.concept-guidelines__item:not(:nth-child(1)){
		margin-top: 2rem
	}
}
@media print, screen and (max-width: 640px){
        .concept-link-area .linkBtn{
        width: 100%;
    }
}
/*------会社概要
--------------------------------------------*/
.copmany-top{
	width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}
.copmany-top img{
	width: 100%;
}
.google-map{
	margin-top: 2rem;
}
/*------沿革
--------------------------------------------*/
.custom_imgarea {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}
.custom_imgarea img {
    -webkit-box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 30%);
            box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 30%);
}
.custom_imgarea .flexbox:first-child {
    max-width: 960px;
    width: 90%;
    margin: 0 auto;
}
.custom_imgarea .w50 {
    margin-bottom: 4%;
    width: 48.8%;
}
@media print, screen and (max-width: 768px) {
    .custom_imgarea .w50 {
        width: 48.8%;
    }
}
@media print, screen and (max-width: 640px) {
    .custom_imgarea .flexbox {
        width: 90%;
        margin: 0 auto;
    }
    .custom_imgarea .flexbox:first-child {
        margin-bottom: 2%;
    }
    .custom_imgarea .w50 {
        width: 100%;
    }
    .custom_imgarea .w25 {
        width: 47.5%;
        margin-bottom: 4%;
    }
}
#history table .gallery-columns-1 .gallery-item {
    width: 50%;
    text-align: left;
}
.decoarea.content-inner {
    padding: 0;
}
.decoarea .inner-content {
    padding: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.decoarea .inner-content:first-child {
    padding-bottom: 0;
}
.bg-deco {
    position: relative;
    overflow: hidden;
}
.bg-deco:after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(/struct/wp-content/uploads/history_bg_img.png) right top;
    background-repeat: repeat-y;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
/*------事業内容ページ
--------------------------------------------*/
.services-top-text{
	text-align: center;
    font-size: 1.8rem;
}
.services-flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.services-flex__img-box{
	width: 40%;
}
.services-flex__img-box img{
	vertical-align: middle;
}
.services-flex__text-box{
	width: 60%;
    padding: 2rem 0 0 3rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
ul.flow{
	padding: 0;
    padding-left: 120px;
    position: relative;
    margin-top: 3rem;
    counter-reset: section;
}
ul.flow:before{
	content: "";
    width: 15px;
    height: 100%;
    background: #eee;
    margin-left: -8px;
    display: block;
    position: absolute;
    top: 0;
    left: 120px;
    z-index: 1;
}
ul.flow > li{
position: relative;
    padding: 1.5rem 0 3rem;
    margin: 0;
	border-bottom: 1px dotted #DDDDDD;
}
ul.flow > li .icon{
	font-size: 1.4rem;
    color: #fff;
    background: #01874e;
    padding: 8px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 1.5rem;
    left: -120px;
    z-index: 1;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
}
ul.flow > li .icon::after{
	content: "";
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #01874e;
    position: absolute;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
ul.flow > li dl.list{
	padding-left: 70px;
    position: relative;
}
ul.flow > li dl.list::before,
ul.flow > li dl.list::after{
	content: "";
    display: block;
    position: absolute;
    top: 20px;
    z-index: 5;
}
ul.flow > li dl.list::before{
	width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #464e53;
    border-radius: 50%;
    left: -5px;
}
ul.flow > li dl.list::after{
	width: 26px;
    border-bottom: 1px dashed #999;
    position: absolute;
    left: 5px;
}
.boxs{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.boxs__text-box{
	width: 50%;
	padding: 0 1.5rem 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.boxs__img-box{
	width: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.boxs__img-box img{
	vertical-align: middle;
	width: 100%;
}
.boxs__img-box-item{
	width: 50%;
}
.boxs__img-box .boxs__img-box-item:first-child{
	position: relative;
	top: 1.5rem;
	left: 2rem;
}
.boxs__img-box .boxs__img-box-item:last-child{
	position: relative;
	top: -1.5rem;
}
@media print, screen and (max-width: 768px){
	.services-top-text{
        text-align: left;
    }
	.services-flex{
	    margin-top: 2rem;
	}
	.services-flex__img-box{
        width: 100%;
    }
    .services-flex__text-box{
       width: 100%;
       padding: 2rem 0 0;
    }
	ul.flow{
        padding-left: 80px;
        margin: 0;
        }
	ul.flow:before{
		left: 80px;
	}
	ul.flow > li .icon{
        font-size: 1.2rem;
        padding: 8px;
        left: -80px;
	}
	ul.flow > li .icon::after{
		border-width: 5px 0 5px 6px;
	}
	ul.flow > li dl.list{
		padding-left: 35px;
	}
	ul.flow > li dl.list::before,
	ul.flow > li dl.list::after{
		top: 18px;
	}
	ul.flow > li dl.list dt{
		font-size: 2rem;
        margin-bottom: 0.5rem;
    }
	.boxs__text-box{
        width: 100%;
        padding: 0;
    }
    .boxs__img-box{
        width: 100%;
    }
	.boxs__img-box-item{
		width: 83%;
	}
	.boxs__img-box .boxs__img-box-item:first-child{
        top: 16px;
        left: 7%;
	}
	.boxs__img-box .boxs__img-box-item:last-child{
		top: -1rem;
        left: -8%;
	}
}
@media print, screen and (max-width: 640px){
    ul.flow {
        padding-left: 0 !important;
    }
    ul.flow:before {
        left: 0 !important;
    }
    ul.flow > li .icon {
        font-size: 11px !important;
        padding: 3px 8px !important;
        left: -29px !important;
        top: -2% !important;
    }
    ul.flow > li .icon::after {
        border-width: 5px 5px 5px 5px !important;
        top: inherit !important;
        left: 49% !important;
        bottom: -99% !important;
        -webkit-transform: translate(-50%, 50%) !important;
            -ms-transform: translate(-50%, 50%) !important;
                transform: translate(-50%, 50%) !important;
        border-color: #01874e transparent transparent !important;
    }
    .boxs__img-box .boxs__img-box-item {
        top: inherit !important;
        left: inherit !important;
        margin-top: 16px !important;
        width: 94% !important;
    }
}
/*------製品紹介
--------------------------------------------*/
.products-top-text{
	text-align: center;
    font-size: 1.8rem;
}
.products-flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.products-flex__img-box{
	width: 40%;
}
.products-flex__text-box{
	width: 60%;
    padding: 2rem 3rem 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.products-flex__img-box dl.gallery-item dd{
	text-align: center;
}
.ex-box{
	padding: 3%;
    border: solid 4px #eee;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
	margin-top: 2rem;
	position: relative;
	min-height: 220px;
}
.ex-box h3 {
    padding: 0;
    font-size: calc(2.2rem + (1vw - 1.92rem) * 0.2589);
    font-weight: 500;
}
.ex-box h3:before{
	display: none;
}
.ex-box ul{
	margin: 0;
}
.ex-box li {
    line-height: 1.4 !important;
    margin-bottom: 16px;
}
.ex-box__img-box{
	position: absolute;
    right: 20px;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 50%;
    background: #eee;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.ex-box__img-box img{
	width: 100%;
}
@media print, screen and (max-width: 1400px){
	.ex-box__img-box{
        width: 150px;
        height: 150px;
    }
}
@media print, screen and (max-width: 1100px){
	.ex-box__img-box{
        -webkit-transform: translateY(-36%);
            -ms-transform: translateY(-36%);
                transform: translateY(-36%);
    }
}
@media print, screen and (max-width: 768px){
	.products-top-text{
        text-align: left;
    }
	.products-flex__img-box{
        width: 100%;
    }
    .products-flex__text-box{
        width: 100%;
        padding: 2rem 0 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }
	.ex-box{
		padding: 6%;
	}
}
@media print, screen and (max-width: 640px){
	.ex-box{
		padding: 6% 6% 30%;
	}
	.ex-box__img-box{
		width: 30vw;
        height: 30vw;
		top: auto;
        bottom: 0;
		-webkit-transform: translateY(30%);
		    -ms-transform: translateY(30%);
		        transform: translateY(30%);
	}
}
/*------採用情報
--------------------------------------------*/
#recruit .full-inner:after {
    height: 60%;
    bottom: 0;
    top: inherit;
}
.recruit-top-area{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.recruit-top-area__text-box {
    width: 46%;
    padding: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #031f74;
    color: #fff;
}
.recruit-top-area__img-box{
	width: 54%;
	position: relative;
    top: -40px;
	right: 40px;
}
.recruit-top-area__img-box img{
	width: 100%;
	vertical-align: middle;
}
.recruit-contact-area{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	margin-top: 50px;
}
.recruit-contact-area__btn{
	width: 400px;
	max-width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 20px;
}
.recruit-contact-area__btn a{
	border: 2px solid #01874e;
	color: #01874e;
    width: 100%;
	height: 100%;
    font-weight: 500;
    padding: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
    font-size: 1.8rem;
	line-height: 1.5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.recruit-contact-area__btn--02 a{
	background: #01874e;
    color: #fff;
}
.recruit-contact-area__btn a span{
	font-size: 87%;
}
@media print, screen and (max-width: 768px){
	.recruit-top-area__text-box{
        width: 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
    }
    .recruit-top-area__img-box{
        width: 100%;
        top: 0;
        right: auto;
    }
        .recruit-contact-area{
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    #recruit .full-inner .content-inner {
        padding-left: 0;
        padding-right: 0;
    }
    .recruit-contact-area__btn{
        margin: 0 0 15px;
    }
}
@media print, screen and (max-width: 400px){
        .recruit-contact-area__btn a{
        font-size: 4.8vw;
    }
}
/*------社員紹介
--------------------------------------------*/
.q-a{
	margin-top: 30px;
}
.q-a dl{
	margin-top: 16px;
}
.q-a dt {
    color: #01874e;
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 16px;
    padding-bottom: 8px;
    line-height: 1.5;
    border-bottom: dotted 1px #aaa;
}
.q-a dt:before{
	content:"Q.";
	display: inline-block;
}
.member-box{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.member-box--reverse{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
.member-box__text-area{
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.member-box__text-area h2 {
    font-size: calc(2.8rem + (1vw - 1.92rem) * 0.3883);
    font-weight: 500;
    line-height: 1.8;
}
.member-box__img-area{
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.member-box__img-area-item{
	position: relative;
}
.member-box__img-area-item-text {
    padding: 16px;
    font-family: 'Kiwi Maru';
}
.fontcustom01 {
    font-family: 'Noto Sans JP';
    font-weight: 600;
}
.bule {
    color: #00a8ca;
}
#member .content-inner:before {
    content: "";
    width: 100%;
    height: 60%;
    background: rgba(224,241,224,0.4);
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: skewY(325deg) translateY(-50%);
        -ms-transform: skewY(325deg) translateY(-50%);
            transform: skewY(325deg) translateY(-50%);
    z-index: -1;
}
#member .content-inner:nth-child(2n):before {
    -webkit-transform: skewY(-325deg);
        -ms-transform: skewY(-325deg);
            transform: skewY(-325deg);
}
#member .content-inner {
    overflow: hidden;
}
.member-box__img-area-item img{
	width: 100%;
	vertical-align: middle;
}
.member-box__img-area .member-box__img-area-item:last-child{
	margin-top: 10px;
}
.member-box__text-area .member-box__img-area-item {
    width: 60%;
    margin-top: 32px;
}
@media print, screen and (max-width: 768px){
    .q-a{
        margin-top: 30px;
    }
    .q-a dt{
        font-size: 1.8rem;
        }
    .member-box__text-area{
        width: 100%;
        padding: 2rem 0;
    }
    .member-box--reverse .member-box__text-area{
        padding: 2rem 0;
        }
    .member-box__img-area{
        width: 100%;
    }
    .member-box__text-area .member-box__img-area-item {
        width: 100%;
        margin: 32px auto 0;
    }
}


/*------------------------
グローバルメニュー幅調整
------------------------*/
@media only screen and (min-width: 1024px) {

nav#mainNav ul li a {
	padding-left:10px;
	padding-right:10px;
}

}

/*スマホ時にハンバーガーメニューが見切れる*/
@media (max-width: 1023px) {
	.mobile nav#mainNav .panel > ul {
		overflow-y: scroll;
		max-height: calc( 100vh - 60px - 64px );
	}
}