/*-----------------------------------------------------------------------

    header

-----------------------------------------------------------------------*/
.page-header {
    width: 100%;
}
.page-header .h_wrap {
    align-items: center;
    width: 100%;
    height: 120px;
    padding: 0 10px 0 20px;
    position: relative;
}
.page-header .h_logo {
    margin: 0 auto 0 0;
    line-height: 1;
}
.page-header .h_logo a {
    display: inline-block;
}
.page-header h1 {
    line-height: 1;
}
.page-header .header-detail {
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 0 auto;
    font-size: 1.4rem;
    font-weight: 600;
}
.page-header .header-detail_lead {
    margin: 0 26px 0 0;
    padding: 10px 10px;
    color: #fff;
    background-color: var(--main-color);
    position: relative;
}
.page-header .header-detail_lead p {
    padding: 5px 5px 7px;
    border-bottom: 1px dotted;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
}
.page-header .header-detail_lead span {
    font-size: 1.7rem;
    line-height: 1;
}
.page-header .header-detail_lead::after {
    content: '';
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 10px 0 10px 9px;
    border-color: transparent transparent transparent var(--main-color);
    position: absolute;
    top: 0; bottom: 0;  left: 100%;
}
.page-header .common-info {
    justify-content: flex-end;
}
.page-header .common-info_list li:not(:last-child) {
    margin-right: 25px;
}
.page-header .common-info_open li:not(:last-child) {
    margin-right: 30px;
}
.page-header .arrow-btn {
    width: auto;
    margin: 0 0 0 -12px;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    padding: 18px 8px;
}

/* pagetop */
.pagetop {
    position: fixed;
    bottom: 50px; right: 30px;
    z-index: 100;
}
.pagetop a {
    transition: all .3s;
}
.pagetop.fixed a {
    pointer-events: all;
    opacity: 1;
}

/* ▼aside-sns */
.aside-sns {
    padding: 15px 15px 20px;
    background-color: rgba(255, 255, 255, .9);
    position: fixed;
    bottom: 120px; right: 0;
    z-index: 999;
}
.aside-sns li:not(:last-child) {
    margin-bottom: 10px;
}


/*-----------------------------------------------------------------------

    key

-----------------------------------------------------------------------*/
.key {
    align-items: center;
    justify-content: center;
}
.key {
    width: 100%;
    height: 440px;
    margin: 0 auto;
    position: relative;
}
#top .key {
    align-items: center;
    height: clamp(600px, calc(100vh - 120px), 1000px);
}
.carousel {
    width: calc(100% - 760px);
    height: 100%;
    margin: 0 0 0 auto;
    z-index: -1;
}
.carousel-cell {
    width: 100%;
    height: 100%;
}
.carousel-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.main-vis01 {
    background: url(../images/top/main_vis01.jpg) no-repeat bottom / cover;
}
.main-vis02 {
    background: url(../images/top/main_vis02.jpg) no-repeat bottom / cover;
}
.main-vis03 {
    background: url(../images/top/main_vis03.jpg) no-repeat bottom / cover;
}
.main-vis04 {
    background: url(../images/top/main_vis04.jpg) no-repeat bottom / cover;
}
.key_vis {
    width: calc(100% - 760px);
    height: 100%;
    margin: 0 0 0 auto;
    background: url(../images/top/main_vis01.jpg) no-repeat center / cover;
    position: absolute;
    right: 0;
}
.key_ttl {
    display: inline-block;
    width: auto;
    text-align: left;
    position: absolute;
    left: 46px;
    z-index: 10;
}
.key_ttl-sub {
    margin: 0 auto;
    text-align: center;
    position: relative;
}



/*-----------------------------------------------------------------------

    nav

-----------------------------------------------------------------------*/
.g_nav {
    width: 100%;
    margin: 15px 0 0;
    padding: 0 15px 0 0;
    line-height: 1;
    position: relative;
    z-index: 10;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
}
.g_nav .h_nav {
    justify-content: flex-end;
}
.h_nav li:not(:last-child) {
    margin-right: 40px;
}
/* .h_nav li a:hover,
.h_nav li a.current {
    opacity: 1;
    color: var(--main-color);
} */


/* nav_fix */
/* .g_nav .h_nav.fixed {
    width: 100%;
    position: fixed;
    animation: anim_fadeIn .5s ease;
} */


/*-----------------------------------------------------------------------

    footer

-----------------------------------------------------------------------*/
.page-footer {
    padding: 53px 0 23px;
    color: #fff;
    background-color: var(--main-color);
}
.footer_wrap {
    align-items: center;
}
.footer-main {
    align-items: center;
    padding-right: 39px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}
.footer-ttl {
    display: inline-block;
    width: auto;
    margin: 0 55px 0 0;
}
.footer-info {
    font-size: 1.4rem;
    letter-spacing: 0;
}
.footer-info .common-info_sns {
    margin-bottom: 5px;
}
.footer-info_list .arrow-btn {
    color: #fff;
    font-size: 1.6rem;
    margin: 0;
}
.footer-info_list .arrow-btn::before {
    background-image: url(../images/common/arrow02.png);
}
.footer-detail {
    flex: 1;
    justify-content: flex-end;
}
.footer-detail .common-info_tel,
.footer-detail .common-info_open {
    color: #fff;
}
.footer-detail .footer-detail_adr {
    margin: 0 0 12px;
    font-size: 1.2rem;
    text-align: right;
    letter-spacing: 0;
}
.footer-nav {
    width: 250px;
    margin: 0 0 0 50px;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0;
}
/* ▼copyright */
.copyright {
    margin: 40px 0 0;
    font-size: 1rem;
    color: #fff;
    text-align: center;
    background-color: var(--main-color);
}



/*-----------------------------------------------------------------------

    main

-----------------------------------------------------------------------*/
/*
    page-top
--------------------*/
/* ▼topWorrie */
.topWorrie {
    overflow: hidden;
    margin-bottom: -50px;
    padding: 137px 0 164px;
    background: url(../images/top/worrie_bg.jpg) no-repeat center / cover;
    position: relative;
}
.topWorrie_wrap {
    position: relative;
    z-index: 10;
}
.topWorrie-ttl {
    margin: 0 0 70px;
    text-align: center;
}
.topWorrie-list {
    justify-content: center;
}
.topWorrie-list li:not(:last-child) {
    margin-right: 72px;
}
.topWorrie-img li {
    position: absolute;
    z-index: 20;
}
.topWorrie-img li:nth-child(1) {
    width: 381px;
    top: 20px; right: calc(50% + 540px);
}
.topWorrie-img li:nth-child(2) {
    width: 405px;
    top: 164px; left: calc(50% + 525px);
}
/* ▼topAbout */
.topAbout {
    padding: 100px 0;
    background: url(../images/top/about_bg01.png) no-repeat top left,
    url(../images/top/about_bg02.png) no-repeat bottom right;
    background-color: #fff;
    position: relative;
    z-index: 10;
}
.topAbout-ttl {
    margin: 0 0 100px;
    text-align: center;
}
.topAbout-block_img {
    width: calc(50vw - 40px);
    min-width: 600px;
    height: 700px;
    margin: 0 0 0 min(calc(-50vw + 580px),-60px);
}
.topAbout-block_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.topAbout-block_cnt {
    width: 540px;
    padding: 30px 0 0 60px;
}
.topAbout-block_cnt-ttl {
    margin: 0 0 36px;
    color: var(--main-color);
    font-size: 3rem;
    line-height: 1.4667;
    letter-spacing: 0.16em;
}
.topAbout-block_cnt-txt {
    font-size: 1.5rem;
    line-height: 2.2667;
}
.topAbout-block_cnt-list {
    margin: 26px 0 0;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    color: var(--main-color);
}
.topAbout-block_cnt-list li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.topAbout-block_cnt-list li:not(:last-child) {
    margin-bottom: 12px;
}
.topAbout-block_cnt-list li::before {
    content: '';
    width: 17px;
    height: 13px;
    margin: 8px 7px 0 0;
    background: url(../images/common/check.png) no-repeat center / contain;
}
.topAbout-block_cnt-list li span {
    border-bottom: 1px dotted;
}
.topAbout-block_cnt .arrow-btn {
    justify-content: flex-start;
    margin-top: 25px;
    padding-left: 6px;
}
/* ▼topCase */
.topCase {
    background: url(../images/top/case_bg.jpg) no-repeat center / cover;
}
.topCase-ttl {
    margin: 0 0 25px;
    text-align: center;
}
.topCase-lead {
    margin: 0 0 73px;
    text-align: center;
    font-size: 1.7rem;
    letter-spacing: 0.12em;
}
.topCase-list {
    justify-content: center;
}
.topCase-list li {
    width: 270px;
    height: 233px;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
    position: relative;
}
.topCase-list li::before,
.topCase-list li:not(:nth-child(4n)):not(:last-child)::after {
    content: '';
    width: calc(100% - 20px);
    height: 1px;
    margin: auto;
    background-color: var(--main-color);
    position: absolute;
    left: 0; right: 0; top: 0;
}
.topCase-list li:not(:nth-child(4n)):not(:last-child)::after {
    width: 1px;
    height: calc(100% - 20px);
    bottom: 0; left: auto;
}
.topCase-list li .topCase-list_txt::before {
    content: '';
    display: block;
    width: 105px;
    height: 136px;
    margin: 0 auto 23px;
    background: url(../images/top/case_cnt_ico01.png) no-repeat center;
}
.topCase-list li:nth-child(2) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico02.png);
}
.topCase-list li:nth-child(3) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico03.png);
}
.topCase-list li:nth-child(4) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico04.png);
}
.topCase-list li:nth-child(5) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico05.png);
}
.topCase-list li:nth-child(6) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico06.png);
}
.topCase-list li:nth-child(7) .topCase-list_txt::before {
    background-image: url(../images/top/case_cnt_ico07.png);
}
.topCase-list li a {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 30px;
}
.topCase-list li a:hover {
    opacity: 1;
    background-color: rgba(255, 255, 255, 1);
}
.topCase .arrow-btn {
    margin: 47px auto 0;
    width: 480px;
}
/* ▼topLine */
.topLine {
    color: #fff;
    background-image: url(../images/top/line_bg.jpg);
    position: relative;
}
.topLine::after {
    content: '';
    width: 1200px;
    height: calc(100% - 90px);
    margin: auto;
    border: 1px solid var(--font-color);
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    pointer-events: none;
}
.topLine_wrap {
    align-items: center;
}
.topLine-img {
    width: calc(50vw - 90px);
    min-width: 560px;
    height: 100%;
    position: absolute;
    top: 0; bottom: 0; right: 0;
}
.topLine-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.topLine-cnt {
    width: 620px;
    padding: 0 30px 0 0;
}
.topLine-cnt_ttl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 20px;
    padding: 0 0 10px;
    border-bottom: 1px dashed #fff;
}
.topLine-cnt_ttl::before {
    content: '';
    width: 42px;
    height: 39px;
    margin: 0 10px 0 0;
    background: url(../images/top/line_ttl_deco.png) no-repeat center / contain;
}
.topLine-cnt_ttl img:not(:last-child) {
    margin-right: 10px;
}
.topLine-cnt_list {
    font-size: 1.7rem;
    line-height: 2.1765;
    letter-spacing: 0.12em;
}
.topLine-cnt_list li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.topLine-cnt_list li::before {
    content: '';
    width: 17px;
    height: 13px;
    margin: 0 10px 0 0;
    background: url(../images/common/check02.png) no-repeat center / contain;
}
.topLine-cnt_txt {
    font-size: 1.5rem;
    margin: 10px 0 0;
}
.topLine-cnt_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    margin: 21px auto 0;
    border: 1px solid rgba(255, 255, 255, .4);
    font-size: 1.8rem;
    letter-spacing: 0.12em;
    position: relative;
}
.topLine-cnt_btn::before {
    content: '';
    width: 40px;
    height: 40px;
    margin: 0 13px 0 0;
    background: url(../images/common/ico_line.png) no-repeat center / contain;
}
.topLine-cnt_btn::after {
    content: '';
    width: 30px;
    height: 5px;
    margin: auto;
    background: url(../images/common/arrow02.png) no-repeat center / contain;
    position: absolute;
    top: 0; bottom: 0; right: 18px;
    transition: all .3s;
}
.topLine-cnt_btn:hover::after {
    transform: translateX(5px);
}
/* ▼topStory */
.topStory {
    padding-top: 23px;
    background: url(../images/top/news_bg.jpg) no-repeat center / cover;
}
.topStory_wrap {
    width: 930px;
}
.topStory-ttl {
    margin: 0 0 5px;
    text-align: center;
}

/*
    page-feature
--------------------*/
/* ▼featureReason */
.featureReason-block {
    height: 380px;
    border: 1px solid var(--main-color);
}
.featureReason-block:not(:last-child) {
    margin-bottom: 120px;
}
.featureReason-block_img {
    margin: -20px 0 0 -20px;
}
.featureReason-block_cnt {
    width: 540px;
    padding: 50px 30px 0;
}
.featureReason-block_cnt-ttl {
    width: 100%;
    margin: 0 0 29px;
    padding: 0 0 12px;
    color: var(--main-color);
    border-bottom: 1px dotted;
    font-size: 3rem;
    letter-spacing: 0.1em;
}
.featureReason-block_cnt-ttl.css-fixed {
    font-size: 2.5rem;
    line-height: 1.4;
}
.featureReason-block_cnt-ttl span {
    display: block;
    width: 96px;
    margin: 0 0 3px;
    padding: 0 0 6px;
    font-size: 2.2rem;
    line-height: 1;
    background: url(../images/feature/reason_cnt_ttl_deco01.png) no-repeat bottom;
}
.featureReason-block:nth-of-type(even) {
    flex-direction: row-reverse;
}
.featureReason-block:nth-of-type(even) .featureReason-block_img {
    margin: -20px -20px 0 0;
}

/* ▼commonBanner */
.commonBanner {
    background: url(../images/common/banner_bg01.jpg) no-repeat center / cover;
}
.commonBanner_wrap {
    color: #fff;
    background-color: var(--main-color);
}
.commonBanner-cnt {
    padding: 50px 45px 0;
}
.commonBanner-cnt_ttl {
    margin: 0 0 32px;
    padding: 0 0 8px;
    border-bottom: 1px dashed;
    position: relative;
}
.commonBanner-cnt_lead {
    margin: 0 0 19px;
}
.commonBanner-cnt_ttl::before {
    content: '';
    width: 158px;
    height: 31px;
    background: url(../images/common/banner_ttl_deco01.png) no-repeat center / contain;
    position: absolute;
    left: -8px; bottom: -7px;
}
.commonBanner-cnt_info {
    align-items: center;
    justify-content: flex-start;
}
.commonBanner-cnt_info li:not(:last-child) {
    margin-right: 37px;
}
.commonBanner-cnt_info .common-info_tel,
.commonBanner-cnt_info .common-info_open,
.commonBanner-cnt_info .arrow-btn {
    color: #fff;
}
.commonBanner-cnt_info .arrow-btn {
    margin: 0;
}
.commonBanner-cnt_info .arrow-btn::before {
    background-image: url(../images/common/arrow02.png);
}
.commonBanner-cnt .topLine-cnt_btn {
    margin-top: 27px;
}

/*
    page-case
--------------------*/
/* ▼caseMain */
.caseMain-block {
    width: 540px;
    height: 350px;
    padding: 94px 0 73px 240px;
    position: relative;
}
.caseMain-block::before {
    content: '';
    width: calc(100% + 1px);
    height: calc(100% - 6px);
    margin: auto;
    border-right: 1px solid var(--main-color);
    border-left: 1px solid var(--main-color);
    position: absolute;
    top: 0; bottom: 0; left: 0;
    pointer-events: none;
}
.caseMain-block::after {
    content: '';
    width: calc(100% - 20px);
    height: calc(100% + 1px);
    margin: auto;
    border-top: 1px solid var(--main-color);
    border-bottom: 1px solid var(--main-color);
    position: absolute;
    top: 0; left: 0; right: 0;
    pointer-events: none;
}
.caseMain-block:not(:nth-child(even)):last-child {
    margin: 0 auto;
}
.caseMain-block:not(:nth-child(even)):last-child::after {
    border-top: none;
}
.caseMain-block_cnt {
    position: relative;
}
.caseMain-block_cnt::before {
    content: '';
    width: 186px;
    height: 239px;
    background: url(../images/case/cnt_ico01.png) no-repeat center;
    position: absolute;
    right: calc(100% + 16px); top: -34px;
}
.caseMain-block_cnt-ttl {
    max-width: 240px;
    margin: 0 0 25px;
    padding: 0 0 12px;
    font-size: 3rem;
    letter-spacing: 0.16em;
    border-bottom: 1px dotted;
    color: var(--main-color);
}
.caseMain-block_cnt-ttl.css-fixed {
    font-size: 2.6rem;
    letter-spacing: 0.14em;
}
.caseMain-block_cnt-list li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    line-height: 1.5;
    font-size: 1.8rem;
    color: var(--main-color);
}
.caseMain-block_cnt-list li:not(:last-child) {
    margin-bottom: 10px;
}
.caseMain-block_cnt-list li::before {
    content: '';
    flex: 0 0 auto;
    width: 17px;
    height: 13px;
    margin: 8px 6px 0 0;
    background: url(../images/common/check.png) no-repeat center / contain;
}
.caseMain-block_cnt-list li span {
    border-bottom: 1px dotted;
}
.caseMain-block:nth-child(2) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico02.png);
}
.caseMain-block:nth-child(3) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico03.png);
}
.caseMain-block:nth-child(4) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico04.png);
}
.caseMain-block:nth-child(5) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico05.png);
}
.caseMain-block:nth-child(6) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico06.png);
}
.caseMain-block:nth-child(7) .caseMain-block_cnt::before {
    background-image: url(../images/case/cnt_ico07.png);
}

/*
    page-menu
--------------------*/
/* ▼menuMain */
.menuMain {
    padding: 160px 0;
}
.menuMain-block:not(:last-child) {
    margin-bottom: 130px;
}
.menuMain-table {
    width: 100%;
    text-align: left;
}
.menuMain-table tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 285px;
}
.menuMain-table tr:not(:last-child) {
    margin-bottom: 11px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(84, 116, 67, .2);
}
.menuMain-table th {
    flex: 1;
    margin: 0 20px 0 0;
    text-align: left;
}
.menuMain-table td {
    text-align: right;
}
.menuMain-list {
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    width: 460px;
    height: 105px;
    margin: 0 auto;
    line-height: 2.2667;
}
.menuMain-note {
    margin: 10px 0 0;
    text-align: center;
}

/*
    page-company
--------------------*/
/* ▼companyGreeting */
.companyGreeting {
    padding-bottom: 0;
}
.companyGreeting .common-lead {
    padding: 0 0 8px;
    margin: 0 0 27px;
    font-size: 4.2rem;
    text-align: left;
}
.companyGreeting-block {
    align-items: center;
}
.companyGreeting-block_img-capt {
    margin: 11px 0 0;
    color: var(--main-color);
    text-align: center;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.12em;
}
.companyGreeting-block_cnt {
    width: 555px;
}
/* ▼companyInfo */
.companyInfo {
    padding-bottom: 0;
}
.companyInfo:nth-of-type(even) {
    background-color: #f9fbff;
}
.companyInfo-block {
    width: 100%;
}
.companyInfo-block .common-lead {
    font-size: 4.2rem;
    padding: 0 0 8px;
    margin: 0 0 30px;
}
.companyInfo-access {
    width: 100%;
    margin: 100px 0 0;
    position: relative;
    background-color: #f9fbff;
}
.companyInfo-access_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 0 16px;
    font-size: 1.8rem;
    color: var(--main-color);
}
.companyInfo-access_ttl::before {
    content: '';
    width: 15px;
    height: 18px;
    margin: 0 7px 0 0;
    background: url(../images/common/ico_map.png) no-repeat center / contain;
}
.companyInfo-map {
    height: 400px;
    border: 1px solid #dbdcdd;
}


















/* ▼story */
.story_cnt {
    width: 100%;
    margin: 0 auto;
}
.story_post {
    transition: all .1s;
}
.story_post a.flex {
    align-items: center;
    justify-content: flex-start;
    padding: 0 20px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0.06em;
    position: relative;
    font-weight: 500;
}
/* .story_post a.flex::after {
    content: '';
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
    position: absolute;
    top: 0; bottom: 0; right: 28px;
    transform: rotate(45deg);
    transition: all .3s;
} */
.story_post:not(:last-child) {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(84, 116, 67, .2);
}
.story_post-cnt {
    width: calc(100% - 138px);
}
.story_post time {
    display: inline-block;
    color: var(--main-color);
    font-size: 1.4rem;
    text-align: center;
}
.story_post .story_post-tag {
    display: inline-block;
    margin: 0 20px 0 0;
    color: var(--main-color);
    text-align: center;
}
.story_post .story_post-txt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    width: 100%;
    margin: 13px 0 0;
    font-size: 1.5rem;
}
/*==========================================
一覧ぺージ用カテゴリ(セレクトボックス)
===========================================*/
.category-select {
    overflow: hidden;
    width: 300px;
    margin-left: auto;
    text-align: center;
    margin-bottom: 20px;
    position: relative;
    border-radius: 2px;
    border: 2px solid var(--main-color);
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .category-select:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    /* Safari用 */
    transform: translateY(-50%);
    z-index: 10;
    right: .8em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--main-color);
    pointer-events: none;
  }
  .category-select select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: .01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px 38px 10px 8px;
    color: #4c372c;
    font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .category-select select::-ms-expand {
    display: none;
  }

/*
    page-contact
--------------------*/
.input_big {
    width: 100%;
}
.input_mid {
    width: 70%;
}
.input_min {
    width: 28%;
    max-width: 85px;
}
.contact-form-table {
    color: var(--font-color);
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0;
}
.contact-form-table td,
.contact-form-table th{
    vertical-align: middle;
    font-weight: 500;
}
.contact-form-table th {
    font-weight: bold;
    text-align: left;
}
.contact-form-table td a {
    display: inline;
    text-decoration: underline;
}
/* ▼button */
.contact_submits button,
.contact_submits input[type='button'],
.contact_submits input[type='submit'] {
    margin: 7px;
    padding: 1em 2em;
    font-size: 16px;
    border: none;
    -webkit-appearance: none;
    transition: all 0.4s ease;
    color: #fff;
    background-color: var(--main-color);
}
.contact-form-table td div:not(:last-child) {
    margin: 0 0 5px;
}
.contact_submits.flex {
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-privacy {
    width: 100%;
    height: 200px;
    margin: 0 auto 30px;
    border: 1px solid var(--main-color);
}
.contact-privacy iframe {
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 768px) {
    .contact-form-table {
        border: 1px solid var(--main-color);
    }
    .contact-main .top-trial {
        margin: 0 0 100px;
        padding: 90px 0 80px;
    }
    .contact-form-table tr {
        display: flex;
    }
    .contact-form-table td,
    .contact-form-table th {
        padding: 20px 30px;
        background-color: #fff;
        border-bottom: 1px solid #ccc;
    }
    .contact-form-table th {
        display: flex;
        align-items: center;
        width: 340px;
        color: #fff;
        background-color: var(--main-color);
        border-bottom: 1px solid;
    }
    .contact-form-table td {
        display: block;
        flex: 1;
    }
    .required-mark {
        margin: 0 0 0 15px;
        padding: 4px 2px;
        line-height: 1;
    }
    .contact-privacy {
        height: 320px;
    }
}