/* common */
/*  メニュー
-------------------------------------------------------*/
.navi-container {
    position: relative;
    margin: 1em auto;
}

@media screen and (min-width: 768px) {
    #derbe_nav {
        display: none;
    }

    .navi-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .navi-inner #derbe_header {
        display: none;
    }

    .navi-content {
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .navi-wrap {
        position: relative;
        padding: 10px 0;
    }

    .navi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        width: 100%;
        height: 30px;
        max-width: 1000px;
    }

    .navi > li {
        position: relative;
        text-align: center;
        height: 100%;
        display: flex;
        border-right: 1px solid #ccc;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        width: 20%;
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.2em;
    }

    .navi > li:first-child {
        border-left: 1px solid #ccc;
    }

    .navi > li:hover {
        cursor: pointer;
    }

    .navi p {
        position: relative;
        width: 100%;
        font-size: 16px;
        height: 100%;
        font-weight: 700;
        line-height: 30px;
        z-index: 2;
    }

    .navi p:hover {
        opacity: 0.6;
    }

    .submenu {
        position: absolute;
        top: 30px;
        padding: 10px 0;
        width: 100%;
        transition: all .2s;
        visibility: hidden;
        opacity: 0;
        z-index: 999;
    }

    .navi > li:hover .submenu {
        visibility: visible;
        opacity: 1;
    }

    .submenu li a {
        display: block;
        padding: 10px 0;
        color: #fff;
        font-weight: 700;
        text-align: center;
        line-height: 1.4em;
        font-size: 16px;
        width: 100%;
    }

    .submenu li {
        margin-bottom: 3px;
        background-color: #b79c0c;
        width: 100%;
    }

    .submenu li:last-child {
        border-bottom: none;
    }

    .navi li a {
        text-decoration: none;
    }

    .submenu a:hover {
        opacity: 0.6;
    }
}

/*  フッター
    -------------------------------------------------------*/

footer_upper .wrapper {
    margin: 0 auto;
    max-width: 1140px;
}

#footer_upper #footer_links {
    display: block;
    margin-top: 40px;
    margin-bottom: -15px;
    letter-spacing: -.5rem;
}

#footer_upper #footer_links li {
    display: inline-block;
    margin-bottom: 15px;
    border-left: 1px solid #ccc;
    letter-spacing: normal;
    font-size: 16px;
}

#footer_upper #footer_links li:first-child {
    border-left: 0;
}

#footer_upper #footer_links li a {
    display: inline-block;
    padding: 0 25px;
    text-decoration: none;
}

#footer_lower {
    padding: 5em 0 2em;
    background: #f6f6f2;
}

#footer_lower .wrapper {
    margin: 0 auto;
    max-width: 1000px;
    display: flex;
    justify-content: space-around;
}

#footer_lower .inner {
    width: 100% !important;
    max-width: 430px;
}

#footer_lower .inner:nth-child(2) {
    padding: 0 !important
}

#footer_lower .footer_lower__box {
    margin-bottom: 0;
    padding: 2em;
    border: 1px solid #e0e0da;
    text-align: center;
}

#footer_lower .footer_lower__box h2 {
    position: relative;
    font-size: 20px;
    top: -38px;
    display: inline-block;
    padding: 0 2em;
    background: #f6f6f2;
    font-weight: 700;
}

#footer_lower .footer_lower__box .inquiry_link__mail {
    margin: 1em auto;
    max-width: 320px;
}

#footer_lower .footer_lower__box .inquiry_link__mail a {
    padding: 1em 2em;
    display: block;
    background: #0d9b48;
    color: #fff;
    text-decoration: none;
}

#footer_lower .footer_lower__box .inquiry_link__mail a span {
    padding-left: 26px;
    position: relative;
    font-size: 16px;
}

#footer_lower .footer_lower__box .inquiry_link__mail a span::after {
    position: absolute;
    left: -4px;
    width: 24px;
    height: 24px;
    background: url(../img/common/icon_mail01.png) no-repeat left center;
    content: '';
}

#footer_lower .footer_lower__box p {
    text-align: left;
    margin: 1em auto 0;
}

#footer_lower .footer_lower__box p.date {
    text-align: center;
}

#footer_lower .footer_lower__box p.date b {
    margin-right: 1em;
}

footer_lower .inner:nth-child(2) {
    padding: 0 3.5%;
    width: 38%;
}

#footer_lower .footer_lower__box img {
    margin-top: -1em;
}

#footer_lower .footer_lower__box dl {
    margin-top: -1em;
}

#footer_lower #inquiry_phone dl {
    margin-top: 1em;
}

#footer_lower .footer_lower__box dl .def_team__title {
    display: inline-block;
    padding: 0.5em 1em;
    border: 1px solid #262626;
    font-weight: 400;
    font-size: 16px;
}

#footer_lower .footer_lower__box dl .def_desc__number {
    color: #0d9b48;
    font-weight: 700;
    display: inline-block;
    font-size: 20px;
    margin-left: 1em;
}

#footer_lower .footer_lower__box dl dt {
    font-weight: 600;
}

.footer_logo__img {
    max-width: 218px;
    margin: 0 auto 5em;
}

#derbe_footer .copy_right {
    padding: 2em;
    background: #e0e0da;
    color: #fff;
    text-align: center;
    font-size: 12px;
}

p.btn02 {
    text-align: center;
}

p.btn02 a {
    padding: 1em 2em;
    display: block;
    background: #0d9b48;
    color: #fff;
    text-decoration: none;
    max-width: 320px;
    margin: 0 auto;
}

p.btn02 a span {
    font-size: 16px;
    position: relative;
    padding-left: 26px
}

p.btn02 a span::before {
    position: absolute;
    left: -4px;
    width: 24px;
    height: 24px;
    background: url(../img/common/ic_shopping_cart.png) no-repeat left center;
    content: '';
}

ul.snsarea {
    margin: 2em auto;
    max-width: 149px;
    width: 100%;
    display: flex;
    justify-content: space-around;
}

@media screen and (max-width: 768px) {
    .navi-content {
        display: none;
    }

    #footer_lower .wrapper {
        display: block;
    }
}
  #footer_lower .footer_lower__box h2{
    margin:0 !important;
}

  /*  フリーページ用
    -------------------------------------------------------*/
  .is_free5 .sec_box {
    border:3px solid #DECD8E;
    padding:50px 0;
    text-align:center;
    max-width: 1110px;
    margin:0 auto 40px;
}
  .is_free5 .notes {
    text-align:center;
    color:#707070;
    margin:1em 0 2em;
}
  .is_free5 .sec_box .head_text__read {
    margin:0 0 40px;
}
@media screen and (max-width: 768px) {
    .is_free5 .head_text__read {
      text-align:left!important;;
  }
    .is_free5 .sec_box {
    border:2px solid #DECD8E;
    padding:20px;
    margin:0 auto 30px;
}
    .is_free5 .sec_box .head_text__read {
    margin:0 0 20px;
}
  .is_free5 .sec_wrapper.maxwidth_804__pc {
    margin:0;
  }
  .is_free5 .br_pc {
    display:none;
  }
  
}
  .f5__box{
    display: flex;
    gap: 40px;
    justify-content: space-between;
    padding: 0 40px;
}
@media screen and (max-width: 768px) {
    .f5__box{
        display: flex;
        gap: 16px;
        flex-direction: column;
        padding: 0;
    }
}

.footer_line {
	max-width: 1000px;
	margin: 0 auto 30px;
	border: 1px solid #20D124;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_line div {
	margin: 0 5px;
}
.line_text {
	font-size: 16px;
	width: 40%;
	text-align: left;
}
@media all and (max-width: 768px) {
	.footer_line {
		flex-wrap: wrap;
      justify-content: center;
      padding: 10px 20px;
	}
	.footer_line div {
		margin: 5px 0;
	}
	.line_text {
		font-size: 14px;
		width: 100%;
	}
	
}
.footer_banner {
	display: flex;
	justify-content: center;
}
.footer_banner a {
	width: 320px;
	display: block;
	margin: 0 10px;
}

@media all and (max-width: 768px) {
	.footer_banner {
		display: block;
	}
	.footer_banner a {
		width: 100%;
		margin: 5px 0;
	}
}