@charset"UTF-8"

    /*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 * 全ての要素にbox-sizing: border-box;.
 * 全ての背景画像にbackground-repeat: no-repeat.
 */
 html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}img{border-style:none}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none;}a{text-decoration:none;}.wrapper{overflow:hidden;}body{overflow-y:scroll;}

/*[カラー]*/

:root {
    --gray-color: #393939;
    /*本文用*/
    --fontdef-color: rgba(34, 34, 34, 0.75);
    /*sns*/
    --twitter-color: #55acee;
    --facebook-color: #4267b2;
    /*共通パーツ*/
    --bgd-color: #fbf9fb;
    --pagetitle-color: gray;
    /*会社案内*/
    /*    --company-color-1: #224d60;*/
    --company-color-2: #2e6c86;
    /*    --company-color-3: #3a8bad;*/
    --company-color-4: #54a4c7;
    --company-color-4-rgb: 84, 164, 199;
    --company-color-5: #79b9d4;
    --company-color-5-rgb: 121, 185, 212;
    /*サービス*/
    /*    --service-color-1: #2e5e81;*/
    --service-color-2: #3a7aa7;
    --service-color-3: #5094c4;
    --service-color-4: #76acd2;
    --service-color-4-rgb: 118, 172, 210;
    --service-color-5: #9bc3df;
    /*製品情報*/
    /*    --products-color-1: #sa45037;*/
    --products-color-2: #c4664b;
    --products-color-2-rgb: 196, 102, 75;
    --products-color-3: #d18670;
    --products-color-4: #dea696;
    --products-color-4-rgb: 222, 166, 150;
    --products-color-5: #ebc7bd;
    /*採用情報*/
    /*    --recruit-color-1: #1d4d50;*/
    --recruit-color-2: #297276;
    --recruit-color-3: #35989d;
    --recruit-color-4: #44bbc1;
    --recruit-color-4-rgb: 68, 187, 193;
    --recruit-color-5: #69cacf;
    /*Others*/
    /*    --others-color-1: #775b1b;*/
    /*    --others-color-2: #a27b24;*/
    /*    --others-color-3: #cd9c2c;*/
    --others-color-4: #dbb151;
    --others-color-4-rgb: 219, 177, 81;
    --others-color-5: #e4c47a;
    /*モバイル用グローバルメニュー*/
    --mobilemenu-color-normal: lightgray;
    --mobilemenu-color-hover: darkgray;
    /*フッター*/
    --footer-color: gray;
    --footer-color-rgb: 169, 169, 169;
    --footer-color-base: #fdfbfb;
}


img{
    max-width: 100%;
    vertical-align: bottom;
}

/*----------ヘッダー---------*/
header {
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /*border-bottom: solid 1px rgba(255, 255, 255, 0.3);*/
    background-color: rgba(0, 0, 0, 0.3);
}

.header__logo {
    position: absolute;
    width: 30vw;
    max-width: 400px;
    height: 3.7vw;
    max-height: 49px;
    margin-top: 7px;
    margin-left: 10px;
}
.header__logo img{ height:60px; vertical-align: bottom;}
@media (max-width: 799px){
.header__logo { display: block; position: static; width: 100%; text-align: left; max-width: 799px; height: auto; max-height:799px; padding: 1.5% 3%; margin: 0; box-sizing: border-box;}
.header__logo img{ height: auto; width: 33.3333%;}
}

.header__menu {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 8px;
    margin-bottom: 5px;
}

.header__menu li {
    margin-right: 15px;
    min-width: 6vw;
}

.header__menu__item {
    text-decoration: none;
    display: block;
    padding: 0;
	text-decoration: none !important;
}

.header__menu__item__icon--top {
    background-image: url(../img/top-img.png);
}

.header__menu__item__icon {
    height: 3.4vw;
    width: 3.4vw;
    max-height: 34px;
    max-width: 34px;
    margin-left: auto;
    margin-right: auto;
/*    background-image: url(../img/company-img.png);*/
    -webkit-background-size: 70% 70%;
    -moz-background-size: 70%;
    -o-background-size: 70%;
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-border-radius: 10vw;
    -moz-border-radius: 10vw;
    border-radius: 10vw;
    border: solid 2px #fff;
}

.header__menu__item__icon--company{
    background-image: url(../img/company-img.png);
}

.header__menu__item__icon--service{
    background-image: url(../img/service-img.png);
}
.header__menu__item__icon--contact{
    background-image: url(../img/contact-img.png);
}

.header__menu__item:hover > .header__menu__item__icon {
    background-color: #dbb151;
    background-color: var(--others-color-4);
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header__menu__item:hover > .header__menu__item__icon--company {
    background-color: #54a4c7;
    background-color: var(--company-color-4);
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header__menu__item:hover > .header__menu__item__icon--service {
    background-color: #5094c4;
    background-color: var(--service-color-3);
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header__menu__item__title {
    color: #fff;
    font-family: 'Dosis', sans-serif;
    font-weight: 800;
    letter-spacing: 0.2em;
    margin-left: 0.1em;
    margin-top: 2px;
    margin-bottom: 0;
    text-align: center;
}

.header__menu__item:hover > .header__menu__item__title {
    opacity: 0.7;
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
@media (max-width: 799px){
/*
.header__menu{ position: fixed; left: 0; right: 0; bottom: 0; margin: auto; display: table; table-layout: fixed; width: 100%; background: #fff; color: #d6d6d6;}
.header__menu li{ display: table-cell; vertical-align: top;}
.header__menu__item__icon{ background-color: #d6d6d6 !important; border:0.33vw solid #d6d6d6; height: 12.5vw; width: 12.5vw; max-height: 12.5vw; max-width: 12.5vw;}
.header__menu__item__title{ color: #d6d6d6; font-size: 3.5vw;}
*/
.header__menu{ display: none;}
}

/*---------トップ部分---------*/
.page--sitetop {
    padding: 0;
    letter-spacing: 0.1em;
}

@media (min-width: 800px){
.sitetop__hero {
    min-height: 780px;
}
}
.sitetop__hero {
    position: relative;
    height: 100vh;
    min-height: 200px;
    width: 100%;
    background-image: url(../img/hero.jpg);
    background-position: bottom;
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
}

.sitetop__hero__inner {
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
margin: auto;
width: 800px;
}
.sitetop__hero__inner__title {
    display: block;
    line-height: 1.5em;
    font-size: 10rem;
    color: #fff;
    font-weight: lighter;
    text-shadow: 0 0 10px #000;
    -webkit-transform: scale(1, 0.9);
    -moz-transform: scale(1, 0.9);
    -ms-transform: scale(1, 0.9);
    -o-transform: scale(1, 0.9);
    transform: scale(1, 0.9);
    letter-spacing: 0.1em;
    text-align: center;
}
.sitetop__hero__inner__message {
    line-height: 1.5em;
	font-size: 2em;
    text-align: center;
    color: #fff;
    text-shadow: 0 0 10px #000;
}
@media (max-width: 799px){
.sitetop__hero__inner { width: 94%;}
.sitetop__hero__inner__title { font-size: 18vw;}
.sitetop__hero__inner__message { font-size: 4.2vw; line-height: 1.5em;}
}
.sitetop__hero__inner__title{ opacity: 0; position: relative; animation: fade ease-in-out 1.0s forwards;}
.sitetop__hero__inner__message{ opacity: 0; position: relative; animation: fade ease-in-out 1.0s forwards; animation-delay: 0.5s;}
@keyframes fade{
0%{ opacity: 0; top: -40px;}
100%{ opacity: 1.0; top: 0;}
}

.sitetop__menu {
    width: 100%;
}

.sitetop__menu__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 180px;
    width: 95%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.sitetop__menu__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 150px;
    -moz-box-flex: 0;
    -ms-flex: 0 0 150px;
    flex: 0 0 150px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    height: 150px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.sitetop__menu__item--company:hover {
    -webkit-box-shadow: 0 0 0 8px #54a4c7;
    -webkit-box-shadow: 0 0 0 8px var(--company-color-4);
    -moz-box-shadow: 0 0 0 8px #54a4c7;
    -moz-box-shadow: 0 0 0 8px var(--company-color-4);
    box-shadow: 0 0 0 8px #54a4c7;
    box-shadow: 0 0 0 8px var(--company-color-4);
}

.sitetop__menu__item--service:hover {
    -webkit-box-shadow: 0 0 0 8px #76acd2;
    -webkit-box-shadow: 0 0 0 8px var(--service-color-4);
    -moz-box-shadow: 0 0 0 8px #76acd2;
    -moz-box-shadow: 0 0 0 8px var(--service-color-4);
    box-shadow: 0 0 0 8px #76acd2;
    box-shadow: 0 0 0 8px var(--service-color-4);
}


.sitetop__menu__item__icon--company {
    background-image: url(../img/company-img.png);
}

.sitetop__menu__item__icon {
    height: 45px;
    width: 100px;
    background-position: center;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    background-repeat: no-repeat;
}

.sitetop__menu__item__title {
    margin-top: 8px;
    margin-bottom: 6px;
    line-height: 1em;
    font-family: 'Dosis', sans-serif;
    font-size: 22px;
    letter-spacing: 0.2em;
    padding-left: 0.2em;
    color: #fff;
}

.sitetop__menu__item--company .sitetop__menu__item__subtitle {
    border-color: #54a4c7;
    border-color: var(--company-color-4);
}

.sitetop__menu__item__subtitle {
    margin: 0;
    display: block;
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: 0.5em;
    padding-left: 0.5em;
    color: #fff;
    padding-top: 3px;
    border-top: solid 4px rgba(219, 177, 81, 0.5);
    border-top: solid 4px rgba(var(--others-color-4-rgb), 0.5);
}

.sitetop__menu__item__icon--survice {
    background-image: url(../img/service-img.png);
}

.sitetop__menu__item--service .sitetop__menu__item__subtitle {
    border-color: #76acd2;
    border-color: var(--service-color-4);
}


/*-------ここからニュース--------*/

.indexnews {
    /*--お知らせブロック--*/
    /*サイズ*/
    width: 100%;
    padding-top: 15px;
    padding-bottom: 30px;
    border-top: solid 2px lightgray;
}

.indexnews__title {
    /*--タイトル--*/
    /*フォント*/
    font-family: 'Dosis', sans-serif;
    font-size: 2.6rem;
    text-align: center;
    font-weight: normal;
    letter-spacing: 0.3em;
    color: darkgray;
    /*配置*/
    padding: 0;
    margin: 0;
    margin-left: 0.3em;
}

.indexnews__title:first-letter {
    font-size: 3.4rem;
}

.indexnews__subtitle {
    /*配置*/
    margin: 0;
    padding-bottom: 0;
    width: 7em;
    margin-left: auto;
    margin-right: auto;
    /*サイズ*/
    display: block;
    /*フォント*/
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: 0.5em;
    padding-left: 0.5em;
    color: gray;
    /*ベース*/
    padding-top: 3px;
    border-top: solid 2px darkgray;
}

.indexnews__list {
    /*--記事一覧--*/
    /*サイズ・配置*/
    width: 80%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 5vw 15px 5vw;
    font-size: 1.4rem;
}

.indexnews__list .newslist {
    padding: 6px 0;
}

.indexnews__list__border {
    /*--区切り用点線：上--*/
    /*サイズは親のblockを基準に・中央に配置*/
    width: 100%;
    height: 2px;
    margin-left: auto;
    margin-right: auto;
    /*2px × 2pxのドットで間隔が8pxの点線をtopに表示*/
    background-image: -webkit-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: -moz-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: -o-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: linear-gradient(to right, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: var(--dotted-line);
    -webkit-background-size: 10px 2px;
    -moz-background-size: 10px 2px;
    -o-background-size: 10px 2px;
    background-size: 10px 2px;
    background-position: top;
    background-repeat: repeat-x;
}

.indexnews__btn {
    /*--「過去のお知らせ一覧」ボタン--*/
    /*サイズ*/
    display: block;
    width: 11.2em;
    margin: 0 auto;
    /*フォント*/
    text-align: center;
    font-size: 1.1rem;
    letter-spacing: 0.2em;
    padding: 0.4em 0.8em 0.4em 1em;
    color: darkgray;
    /*ベース*/
    -webkit-border-radius: 2em;
    -moz-border-radius: 2em;
    border-radius: 2em;
    border: solid 1px darkgray;
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.indexnews__btn:hover {
    opacity: 0.7;
}

@media (max-width: 799px) {
    /*スマホ・タブレット用*/
    .indexnews__list {
        /*--記事一覧--*/
        /*サイズ・配置*/
        width: 85%;
    }
}

.newslist {
    /*--記事一覧--*/
    /*リストのスタイルリセット*/
    list-style: none;
    /*フォント*/
    letter-spacing: 0.2em;
    /*スタイル*/
    padding-top: 10px;
    padding-bottom: 10px;
    /*2px × 2pxのドットで間隔が8pxの点線をbottomに表示*/
    background-image: -webkit-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: -moz-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: -o-linear-gradient(left, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: linear-gradient(to right, rgb(211, 211, 211), rgb(211, 211, 211) 2px, transparent 2px, transparent 10px);
    background-image: var(--dotted-line);
    -webkit-background-size: 10px 2px;
    -moz-background-size: 10px 2px;
    -o-background-size: 10px 2px;
    background-size: 10px 2px;
    background-position: bottom;
    background-repeat: repeat-x;
}

.newslist div:first-child {
    /*日付・タグ ブロックの幅を固定*/
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 250px;
    -moz-box-flex: 0;
    -ms-flex: 0 0 250px;
    flex: 0 0 250px;
}

.newslist a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    /*スペース*/
    margin: 0;
    margin-left: 1em;
    padding: 5px;
    /*フォント*/
    text-decoration: none;
    color: #4b4b4b;
}

.newslist a:hover {
    opacity: 0.7;
}

.newslist__day::before {
    /*--マーク設定--*/
    font-family: 'FontAwesome';
    content: '\f0da';
    margin-right: 0.6em;
    vertical-align: middle;
    /*色*/
    color: #dbb151;
    color: var(--others-color-4);
    opacity: 0.5;
    speak: none;
}

.newslist__title {
    /*--タイトル--*/
    margin-left: 1em;
}

.newslist__tag {
    /*--タグ--*/
    display: inline-block;
    vertical-align: middle;
    /*サイズ*/
    width: 7.2em;
    padding-left: 1.2em;
    padding-right: 1em;
    line-height: 2em;
    /*フォント*/
    text-align: center;
    font-size: 10px;
    letter-spacing: 0.2em;
    margin: 0 0 0 1em;
    color: #fff;
    /*ベース*/
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
}

.newslist__tag[tagName*="お知らせ"] {
    background-color: #D5AE26;
}

.newslist__tag[tagName*="リリース"] {
    background-color: #dca082;
}

.newslist__tag[tagName*="リクルート"] {
    background-color: #73B6CF;
}

.newslist__tag[tagName*="イベント"] {
    background-color: #db95a8;
}

.newslist__tag[tagName*="メディア掲載"] {
    background-color: #7fbe95;
}

@media (max-width: 499px) {
    /*スマホ用*/
    .newslist a {
        /*縦に並べる*/
        display: block;
    }
    .newslist div {
        margin-bottom: 10px;
    }
    .newslist__title {
        /*頭を日付に揃える*/
        margin-left: 0;
    }
}

/*ここからフッター*/


footer {
    margin-top: 0;
    /*ベース*/
    background-color: #fdfbfb;
    background-color: var(--footer-color-base);
    border-top: solid 2px rgba(211, 211, 211, 0.7);
}

footer .container {
    /*サイズ*/
    margin-left: auto;
    margin-right: auto;
}


/*フッターA：フッターメニュー*/

.footer__menu {
    margin-bottom: 10px;
}

.footer__menu__inner {
    margin-bottom: 10px;
}

.footer__menu__inner--company .footer__menu__inner__list a:before,
.footer__menu__inner--company .footer__menu__inner__list a:hover,
.footer__menu__inner--company .footer__menu__inner__title,
.footer__menu__inner--company .footer__menu__inner__title--sub {
    color: #54a4c7;
    color: var(--company-color-4);
}

.footer__menu__inner--service .footer__menu__inner__list a:before,
.footer__menu__inner--service .footer__menu__inner__list a:hover,
.footer__menu__inner--service .footer__menu__inner__title,
.footer__menu__inner--service .footer__menu__inner__title--sub {
    color: #76acd2;
    color: var(--service-color-4);
}

.footer__menu__inner--products .footer__menu__inner__list a:before,
.footer__menu__inner--products .footer__menu__inner__list a:hover,
.footer__menu__inner--products .footer__menu__inner__title,
.footer__menu__inner--products .footer__menu__inner__title--sub {
    color: #d18670;
    color: var(--products-color-3);
}

.footer__menu__inner--recruit .footer__menu__inner__list a:before,
.footer__menu__inner--recruit .footer__menu__inner__list a:hover,
.footer__menu__inner--recruit .footer__menu__inner__title,
.footer__menu__inner--recruit .footer__menu__inner__title--sub {
    color: #44bbc1;
    color: var(--recruit-color-4);
}

.footer__menu__inner--others .footer__menu__inner__list a:before,
.footer__menu__inner--others .footer__menu__inner__list a:hover,
.footer__menu__inner--others .footer__menu__inner__title,
.footer__menu__inner--others .footer__menu__inner__title--sub {
    color: #dbb151;
    color: var(--others-color-4);
}

.footer__menu__inner__title {
    display: inline-block;
    /*配置*/
    margin-bottom: 5px;
    margin-top: 20px;
    margin-right: 0.2em;
    /*フォント*/
    font-size: 18px;
    font-family: 'Dosis', sans-serif;
    font-weight: 300;
    letter-spacing: 0.3em;
    color: gray;
    color: var(--footer-color);
}

.footer__menu__inner__title:first-letter {
    /*最初の文字だけ大きく*/
    font-size: 1.3em;
}

.footer__menu__inner__title--sub {
    display: inline;
    /*フォント*/
    font-size: 10.4px;
    letter-spacing: 0.2em;
    font-weight: normal;
    color: gray;
    color: var(--footer-color);
}

.footer__menu__inner__list {
    list-style: none;
    /*配置*/
    margin: 0;
    /*ベース*/
    padding: 0;
    padding-top: 10px;
    border-top: dotted 2px rgba( 169, 169, 169, 0.5);
    border-top: dotted 2px rgba(var(--footer-color-rgb), 0.5);
}

.footer__menu__inner__list li {
    padding: 2px;
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.footer__menu__inner__list a {
    text-decoration: none;
    /*フォント*/
    font-size: 13px;
    line-height: 2.6rem;
    letter-spacing: 0.2em;
    color: gray;
    color: var(--footer-color);
}

.footer__menu__inner__list a:before {
    font-family: 'FontAwesome';
    content: '\f0da';
    font-size: 10px;
    margin-right: 1.2em;
    speak: none;
}

.footer__menu__inner__list__sns a {
    /*--snsボタン--*/
    /*サイズ*/
    display: inline-block;
    width: 1.8em;
    line-height: 1.8em;
    /*配置*/
    margin-top: 0.2em;
    margin-right: 0.6em;
    /*フォント*/
    text-align: center;
    font-size: 2rem;
    letter-spacing: 0;
    /*ベース*/
    -webkit-border-radius: 2em;
    -moz-border-radius: 2em;
    border-radius: 2em;
    border: solid 1px gray;
    border: solid 1px var(--footer-color);
    /*hoverエフェクト*/
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.footer__menu__inner__list__sns a:before {
    display: none;
}

.footer__menu__inner__list__sns a:hover {
    color: #fff;
    border-color: #dbb151;
    border-color: var(--others-color-4);
}

@media (max-width:799px) {
    /*スマホ・タブレット用*/
    footer .container {
        width: 100%;
    }
    .footer__menu__inner {
        width: 70%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (min-width:800px) {
    /*大きな画面*/
    footer .container {
        width: 90%;
        max-width: 1200px;
    }
    .footer__menu {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
    }
    .footer__menu__inner {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -moz-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .footer__menu__inner:not(:first-child) {
        margin-left: 30px;
    }
}


/*footer__copyright：ロゴ・コピーライト*/

.footer__copyright {
    /*スペース*/
    padding-top: 10px;
    padding-bottom: 10px;
    /*フォント*/
    text-align: center;
    /*ベース*/
    border-top: solid 1px rgba(255, 255, 255, 0.2);
}

.footer__copyright__text {
    /*スペース*/
    margin-top: 0;
    margin-bottom: 0;
    /*フォント*/
    font-size: 0.8rem;
    letter-spacing: 0.2em;
    margin-left: 0.2em;
    color: gray;
    color: var(--footer-color);
}

@media (min-width: 500px) and (max-width: 799px) {
    /*タブレット用*/
    .footer__copyright {
        width: 100%;
        margin-top: 10px;
    }
}


/*footer__mobilemenu：スマホ用最下メニュー*/

.footer__mobile {
    z-index: 10;
    /*サイズ*/
    width: 100%;
    /*配置*/
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    bottom: 0;
    /*ベース*/
    background-color: #fff;
    border-top: solid 1px lightgray;
    border-top: solid 1px var(--mobilemenu-color-normal);
	margin: 0 auto; left: 0; right: 0;
}

.footer__mobile__link {
    text-decoration: none !important;
    /*サイズ*/
    display: inline-block;
    /*配置*/
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
    /*ベース*/
    padding: 0;
    height: 20vw;
    /*        border: solid 1px rgba(255, 255, 255, 0.3);*/
    opacity: 0.9;
}

.footer__mobile__link:hover > .footer__mobile__link__icon {
    background-color: darkgray;
    background-color: var(--mobilemenu-color-hover);
}

.footer__mobile__link:hover > .footer__mobile__link__title {
    color: darkgray;
    color: var(--mobilemenu-color-hover);
}

.footer__mobile__link__icon {
    /*サイズ*/
    height: 12vw;
    width: 12vw;
    max-height: 60px;
    max-width: 60px;
    margin-left: auto;
    margin-right: auto;
    /*配置*/
    margin-top: 8px;
    margin-bottom: 1px;
    /*画像*/
    background-image: url(../img/top-img.png);
    -webkit-background-size: 70% 70%;
    -moz-background-size: 70%;
    -o-background-size: 70%;
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center;
    /*ベース*/
    -webkit-border-radius: 10vw;
    -moz-border-radius: 10vw;
    border-radius: 10vw;
    background-color: lightgray;
    /*    border: solid 2px lightgray;*/
}

.footer__mobile__link__icon--top {
    background-image: url(../img/top-img.png);
}

.footer__mobile__link__icon--service {
    background-image: url(../img/service-img.png);
}

.footer__mobile__link__icon--company {
    background-image: url(../img/company-img.png);
}
.footer__mobile__link__icon--contact {
    background-image: url(../img/contact-img.png);
}

.footer__mobile__link__title {
    /*サイズ*/
    margin: 0;
    padding: 0;
    /*フォント*/
    font-family: 'Dosis', sans-serif;
    font-weight: 800;
    text-align: center;
    font-size: 3vw;
    color: lightgray;
    color: var(--mobilemenu-color-normal);
    letter-spacing: 0.2em;
    margin-left: 0.2em;
}

.footer__mobile__link__title:first-letter {
    font-size: 3.5vw;
}

@media (min-width: 500px) {
    /*タブレット・大きな画面*/
    .footer__mobile {
        display: none;
    }
}

/*ここからレスポンシブ*/
@media (max-width: 799px){
header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
    }

@media (max-width: 499px){
.header__menu {
    display: none;
}
}

@media (max-width: 799px){
.header__menu {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
}

@media (max-width: 499px){
.sitetop__hero {
    background-attachment: scroll;
    height: 1.78vw;
    height: -webkit-calc(100vh - 20vw);
    height: -moz-calc(100vh - 20vw);
    height: calc(100vh - 20vw);
    max-height: 180vw;
    min-height: 550px;
}
    }


@media (max-width: 499px){
.sitetop__menu {
    display: none;
}
}

@media (max-width: 799px){
.indexnews__list {
    width: 85%;
}
}

@media (max-width: 499px){
.newslist a {
    display: block;
    font-size: 0.7rem;
}
}

@media (max-width: 499px){
.newslist div {
    margin-bottom: 10px;

}
}

@media (max-width: 499px){
.newslist__title {
    margin-left: 0;

}
}

@media (max-width: 799px){
.footer__menu__inner {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
}

@media (max-width: 499px){
.footer__menu__inner__title{
font-size: 14.4px;
}

    .footer__menu__inner__title--sub{
        font-size: 10px;
    }

/*
    .footer__menu__inner__list a{
        font-size: 10.4px;
    }
*/
.footer__copyright {
    width: 100%;
    margin-top: 10px;
    font-size: 10px;
    margin-bottom: 20vw;
}
}


/*service_200325*/
#sitetop__service{ background: #f5f5f5; padding: 50px;}
#sitetop__service h2{ text-align: center; font-size: 4em; color: #54595F; margin-bottom: 30px;}
#sitetop__service h2 span{ display: block; font-size:50%;}
#sitetop__service ul{ display: table; table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 20px 0;}
#sitetop__service ul li{ display: table-cell; vertical-align: top; background: #fff; text-align: center; padding: 15px;}
#sitetop__service ul li figure{ margin-bottom: 15px;}
#sitetop__service ul li h5{ font-weight: bold; color: #54595F; margin-bottom: 15px;}
#sitetop__service ul li p{ text-align: left;}
#sitetop__service ul li a{ display: block; background: #000; color: #fff; padding: 0.5em; transition: 0.3s;}
#sitetop__service ul li a:hover{ text-decoration: none; opacity: 0.7;}
#sitetop__service ul li:nth-child(1) a{ background:#3B240B;}
#sitetop__service ul li:nth-child(2) a{ background:#3B240B;}
#sitetop__service ul li:nth-child(3) a{ background:#3B240B;}
#sitetop__service ul li:nth-child(4) a{ background:#3B240B;}
#sitetop__service ul li:nth-child(5) a{ background:#3B240B;}
@media (max-width: 799px){
#sitetop__service{ padding:6% 3%;}
#sitetop__service h2{ font-size:9vw; margin-bottom:6%;}
#sitetop__service h2 span{ display: block; font-size:50%;}
#sitetop__service ul{ display:block; border-collapse:collapse; border-spacing:0;}
#sitetop__service ul li{ display:block; padding:3%; margin:3% 0;}
#sitetop__service ul li figure{ margin-bottom:3%;}
#sitetop__service ul li h5{ font-size:4.5vw; margin-bottom:3%;}
#sitetop__service ul li p{ font-size: 3vw;}
#sitetop__service ul li a{ font-size: 3vw;}
}
