

/* style parts --------------------------------------------------*/

/* init */
.footer { padding: 0; }
.footer select.utility[data-v-1f99c1a4] { font-family:Arial; }

/*
html { font-size:14px; }
*/
body { background-color:white; }
body * { font-family: "BIZ UDPGothic", sans-serif; letter-spacing:normal; }
body em { font-style:normal; }
main.wrapper a { transition:0.2s; color:initial; }
main.wrapper a:hover { opacity:0.5; }
img { width: 100%; height: auto; vertical-align: top; /*  max-width: 100%;*/ }
picture { display:block; }

/* MVセット */
.mv_area { position: relative; background-color:#AEE87D; margin-bottom:50px; padding:35px 0 30px; }
.mv_area * { font-family:-apple-system,BlinkMacSystemFont,Roboto,Hiragino Sans,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Meiryo,メイリオ,sans-serif; font-weight:600; line-height: 1; }
.mv_inner { max-width:1080px; margin:0 auto; padding-bottom: 5px; background:url(../img/mv_bg.png) bottom center no-repeat; }
.mv_area h1 { max-width:982px; margin:0 auto; font-size:4rem; font-feature-settings: "palt"; line-height:1.35; text-align:center; }
.mv_area h1 b { font-size:2rem; display:block; color:#196E56; margin-bottom:15px; }
.mv_area h1 b::before,
.mv_area h1 b::after { content:url(../img/icon_left.svg); margin-right: 15px; position:relative; bottom:-4px; left:0; display:inline-block; }
.mv_area h1 b::after { content:url(../img/icon_right.svg); margin-left:15px; margin-right:0; }
.mv_area h1 b span { font-size:1.8rem; color:#196E56; background-color:white; border-radius:200px; padding:4px 30px; }
.mv_area .mv_txt_line { display:inline-block; border-bottom:8px solid #FAE433; line-height:1; margin-bottom:8px; }
.mv_area .mv_txt1 { font-size:3rem; margin:0 5px; }
.mv_area .mv_txt2 { display: block; font-size:2rem; }


/* カラーセット */
.color1 { color:#03875F; }/*グリーン*/


/* 画像セット */
.img_full { display: block; width:calc(100% + 120px); margin:50px 0 0 -60px; }
.wrapper .img_middle { display: block; max-width:800px; margin:20px auto 0; }
.wrapper .img_middle figcaption { font-size:1rem; margin-top:17px; text-align:left; }
@media screen and (max-width: 1200px){
    .img_full { width:100%; margin-left:0; }
}


/* 見出しセット */
.wrapper .hdg1 { font-size:2rem; margin-bottom:69px; background-color:#AEE87D; position:relative; display:inline-block; }
.wrapper .hdg1 span { display: inline-block; padding:20px 40px 20px 10px; letter-spacing:normal; line-height:1; font-weight: bold; }
.wrapper .hdg1 span::before { content: ""; position:absolute; top:0; right:100%; width: 30vw; height: 100%; background-color:#AEE87D; }
.wrapper .hdg1 span b { font-size:1.3rem; display:inline-block; margin-right:5px; position:relative; top:-3px; }
.wrapper .hdg1 div { display: inline-block; position:absolute; bottom:0; right:0; height:auto; width:172px; }
.wrapper .hdg1.il_set span { padding-right:170px; }
.wrapper .hdg2 { font-size:1.5rem; border-left:3px solid #03875F; margin-bottom:40px; padding:5px 0 5px 15px; }
.wrapper .hdg3 { max-width: 420px; font-weight: normal; font-size:1.25rem; color: #F06832; position:relative; text-align:center; letter-spacing:normal; margin:40px auto 25px; }
.wrapper .hdg3:before,
.wrapper .hdg3:after { content:""; position:absolute; top:38px; width:80px; height:3px; background-color:#F06832; display:inline-block; }
.wrapper .hdg3:before { transform:rotate(60deg); left:0; }
.wrapper .hdg3:after { transform:rotate(-60deg); right:0; }
.wrapper .hdg3.green { color: #005200; }
.wrapper .hdg3.green:before, .wrapper .hdg3.green:after { background-color:#005200; }
.wrapper .hdg4 { font-size:26px; color:#F06832; text-align:center; margin-bottom:10px; }


/* エリア初期設定 */
.contens_ { max-width:1180px; width: 100%; margin:0 auto; padding:0 50px; }
.contens_ + .contens_ { margin-top:80px; }
.contens_inner { max-width:800px; margin:0 auto; }
.contens_inner.lyt { display:flex; flex-wrap: wrap; margin-bottom:60px; }
.contens_inner.lyt.rev { flex-direction:row-reverse; }
.contens_inner_txt { width:62%; }
.contens_inner_txt h4 { font-size:1.5rem; margin-bottom:20px; line-height:1.3; }
.wrapper .contens_inner_img { width:38%; }
.contens_.b_gray { background-color:#F6F6F6; max-width:100%; padding:60px 50px; }


/* 目次 */
.outline_area { max-width:904px; margin:0 auto 90px; }
.outline_area p { font-size:22px; }
.outline_box { max-width:550px; margin:0 auto; border:1px solid #CFCFCF; padding:25px 50px; }
.outline_box h3 { font-size:1rem; margin-bottom:10px; font-weight:normal; }
.outline_box li { font-size:1.125rem; }
.outline_box li + li { margin-top:5px; }
.outline_box li span { color:#03875F; }
.outline_box a { font-weight:700; }
.outline_box a:link { color:#2F2F2F; }


/* リスト */
.list_style { margin-bottom:50px; }
.list_style.last { margin-bottom:10px; }
.list_style li { font-size:1.25rem; padding-left:33px; position:relative; line-height: 1.5; }
.list_style li::before { display: inline-block; content:""; width:18px; height:18px; border-radius:50%; background-color:#03875F; position:absolute; left:0; top:6px; }
.list_style li + li { margin-top:40px; }
.list_style + .hdg2 { margin-top:60px; }


/* ボタン */
.wrapper .txt_num { font-size:1.5rem; text-align:center; margin-bottom:30px; }
.btn_set { max-width:600px; margin:0 auto; position:relative; } 
.wrapper .btn_set a { position: relative; box-shadow: 4px 4px 18px 0px #dedede; font-weight: bold; line-height: 1; display:block; max-width:600px; padding: 37px 0 43px; text-align:center; font-size:1.75rem; color:white; background-color:#03875F; border-radius:150px; }
.btn_set a span { font-size:2.75rem; margin-right:7px; position:relative; top:3px; color:white; }
.btn_set a svg { position:absolute; right:20px; top:calc(50% - 18px); }
.btn_set.arrow { padding-bottom:50px; margin-bottom:50px; }
.btn_set.arrow a { color:black; background-color:#FDE433; }
.btn_set.arrow a span { color:black; }
.btn_set.arrow::before { content: url(../img/icon_arrow.svg); position:absolute; left:calc(50% - 18px); bottom:-20px; }
.btn_set2 { width:470px; margin:0 auto; }
.btn_set2 source,
.btn_set2 img { filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.2)); }
.btn_set3 { max-width:626px; margin:0 auto 80px; } 


/* テキスト */
.wrapper .txt_area p { font-size: 1.2rem; text-align:center; font-weight:600; }
.wrapper .txt_area_s { font-size: 1rem; }


/* 個別レイアウト */
.lead_box {  }
.lead_box p { font-size:22px; font-weight:bold; }
.lead_box p b { color:#E82300; }
.lead_box p + p { margin-top:20px; }
.lead_box_btn { margin-top:50px; }
.lead_box_btn img { filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.2)); }


/* 追従ナビ */
.sub_nav { position: fixed; top: calc(50% - 150px); right: 0; transition: 0.3s; animation: slideInFromRight 1s forwards; z-index: 10; width:140px; }
.sub_nav li + li { margin-top: -5px; }
@keyframes slideInFromRight {
  0% { right: -100%; }
  100% { right: -20px; }
}


/* hack */
.animation.bow { width: 246px; height: 246px; margin: 0 auto; }
.wrapper .txt_ft { text-align: center; margin-bottom:10px; font-size:1.5rem; }






/* SP *****************************************************************************/

@media screen and (max-width: 992px){


/* MVセット */
.mv_area { top: 0; padding: 0; margin-bottom: 0; }
.mv_inner { background:url(../img/mv_bg_sp.png) right bottom 5vw / 47vw auto no-repeat; }
.mv_area h1 { font-size:7.5vw; padding:16vw 42vw 4vw 0; }
.mv_area h1 b { position: absolute; left: calc(50% - 37vw); top: -5px; font-size:5.5vw; margin-bottom:5px; }
.mv_area h1 b::before,
.mv_area h1 b::after { transform: scale(0.5); margin-right: 0; top:14px; }
.mv_area h1 b::after { margin-left:0; }
.mv_area h1 b span { font-size:4vw; padding:5px 20px; }
.mv_area .mv_txt1 { font-size:6.5vw; margin: 0 2px; }
.mv_area .mv_txt2 { font-size:3vw; }
.mv_area .mv_txt_line { border-bottom: none; margin-bottom: 6px; }
.mv_txt_sp { display:block; border-bottom: 8px solid white; font-size: 11.5vw; margin-top:3px; }


/* 画像セット */
.img_full { width:100%; margin:20px 0 0; }
.wrapper .img_middle { margin:20px auto 0; }
.wrapper .img_middle figcaption { font-size:0.6875rem; margin-top:7px; text-align:left; }
.wrapper .list_style .img_middle { margin:20px 0 0 -20px; }


/* 目次 */
.outline_area { margin:0 20px; }
.outline_area p { font-size:0.9rem; }
.outline_box { margin:0 auto; border:1px solid #CFCFCF; padding:15px 20px; }
.outline_box h3 { font-size:0.8125rem; margin-bottom:5px; text-align:left; }
.outline_box li { font-size:12px; }
.outline_box li + li { margin-top:5px; }


/* エリア初期設定 */
.contens_ { padding:0 15px; margin-top:40px; }
.contens_ + .contens_ { margin-top:40px; }
.contens_ + .contens_#anc03 { margin-top: 60px; }
.contens_inner.lyt { display:block; margin-bottom:30px; }
.contens_inner.lyt.rev { flex-direction:row-reverse; }
.contens_inner_txt { width:100%; }
.contens_inner_txt h4 { font-size:0.9375rem; margin-bottom:10px; line-height:1.3; }
.wrapper .contens_inner_img { width:100%; margin:25px 0 20px; }
.wrapper .contens_inner_txt .caption { font-size:0.6875rem; }
.contens_.b_gray { padding: 25px 20px; }


/* 見出しセット */
.wrapper .hdg1 { width: 100%; max-width: 345px; font-size:1.0625rem; margin-bottom:30px; }
.wrapper .hdg1 span { padding:12px 10px 10px 0px; line-height:1.3; }
.wrapper .hdg1 span::before { width: 5vw; }
.wrapper .hdg1 span b { display: block; font-size:0.8125rem; position:initial; }
.wrapper .hdg1 div { width:107px; }
.wrapper .hdg1.il_set span { padding-right:10px; }
.wrapper .hdg2 { font-size:1.0625rem; border-left:2px solid #03875F; margin-bottom:20px; padding:0 0 0 10px; }
.wrapper .hdg3 { font-size:0.8125rem; margin:25px auto 14px; }
.wrapper .hdg3:before,
.wrapper .hdg3:after { top:23px; width:54px; height:2px; }
.wrapper .hdg3:before { left:44px; }
.wrapper .hdg3:after { right:44px; }
.wrapper .hdg4 { font-size:26px; }
.wrapper .hdg3.green { margin: 30px auto 20px; }


/* リスト */
.list_style { margin-bottom:20px; }
.list_style.last { margin-bottom:10px; }
.list_style li { font-size:0.9375rem; padding-left:25px; position:relative; }
.list_style li::before { left:0; top:3px; width: 15px; height: 15px; }
.list_style li + li { margin-top:15px; }
.list_style + .hdg2 { margin-top:30px; }


/* ボタン */
.wrapper .txt_num { font-size:0.9rem; text-align:left; margin-bottom:10px; }
.wrapper .btn_set a { padding:17px 0 24px; font-size:0.9375rem; }
.btn_set a span { font-size:1.875rem; margin-right:5px; top:3px; }
.btn_set.arrow { padding-bottom:26px; margin-bottom:30px; }
.btn_set.arrow::before { transform:scale(0.6); }
.btn_set a svg { right:15px; top:calc(50% - 8px); width:10px; height:18px; }
.btn_set2 { width:100%; }
.btn_set3 { margin:0 auto 50px; padding:15px; } 


/* 個別レイアウト */
.lead_box p { font-size:0.9375rem; }
.lead_box p + p { margin-top:10px; }
.lead_box_btn { margin-top:20px; }


.sub_nav { width:100%; top:initial; bottom: 0; right: 0; transition: 0.3s; animation: slideInFromRight 1s forwards; padding: 3px 20px 0; background-color: rgba(0, 0, 0, 0.6); }
.sub_nav ul { display: table; }
.sub_nav li { display: table-cell; width: 50%; }
.sub_nav li + li { margin-top: 0; }
@keyframes slideInFromRight {
  0% { bottom: -100%; }
  100% { bottom: 0; }
}


/* hack */
.animation.bow { width: 120px; height: 120px; margin-top:0; }
.wrapper .txt_ft { text-align: left; margin-bottom:0; font-size:0.875rem; }


}




