/*レスポンシブ02 レッド 1カラム*/

@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
body {
color: var(--txt-color);
font-weight: normal;
font-family: "Montserrat", "Noto Sans JP", sans-serif;
}
/* CSS Document */

/*--#wrap{font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;}--*/

#mainContents{padding-bottom: 0;}

/*-- 色の指定 --*/
:root {
  --first-color: #ce0e19;/*-- メイン色 --*/
  --second-color: #83c522;/*-- サブ色 --*/
  --accent-color: #f6ad00;/*-- アクセントカラー --*/
  --baseborder-color: #ccc;/*-- 基本の線の色 --*/
  --border-color: #01315c;/*-- 色付きの線の色 --*/
  --bg-color: #e7f4fc;/*-- 背景色 --*/
  --red-color: #d34; /*-- 赤の指定 --*/
}

.pc{display:inline;}
.sp{display:none;}

.ta_c_pc,
.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto !important; margin-right: auto !important;}
.mr_auto{ margin-right: auto !important;}
.ml0{margin-left: 0 !important;}

.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt30{margin-top: 30px !important;}
.mb30{margin-bottom: 30px !important;}
.mt40{margin-top: 40px !important;}
.mb40{margin-bottom: 40px !important;}

.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt30{padding-top: 30px !important;}
.pb30{padding-bottom: 30px !important;}
.pt40{padding-top: 40px !important;}
.pb40{padding-bottom: 40px !important;}


.fw_b{font-weight: bold;}

#wrap {background: #f0e841;}

strong{
  font-size:1.2em;
  color:var(--first-color);
}

hr{border-style: dotted; color: #ccc; border-width: 1px; margin: 20px 0px;}

.gallery .comment {text-align:center;}

#mainArticles .envelope,
.envelope {
    background: var(--second-color);
    border: none;
    margin: 5px 0;
    font-weight: bold;
    color: #fff;
    border-radius: .5em;
}

.article {padding-top: 20px;}

/*--リストの装飾--*/
ul.simpleList, ol.orderList { padding-left: 2em; }

ul.simpleList li { list-style-type: disc; padding: 5px; }
ol.orderList li { list-style-type: decimal; padding: 5px; }

ul.markList { padding-left: 3px; }
ul.markList li { list-style-type: none; padding: 5px; }
ul.markList li::before {
    color: var(--red-color);
    content: "»";
    display: inline-block;
    font-size: 115%;
    margin-right: 2px;
}

ol.StyleOrderList {
    counter-reset: number 0;
    list-style: outside none none;
    padding-left: 40px;
    line-height: 2;
}
ol.StyleOrderList li::before {
    background: var(--first-color);
    border-radius: 50%;
    color: #fff;
    content: counter(number, decimal);
    counter-increment: number 1;
    display: inline-block;
    height: 2em;
    margin-left: -40px;
    margin-right: 0.5em;
    text-align: center;
    width: 2em;
    font-family: monospace;
}
ol.StyleOrderList li {
    margin-bottom: 0.4em;
}

ul.StyleCheckList {
    list-style: outside none;
    line-height: 2;
    padding-left: 2.5em;
}
ul.StyleCheckList li {
    position: relative;
}
ul.StyleCheckList li::before {
    display: block;
    content: '';
    position: absolute;
    top: 0.4em;
    left: -2em;
    width: 0.9em;
    height: 0.5em;
    border-left: 4px solid var(--red-color);
    border-bottom: 4px solid var(--red-color);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.StyleIconList {
    list-style: outside none;
    line-height: 2;
    padding-left: 2.2em;
}
ul.StyleIconList li {
    position: relative;
}
ul.StyleIconList li::before ,
ul.StyleIconList li::after {
    display: block;
    content: '';
    position: absolute;
}
ul.StyleIconList li::before {
    top: 0.4em;
    left: -1.9em;
    width: 1.2em;
    height: 1.2em;
    background-color: var(--first-color);
    border-radius: 100%;
}
ul.StyleIconList li::after {
    top: 0.8em;
    left: -1.6em;
    width: 0.3em;
    height: 0.3em;
    border-right: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

ul.faq li.qus::before {
    background-color: var(--second-color);
}
ul.faq li.ans::before {
    background-color: var(--first-color);
}


/*マーカー*/
span[style*="Lime"] {
    background-color: transparent !important;
    background: linear-gradient(transparent 70%, #AEC 0) repeat scroll 0 0;
}
span[style*="Yellow"] {
    background-color: transparent !important;
    background: linear-gradient(transparent 70%, #FEA 0) repeat scroll 0 0;
}

/*-- 沿革用table --*/
.article table.normalTbl {
font-size: 1em;
	th {
	background: none;
	font-weight: bold;
	}
}
.article table.normalTbl th {
background: none;
}
#historyTable,.historyTable{
	border-left:none !important;
}
#historyTable th,#historyTable td,
.historyTable th,.historyTable td{
	background: none !important;
	border-left:none !important;
	border-right:none !important;
	padding-left: 0px !important;
	font-weight: normal !important;
}

#historyTable th,
.historyTable th{text-align: left; padding-left: 20px !important;}

#mainArticles form,
#mainArticles table.contactTable tr th,
#mainArticles table.contactTable tr td{background: transparent;}

/*#mainArticles table.contactTable tr th,
#mainArticles table.contactTable tr td{border-bottom: dotted 1px #ccc;}*/

#mainArticles table.contactTable input.button,
#mainArticles table.contactTable input[type="button"] {
  margin: 8px;
  padding: 8px 0;
  border-radius: 0;
}

#mainArticles table.contactTable input.button {
    background: none;
    color: var(--first-color);
    border: 1px solid var(--first-color);
}

#mainArticles table.contactTable input.button:hover{
    background: var(--first-color);
    color: #fff;
}


.article table#flowTbl td::after {
  color: var(--second-color);
}

.article table#flowTbl td {
  border: none;
  background: var(--second-color);
  color: #fff;
  padding: 1.5em;
  border-radius: .5em;
  strong {
  color: #fff;
  background: none;
  }
}

.article table#flowTbl strong {padding: 0;}

/*-- hタグの装飾 --*/
/*h2*/
#mainArticles h2,
#mainServices h2,
#listTopics h2 {
    /*margin-bottom: 0;*/
    background: var(--second-color);
    font-weight: bold;
}

/*h3*/
.mainContents .article h3,
.mainContents div.gallery h3,
#mainServices h2,
#mainTopics h2,
#mainArticles .article h2 {
	margin-top: 0;
    color: var(--first-color);
    font-weight: bold;
}
.mainContents .article h3:after,
.mainContents div.gallery h3:after,
#mainServices h2:after,
#mainTopics h2:after,
#mainArticles .article h2::after {
    content: none;
}
/*h4*/
.article h4 {
    border-radius: 0;
    /*--background-color: transparent;--*/
    color: #fff;
    background-color: var(--second-color);
    padding-left: 16px;
    border: 0px none;
}
.article h4:after {
}

.article h4::before{content: none;}

/*h5*/

.article h5 {
    border-left: solid 4px var(--accent-color);
}


#title h1 {
    margin: 0;
    padding: 0;
    text-align: left;
    /*--
    height: 103px;
    width: 100px;--*/
    height: 79px;
    width: 300px;
}
#title h1 a {
    background: url("/materials/178781574669301.png") no-repeat; 
    background-size: 100%;
    display: inline-block;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    height: 100%;
    width: 100%;
}

#title #title_outer {
    background: url(/materials/178781783504701.png) right bottom 10px no-repeat;
    background-size: 300px 84px;
    max-width: 1032px;
    margin: 0 auto;
}

#topMenu .topMenu li a{margin: 0; padding: 0; color: /*var(--second-color);*/}

#topMenu_outer .topMenu li a:hover{background-color: var(--first-color);}

a.btn {
    color: var(--first-color);
    background: none;
    border: 1px solid;
    padding: 8px 16px;
    border-radius: 0px;
}
  
a.btn:hover,
ul.topics li p.more a:hover,
#mainTopics .listview a:hover {
    color: #fff;
    background: var(--first-color);
    border: solid 1px var(--first-color);
}

ul.topics li p.more a,
#mainTopics .listview a{border-radius: 0px; color: var(--first-color); background: none; border: 1px solid;}

#mainTopics{background: transparent;}

ul.topics li p.date{border-radius: 0; background: var(--second-color); /*--color: #000;--*/}

ul.topics li h3 a{color: #007db8;}

.article.bg,
.gallery.bg {
    background: var(--second-color);
}

.bg.full{margin-top: 20px;}

.article.bg p,
.article.bg h3,
.gallery.bg h3 {
    color: #fff;
}

.article.bg h4,
.gallery.bg h4 {
    border-color: #fff;
}

/* MultipleColumn article内*/
.article_col .article_body {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: space-between;
  }

  .article_col .col2 {
    flex-basis: 49%;
  }
  .article_col .col3 {
    flex-basis: 32.5%;
  }
  .article_col .col4 {
    flex-basis: 24%;
  }
  .article_col .col5 {
    flex-basis: 19%;
  }
  .article_col .col2, .article_col .col3, .article_col .col4, .article_col .col5 {
    margin: 0 auto 40px;
  }
  .article_col .col2.bg, .article_col .col2.theme, .article_col .col2.gray, .article_col .col3.bg, .article_col .col3.theme, .article_col .col3.gray, .article_col .col4.bg, .article_col .col4.theme, .article_col .col4.gray, .article_col .col5.bg, .article_col .col5.theme, .article_col .col5.gray {
    padding: 40px;
  }
  .article_col .col2.bg h3, .article_col .col2.theme h3, .article_col .col2.gray h3, .article_col .col3.bg h3, .article_col .col3.theme h3, .article_col .col3.gray h3, .article_col .col4.bg h3, .article_col .col4.theme h3, .article_col .col4.gray h3, .article_col .col5.bg h3, .article_col .col5.theme h3, .article_col .col5.gray h3 {
    margin-top: 0;
    padding-top: 0;
  }
  .article_col .col4.bg, .article_col .col4.theme, .article_col .col4.gray, .article_col .col5.bg, .article_col .col5.theme, .article_col .col5.gray {
    padding: 20px;
  }

/*-- 各背景画像の指定 --*/

.greeting{
    background: linear-gradient(to right,rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 1.0)), url(/materials/169882310381501.jpg) no-repeat center left !important;
    margin-bottom: 0 !important;
    padding-bottom: 40px !important;
}
  
.atmosphere {
    background: linear-gradient(to right,rgba(237, 180, 38, 0.8), rgba(237, 180, 38, 1.0)), url(/materials/169882053157801.jpg) no-repeat center left !important;
}

.company_profile{
    background: linear-gradient(to right,rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 1.0)), url(/materials/169882256922001.jpg) no-repeat center left !important;
    padding-bottom: 50px;
}

.greeting,.atmosphere,.company_profile{width: 100vw !important; background-size: 100vw !important;}


.senior_interview{width: calc(100% - 320px);}

#footer,
#footer_body .topMenu li a, #footer_body .services li a,
#footer_body .copyright,
.sideContents #sideServices h2::before, .sideContents #sideBlogCategories h2::before, .sideContents #sideBlogDates h2::before, .sideContents #sideMobile h2::before{background: var(--second-color);}

/*-- フッター部　会社情報 --*/
#footer_info{ width: 1024px; display: flex; align-items: center; margin: auto; margin-bottom: 20px;}

#footer_info img{width: 250px;}
#footer_info .normalTbl{
    width: calc( 100% - 290px);/*-- 画像サイズ+余白文を引いたもの --*/
    border-top: solid 1px #ccc;
}

#footer_info .normalTbl th,#footer_info .normalTbl td{border-bottom: dotted 1px #ccc;}
#footer_info table.normalTbl tr:last-child th,#footer_info table.normalTbl tr:last-child td{border-bottom: solid 1px #ccc;}
/*--#sideContents_outer,.freeHtml{width: 100vw;}--*/
.freeHtml iframe{/*--width: 100vw;--*/ margin-bottom: 20px;}

.free_logo{text-align: center; margin-bottom: 20px;}
.free_logo img{width:100%; max-width: 400px; margin-left: auto; margin-right: auto; }

.btn_contact{display: flex; justify-content: space-between;}
.btn_contact li{width: 49%;}

.btn_contact a.btn{ border-color: #fff; color: #fff;}


#img_greeting img{width:100%; max-width: 320px;}



@media only screen and (max-width: 1024px) {

    #footer_info{ width: 100%; display: block; text-align: center;}
    #footer_info .normalTbl{width: 100%;}
    #footer_info .normalTbl th,#footer_info .normalTbl td{display: block;}
    #footer_info table.normalTbl tr:last-child th{border-bottom: dotted 1px #ccc;}
    #footer_info .normalTbl td{border-bottom: solid 1px #ccc;}
    .freeHtml iframe{width: 100%;}
}


@media only screen and (max-width: 615px) {
    #title #title_outer{background-image: none;}
}
@media only screen and (max-width: 600px) {

    .pc{display:none;}
    .sp{display:inline;}
    .ta_c_pc{text-align: left !important;}

    #title h1 {
        margin: 0;
        padding: 0;
        text-align: left;
        height: 50px;
        width: 190px;
    }


    .sideContents ul li a:hover, .sideContents dt a:hover,
    #toggle,.active #toggle,#topMenu_outer .topMenu li a:hover{background-color: var(--first-color);}
    
    #topMenu .topMenu li a{padding-left: 10px;}
    #topMenu .topMenu li a::after{width: auto; display: inline; right: 20px;}

    .article_col .col2, .article_col .col3, .article_col .col4, .article_col .col5 {
        flex-basis: 100%;
        padding-left: 4% !important;
        padding-right: 4% !important;
    }
    .greeting,.atmosphere,.company_profile{background-size:cover !important;}


    /* 画面下部固定のリンクパーツ */
    #bottomLink {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        text-align: center;
        z-index: 1000;
        height: 50px;
        overflow: hidden;
    }
    #bottomLink a {
        display: block;
        padding: 0;
        color: #fff;
        background: var(--first-color);
        line-height: 50px;
        height:50px;
    }
    #bottomLink a span {
        font-size:85%;
        display:block;
    }
    /* ボタンサイズ分の画面下部余白 */
    #wrap {
        margin-bottom: 40px;
    }

    .btn_contact{display: block;}
    .btn_contact li{width: 100%; margin-bottom: 10px;}
    .article h4 {padding: 10px 8px;}
    #mainArticles .envelope{margin-left: 4%; margin-right: 4%;}
  }

/*-------------
バッジ非表示
---------------*/
.recaptcha_policy {
padding: 0;
margin: 0;
text-align: center;
font-size: 11px !important;
color: #444 !important;
}
.recaptcha_policy a {
font-size: 11px !important;
color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }

#instagram h3{margin-top: 0;}
#instagram .image img{max-width: 60px;}


/*追記*/
#mainArticles table.contactTable, #mainBlogCommentForm table.contactTable {
    border-top: solid 2px var(--first-color);
    border-left: solid 2px var(--first-color);
}
#mainArticles table.contactTable tr th, #mainArticles table.contactTable tr td, #mainBlogCommentForm table.contactTable tr th, #mainBlogCommentForm table.contactTable tr td {
    border-bottom: solid 2px var(--first-color);
    border-right: solid 2px var(--first-color);
}
/*編集画面*/
.ams-build .freeHtml_body {
    min-height: 40px;
}