@charset "UTF-8";
/* ------------------------------

	変数

------------------------------ */
/* ------------------------------

  フォント

------------------------------ */
html { font-size: 100%; }

body { font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212121; }

.montserrat { font-family: "Montserrat",sans-serif; }

.fw-normal { font-weight: normal !important; }

.fw-bold { font-weight: bold !important; }

/* ------------------------------

  整列

------------------------------ */
.ta-left { text-align: left   !important; }

.ta-center { text-align: center !important; }

.ta-right { text-align: right  !important; }

.vr-top { vertical-align: top    !important; }

.va-middle { vertical-align: middle !important; }

.va-bottom { vertical-align: bottom !important; }

.ta-center-lg { text-align: center !important; }

@media (max-width: 768px) { .ta-center-lg { text-align: left !important; } }

/* ------------------------------

  余白

------------------------------ */
.mgn-top-0 { margin-top: 0px !important; }

.mgn-btm-0 { margin-bottom: 0px !important; }

.mgn-right-0 { margin-right: 0px !important; }

.mgn-left-0 { margin-left: 0px !important; }

.pad-top-0 { padding-top: 0px !important; }

.pad-btm-0 { padding-bottom: 0px !important; }

.pad-right-0 { padding-right: 0px !important; }

.pad-left-0 { padding-left: 0px !important; }

p + p { margin: 1.5em 0; }

/* -----------------------------------

  一行目と最後の行の行間の余白を削除

----------------------------------- */
.invalid-lh-crop::before, .invalid-lh-crop::after { margin: 0; }

/*-----------------------------------

	コンテナ

-----------------------------------*/
.container { max-width: 1120px; margin: auto; }

@media (max-width: 1120px) { .container { padding: 0 20px; } }

.section { margin-bottom: 100px; }

.section.no-margin { margin-top: 0px; }

@media (max-width: 1120px) { .section { margin-bottom: 50px; } }

/*-----------------------------------

  カラム

-----------------------------------*/
.columns { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }

@media (min-width: 768px) { .c-lg-1 { -webkit-flex-basis: calc( 100% / 12 * 1); -ms-flex-preferred-size: calc( 100% / 12 * 1); flex-basis: calc( 100% / 12 * 1); } }

@media (min-width: 768px) { .c-lg-2 { -webkit-flex-basis: calc( 100% / 12 * 2); -ms-flex-preferred-size: calc( 100% / 12 * 2); flex-basis: calc( 100% / 12 * 2); } }

@media (min-width: 768px) { .c-lg-3 { -webkit-flex-basis: calc( 100% / 12 * 3); -ms-flex-preferred-size: calc( 100% / 12 * 3); flex-basis: calc( 100% / 12 * 3); } }

@media (min-width: 768px) { .c-lg-4 { -webkit-flex-basis: calc( 100% / 12 * 4); -ms-flex-preferred-size: calc( 100% / 12 * 4); flex-basis: calc( 100% / 12 * 4); } }

@media (min-width: 768px) { .c-lg-5 { -webkit-flex-basis: calc( 100% / 12 * 5); -ms-flex-preferred-size: calc( 100% / 12 * 5); flex-basis: calc( 100% / 12 * 5); } }

@media (min-width: 768px) { .c-lg-6 { -webkit-flex-basis: calc( 100% / 12 * 6); -ms-flex-preferred-size: calc( 100% / 12 * 6); flex-basis: calc( 100% / 12 * 6); } }

@media (min-width: 768px) { .c-lg-7 { -webkit-flex-basis: calc( 100% / 12 * 7); -ms-flex-preferred-size: calc( 100% / 12 * 7); flex-basis: calc( 100% / 12 * 7); } }

@media (min-width: 768px) { .c-lg-8 { -webkit-flex-basis: calc( 100% / 12 * 8); -ms-flex-preferred-size: calc( 100% / 12 * 8); flex-basis: calc( 100% / 12 * 8); } }

@media (min-width: 768px) { .c-lg-9 { -webkit-flex-basis: calc( 100% / 12 * 9); -ms-flex-preferred-size: calc( 100% / 12 * 9); flex-basis: calc( 100% / 12 * 9); } }

@media (min-width: 768px) { .c-lg-10 { -webkit-flex-basis: calc( 100% / 12 * 10); -ms-flex-preferred-size: calc( 100% / 12 * 10); flex-basis: calc( 100% / 12 * 10); } }

@media (min-width: 768px) { .c-lg-11 { -webkit-flex-basis: calc( 100% / 12 * 11); -ms-flex-preferred-size: calc( 100% / 12 * 11); flex-basis: calc( 100% / 12 * 11); } }

@media (min-width: 768px) { .c-lg-12 { -webkit-flex-basis: calc( 100% / 12 * 12); -ms-flex-preferred-size: calc( 100% / 12 * 12); flex-basis: calc( 100% / 12 * 12); } }

@media (max-width: 768px) { .c-md-1 { -webkit-flex-basis: calc( 100% / 12 * 1); -ms-flex-preferred-size: calc( 100% / 12 * 1); flex-basis: calc( 100% / 12 * 1); } }

@media (max-width: 768px) { .c-md-2 { -webkit-flex-basis: calc( 100% / 12 * 2); -ms-flex-preferred-size: calc( 100% / 12 * 2); flex-basis: calc( 100% / 12 * 2); } }

@media (max-width: 768px) { .c-md-3 { -webkit-flex-basis: calc( 100% / 12 * 3); -ms-flex-preferred-size: calc( 100% / 12 * 3); flex-basis: calc( 100% / 12 * 3); } }

@media (max-width: 768px) { .c-md-4 { -webkit-flex-basis: calc( 100% / 12 * 4); -ms-flex-preferred-size: calc( 100% / 12 * 4); flex-basis: calc( 100% / 12 * 4); } }

@media (max-width: 768px) { .c-md-5 { -webkit-flex-basis: calc( 100% / 12 * 5); -ms-flex-preferred-size: calc( 100% / 12 * 5); flex-basis: calc( 100% / 12 * 5); } }

@media (max-width: 768px) { .c-md-6 { -webkit-flex-basis: calc( 100% / 12 * 6); -ms-flex-preferred-size: calc( 100% / 12 * 6); flex-basis: calc( 100% / 12 * 6); } }

@media (max-width: 768px) { .c-md-7 { -webkit-flex-basis: calc( 100% / 12 * 7); -ms-flex-preferred-size: calc( 100% / 12 * 7); flex-basis: calc( 100% / 12 * 7); } }

@media (max-width: 768px) { .c-md-8 { -webkit-flex-basis: calc( 100% / 12 * 8); -ms-flex-preferred-size: calc( 100% / 12 * 8); flex-basis: calc( 100% / 12 * 8); } }

@media (max-width: 768px) { .c-md-9 { -webkit-flex-basis: calc( 100% / 12 * 9); -ms-flex-preferred-size: calc( 100% / 12 * 9); flex-basis: calc( 100% / 12 * 9); } }

@media (max-width: 768px) { .c-md-10 { -webkit-flex-basis: calc( 100% / 12 * 10); -ms-flex-preferred-size: calc( 100% / 12 * 10); flex-basis: calc( 100% / 12 * 10); } }

@media (max-width: 768px) { .c-md-11 { -webkit-flex-basis: calc( 100% / 12 * 11); -ms-flex-preferred-size: calc( 100% / 12 * 11); flex-basis: calc( 100% / 12 * 11); } }

@media (max-width: 768px) { .c-md-12 { -webkit-flex-basis: calc( 100% / 12 * 12); -ms-flex-preferred-size: calc( 100% / 12 * 12); flex-basis: calc( 100% / 12 * 12); } }

@media (max-width: 480px) { .c-sm-1 { -webkit-flex-basis: calc( 100% / 12 * 1); -ms-flex-preferred-size: calc( 100% / 12 * 1); flex-basis: calc( 100% / 12 * 1); } }

@media (max-width: 480px) { .c-sm-2 { -webkit-flex-basis: calc( 100% / 12 * 2); -ms-flex-preferred-size: calc( 100% / 12 * 2); flex-basis: calc( 100% / 12 * 2); } }

@media (max-width: 480px) { .c-sm-3 { -webkit-flex-basis: calc( 100% / 12 * 3); -ms-flex-preferred-size: calc( 100% / 12 * 3); flex-basis: calc( 100% / 12 * 3); } }

@media (max-width: 480px) { .c-sm-4 { -webkit-flex-basis: calc( 100% / 12 * 4); -ms-flex-preferred-size: calc( 100% / 12 * 4); flex-basis: calc( 100% / 12 * 4); } }

@media (max-width: 480px) { .c-sm-5 { -webkit-flex-basis: calc( 100% / 12 * 5); -ms-flex-preferred-size: calc( 100% / 12 * 5); flex-basis: calc( 100% / 12 * 5); } }

@media (max-width: 480px) { .c-sm-6 { -webkit-flex-basis: calc( 100% / 12 * 6); -ms-flex-preferred-size: calc( 100% / 12 * 6); flex-basis: calc( 100% / 12 * 6); } }

@media (max-width: 480px) { .c-sm-7 { -webkit-flex-basis: calc( 100% / 12 * 7); -ms-flex-preferred-size: calc( 100% / 12 * 7); flex-basis: calc( 100% / 12 * 7); } }

@media (max-width: 480px) { .c-sm-8 { -webkit-flex-basis: calc( 100% / 12 * 8); -ms-flex-preferred-size: calc( 100% / 12 * 8); flex-basis: calc( 100% / 12 * 8); } }

@media (max-width: 480px) { .c-sm-9 { -webkit-flex-basis: calc( 100% / 12 * 9); -ms-flex-preferred-size: calc( 100% / 12 * 9); flex-basis: calc( 100% / 12 * 9); } }

@media (max-width: 480px) { .c-sm-10 { -webkit-flex-basis: calc( 100% / 12 * 10); -ms-flex-preferred-size: calc( 100% / 12 * 10); flex-basis: calc( 100% / 12 * 10); } }

@media (max-width: 480px) { .c-sm-11 { -webkit-flex-basis: calc( 100% / 12 * 11); -ms-flex-preferred-size: calc( 100% / 12 * 11); flex-basis: calc( 100% / 12 * 11); } }

@media (max-width: 480px) { .c-sm-12 { -webkit-flex-basis: calc( 100% / 12 * 12); -ms-flex-preferred-size: calc( 100% / 12 * 12); flex-basis: calc( 100% / 12 * 12); } }

.aln-center { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }

@media (min-width: 1120px) { .aln-lg-center { -webkit-box-align: center !important; -webkit-align-items: center !important; -ms-flex-align: center !important; align-items: center !important; } }

@media (max-width: 768px) { .aln-md-center { -webkit-box-align: center !important; -webkit-align-items: center !important; -ms-flex-align: center !important; align-items: center !important; } }

@media (max-width: 480px) { .aln-sm-center { -webkit-box-align: center !important; -webkit-align-items: center !important; -ms-flex-align: center !important; align-items: center !important; } }

.aln-start { -webkit-box-align: start; -webkit-align-items: start; -ms-flex-align: start; align-items: start; }

@media (min-width: 1120px) { .aln-lg-start { -webkit-box-align: start !important; -webkit-align-items: start !important; -ms-flex-align: start !important; align-items: start !important; } }

@media (max-width: 768px) { .aln-md-start { -webkit-box-align: start !important; -webkit-align-items: start !important; -ms-flex-align: start !important; align-items: start !important; } }

@media (max-width: 480px) { .aln-sm-start { -webkit-box-align: start !important; -webkit-align-items: start !important; -ms-flex-align: start !important; align-items: start !important; } }

.jst-left { -webkit-box-pack: left; -webkit-justify-content: left; -ms-flex-pack: left; justify-content: left; }

@media (min-width: 1120px) { .jst-lg-left { -webkit-box-pack: left !important; -webkit-justify-content: left !important; -ms-flex-pack: left !important; justify-content: left !important; } }

@media (max-width: 768px) { .jst-md-left { -webkit-box-pack: left !important; -webkit-justify-content: left !important; -ms-flex-pack: left !important; justify-content: left !important; } }

@media (max-width: 480px) { .jst-sm-left { -webkit-box-pack: left !important; -webkit-justify-content: left !important; -ms-flex-pack: left !important; justify-content: left !important; } }

.jst-center { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }

@media (min-width: 1120px) { .jst-lg-center { -webkit-box-pack: center !important; -webkit-justify-content: center !important; -ms-flex-pack: center !important; justify-content: center !important; } }

@media (max-width: 768px) { .jst-md-center { -webkit-box-pack: center !important; -webkit-justify-content: center !important; -ms-flex-pack: center !important; justify-content: center !important; } }

@media (max-width: 480px) { .jst-sm-center { -webkit-box-pack: center !important; -webkit-justify-content: center !important; -ms-flex-pack: center !important; justify-content: center !important; } }

.jst-space { -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }

@media (min-width: 1120px) { .jst-lg-space { -webkit-box-pack: justify !important; -webkit-justify-content: space-between !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } }

@media (max-width: 768px) { .jst-md-space { -webkit-box-pack: justify !important; -webkit-justify-content: space-between !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } }

@media (max-width: 480px) { .jst-sm-space { -webkit-box-pack: justify !important; -webkit-justify-content: space-between !important; -ms-flex-pack: justify !important; justify-content: space-between !important; } }

.fx-wrap { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

@media (min-width: 1120px) { .fx-lg-wrap { -webkit-flex-wrap: wrap !important; -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } }

@media (max-width: 768px) { .fx-md-wrap { -webkit-flex-wrap: wrap !important; -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } }

@media (max-width: 480px) { .fx-sm-wrap { -webkit-flex-wrap: wrap !important; -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } }

.fx-wrap-reverse { -webkit-flex-wrap: reverse; -ms-flex-wrap: reverse; flex-wrap: reverse; }

@media (min-width: 1120px) { .fx-lg-wrap-reverse { -webkit-flex-wrap: wrap-reverse !important; -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } }

@media (max-width: 768px) { .fx-md-wrap-reverse { -webkit-flex-wrap: wrap-reverse !important; -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } }

@media (max-width: 480px) { .fx-sm-wrap-reverse { -webkit-flex-wrap: wrap-reverse !important; -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } }

.fx-col { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }

@media (min-width: 1120px) { .fx-lg-col { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -webkit-flex-direction: column !important; -ms-flex-direction: column !important; flex-direction: column !important; } }

@media (max-width: 768px) { .fx-md-col { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -webkit-flex-direction: column !important; -ms-flex-direction: column !important; flex-direction: column !important; } }

@media (max-width: 480px) { .fx-sm-col { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -webkit-flex-direction: column !important; -ms-flex-direction: column !important; flex-direction: column !important; } }

@media (min-width: 1120px) { .fx-lg-col-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -webkit-flex-direction: column-reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } }

@media (max-width: 768px) { .fx-md-col-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -webkit-flex-direction: column-reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } }

@media (max-width: 480px) { .fx-sm-col-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -webkit-flex-direction: column-reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } }

/* ------------------------------

  表示 / 非表示

------------------------------ */
.hidden-sm { display: none; }

@media (min-width: 769px) { .hidden-sm { display: block; } }

.visible-sm { display: none; }

@media (max-width: 769px) { .visible-sm { display: block; } }

/* ------------------------------

  リンク

------------------------------ */
.invalid-clks { pointer-events: none; }

.invalid-clks a { pointer-events: none; }

.link-menu { position: relative; display: inline-block; -webkit-transition: .7s; -o-transition: .7s; transition: .7s; color: #222222; padding: 3px 3px 2px 4px; margin-left: -4px; }

.link-menu:before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; content: ''; background: #222222; -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; -o-transition: transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; }

.link-menu:hover { color: #fff !important; }

.link-menu:hover::before { -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.link-menu.white:before { background: #fff; }

.link-menu.white:hover { color: #000 !important; }

/* ------------------------------

  画像 / 動画

------------------------------ */
figure { text-align: center; margin-bottom: 20px !important; display: inline-block; }

@media (max-width: 480px) { figure { margin-bottom: 10px !important; } }

figure figcaption { font-size: 0.8em; margin-top: 0.5em; line-height: 1; }

@media (max-width: 480px) { figure figcaption { font-size: 0.8em; line-height: 1.2; } }

figure img { margin: 0 !important; }

iframe { max-width: 100%; }

@media (max-width: 480px) { iframe { width: 100%; height: 180px; } }

/* ------------------------------

  vw / vh 計算

------------------------------ */
/* ------------------------------

  transition

------------------------------ */
/* 定型文 @include fadein(); transition-delay: 1s; */
/* 定型文 @include fadein-anim(unquote("0px,60px")); animation-delay:$delay; */
@-webkit-keyframes fadein-animation { 100% { opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }
@keyframes fadein-animation { 100% { opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

/*-----------------------------------

  見出し

-----------------------------------*/
.main-img { max-width: 1120px; width: 100%; display: block; margin: 0 auto 60px; }

@media (max-width: 1120px) { .main-img { margin-bottom: 20px; } }

.headline-type01 { background: #28883a; font-size: 2.2em; line-height: 1.4em; padding: 40px 0; color: #FFF; text-align: center; margin-bottom: 60px; font-weight: bold; }

@media (max-width: 1120px) { .headline-type01 { font-size: 1.8em; } }

@media (max-width: 768px) { .headline-type01 { margin-bottom: 0; padding: 20px 0; } }

.headline-type02 { color: #28883a; font-size: 2.3em; line-height: 1.4em; text-align: center; margin-bottom: 30px; font-weight: bold; }

@media (max-width: 1120px) { .headline-type02 { font-size: 1.4em; margin-bottom: 20px; } }

.headline-type03 { color: #28883a; font-size: 1.9em; line-height: 1.4em; margin-bottom: 30px; text-align: center; font-weight: bold; display: inline-block; }

@media (max-width: 1120px) { .headline-type03 { font-size: 1.2rem; margin-bottom: 20px; text-align: left; } }

.headline-type04 { color: #28883a; font-size: 1.2em; font-weight: bold; margin-bottom: 20px; text-align: center; }

@media (max-width: 768px) { .headline-type04 { font-size: 1em; margin-bottom: 5px; } }

.sentence { font-size: 1em; margin-top: 30px; margin-bottom: 30px; }

@media (max-width: 768px) { .sentence { font-size: 1em; margin-bottom: 20px; } }

/*-----------------------------------

  パネル

-----------------------------------*/
.step-panel { margin: 80px 0 100px; padding: 60px 11.11111vw 40px; position: relative; border-left: solid 7px #28883a; background-color: #dbeee0; border-bottom-right-radius: 50px; }

@media (max-width: 1120px) { .step-panel { margin: 40px 0 50px; padding: 40px 7.8125vw 30px; } }

.step-panel .step-num { position: absolute; top: -30px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

@media (max-width: 768px) { .step-panel .step-num { top: -20px; width: 175px; } }

.step-panel img { margin-bottom: 30px; }

.step-panel p { font-size: 1em; }

@media (max-width: 768px) { .step-panel p { font-size: 1em; } }

.step-panel .col { padding: 0 10px; }

@media (max-width: 768px) { .step-panel .col { padding: 0 5px; } }

.close { background: url(../images/bg_close.png) no-repeat center/cover; padding: 30px 10px; }

@media (max-width: 768px) { .close { padding: 30px 10px 10px; } }

.close h2 { font-size: 1.8em; font-weight: bold; margin-bottom: 40px; }

@media (max-width: 768px) { .close h2 { font-size: 1.4em; margin-bottom: 20px; } }

.close h2 span { font-size: 1.4em; font-weight: bold; color: #1e6d2d; }

@media (max-width: 768px) { .close h2 span { font-size: 1.2em; } }

@media (max-width: 768px) { .close img { max-width: 200px; display: block; margin: 0 auto 20px; } }

.close .emphasis { color: #28883a; }

.ftbnr { display: none !important; }

.link-btn { background: #28883a; color: #fff; display: block; width: 300px; margin: 20px auto 0; text-align: center; padding: 15px 0; text-decoration: none; }

.link-btn:hover { color: #fff; }

.youtube { padding: 20px; }
