@charset "utf-8"; @font-face {
    font-family: "bello";
    src: url('../font/BellotaText-Bold.woff') format('woff');
}

@font-face {
    font-family: "corb";
    src: url('../font/corbelb.woff') format('woff');
}

@font-face {
    font-family: "lha";
    src: url('../font/LHANDW.woff') format('woff');
}

@font-face {
    font-family: "rage";
    src: url('../font/RAGE.woff') format('woff');
}

@font-face {
    font-family: "kobu";
    src: url('../font/koburina StdN W6.woff') format('woff');
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
電話番号のフォントファミリーを指定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tel_font,.tel_font a {
    font-family: "bello";
}

div#tel_lb .open {
    font-family: 'bello';
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　画像がない場合の汎用スタイル（一覧ページ／ショートコード／関連記事…などで共有）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.noimage {
    background: url(../images/noimage.svg) no-repeat 50% / auto 50% #f9f7f1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル　＞　サイトのテーマ色を一括指定する
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 文字色 */
body.sp[class*="voice"] ul.child_navi a[href*="voice"], body.sp dl.type01 [class*="current"] > a, body.sp dl.type01 dt, a.basic_btn02, .basic_list01 li:before, ol.basic_list02 > li:after, a.basic_color_font, [class*="current"] .basic_color_font_cur, [class*="current"] .basic_color_font_cur:hover, .basic_color_font_bf:before, .basic_color_font_af:after, .cmn_kadomaru {
    color: #16902e;
}

/* ボーダー色 */
body.sp dl.type01 > dt .arrow, h3[class*="h3a"], h2[class*="h2a"], .basic_box02, .basic_list02 > li, .basic_color_border, .basic_color_border_bg:before, .basic_color_border_af:after, .cmn_kadomaru {
    border-color: #16902e;
}

/* 背景色 */
a.basic_btn01, h3[class*="h3b"], ol.basic_list02 > li:before, .basic_color_bg, .basic_color_bg_bf:before, .basic_color_bg_af:after, #h_navi_main ul:not(.sub-menu) > li > a:after {
    background-color: #16902e;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用見出し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* [.h2a][.h2b]共通のスタイル */
h2[class*="h2"] {
    font-size: 3rem;
    font-weight: bold;
}

/* [.h2a]のスタイル */
h2[class*="h2a"] {
    background: url("../images/h2a_bg.jpg");
    color: #392d22;
    border-left: 7px solid #392d22;
    border-bottom: none;
    padding: 10px 20px;
}

h2[class*="h2b"]:before {
    background: url("../images/h2b_hige.svg") no-repeat 50% / contain;
    width: 51px;
    height: 67px;
    left: calc(50% - 25px);
}

/* [.h3a][.h3b]共通のスタイル */
h3[class*="h3"] {
    font-weight: bold;
}

/* [.h3a]のスタイル */
h3[class*="h3a"] {
    border-top: 2px dashed #392d22;
    border-bottom: 2px dashed #392d22;
    border-left: none;
    color: #392d22;
    padding: 9px 15px;
}

/* [.h3b]のスタイル */
h3[class*="h3b"] {
    border-radius: 4px;
    background-color: #0d651f
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　テーブル01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_table01 th, .basic_table01 td {
    border: 1px solid #a39d8b;
}

.basic_table01 th {
    background-color: #f9f7f1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用ボックス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.basic_box01 {
    background-color: #f4f4f4;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.basic_btn01 {
    font-weight: bold;
    padding: 20px 30px;
    background-color: #4e4741;
    border-radius: 4px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　よくある質問(定義リストver.)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
dl.faq > dt:before {
    color: #16902e;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下層ページ　＞　ヘッダー画像
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo .sub_ttl {
    display: none;
}

.page_promo .slug {
    display: block;
    font-family: 'rage';
    font-size: 4rem;
    color: #1cb53a;
}

.page_promo .ttl {
    color: #fff;
}

.page_promo .img_wrap {
    height: 350px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用タイトル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
h2.cmn_ttl .en {
    font-size: 5rem;
    font-family: "corb";
    letter-spacing: .2em;
    color: #333333;
}

h2.cmn_ttl .ja {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    display: block;
    color: #333333;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用カラー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_color_g {
    color: #16902e;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　汎用　＞　ブログ一覧
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_post_list li {
    align-items: center;
    padding: 24px 50px 25px 25px;
    background-image: linear-gradient(to right, #897e75, #897e75 3px, transparent 3px, transparent 8px);
    /* 幅2の線を作る */
    background-size: 6px 1px;
    /* グラデーションの幅・高さを指定 */
    background-position: left bottom;
    /* 背景の開始位置を指定 */
    background-repeat: repeat-x;
    /* 横向きにのみ繰り返す */
    transition: all 0.2s linear;
	/*2022-06-14修正追加ty*/
    flex-wrap: nowrap;
}

ul.cmn_post_list li:hover {
    background-color: #faf6f3;
    opacity: 1;
}

ul.cmn_post_list li::after {
    font-family: 'icomoon';
    top: calc(50% - .4em);
    right: 15px;
    content: '\e91b';
    font-size: .8em;
    transition: all 0.2s linear;
    position: absolute;
    font-weight: bold;
    line-height: 1;
}

ul.cmn_post_list li p.cat {
    font-size: 1.4rem;
    margin-right: 20px;
    padding: 0px 10px;
    width: 125px;
    text-align: center;
    color: #fff;
    border-radius: 14px;
    font-weight: bold;
	/*2022-06-14修正追加ty*/
    background-color: #16902e;
    min-width: 100px;
    max-width: 12em;
}

ul.cmn_post_list li p.date {
    font-size: 1.8rem;
    color: #333333;
    width: 110px;
    margin-right: 10px;
    font-family: "bello";
}

ul.cmn_post_list li h3.ttl {
    width: calc(100% - 100px - 20px - 110px - 10px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
}

ul.cmn_post_list li h3.ttl a {
    font-size: 1.6rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お客様の声　＞　アーカイブ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_voice_list {
    margin-bottom: -20px;
}

.cmn_voice_list li {
    justify-content: space-between;
    border: 1px solid #c6c6c6;
    border-radius: 5px;
    margin-bottom: 20px;
    padding: 45px;
    align-items: center;
}

.cmn_voice_list li .area_a {
    width: 260px;
}

.cmn_voice_list li .area_b {
    flex: 1;
    margin-left: 60px;
}

.cmn_voice_list li .area_b h3.ttl {
    font-size: 2.0rem;
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.cmn_voice_list li .area_b p.name {
    color: #676252;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 10px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お客様の声　＞　詳細
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.single-voice #main_area .article_title.plain_type h1 {
    border-bottom: 1px dashed #897e75;
    margin-bottom: 15px;
    font-size: 2.0rem;
}

body.single-voice .meta p.name {
    font-size: 1.6rem;
    text-align: right;
    margin-bottom: 25px;
    font-weight: bold;
}

body.single-voice #main_area > * > * > * > .editor_area {
    margin-top: 1em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
献立一覧　＞　アーカイブ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_menu_list li {
    border-bottom: 1px dashed #dddddd;
    padding-bottom: 30px;
    align-items: center;
    justify-content: space-between;
}

ul.cmn_menu_list li~li {
    padding-top: 30px;
}

ul.cmn_menu_list p.ttl {
    max-width: calc(100% - 300px);
}

ul.cmn_menu_list p.ttl a {
    font-size: 2rem;
    font-weight: bold;
}

ul.cmn_menu_list .btn_wrap {
    display:flex;
    gap:10px;
}

ul.cmn_menu_list p.btn a {
    font-weight: bold;
    color: #4e4741;
    border: 2px solid;
    border-radius: 4px;
    /* padding: 18px 80px; */
    padding: 18px 40px;
    position: relative;
}

ul.cmn_menu_list p.btn a::before, ul.cmn_menu_list p.btn a::after {
    font-family: "icomoon";
    font-weight: normal;
    position: absolute;
}

ul.cmn_menu_list p.btn a::before {
    content: '\e90c';
    font-size: 25px;
    color: #4e4741;
    top: calc(50% - 22px);
    /* left: 25px; */
    left: 10px;
}

ul.cmn_menu_list p.btn a::after {
    content: '\e91b';
    font-size: 10px;
    color: #fff;
    background: #4e4741;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    top: calc(50% - 12px);
    /* right: 20px; */
    right: 10px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
widget-shortcode
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.widget-shortcode .widgettitle {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
widget-shortcode　＞　バナー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_bnr_wrap {
    justify-content: space-between;
    width: 1150px;
    max-width: 100%;
    margin: 0 auto;
}

.cmn_bnr_wrap p {
    max-width: 49%;
}

.cmn_bnr_wrap p img {
    margin-bottom: 0!important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
widget-shortcode　＞　サービスリスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.cmn_service_list {
    margin: 0 -15px -50px;
}

ul.cmn_service_list li {
    width: 585px;
    margin: 0 15px 50px;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    border: 1px solid #e5e5e5;
}

body:not(.home) ul.cmn_service_list li {
    max-width: 475px;
}

ul.cmn_service_list [class~="biggerlink"] .bl_area::after, ul.cmn_service_list [class~="bl"] .bl_area::after {
    z-index: 3;
}

ul.cmn_service_list li:hover {
    opacity: 1;
}

ul.cmn_service_list li .area_a {
    position: relative;
}

ul.cmn_service_list li .area_a::before {
    background-color: rgba(0 , 0 , 0 , .3);
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: all 0.2s linear;
}

ul.cmn_service_list li:hover .area_a::before {
    opacity: 1;
}

ul.cmn_service_list li .area_a p.img_wrap {
    height: 278px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: no-repeat 50% / cover;
    position: relative;
}

ul.cmn_service_list li.care .area_a p.img_wrap {
    background-image: url("../images/se_img01.jpg");
}

ul.cmn_service_list li.kinder .area_a p.img_wrap {
    background-image: url("../images/se_img02.jpg");
}

ul.cmn_service_list li.school .area_a p.img_wrap {
    background-image: url("../images/se_img03.jpg");
}

ul.cmn_service_list li.business .area_a p.img_wrap {
    background-image: url("../images/se_img04.jpg");
}

ul.cmn_service_list li .area_a p.img_wrap::before, ul.cmn_service_list li .area_a p.img_wrap::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    width: 112px;
    height: 52px;
    left: calc(50% - 56px);
    opacity: 0;
    transition: all 0.2s linear;
    z-index: 2;
}

ul.cmn_service_list li .area_a p.img_wrap::before {
    background-image: url("../images/uneunetop.svg");
    top: 60px;
}

ul.cmn_service_list li .area_a p.img_wrap::after {
    background-image: url("../images/uneunebottom.svg");
    bottom: 60px;
}

ul.cmn_service_list li:hover .area_a p.img_wrap::before, ul.cmn_service_list li:hover .area_a p.img_wrap::after {
    opacity: 1;
}

ul.cmn_service_list li .area_a p.img_wrap span {
    color: #fff;
    font-size: 5rem;
    font-family: "lha";
    z-index: 2;
    position: relative;
}

ul.cmn_service_list li .area_b {
    text-align: center;
    padding: 30px 10px;
}

ul.cmn_service_list li .area_b h3.ttl {
    margin-bottom: 10px;
}

ul.cmn_service_list li .area_b h3.ttl a {
    font-size: 2.2rem;
    font-weight: bold;
    position: relative;
    padding: 0 40px;
    color: #333333;
}

ul.cmn_service_list li .area_b h3.ttl a::before {
    position: absolute;
    content: "\e925";
    font-family: "icomoon";
    width: 26px;
    height: 26px;
    background: #16902e;
    border-radius: 100%;
    color: #fff;
    top: calc(50% - 13px);
    left: 0;
    font-size: .5em;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
widget-shortcode　＞　対応エリアリスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_area_list {
    border: 2px solid #151515;
    border-radius: 4px;
    padding: 50px 90px;
}

.cmn_area_list .area_a {
    margin-right: 120px;
    width: 150px;
}

.cmn_area_list .area_a h2.cmn_ttl .en {
    text-align: center;
    font-size: 4.4rem;
    position: relative;
    padding-top: 45px;
    display: block;
}

.cmn_area_list .area_a h2.cmn_ttl .en::before {
    position: absolute;
    content: "";
    background: url("../images/area_icon.png") no-repeat 50% / contain;
    width: 60px;
    height: 44px;
    top: 0;
    left: calc(50% - 30px);
}

.cmn_area_list .area_a h2.cmn_ttl .ja {
    font-size: 1.6rem;
    letter-spacing: .1em;
}

.cmn_area_list .area_b {
    width: calc(100% - 150px - 120px);
}

.cmn_area_list .area_b ul.items li:last-child {
    width: 100%;
    margin-top: 35px;
}

.cmn_area_list .area_b ul.items li h3.ttl {
    font-size: 2.0rem;
    font-weight: bold;
    position: relative;
    color: #333333;
}

.cmn_area_list .area_b ul.items li h3.ttl::before {
    display: inline-block;
    content: "";
    background: #16902e;
    width: 7px;
    height: 7px;
    border-radius: 100%;
    vertical-align: .15em;
    margin-right: 15px;
}

.cmn_area_list .area_b ul.items li p.txt {
    padding-left: 25px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#promo_frame {
    position: relative;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　プロモ動画
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#promo_frame .video_wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

#promo_frame .video_wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#promo_frame .inner {
    text-align: center;
    margin-bottom: 43px;
}

#promo_frame .main_lead {
    color: #fff;
    font-size: 2.6rem;
    font-weight: bold;
    position: relative;
    padding-top: 115px;
    letter-spacing: .2em;
}

#promo_frame .main_lead::before {
    position: absolute;
    content: "";
    background: url("../images/promo_icon.png") no-repeat 50% / contain;
    width: 71px;
    height: 93px;
    top: 0;
    left: calc(50% - 35px);
}

#promo_frame .main_ttl {
    color: #fff;
    font-size: 8.6rem;
    font-family: 'corb';
    letter-spacing: .1em;
    position: relative;
    line-height: 1.2;
    padding-bottom: 25px;
}

#promo_frame .main_ttl::after {
    position: absolute;
    content: "Total food support";
    font-size: 5.6rem;
    color: #16902e;
    bottom: 0;
    left: calc(50% - 187px);
    font-family: 'rage';
    letter-spacing: 0;
    z-index: -1;
}

#promo_frame .area {
    color: #fff;
    font-size: 1.9rem;
    letter-spacing: .1em;
    font-family: "kobu";
    display: table;
    margin: -15px auto 0;
    border: 2px solid;
    padding: 13px 90px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　一言コメント(修正追加2019-10-03)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tweet_area .f_wrap > * {
    padding: 25px 15px;
}

.tweet_area .icon {
    display: none;
}

.tweet_area ul.items {
    text-align: center;
    width: 100%;
}

.tweet_area .date {
    font-family: 'bello';
    color: #333333;
}

.tweet_area a {
    font-size: 1.6rem;
}

.tweet_area .more {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
バナーエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_bnr.kugiri_m {
    padding: 0 0 30px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
サービス案内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_service {
    background: url(../images/con_bg.jpg) left top / 50px 50px #f0ede9;
}

#home_service.kugiri_m {
    padding: 60px 0;
}

#home_service .cmn_ttl {
    margin: 0 auto 25px;
    display: table;
}

#home_service .cmn_ttl .en {
    position: relative;
    padding: 0 115px;
}

#home_service .cmn_ttl .en::before, #home_service .cmn_ttl .en::after {
    content: "";
    position: absolute;
    background: no-repeat 50% / contain;
    top: calc(50% - 43px);
    height: 86px;
}

#home_service .cmn_ttl .en::before {
    background-image: url("../images/se_icon01.png");
    width: 68px;
    left: 0;
}

#home_service .cmn_ttl .en::after {
    background-image: url("../images/se_icon02.png");
    width: 125px;
    right: -40px;
}

#home_service .main_lead {
    text-align: center;
    margin-bottom: 40px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ロワールの強み
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_about {
    position: relative;
    z-index: 0;
}

#home_about::before, #home_about::after {
    position: absolute;
    content: "";
    top: 0;
    background: no-repeat;
    z-index: -1;
}

#home_about::before {
    background-image: url("../images/about_bg01.jpg");
    left: calc(50% - 952px);
    width: 776px;
    height: 606px;
}

#home_about::after {
    background-image: url(../images/about_bg02.jpg?data=20250829);
    right: calc(50% - 951px);
    width: 776px;
    height: 674px;
}

#home_about.kugiri_m {
    padding: 75px 0 25px;
}

#home_about h2.main_ttl {
    font-size: 3rem;
    position: relative;
    display: table;
    margin: 0 auto 5px;
    padding-top: 115px;
    font-weight: bold;
    text-align: center;
    line-height: 1.8;
}

#home_about h2.main_ttl::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    background-image: url("../images/about_icon01.png");
    width: 64px;
    height: 82px;
    top: 0;
    left: calc(50% - 32px);
}

#home_about h2.main_ttl img {
    width: 170px;
    vertical-align: -6px;
    margin-right: 5px;
}

#home_about h2.main_ttl span {
    color: #333333;
    display: inline-block;
    position: relative;
}

#home_about ul.items {
    justify-content: center;
    margin: 0 -5px 20px;
}

#home_about ul.items li {
    background: #0d651f;
    color: #fff;
    border-radius: 4px;
    min-width: 175px;
    text-align: center;
    padding: 10px 15px;
    margin: 0 5px;
    font-size: 2.2rem;
    font-weight: bold;
}

#home_about p.main_txt {
    line-height: 2.3;
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
おいしさのこだわり
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_reason.kugiri_m {
    padding: 15px 0 0;
    margin-bottom: -170px;
}

#home_reason p.en_ttl {
    font-size: 2.2rem;
    font-weight: bold;
    font-family: "corb";
    background: url(../images/reason_fukidashi.png) no-repeat 50% / contain;
    width: 224px;
    height: 66px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto 0px;
    color: #333333;
    letter-spacing: .1em;
    padding-bottom: 5px;
}

#home_reason p.en_ttl::before {
    position: absolute;
    content: "";
    background: url(../images/reason_icon01.png) no-repeat 50% / contain;
    width: 28px;
    height: 12px;
    top: -20px;
    left: calc(50% - 14px);
}

#home_reason h2.main_ttl {
    font-size: 2.6rem;
    color: #333333;
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
    padding: 0 400px;
}

#home_reason h2.main_ttl .big {
    font-size: 4rem;
    margin: 0 5px;
    font-family: 'bello';
}

#home_reason ol.items {
    margin: 0 -15px;
    position: relative;
}

#home_reason ol.items::before, #home_reason ol.items::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
}

#home_reason ol.items::before {
    background-image: url("../images/reason_hata.png");
    width: 120px;
    height: 114px;
    top: -113px;
    left: calc(50% - 322px);
}

#home_reason ol.items::after {
    background-image: url("../images/reason_cock.png");
    width: 88px;
    height: 152px;
    top: -151px;
    right: calc(50% - 315px);
}

#home_reason ol.items li {
    width: 380px;
    border: 1px solid #e5e5e5;
    padding: 55px 30px 30px;
    background: no-repeat left bottom / 378px 177px;
    position: relative;
    min-height: 270px;
    text-align: center;
    margin: 0 15px;
    transition: .2s ease-in-out;
}

#home_reason ol.items li:hover {
    border-color: #eee3c9;
    opacity: 1;
}

#home_reason ol.items li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    opacity: .6;
    transition: .2s ease-in-out;
}

#home_reason ol.items li:hover::before {
    box-shadow: 0 0 0 11px #eee3c9 inset;
}

#home_reason ol.items li.item_list01 {
    background-image: url(../images/reason_img01.jpg);
}

#home_reason ol.items li.item_list02 {
    background-image: url(../images/reason_img02.jpg);
}

#home_reason ol.items li.item_list03 {
    background-image: url(../images/reason_img03.jpg);
}

#home_reason ol.items li > .inner {
    position: absolute;
    top: calc(50% - 151px);
    left: calc(50% - 80px);
}

#home_reason ol.items li h3.ttl {
    position: relative;
}

#home_reason ol.items li h3.ttl::after {
    position: absolute;
    content: "";
    bottom: 17px;
    width: 90px;
    height: 1px;
    background: #fff;
    left: calc(50% - 45px);
}

#home_reason ol.items li h3.ttl .ttl_item {
    position: relative;
    display: block;
    font-family: "rage";
    background: #4e4741;
    color: #fff;
    padding: 15px 30px 5px;
    min-width: 160px;
    font-size: 2.6rem;
}

#home_reason ol.items li h3.ttl .ttl_item::before {
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 16px 0 0 9px;
    border-color: transparent transparent transparent #8d7258;
    line-height: 0px;
    _border-color: #000000 #000000 #000000 #8d7258;
    _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
    top: 0px;
    right: -9px;
}

#home_reason ol.items li h3.ttl .ttl_item::after {
    content: counter(ol_cnt , decimal-leading-zero);
}

#home_reason ol.items li p.txt {
    font-size: 2.0rem;
    font-weight: bold;
    color: #333333;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
安心・安全へのこだわり
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_eisei.kugiri_m {
    padding: 230px 0 75px;
    background: #f9f7f1;
}

#home_eisei .inner {
    position: relative;
    width: calc(100% - 610px);
    padding-top: 75px;
    min-height: 460px;
}

#home_eisei .img_area {
    position: absolute;
    top: 0;
    left: 590px;
    background: url("../images/eisei_bg.png");
    width: 1688px;
    height: 460px;
    animation: bg-slider 80s linear infinite;
}

/* スライドアニメーション */
@keyframes bg-slider {
    from {
        background-position: 0 0;
    }

    to {
        background-position: -1688px 0;
    }
}

#home_eisei .img_area::after {
    position: absolute;
    content: "";
    background: url("../images/eisei_icon02.png") no-repeat 50% / contain;
    width: 292px;
    height: 124px;
    bottom: -20px;
    left: 325px;
}

#home_eisei h2.main_ttl {
    font-size: 2.8rem;
    position: relative;
    font-weight: bold;
    color: #333333;
    line-height: 1.8;
    margin-bottom: 18px;
    padding-right: 235px;
}

#home_eisei h2.main_ttl::after {
    position: absolute;
    content: "";
    background: url("../images/eisei_icon.png") no-repeat 50% / contain;
    width: 106px;
    height: 73px;
    top: calc(50% - 36px);
    right: 120px;
}

#home_eisei p.main_txt {
    margin-bottom: 30px;
    padding-right: 20px;
}

#home_eisei p.btn a {
    color: #fff;
    background: #4e4741;
    position: relative;
    min-width: 300px;
    border-radius: 4px;
    padding: 18px 50px;
    border: 2px solid #4e4741;
    font-weight: bold;
}

#home_eisei p.btn a:hover {
    color: inherit;
    background: #fff ;
}

#home_eisei p.btn a::before {
    position: absolute;
    content: "\e925";
    font-family: "icomoon";
    top: calc(50% - .5em);
    left: 30px;
    font-size: 1em;
    line-height: 1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    お客様の声と会社概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_other div[class*=area] {
    width: 33.3333%;
    height: 400px;
    height: clamp(300px,25vw,400px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    z-index: 0;
    overflow: hidden;
}

#home_other div[class*=area]:hover {
    opacity: 1;
}

#home_other .voice_area::after, #home_other .com_area::after, #home_other .greetings_area::after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all .5s ease;
    z-index: -1;
    background:no-repeat 50%/cover;
}

#home_other .voice_area::after {
    background-image: url("../images/voice_bg.jpg");
}

#home_other .com_area::after {
    background-image: url("../images/com_bg.jpg");
}

#home_other .greetings_area::after {
    background-image: url("../images/greetings_bg.jpg");
}

#home_other .voice_area:hover::after, #home_other .com_area:hover::after, #home_other .greetings_area:hover::after {
    transform: scale(1.1);
}

#home_other div[class*=area] .box {
    background: rgba(255 , 255 , 255 ,.85);
    max-width: 500px;
    height: 250px;
    height: clamp(215px,16vw,250px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 95%;
    padding: 20px;
    text-align: center;
}

#home_other div[class*=area] h3.ttl .en {
    font-size: 4rem;
    font-size: clamp(4rem,3.5vw,5rem);
    font-family: "corb";
    letter-spacing: .2em;
}

#home_other div[class*=area] h3.ttl .ja {
    font-size: 1.8rem;
    display: block;
    font-weight: bold;
    letter-spacing: .2em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    NEWS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_news.kugiri_m {
    padding: 60px 0 40px;
}

#home_news .area_a {
    width: calc(100% - 400px - 70px);
    margin-right: 70px;
    position: relative;
}

#home_news .area_a h2.main_ttl {
    color: #4e4741;
    font-size: 4.4rem;
    position: relative;
    font-family: "lha";
    display: table;
    padding-right: 135px;
    margin-bottom: 20px;
}

#home_news .area_a h2.main_ttl::after {
    position: absolute;
    content: "";
    background: url("../images/news_ttl_icon.png") no-repeat 50% / contain;
    width: 120px;
    height: 53px;
    top: 0;
    right: 0;
}

#home_news .area_a p.btn {
    position: absolute;
    top: 0;
    right: 0;
}

#home_news .area_a p.btn a {
    min-width: 170px;
    color: #333333;
    font-weight: bold;
    border: 2px solid;
    border-radius: 4px;
    padding: 5px 40px;
    position: relative;
}

#home_news .area_a p.btn a:hover {
    background: #333333;
    color: #fff;
    border-color: #333333;
    opacity: 1;
}

#home_news .area_a p.btn a::before {
    position: absolute;
    content: "\e925";
    font-family: "icomoon";
    top: calc(50% - 0.4em);
    left: 15px;
    font-size: .8em;
    line-height: 1;
}

#home_news .area_b {
    width: 400px;
}

#home_news .area_b p.img {
    border: 1px solid #b8b8b8;
}

#home_news .area_b p.fb {
    margin-bottom: 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    対応エリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_area.kugiri_m {
    padding: 0 0 60px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  お問い合わせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contact_area {
    background: url(../images/con_bg.jpg) left top / 50px 50px #f0ede9;
}

#contact_area.kugiri_m {
    padding: 45px 0;
}

#contact_area p.logo {
    width: 170px;
    margin: 0 auto 20px;
}

#contact_area p.tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

#contact_area p.tel a {
    font-family: "bello";
    color: #333333 !important;
    font-size: 3.8rem;
    line-height: 1.2;
}

#contact_area p.tel a::before {
    content: "\f095";
    font-size: .8em;
    font-family: "icomoon";
    margin-right: 5px;
    vertical-align: -2px;
}

#contact_area p.tel .open {
    color: #333333;
    font-family: 'bello';
    font-size: 1.8rem;
}

#contact_area ul.items {
    position: relative;
    margin: 0 -10px 15px;
    justify-content: center;
}

#contact_area ul.items::before {
    position: absolute;
    content: "";
    background: url("../images/con_ojigi.png") no-repeat 50% / contain;
    width: 92px;
    height: 129px;
    top: -125px;
    left: calc(50% - 260px);
}

#contact_area ul.items li {
    width: calc(33.3333% - 10px);
    margin: 0 5px;
    max-width: 300px;
}

#contact_area ul.items li a {
    color: #fff;
    min-width: 300px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    position: relative;
    display: block;
    border-radius: 4px;
    padding: 23px;
    border: 2px solid;
}

#contact_area ul.items li a::before {
    position: absolute;
    font-family: "icomoon";
    line-height: 1;
    font-weight: normal;
    top: calc(50% - 0.5em);
}

#contact_area ul.items li.mail a {
    background-color: #4e4741;
    border-color: #4e4741;
    padding-left: 40px;
}

#contact_area ul.items li a:hover {
    text-decoration: none;
}

#contact_area ul.items li.mail a:hover {
    color: #4e4741;
    background-color: #fff;
}

#contact_area ul.items li.mail a::before {
    left: 35px;
    content: "\e90d";
    font-size: .9em;
}

#contact_area ul.items li.line a {
    background-color: #16902e;
    border-color: #16902e;
    padding-left: 25px;
}

#contact_area ul.items li.line a:hover {
    color: #16902e;
    background-color: #fff;
}

#contact_area ul.items li.line a::before {
    left: 30px;
    content: '\e902';
    font-size: 1.3em;
}

#contact_area ul.items li.web a {
    background-color: #e66f13;
    border-color: #e66f13;
}

#contact_area ul.items li.web a:hover {
    color: #e66f13;
    background-color: #fff;
}

#contact_area p.addr {
    text-align: center;
    font-size: 1.6rem;
}
