@charset "UTF-8";

/*///////////////////// font-face 読み込み例 ///////////////////////////*/
/*Noto Sans JP 400*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/*Zen Old Mincho 400*/
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}
/*Zen Old Mincho 600*/
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-SemiBold.ttf);
    font-weight: 600;
    font-display: swap;
}
/*Zen Old Mincho 700*/
@font-face {
    font-family: 'Zen Old Mincho';
    src: url(/fonts/ZenOldMincho-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}


:root {
    --page-main-color: #2C5709;
    --page-sub-color: #489B2A;
    --page-bg-color: #F9FCF6;
    --page-ttl-font: "Zen Old Mincho", serif;
}


/* カスタムスタイル */
.l-main {
    width: 100%;
    max-width: 100%;
}
.l-main * {
    font-family: "Noto Sans JP";
}
.l-main .section__space {
    padding-block: 102px 92px;
}
.l-main .section__ttl {
     font-family:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    font-weight: 600;
    margin-bottom: 28px;
}
.l-main .section__ttl span {
    font-family: var(--page-ttl-font);
    font-size: 14px;
    font-weight: 500;
    color: #2C5709;
    letter-spacing: 2.8px;
    margin-top: 6px;
}

/* main */
.main__bg--catch {
    height: 500px;
}
.main__bg--catch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* worry--05 */
.section__wrapper--worry--05 .content__items--worry--05 .content__description--worry--05 {
    font-size: 16px;
    font-weight: 500;
    color: #383838;
    text-align: center;
    line-height: 1.6;
}


/* strong--04 */
.section__wrapper--strong--04 {
    background-color: #FFF;
}
.l-main .section__wrapper--strong--04 .section__space {
    padding-block: 102px 113px;
}
.l-main .section__wrapper--strong--04 .content__items--strong--04 {
    z-index: 1;
}
.l-main .section__wrapper--strong--04 .content__items--strong--04:nth-of-type(even) .content__img--strong--04::after {
    left: -12px;
}
.section__wrapper--strong--04 .content__items__inner--strong--04 {
    align-items: center;
}
.section__wrapper--strong--04 .content__subttl--strong--04 {
    font-family: var(--page-ttl-font);
    font-size: 20px;
    color: #2C5709;
    font-weight: 600;
    padding-top: 8px;
    margin-bottom: 4px;
}
.section__wrapper--strong--04 .content__description--strong--04 {
    font-size: 16px;
    font-weight: 400;
    color: #383838;
}


/* case--09 */
.l-main .section__wrapper--case--09 .section__space {
    padding-block: 102px 103px;
}
.l-main .section__wrapper--case--09 .section__ttl {
    margin-bottom: 49px;
}
.l-main .section__wrapper--case--09 .content__items--case--09 {
    border-top: 1px solid #DBDBDB;
}
.section__wrapper--case--09 .content__subttl--case--09 {
    font-family: var(--page-ttl-font);
    font-size: 20px;
    color: #2C5709;
}
.content__description--case--09 {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.75;
}
.content__text--case--09 {
    font-family: var(--page-ttl-font);
    font-size: 16px;
    font-weight: 600;
    text-align: left;
}
.content__img--case--09 {
    width: 360px;
    height: 296px;
}


/* contact02 */
.section__wrapper--contact--02 {
    background: url(../images/bg_contact.webp) no-repeat center / cover;
}
.l-main .section__wrapper--contact--02 .section__space {
    padding-block: 82px 81px;
}
.section__wrapper--contact--02 .section__ttl {
    color: #fff;
}
.section__wrapper--contact--02 .section__ttl span {
    color: #fff;
}
.l-main .section__wrapper--contact--02 [class*="content__btn--contact--"] a {
    position: relative;
    justify-content: flex-start;
}
.l-main .section__wrapper--contact--02 [class*="content__btn--contact--"] a:before,
.l-main .section__wrapper--contact--02 [class*="content__btn--contact--"] a:after {
    content: "";
    position: absolute;
    display: flex;
}
.l-main .section__wrapper--contact--02 .content__btn--contact--mail a {
    background-color: #FFF;
    color: #383838;
    padding-left: 122px;
    border: 1px solid #FFF;
}
.content__btn--contact--mail a:before {
    background: url(../images/icon_satei.webp)no-repeat center / contain;
    width: 19px;
    height: 22px;
    left: 93px;
}
.content__btn--contact--mail a:after {
    background: url(../images/icon_arrow_black.webp)no-repeat center / contain;
    width: 17px;
    height: 6px;
    right: 17px;
}
.l-main .section__wrapper--contact--02 .content__btn--contact--mail a:hover {
    background-color: #383838;
    color: #fff;
    border: 1px solid #383838;
}
.l-main .section__wrapper--contact--02 .content__btn--contact--mail a:hover:before {
    background: url(../images/icon_satei_on.webp)no-repeat center / contain;
}
.l-main .section__wrapper--contact--02 .content__btn--contact--mail a:hover:after {
    background: url(../images/icon_arrow_white.webp)no-repeat center / contain;
}

.l-main .section__wrapper--contact--02 .content__btn--contact--line a {
    padding-left: 78px;
    border: 1px solid #37BF3C;
    background: #37BF3C;
}
.content__btn--contact--line a:before {
    background: url(../images/icon_line.webp)no-repeat center / contain;
    width: 25px;
    height: 27px;
    left: 44px;
}
.content__btn--contact--line a:after {
    background: url(../images/icon_arrow_white.webp)no-repeat center / contain;
    width: 17px;
    height: 6px;
    right: 17px;
}
.l-main .section__wrapper--contact--02 .content__btn--contact--line a:hover {
    background-color: #fff;
    border: 1px solid #37BF3C;
    color: #37BF3C;
}
.content__btn--contact--line a:hover:before {
    background: url(../images/icon_line_on.webp)no-repeat center / contain;
}
.content__btn--contact--line a:hover:after {
    background: url(../images/icon_arrow_green.webp)no-repeat center / contain;
}
.l-main .section__wrapper--contact--02 .content__icon--tel {
    width: 26px;
    height: 26px;
}
a:hover:hover {
    transition: 0.4s;
    opacity: 1;
}
.l-main .section__wrapper--contact--02 .content__wrap--contact--02 .content__txt--contact--02 {
    font-size: 14px;
}
.l-main .section__wrapper--contact--02 .content__wrap--contact--02:not(:last-of-type) {
    margin-bottom: 11px;
}


/* flow--05 */
.l-main .section__wrapper--flow--05 {
    background-color: #fff;
}
.content__ttlbox {
    border-bottom: 1px solid #DBDBDB;
    padding-bottom: 24px;
    margin-bottom: 21px;
}
.content__subttl--flow--05 {
    font-family: var(--page-ttl-font);
    font-size: 20px;
    font-weight: 600;
}

.l-main .section__wrapper--flow--05 .content__block--flow--05 .content__list--vertical {
    gap: 20px;
}
.l-main .section__wrapper--flow--05 .content__items__inner--flow--05 {
    align-items: flex-start;
}
.l-main .section__wrapper--flow--05 .content__list--vertical .content__items--flow--05 {
    border: 1px solid #E6E6E6;
}
.l-main .section__wrapper--flow--05 .content__list--vertical .content__items--flow--05::before {
    display: none;
}
.l-main .section__wrapper--flow--05 .content__subttl--flow--05 {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.content__img--flow--05 {
    width: 340px;
    height: 230px;
}
.l-main .section__wrapper--flow--05 .content__wrap--flow--05 {
    margin-top: 10px;
}
.content__detail--text {
    font-size: 16px;
    color: #878787;
}
.l-main .section__wrapper--flow--05 .content__description--flow--05 {
    font-size: 16px;
    line-height: 1.74;
}


/* flow--01 */
.section__wrapper--flow--01 {
    background-color: var(--page-bg-color);
}
.l-main .section__wrapper--flow--01 .section__space {
    padding-block: 108px 107px;
}
.content__subttl--flow--01 {
    font-family: var(--page-ttl-font);
    font-weight: 700;
    text-align: center;
    margin-bottom: 7px;
}
.content__description--flow--01 {
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: 1.7;
}
.l-main .section__wrapper--flow--01 .content__block--flow--01 .content__list--horizontal {
    gap: 12px 2px;
}
.l-main .section__wrapper--flow--01 .content__items--flow--01::before {
    font-family: var(--page-ttl-font);
    font-weight: 500;
    padding-top: 4px;
}
.content__items--flow--01:nth-of-type(4)::after {
	content: none;
}
.l-main .section__wrapper--flow--01 .content__items--flow--01 {
    margin: 0 auto;
}

/* faq--02 */
.l-main .section__wrapper--faq--02 {
    background-color: #fff;
}
.section__wrapper--faq--02 .content__subttl--faq--02 {
    font-family:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    color: #333;
    font-weight: 600;
}
.l-main .section__wrapper--faq--02 .content__block--faq--02 .content__list--vertical {
    gap: 17px;
}
.section__wrapper--faq--02 .content__description--faq--02 {
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: 1.75;
}
.l-main .section__wrapper--faq--02 .content__items--faq--02 {
    padding: 34px 29px;
    border: none;
    background-color: var(--page-bg-color);
}
[class*="content__description--faq--"]::before {
    font-family:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    padding-top: 5px;
}