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

@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 400;
   src: /*local("Noto Sans CJK JP Regular"),*/
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 700;
   src: /*local("Noto Sans CJK JP Medium"),*/
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 900;
   src: /*local("Noto Sans CJK JP Bold"),*/
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}

*{margin: 0;padding: 0; outline:none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-appearance: none; /*font-feature-settings : "palt";*/}
html {font-size: 62.5%; overflow-x: auto; min-width: 990px;}
body {font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif; font-size:16px;/* letter-spacing: 0.02em;*/ line-height:1.7; background:#FFF; color:#728806; text-align: center; position: relative; -webkit-text-size-adjust: 100%; overflow-x: hidden;}

body.fixed {position: fixed; width: 100%;}

img{border: none; vertical-align: top;}
table{border-collapse: collapse;}
ul{list-style-type: none;}
a{color: #FFF;}

/* ::::::::::::::::::::::::::::::::: COMMON ::::::::::::::::::::::::::::::::: */

span.generalBG{position: fixed; width: 100%; height: 100%; left: 0; top: 0; background: url(../img/action_bg.png) no-repeat center center; background-size: cover;}

header.mainHeader{position: fixed; z-index: 1001; height: 100px; width: 100%; left: 0; top: 0; transition: background 0.5s ease;}
header.mainHeader.on{background: #FFF;}
header.mainHeader div.inner{padding: 15px 40px 15px 30px; position: relative;}
header.mainHeader ul.linkList{width: 230px; display: flex; justify-content: space-between;}
header.mainHeader ul.snsList{width: 240px; display: flex; justify-content: space-between; align-items: center; position: absolute; right: 40px; top: 25px;}
header.mainHeader ul.snsList li{font-size: 1.4rem; color: #000; font-weight: bold; letter-spacing: 0.1em;}
header.mainHeader ul.snsList li:first-child{padding: 0 10px 0 0;}

header.mainHeader button.spMenuBtn{display: none;}

div.wrap{position: relative;}

div.topWrap{position: relative; background: url(../img/main_bg.png) no-repeat top center; background-size: cover;}
div.topWrap::after{position: absolute; background: url(../img/wave1.png) repeat-x top center; background-size: 1280px 80px; width: 100%; height: 80px; left: 0; bottom: 0; content: "";}
div.topWrap div.inner{position: relative; z-index: 10; padding: 120px 0 0; width: 660px; margin: 0 auto;}
div.topWrap h1{padding: 0 0 35px; opacity: 0; transform: scale(1.6) translateY(-15px); transition: all 0.8s ease;}
div.topWrap h1.on{opacity: 1; transform: scale(1);}
div.topWrap p.img{position: relative; width: 600px; margin: 0 auto; opacity: 0; transform: scale(0.8) translateY(15px); transition: all 0.7s ease;}
div.topWrap p.img.on{opacity: 1; transform: scale(1);}
div.topWrap p.img img.img1,
div.topWrap p.img img.img2{position: absolute; left: 0; top: 0; opacity: 0; transition: opacity 0.7s ease;}
div.topWrap p.img img.img1.on,
div.topWrap p.img img.img2.on{opacity: 1;}
div.topWrap p.scrollBtn{width: 210px; height: 20px; transform: rotate(90deg); transform-origin: right bottom; font-size: 1.2rem; position: absolute; right: 40px; bottom: 0; letter-spacing: 0.1em; font-weight: bold;}
div.topWrap p.scrollBtn a{position: relative; display: block; line-height: 20px; color: #5d5d5d; text-decoration: none; text-align: left;}
div.topWrap p.scrollBtn a::before{width: 140px; border-top: 1px solid #5d5d5d; position: absolute; right: 0; top: 10px; content: ""; opacity: 0.2;}
div.topWrap p.scrollBtn a::after{width: 140px; border-top: 1px solid #5d5d5d; position: absolute; right: 0; top: 10px; content: ""; animation: scrollBar 3s ease infinite;}
div.topWrap span.loadMark{width: 40px; height: 40px; border: 5px solid #99b459; border-top-color: rgba(255,255,255,0); border-radius: 50%; animation: spinLoad 1.2s linear 0s infinite; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; opacity: 0.6;}

@keyframes spinLoad {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}

@keyframes scrollBar {
    0% {width: 1px; right: 139px;}
    50% {width: 140px; right: 0;}
    100% {width: 0px; right: 0;}
}

div.section{}

div.section img.hidden.imgLeft{opacity: 0; transform: scale(0.5) rotate(-30deg); transition: all 0.6s ease;}
div.section img.hidden.imgLeft.show{opacity: 1; transform: scale(1) rotate(0deg);}
div.section img.hidden.imgRight{opacity: 0; transform: scale(0.5) rotate(30deg); transition: all 0.6s ease;}
div.section img.hidden.imgRight.show{opacity: 1; transform: scale(1) rotate(0deg);}
div.section img.hidden.imgScale{opacity: 0; transform: scale(0.5); transition: all 0.5s ease;}
div.section img.hidden.imgScale.show{opacity: 1; transform: scale(1);}

div.section p.btnMore{padding: 0 0 80px; }
div.section p.btnMore a{display: block; margin: 0 auto; max-width: 400px; font-size: 1.4rem; letter-spacing: 0.05em; font-weight: bold; color: #FFF; line-height: 90px; background: #7a9506 url(../img/mark_btn.png) no-repeat right 15px top 33px; background-size: 24px 24px; text-decoration: none; border-radius: 10px; text-indent: -20px;}


div.section.seg1{position: relative;}
div.section.seg1 div.inner{padding: 60px 0 130px; background: #99b459;}
div.section.seg1::after{position: relative; display: block; background: url(../img/wave2.png) repeat-x top center; background-size: 1280px 30px; width: 100%; height: 30px; content: "";}
div.section.seg1 h2{color: #FFF; font-size: 3.6rem; line-height: 1.8; font-weight: bold; letter-spacing: 0.1em; padding: 0 0 55px;}
div.section.seg1 h2 span{background: url(../img/seg1_line.png) repeat-x bottom center; background-size: 61px 10px; padding: 0 0 20px;}
div.section.seg1 p.lead{color: #FFF; font-size: 1.8rem; font-weight: bold; line-height: 2.5; padding: 0 0 25px;}
div.section.seg1 p.lead:last-of-type{ padding: 45px 0 50px; }
div.section.seg1 span.font-large{ font-size: 2.9rem; }
div.section.seg1 p.sub{color: #FFF; font-size: 1.4rem; font-weight: bold;}
div.section.seg1 p.illust{width: 300px; height: 330px; position: absolute; right: 20px; bottom: -80px; z-index: 100;}

div.section.seg2{position: relative;}
div.section.seg2::after{position: relative; display: block; background: url(../img/wave3.png) repeat-x top center; background-size: 1280px 30px; width: 100%; height: 30px; content: "";}
div.section.seg2 div.inner{padding: 100px 0 100px; max-width: 1140px; width: 92%; position: relative; margin: 0 auto;}
div.section.seg2 div.block1{position: relative; width: 980px; margin: 0 auto 60px; position: relative;}
div.section.seg2 div.block1 h2{padding: 0 0 20px;}
div.section.seg2 div.block1 p.flag{top: 70px; right: 0; position: absolute;}
div.section.seg2 div.block1 div.wrap{position: absolute; top:281px; right: -80px; }
div.section.seg2 div.block1 div.wrap p.emblem{text-align: end; }
div.section.seg2 div.block1 div.wrap p.emblem2{margin-top:-10px; }
div.section.seg2 div.block1 p.img1{padding: 0 0 10px;}
div.section.seg2 div.block1 span.sub.annotation {display: block; max-width: 400px; margin: 0 auto; text-align: left; font-size: 1.4rem; padding: 15px 25px 35px; color: #909090; }
div.section.seg2 div.feature1{display: flex; flex-direction: row-reverse; justify-content: space-between;}
div.section.seg2 div.feature1 div.right{width: 630px; text-align: left;}
div.section.seg2 div.feature1 div.left{width: 320px;}
div.section.seg2 div.feature1 h3{color: #7a9506; font-size: 3.2rem; line-height: 50px; font-weight: bold; padding: 20px 0; letter-spacing: 0.1em;}
div.section.seg2 div.feature1 h3 span{padding: 0 5px; position: relative; background: url(../img/yellow_line.png) repeat-x center center; background-size: 10px 50px;}
div.section.seg2 div.feature1 p{font-size: 1.6rem; padding: 0 0 15px; font-weight: bold;}
div.section.seg2 div.feature1 p span.red{display: inline-block; margin-top:10px; color: #f36638; font-size: 2.1rem; line-height: 1.6; }
div.section.seg2 div.feature1 p span.red .small{ font-size: 1.4rem; }
div.section.seg2 div.feature1 p.sub{font-size: 1.4rem; color: #909090; font-weight: normal; margin-bottom:41px;}
div.section.seg2 div.feature2{background: #f8f9f2; padding: 55px 0 75px; margin: 0 0 60px; border-radius: 30px; position: relative;}
div.section.seg2 div.feature2 h3{color: #7a9506; font-size: 2.7rem; font-weight: bold; padding: 0 0 25px; letter-spacing: 0.1em;}
div.section.seg2 div.feature2 h3 span{display: inline-block; padding: 0 0 10px; position: relative; background: url(../img/rainbow_line.png) no-repeat bottom center; background-size: 430px 10px;}
div.section.seg2 div.feature2 p{font-size: 1.6rem; line-height: 2; font-weight: bold;}
div.section.seg2 div.feature2 p.img1{position: absolute; width: 200px; height: 200px; left: -60px; bottom: -90px;}
div.section.seg2 div.feature2 p.img2{position: absolute; width: 300px; height: 230px; right: -80px; bottom: -110px;}

div.section.seg2 div.block2{display: flex; justify-content: space-between; align-items: flex-start; padding: 0 0 15px;}
div.section.seg2 div.block2 div.inside{margin: 0 0 0 20px; width: calc(50% - 105px); background: #f8f9f2; padding: 0 35px; border-radius: 30px; position: relative;}
div.section.seg2 div.block2 div.inside:last-child{margin-top: 120px;}
div.section.seg2 div.block2 h2{margin: -45px 0 0;}
div.section.seg2 div.block2 h3{color: #7a9506; font-size: 3.1rem; line-height: 50px; font-weight: bold; padding: 20px 0; letter-spacing: 0.05em;}
div.section.seg2 div.block2 h3 span{padding: 0 5px; position: relative; background: url(../img/yellow_line.png) repeat-x center center; background-size: 10px 50px;}
div.section.seg2 div.block2 p.flag{position: absolute; width: 125px; height: 130px; left: -20px; top: 60px;}
div.section.seg2 div.block2 p.lead{padding: 0 25px 35px; text-align: left; font-weight: bold; font-size: 1.6rem; line-height: 2; color: #728806;}
div.section.seg2 div.block2 p.sub{font-size: 1.4rem; text-align: left; padding: 0 25px 35px; color: #909090;}
div.section.seg2 div.block2 span.annotation.sub{display: block; font-size: 1.4rem; text-align: left; padding: 15px 25px 35px; color: #909090;}

div.section.seg2 div.block3{display: flex; justify-content: space-between; max-width: 990px; margin: 0 auto;}
div.section.seg2 div.block3 div.left{width: 330px; text-align: right;}
div.section.seg2 div.block3 div.left p.flag{padding: 0 0 20px;}
div.section.seg2 div.block3 div.right{width: calc(100% - 370px); position: relative;}
div.section.seg2 div.block3 h3{color: #7a9506; font-size: 3.1rem; line-height: 50px; font-weight: bold; padding: 120px 0 20px; letter-spacing: 0.05em; text-align: left;}
div.section.seg2 div.block3 h3 span{padding: 0 5px; position: relative; background: url(../img/yellow_line.png) repeat-x center center; background-size: 10px 50px;}
div.section.seg2 div.block3 p.sub{text-align: left; font-size: 1.4rem; color: #909090; font-weight: normal; padding:0 0 35px;}
div.section.seg2 div.block3 span.sub.annotation{display: block; text-align: left; font-size: 1.4rem; color: #909090; font-weight: normal; padding:15px 0 35px; }
div.section.seg2 div.block3 p.flag{position: absolute; right: -10px; top: 60px;}
div.section.seg2 div.block3 p.lead{padding: 0 10px 35px 0; text-align: left; font-weight: bold; font-size: 1.6rem; line-height: 2; color: #728806;}
div.section.seg2 div.block3 p.btnMore a{margin: 0;}

div.section.seg2 p.capTitle{width: 980px; margin: 0 auto; text-align: left; position: absolute; top: 20px; left: 0; right: 0;}

div.section.seg3{background: #9eb75f;}
div.section.seg3 div.inner{width: 980px; margin: 0 auto; padding: 90px 0 10px;}
div.section.seg3 div.mainWrap{display: flex; justify-content: space-between;}
div.section.seg3 p.btnMore{ padding:100px 0 0; }
div.section.seg3 div.mainWrap div.block{width: 280px;}
div.section.seg3 div.mainWrap div.block:nth-child(2){padding: 80px 0 0;}
div.section.seg3 div.mainWrap p.num{ padding: 0 24px 0px; margin-bottom: -14px; }
div.section.seg3 div.mainWrap h3{font-size: 2.8rem; letter-spacing: 0.1em; display: inline-block; color: #FFF; margin: 0 0 40px; padding: 0 9px; position: relative;}
div.section.seg3 div.mainWrap h3::before{content: ""; width: 100%; height: 20px; display: block; position: absolute; left: 0; bottom: 0; background: #7a9506; border-radius: 7px;}
div.section.seg3 div.mainWrap h3 span{position: relative;}
div.section.seg3 div.mainWrap h4{z-index: 1; color: #FFF; background: url(../img/challenge_title.png) no-repeat top center; background-size: 280px 165px; font-size: 2.3rem; line-height: 40px; letter-spacing: 0.1em; padding: 35px 0 70px;}
div.section.seg3 div.mainWrap h4 span{ z-index: 1; position: relative; padding: 0 9px; }
div.section.seg3 div.mainWrap h4 span::before{ z-index: -1; bottom:0px; left:0; content:""; display: block; position: absolute; width: 100%; height: 15px; background: #f36638; border-radius: 7px; }
div.section.seg3 div.mainWrap p{color: #FFF; font-size: 1.6rem; line-height: 2; font-weight: bold; text-align: left; padding: 0 0 20px;}
div.section.seg3 div.mainWrap p.img{padding: 0 0 30px;}
div.section.seg3 h2{color: #FFF; font-size: 3.2rem; line-height: 1.7; font-weight: bold; letter-spacing: 0.1em; padding: 0 0 40px;}

footer.mainFooter{background: #9eb75f; position: relative;}
footer.mainFooter div.inner{position: relative; text-align: right; padding: 0 20px 0 0;}
footer.mainFooter div.inner::after{position: absolute; display: block; background: url(../img/wave4.png) repeat-x top center; background-size: 1280px 30px; width: 100%; height: 30px; content: ""; left: 0; bottom: 0;}
footer.mainFooter p.copyright{background: #f7f6f3; padding: 15px 0 20px; font-size: 1.5rem; color: #a3bb68; font-weight: bold;}


/* ::::::::::::::::::::::::::::::::: PC ::::::::::::::::::::::::::::::::: */
@media screen and (min-width: 641px){
    .sp{display:none!important;}

    .hoverAlpha{transition: all 0.2s ease;}
    .hoverAlpha:hover{opacity: 0.8;}
}

/* ::::::::::::::::::::::::::::::::: SP ::::::::::::::::::::::::::::::::: */
@media screen and (max-width: 640px){
    .pc{display:none!important;}

    html {min-width: inherit;}

    span.generalBG{}

    header.mainHeader{height: 75px; transition: all 0.5s ease;}
    header.mainHeader.on{background: none;}
    header.mainHeader div.inner{padding: 0; position: absolute; visibility: hidden; opacity: 0; width: 100%; height: 100%; left: 0; top: 0; transition: all 0.5s ease; z-index: 1002;}
    header.mainHeader div.mainBlock{height: 450px; width: 100%; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; padding: 20px 0 0;}
    header.mainHeader ul.linkList{width: 130px; display: flex; justify-content: space-between; position: absolute; left: 10px; top: 15px;}
    header.mainHeader ul.linkList img{width: 40px; height: 40px;}
    header.mainHeader ul.snsList{width: 160px; position: relative; right: inherit; top: inherit; margin: 0 auto;}
    header.mainHeader ul.snsList li{}
    header.mainHeader ul.snsList li:first-child{padding: 0;}
    header.mainHeader ul.mainList{font-size: 1.7rem; letter-spacing: 0.07em;}
    header.mainHeader ul.mainList li{padding: 3px 0; display: block;}
    header.mainHeader ul.mainList li a{line-height: 50px; color: #99b459; font-weight: bold; text-decoration: none; display: inline-block; background: url(../img/sp_menu_line.png) repeat-x bottom center; background-size: 30px 5px;}
    header.mainHeader p.snsTitle{font-size: 1.4rem; font-weight: bold; color: #000; letter-spacing: 0.1em; padding: 0 0 10px;}
    header.mainHeader p.siteLink{font-size: 1.4rem; letter-spacing: 0.1em; padding: 25px 0 30px;}
    header.mainHeader p.siteLink a{color: #99b459; font-weight: bold; text-decoration: none; display: inline-block; line-height: 15px; background: url(../img/sp_menu_link.png) no-repeat right center; background-size: 15px 15px; padding: 0 20px 0 0;}
    header.mainHeader button.spMenuBtn{display: block; width: 45px; height: 45px; position: fixed; background: #FFF; cursor: pointer; border-radius: 50%; border: 2px solid #99b459; right: 12px; top: 12px; z-index: 2000;}
    header.mainHeader button.spMenuBtn span{width: 15px; position: absolute; left: 13px; border-top: 2px solid #99b459; transition: all 0.3s ease;}
    header.mainHeader button.spMenuBtn span.line1{top: 15px;}
    header.mainHeader button.spMenuBtn span.line2{top: 20px;}
    header.mainHeader button.spMenuBtn span.line3{top: 25px;}

    header.mainHeader.open{height: 100%; background: #FFF!important;}
    header.mainHeader.open div.inner{visibility: visible; opacity: 1;}
    header.mainHeader.open button.spMenuBtn span.line1{top: 20px; transform: rotate(45deg);}
    header.mainHeader.open button.spMenuBtn span.line2{opacity: 0;}
    header.mainHeader.open button.spMenuBtn span.line3{top: 20px; transform: rotate(-45deg);}

    div.wrap{}

    div.topWrap{background-image: url(../img/main_bg_sp.png);}
    div.topWrap::after{background-size: 320px 40px; height: 40px;}
    div.topWrap div.inner{padding: 95px 0 0; width: 80%;}
    div.topWrap h1{padding: 0 0 30px;}
    div.topWrap p.img{width: 100%;}
    div.topWrap p.img img{width: 100%; height: auto;}
    div.topWrap p.scrollBtn{right: 30px; width: 160px;}
    div.topWrap p.scrollBtn a{}
    div.topWrap p.scrollBtn a::before{width: 90px;}
    div.topWrap p.scrollBtn a::after{width: 90px; animation: scrollBar 2.5s ease infinite;}
    div.topWrap ul.linkList{width: 130px; display: flex; justify-content: space-between; position: absolute; left: 10px; top: 15px;}

    @keyframes scrollBar {
        0% {width: 1px; right: 89px;}
        50% {width: 90px; right: 0;}
        100% {width: 0px; right: 0;}
    }

    div.section{}

    div.section p.btnMore{padding: 0 0 50px; }
    div.section p.btnMore a{max-width: inherit; font-size: 1.5rem; position: relative; color: #FFF; line-height: 1.6; background: #7a9506; text-indent: -15px; padding: 20px 0;}
    div.section p.btnMore a::after{content: ""; background: url(../img/mark_btn.png) no-repeat center center; background-size: contain; width: 17px; height: 17px; position: absolute; right: 10px; top: 0; bottom: 0; margin: auto 0;}


    div.section.seg1{}
    div.section.seg1 div.inner{padding: 40px 25px 130px;}
    div.section.seg1::after{background-size: 320px 15px; height: 15px;}
    div.section.seg1 span.font-large{font-size: 2.3rem;}
    div.section.seg1 h2{font-size: 2.7rem; line-height: 1.8; padding: 0 0 35px;}
    div.section.seg1 h2 span{background-size: 30px 5px; padding: 0 0 10px;}
    div.section.seg1 p.lead{font-size: 1.7rem; line-height: 1.9; padding: 0 0 5px; text-align: left;}
    div.section.seg1 p.lead:last-of-type{ padding: 15px 0 20px; }

    div.section.seg1 p.sub{font-size: 1.3rem; text-align: left;}
    div.section.seg1 p.illust{width: 180px; height: 198px; position: absolute; right: 0; bottom: -60px; z-index: 100;}
    div.section.seg1 p.illust img{width: 180px; height: 198px;}

    div.section.seg2{}
    div.section.seg2::after{background-size: 320px 15px; height: 15px;}
    div.section.seg2 div.inner{padding: 0 25px 20px; width: auto;}
    div.section.seg2 div.block1{width: auto; margin: 0 auto 100px; padding-top:85px; }
    div.section.seg2 div.block1 div.wrap{ display: flex; top:-26px; right:-25px; }
    div.section.seg2 div.block1 div.wrap p.emblem img{ width:100px; height:100px;  }
    div.section.seg2 div.block1 div.wrap p.emblem1{ margin-right:-5px; }
    div.section.seg2 div.block1 div.wrap p.emblem2{ padding-top:6px; }
    div.section.seg2 div.block1 h2{padding: 0 0 15px;}
    div.section.seg2 h2 img{width: 224px; height: 128px;}
    div.section.seg2 div.block1 p.flag{top: 25px;}
    div.section.seg2 div.block1 p.img1{padding: 0 0 10px;}
    div.section.seg2 div.block1 p.img1 img{width: 100%; height: auto;}
    div.section.seg2 div.block1 span.sub.annotation{ padding: 10px 0 0; margin:0; }
    div.section.seg2 div.feature1{display: block; position: relative;}
    div.section.seg2 div.feature1 div.right{width: 100%;}
    div.section.seg2 div.feature1 div.left{width: 100%;}
    div.section.seg2 div.feature1 div.left img{width: 90%; height: auto; margin: 0 auto;}
    div.section.seg2 div.feature1 h3{font-size: 2.4rem; line-height: 40px; padding: 20px 120px 20px 0;}
    div.section.seg2 div.feature1 h3 span{padding: 0 5px; background-size: 5px 40px;}
    div.section.seg2 div.feature1 p{}
    div.section.seg2 div.feature1 p span.red{margin-top:5px; font-size: 1.9rem;}
    div.section.seg2 div.feature1 p.sub{}
    div.section.seg2 div.feature2{padding: 40px 25px 100px; margin: 0 0 50px; border-radius: 20px;}
    div.section.seg2 div.feature2 h3{font-size: 2.1rem; padding: 0 0 25px;}
    div.section.seg2 div.feature2 h3 span{display: block; padding: 0 0 15px; margin: 0 auto; width: 100%; overflow: hidden;}
    div.section.seg2 div.feature2 p{text-align: left;}
    div.section.seg2 div.feature2 p.img1{width: 130px; height: 130px; bottom: -70px; left:-25px;}
    div.section.seg2 div.feature2 p.img2{width: 180px; height: 138px; right: -20px; bottom: -10px;}
    div.section.seg2 div.feature2 p.img2 img{width: 180px; height: 138px;}

    div.section.seg2 div.block2{flex-wrap: wrap; padding: 0 0 15px;}
    div.section.seg2 div.block2 div.inside{margin: 0 0 80px; width: 100%; padding: 0 25px 15px; border-radius: 20px;}
    div.section.seg2 div.block2 div.inside:last-child{margin: 0 0 40px;}
    div.section.seg2 div.block2 h2{padding: 0 0 10px;}
    div.section.seg2 div.block2 h3{font-size: 2.2rem; line-height: 35px; font-weight: bold; padding: 20px 0; letter-spacing: 0.05em;}
    div.section.seg2 div.block2 h3 span{background-size: 5px 40px;}
    div.section.seg2 div.block2 p.flag{width: 75px; height: 78px; left: -12px; top: 80px;}
    div.section.seg2 div.block2 p.flag img{width: 75px; height: 78px;}
    div.section.seg2 div.block2 p.lead{padding: 0 0 30px;}
    div.section.seg2 div.block2 span.annotation.sub{ padding: 10px 0 0; }
    div.section.seg2 div.block2 p.sub{padding: 0 0 30px;}
    div.section.seg2 div.block2 p.img{width: 110%; margin: 0 -5%;}

    div.section.seg2 div.block3{display: block; width: 100%;}
    div.section.seg2 div.block3 div.left{width: 100%; text-align: center;}
    div.section.seg2 div.block3 div.left p.img{width: 110%; margin: 0 -5%;}
    div.section.seg2 div.block3 div.right{width: 100%;}
    div.section.seg2 div.block3 h3{font-size: 2.2rem; line-height: 35px; padding: 20px 0 20px; letter-spacing: 0.05em; text-align: center;}
    div.section.seg2 div.block3 h3 span{background-size: 5px 40px;}
    div.section.seg2 div.block3 p.flag{position: relative; right: 0; top: 60px;}
    div.section.seg2 div.block3 p.sub{ padding: 0 0 20px; }
    div.section.seg2 div.block3 p.lead{}
    div.section.seg2 div.block3 span.sub.annotation{ padding: 10px 0 0; }
    div.section.seg2 div.block3 p.btnMore a{}

    div.section.seg2 p.capTitle{width: auto; position: relative; top: 0; padding: 20px 10px 0;}
    div.section.seg2 p.capTitle img{width: 156px; height: 138px;}

    div.section.seg3{}
    div.section.seg3 div.inner{width: auto; padding: 50px 25px 10px;}
    div.section.seg3 p.btnMore{ padding: 0 0 20px; }
    div.section.seg3 div.mainWrap{display: block;}
    div.section.seg3 div.mainWrap div.block{width: auto; margin: 0 0 20px;}
    div.section.seg3 div.mainWrap div.block:nth-child(2){padding: 0;}
    div.section.seg3 div.mainWrap p.num{ width:210px; padding: 0 0 0; margin:0 auto -14px;}
    div.section.seg3 div.mainWrap h3{font-size: 2.2rem; margin: 0 0 30px; padding: 0 9px; position: relative;}
    div.section.seg3 div.mainWrap h3::before{}
    div.section.seg3 div.mainWrap h3 span{}
    div.section.seg3 div.mainWrap h4{background: url(../img/challenge_title_sp.png) no-repeat top center; background-size: 640px 120px; font-size: 2.0rem; line-height: 30px; padding: 20px 0 40px; margin: 0 0 20px;}
    div.section.seg3 div.mainWrap p{}
    div.section.seg3 div.mainWrap p.img{padding: 0 5% 25px;}
    div.section.seg3 h2{font-size: 2.2rem; padding: 0 0 30px;}

    footer.mainFooter{}
    footer.mainFooter p.btnTop img{width: 96px; height: 144px;}
    footer.mainFooter div.inner{}
    footer.mainFooter div.inner::after{background-size: 320px 15px; height: 15px;}
    footer.mainFooter p.copyright{padding: 13px 0 15px; font-size: 1.3rem;}

}
