@charset "utf-8";
/* CSS Document */
/*body {
 min-width: 1358px;
 position: relative;
}
.inner {
 width: 1108px;
 margin: 0 auto;
}*/
/*--------------------------------------

　Header

---------------------------------------*/
header {
 background: none;
 height: auto;
 min-height: 38px;
 margin: 0;
}
header > .logo { display: none; }
header h1.sitename {
 margin: 0;
 font-weight: 400;
 color: #000; 
}
/*--------------------------------------

　side

---------------------------------------*/
#side .scroll {
 height: 100%;
 overflow-y: auto;
}
/*--------------------------------------

　mv

---------------------------------------*/
.mv .bg {
 position: relative;
 min-height: 756px;
 padding-left: 50%;
 display: flex; 
 flex-direction: column;
 justify-content: center;
}
.mv .bg .pic {
 width: 784px;
 position: absolute;
 right: 55%;
 top: 50%;
 transform: translateY(-50%);
 z-index: -1;
}
.mv .bg .text { padding:3rem 0; }
.mv .titleArea {
 text-align: right;
 margin-left: -100%;
}
.mv .titleArea + .scrolldown { display: none; }
.mv .catch {
 display: inline-block;
 line-height: 65px;
 color: #fff;
 font-size: 3rem;
 font-weight: 700;
 background-color: #5CA367;
 padding: 0 1rem;
 border-radius: 12px;
}
.mv h2 {
 font-size: 5rem;
 line-height: 1.4;
 margin: 2rem 0 0;
}
.mv h2 .green {
 color: #5CA367;
 display: block;
}
.mv .textArea { padding-left: 4rem; }
.mv p.small {
 font-size: 1.4rem;
 color: #4C5864;
}
.mv .scrolldown {
 display: block;
 margin: 0 auto;
 width: 11px;
 height: 104px;
 background: url("img/index/deco_scroll.svg") no-repeat right 0 top 4px / 14px auto;
 padding: 0 2.4rem;
 position: relative;
}
.mv .scrolldown:before {
 content: "";
 position: absolute;
 bottom:0;
 left:50%;
 transform: translateX(-50%);
 width:11px;
 height:11px;
 border-radius: 50%;
 background:#2370DE;
 animation:
 circlemove 1.6s ease-in-out infinite,
 cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
 0%{bottom:100%;}
 100%{bottom:-5px;}
}
@keyframes cirlemovehide{
 0%{opacity:0}
 50%{opacity:1;}
 80%{opacity:0.9;}
 100%{opacity:0;}
 }
.mv .scrolldown:after{
 content:"";
 position: absolute;
 bottom:0;
 left:50%;
 transform: translateX(-50%);
 width:3px;
 height: 100%;
 background:#2370DE;
}
.mv .sp_br { display: none; }
/*--------------------------------------

　パーツ

---------------------------------------*/
div.btn-internal,div.btn-web { width: 530px; }
div[class^="sec"] {
 margin: 18rem 0;
 overflow: hidden;
 position: relative;
}
div[id^="sec"]::before {
 content: "";
 width: 100%;
 height: 469px;
 background: url("img/index/sec02_bg01.png") no-repeat center top / cover;
 position: absolute;
 top: 0;
 left: 0;
}
div[id^="sec"] .inner {
 position: relative;
 z-index: 1;
}
.bgBox {
 border-radius: 20px;
 background:#fff;
 margin: 0 -2.5rem;
 padding: 6rem 2.5rem 0;
}
/* 目次
---------------------------------------*/
.sideMokuji {
 display: block;
 border: solid #2370DE 5px;
 border-radius: 20px;
 background-color: #E9F0F6;
 overflow: hidden;
}
.sideMokuji .title {
 background-color: #2370DE;
 color: #fff;
 font-size: 1.8rem;
 line-height: 1.2;
 font-weight: 700;
 text-align: center;
 padding: 2rem 2rem;
 margin: 0 0 1rem;
}
.sideMokuji ul.listMokuji {
 padding: 0 1.5rem;
}
.sideMokuji ul.listMokuji li + li {
 border-top: solid 1px #2370DE;
}
.sideMokuji ul.listMokuji li a {
 text-decoration: none;
 display: block;
 padding: 1.6rem 0;
 padding-right: 2rem;
 font-size: 1.4rem;
 line-height: 1.4;
 position: relative;
}
.sideMokuji ul.listMokuji li a.check::before {
 content: "";
 display: block;
 width: 74px;
 height: 24px;
 background: url("img/index/icon_check.svg") no-repeat left top / 100% auto;
 margin: 0 0 0.8rem;
}
.sideMokuji ul.listMokuji li a::after {
 content: "";
 width: 13px;
 height: 13px;
 background: url("img/arrow01_black.svg") no-repeat center top / 100% auto;
 position: absolute;
 right:0;
 top: 50%;
 transform: translateY(-50%) rotate(90deg);
}
/* 見出し
---------------------------------------*/
#top h2:not([class]) {
 height: 342px;
 margin: 0 auto;
 text-align: center;
 font-size: 3rem;
 line-height: 1.5;
 padding: 14rem 0 0;
}
#top h2:not([class]) span { font-size: 6.5rem; }
#top h2:not([class]) a {
 display: inline-block;
 padding: 0 4rem;
 background: url("img/arrow01_black.svg") no-repeat right 50% / 23px auto;
}
#top h3:not([class]) {
 margin: 0 auto 5rem;
 font-size: 3rem;
 font-weight: 700;
 text-align: center;
}
#top h3:not([class]) .green { color:#48B156; }
#top h3:not([class]) .fs25 { font-size: 2.5rem; }
#top h3:not([class]) .fs32 { font-size: 3.2rem; }
#top h3:not([class]) .fs35 { font-size: 3.5rem; }
#top h3:not([class]) .fs50 { font-size: 5rem; }
#top h3:not([class]) a {
 display: inline-block;
 padding: 0 4rem;
 background: url("img/arrow01_black.svg") no-repeat right 50% / 23px auto;
}
/* 縦書き見出し
---------------------------------------*/
.verticalTitleWrap {
 width: 418px;
 height: 494px;
 background: #48B156;
 border-radius: 0 0 20px 0;
 margin-left:-2.5rem;
 margin-bottom: 2rem;
}
.verticalTitleWrap .verticalTitle {
 margin: 0 0 0 12rem;
 padding: 4rem 0;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 text-orientation: upright;
 font-size: 3rem;
 letter-spacing: -0.4em;
}
.verticalTitleWrap .verticalTitle .big { font-size: 4rem; }
.verticalTitleWrap .bg {
 height: 288px;
 display: block;
 background-color: #E7F1E8;
 border-radius: 0 0 0 20px;
 color: #000;
 padding: 4rem 4.7rem 0;
 margin:-4rem 0 0 6rem;
}
.verticalTitleWrap .verticalTitle a {
 padding:0 0 5rem;
 background: url("img/arrow03_green.png") no-repeat left 1em bottom 0 / 34px;
 color: #fff; 
}

/* qa
---------------------------------------*/
.questionA {
 margin: 12rem 0 0 -54px;
 border-radius: 20px;
 min-height: 136px;
 display: flex;
 align-items: center;
 padding: 2rem 2rem 2rem 124px;
 background:#E7EFF5 url("img/index/icon_questionA.svg") no-repeat left 14px top 18px / auto 94px;
 font-size: 3rem;
 position: relative;
}
.questionA::after {
 display: block;
 width: 30px;
 height: 148px;
 border:solid 5px #2370DE;
 border-top: none;
 border-right: none;
 position: absolute;
 top: 112px;
 left: 58px;
}
.questionB {
 margin: 6rem 0 0;
 border-radius: 20px;
 padding:3.4rem 7rem 3.4rem 148px;
 background:#fff url("img/index/icon_plus.svg") no-repeat right 33px top 50% / 40px auto;
 font-size: 2rem;
 cursor: pointer;
 position: relative;
}
@media screen and (min-width: 1250px) {
 .questionB:hover { opacity: 0.7; }
}
.questionB.open { background-image: url("img/index/icon_minus.svg"); }
.questionB::before {
 content: "";
 display: block;
 width: 86px;
 height: 89px;
 background: url("img/index/icon_questionB.svg") no-repeat center top / 100% auto;
 position: absolute;
 top: -20px;
 left: 27px;
}
.questionB span { font-size:2.5rem; }
.answerBox {
 margin: 0 0 4rem;
 padding: 5.4rem 5rem;
 background: url("img/index/bg_answerBox.jpg") no-repeat left top / cover;
 border-radius: 20px;
 position: relative;
 z-index: 1;
}
.answerBox.fadeRightTrigger {
 margin-right: calc(50% - 50vw);
 padding-right: calc(50vw - 50%);
 border-radius: 20px 0 0 20px; 
}
.questionA + .answerBox {
 margin-top:4.3rem;
 margin-left: 3rem;
 position: relative;
}
.questionA + .answerBox::after {
 content: "";
 display: block;
 width: 30px;
 height: 148px;
 border:solid 5px #2370DE;
 border-top: none;
 border-right: none;
 position: absolute;
 top: -6.7rem;
 left: -30px;
}
.questionB + .answerBoxWrap .answerBox {
 margin-left:7rem;
 margin-top: 4.3rem;
 position: relative;
}
.questionB + .answerBoxWrap .answerBox::after {
 content: "";
 display: block;
 width: 24px;
 height: 166px; 
 border:solid 5px #2370DE;
 border-top: none;
 border-right: none;
 position: absolute;
 top: -4.3rem;
 left: -24px;
}
.answerBox .wrap {
 display: table;
 width: 100%; 
}
.answerBox .wrap .picArea {
 display: table-cell;
 width: 250px;
 vertical-align: top;
 padding: 0 1.2rem;
 position: relative;
}
.answerBox .wrap .picArea .bubble {
 width: 100%;
 text-align: center;
 line-height: 54px;
 background-color: #F9A900;
 border-radius: 1000px;
 font-size: 1.8rem;
 font-weight: 700;
 position: absolute;
 top: -7.8rem;
 left: 0;
}
.answerBox .wrap .picArea .bubble::after {
 content: "";
 display: block;
 width: 14px;
 height: 11px;
 clip-path: polygon(0 0, 100% 0%, 50% 100%);
 background-color: #F9A900;
 position: absolute;
 bottom: -9px;
 left: 50%;
 transform: translateX(-50%);
}
.answerBox .wrap .picArea .pic {
 padding: 0 1.4rem;
 margin-bottom: -2.5rem;
}
.answerBox .wrap .picArea .name {
 background-color: #e7eff5db;
 padding: 1.4rem;
 line-height: 1.7;
 font-size: 1.4rem;
 display: block;
 text-align: center;
 align-items: center;
 position: relative;
}
.answerBox .wrap .textArea {
 display: table-cell;
 vertical-align: top;
 padding-left: 2.7rem;
 color: #fff;
 line-height: 1.625;
}
.answerBox .wrap .textArea .catch {
 min-height: 83px;
 padding-left: 10rem;
 background: url("img/index/icon_answerA.svg") no-repeat left 50% / auto 83px;
 font-weight: 700;
 font-size: 2.5rem;
 margin: 0 0 3.5rem;
}
.answerBox .wrap .textArea > *:last-child { margin-bottom: 0; }
.answerBoxWrap { display: none; }
.answerBoxWrap.open { display: block; }
/* アニメーション　矢印
---------------------------------------*/
.fadeDown {
 animation-name:fadeDownAnime;
 animation-duration:1s;
 animation-fill-mode:forwards;
 opacity:0;
}
@keyframes fadeDownAnime{
 from {
  opacity: 0;
  transform: translateY(-100px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
/* アニメーション　右から出現
---------------------------------------*/
.fadeRight {
 animation-name:fadeRightAnime;
 animation-duration:1s;
 animation-fill-mode:forwards;
 opacity:0;
}
@keyframes fadeRightAnime{
 from {
  opacity: 0;
  transform: translateX(100px);
 }
 to {
  opacity: 1;
  transform: translateX(0);
 }
}
/* アニメーション　左から出現
---------------------------------------*/
.fadeLeft {
 animation-name:fadeLeftAnime;
 animation-duration:0.5s;
 animation-fill-mode:forwards;
 opacity:0;
}
@keyframes fadeLeftAnime{
 from {
  opacity: 0;
  transform: translateX(-100px);
 }
 to {
  opacity: 1;
  transform: translateX(0);
 }
}
/* アニメーション　その場で出現
---------------------------------------*/
.fadeIn {
 animation-name:fadeInAnime;
 animation-duration:1s;
 animation-fill-mode:forwards;
 opacity:0;
}
@keyframes fadeInAnime{
 from { opacity: 0; }
 to { opacity: 1; }
}
/* アニメーション タイミング
---------------------------------------*/
.delay-time10 { animation-delay: 1s; }
/* アニメーション矢印
---------------------------------------*/
.animationArrow {
 width: 84px;
 height: 96px;
 margin: 0 auto;
}
/*--------------------------------------

　各セクション

---------------------------------------*/
/* .sec01
---------------------------------------*/
.sec01 .inner { position: relative; }
.sec01 .inner::before {
 content: "";
 background-color: #E7EFF5;
 border-radius: 0 20px 20px 0;
 width: calc( 100% + (50vw - 50%));
 height: 80%;
 position: absolute;
 right: 0;
 top: 0;
}
.sec01 .introArea {
 position: relative;
 text-align: center;
 padding: 6rem 0 11rem;
 font-size: 3rem;
 line-height: 1.6;
 font-weight: 700;
 color: #2370DE;
 background: url("img/index/arrow_double_blue.svg") no-repeat left 50% bottom 20px / 58px auto;
}
.sec01 .partsSponsored { margin: 0; }
.sec01 .partsSponsored > .bg { background-color: #fff; }
.sec01 .partsSponsored .advisorArea {
 margin-top: 5rem;
 padding: 5rem 7.9rem;
 background: none;
 margin: 11rem 0 0;
 padding: 6rem 9.7rem 2rem;
 border-radius: 10px;
 background: url(img/partsSponsored_bg.jpg) no-repeat center top / cover;
 position: relative;
}
.sec01 .partsSponsored .advisorArea .title {
 line-height: 30px;
 padding: 0 20px;
 /* background: url("img/index/deco_line.svg") no-repeat left bottom / auto 100%; */
 position: relative;
 width: 254px;
 background-color: #F9A900;
 border-radius: 1000px;
 font-size: 1.8rem;
 line-height: 54px;
 font-weight: 700;
 text-align: center;
 position: absolute;
 top: -27px;
 left: 50%;
 transform: translateX(-50%);
}

.sec01 .partsSponsored .advisorArea .advisorBox .name {
 background-color: #fff;
 margin: 2rem 0;
 align-items: flex-start;
 background-color: #f8f5fee8;
 padding: 1.2rem;
 line-height: 1.7;
 font-size: 1.4rem;
 text-align: center;
 display: block;
 align-items: center;
 margin: auto;
 position: relative;
}
.sec01 .partsSponsored .advisorArea .advisorBox .pic {margin-bottom: -2.5rem;}
.sec01 .partsSponsored .advisorArea .advisorBox .pic img {width: 196px;}
.sec01 .partsSponsored .advisorArea .advisorBox p {
 /* color:#000; */
 font-size: 1.5rem;
 text-align: center;
}
/* .sec02
---------------------------------------*/
.sec02 h3 + .pic {text-align: center;max-width: 650px;margin: auto;}
.sec02 .circleArea {
 margin: 13rem -9.5rem 0;
 position: relative;
}
.circleArea .circleGreen,
.circleArea .circleBlue {
 width: 627px;
 position: relative;
}
.circleArea .circleBlue {
 position: absolute;
 right: 0;
 top: 0;
}
.circleArea .circleGreen::before,
.circleArea .circleBlue::before {
 content: "";
 display: block;
 width: 100%;
 height: 252px;
 background: url("img/index/icon_merit.png") no-repeat center top / auto 100%;
 position: relative;
 z-index: 1;
}
.circleArea .circleBlue::before { background-image: url("img/index/icon_light.png"); }
.circleArea .circleBg {
 margin-top: -14rem;
 width: 100%;
 height: 627px;
 border-radius: 100%;
 border: solid #48B156 5px;
 background-color: #fff;
 padding: 14rem 0 0;
 overflow: hidden;
 position: relative;
}
.circleArea .circleBlue .circleBg { border-color:#2370DE; }
.circleArea .title {
 margin: 0;
 height: 114px;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: #48B156;
 color: #fff;
 font-size: 3rem;
 text-align: center;
}
.circleArea .circleBlue .title { background-color:#2370DE; }
.circleArea .checkmark {
 width: 442px;
 margin: 0 auto;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.circleArea .checkmark li {
 width: calc((100% - 20px)/2);
 border-radius: 20px;
 background:#E7EFF5 url("img/index/icon_checkmark.png") no-repeat left 15px top 50% /30px auto; 
 padding: 1rem 1.3rem;
 padding-left: 5.5rem;
 font-size: 1.6rem;
 line-height: 1.75;
 font-weight: bold;
 color: #35383D;
 display: flex;
 align-items: center;
 margin: 2rem 0 0;
}
.circleArea .circleGreen .checkmark li:last-child { width: 100%; }
.sec02 .circleArea + .btn-internal a::after,
.sec02 .answerBox + .btn-internal a::after { transform: translateY(-50%) rotate(90deg); }
/* .sec03
---------------------------------------*/
#sec03::before { background-image: url("img/index/sec03_bg01.png"); }
.sec03 div[class^="number"] {  }
.sec03 div[class^="number"] h3 {
 background:#fff url("img/index/icon_numA_01.png") no-repeat left 0 top 50% / auto 85px;
}
.sec03 .tableArea {
 margin: 6.7rem auto 12rem;
 position: relative;
 z-index: 1;
}
.sec03 .tableArea::before {
 content: "";
 width: calc(100% + 230px + (50vw - 50%));
 height: 100%;
 border-radius: 0 20px 20px 0;
 background-color: #E7EFF5;
 position: absolute;
 top: 315px;
 right: -230px;
 z-index: -1;
}
.sec03 .tableArea .greenTable {
 width: 844px;
 margin: 0.6rem;
 margin-left: 150px;
 border-radius: 20px;
 box-shadow: 0px 0px 6px #00000016;
}
.sec03 .tableArea .greenTable th {
 vertical-align: middle;
 text-align: center;
 background-color: #48B156;
 color: #fff;
 width: 25%;
 font-size: 2.2rem;
 font-weight: 700;
 border-left: #fff 1px solid;
 padding: 3.4rem 1.6rem;
 line-height: 1.4;
}
.sec03 .tableArea .greenTable td {
 vertical-align: middle;
 text-align: center;
 border-left: solid 1px #48B156;
 padding: 2.2rem 1.6rem;
 font-size: 1.6rem;
 line-height: 1.4;
 background-color:#E7EFF5;
 overflow: hidden;
}
.sec03 .tableArea .greenTable tr:first-child th:first-child { border-top-left-radius: 20px; }
.sec03 .tableArea .greenTable tr:first-child th:last-child { border-top-right-radius: 20px; }
.sec03 .tableArea .greenTable tr:last-child td:first-child { border-bottom-left-radius: 20px; }
.sec03 .tableArea .greenTable tr:last-child td:last-child { border-bottom-right-radius: 20px; }
.sec03 .tableArea .greenTable tr th:first-child,
.sec03 .tableArea .greenTable tr td:first-child { border-left: none;}
.sec03 .tableArea .greenTable tr:nth-child(2n) td,
.sec03 .tableArea .greenTable tr:last-child td { background-color:#fff; }
.sec03 .tableArea .greenTable td p {
 margin: 2rem 0 0;
 text-align: left;
}
.sec03 .tableArea .greenTable td.arrowTd {
 position: relative;
 overflow: visible;
}
.sec03 .tableArea .greenTable td.arrowTd::before {
 content: "";
 width: 17px;
 height: calc(100% - 4px);
 background-color: #2370DE;
 clip-path: polygon(0 0, 100% 50%, 0% 100%);
 position: absolute;
 left: 0;
 top: 2px;
}
.sec03 .tableArea .greenTable td .arrow {
 width: 150px;
 height: calc(100% - 4px);
 text-align: left;
 display: flex;
 align-items: center;
 padding-left: 1.6rem;
 background-color: #2370DE;
 color: #fff;
 font-size: 1.6rem;
 line-height: 1.4;
 position: absolute;
 left: -150px;
 top:2px; 
}
.sec03 .tableArea .greenTable div[class^="btn"] {
 margin: 0;
 display: block;
 width: auto;
}
.sec03 .tableArea .greenTable div[class^="btn"] a {
 width: auto;
 font-size: 1.4rem;
 line-height: 1.5;
 font-weight: 400;
 padding: 1.3rem 2rem;
 display: flex;
 align-items: center;
 justify-content: center;
}
.sec03 .tableArea .greenTable div[class^="btn"] a::after {
 right: 9px;
 width: 15px;
 height: 15px;
}

.sec03 .bgBox.number02 h3 { background-image: url("img/index/icon_numA_02.png"); }
.sec03 .bgBox.number03 h3 {
 background-image: url("img/index/icon_numA_03.png");
 padding: 1.8rem 0;
}
.sec03 .number02 {
 margin-top: 24rem;
 position: relative; 
}
.sec03 .number02::before {
 content: "";
 width: calc((50vw - 50%) + 364px);
 height: 370px;
 border-radius: 0 20px 20px 0;
 background: url("img/index/sec03_bg02.png") no-repeat center top / cover;
 position: absolute;
 top: -120px;
 right: 686px;
 z-index: -1;
}
.sec03 .number02 .pic { text-align: center; }
.sec03 .number03 {
 margin-top: 24rem;
 position: relative; 
}
.sec03 .number03::before {
 content: "";
 width: calc((50vw - 50%) + 415px);
 height: 370px;
 border-radius: 20px 0 0 20px;
 background: url("img/index/sec03_bg03.png") no-repeat center top / cover;
 position: absolute;
 top: -120px;
 left: 635px;
 z-index: -1;
}
.tabArea {
 margin: 7.4rem auto 20rem;
 position: relative;
 z-index: 1;
}
.tabArea::after {
 content: "";
 width: calc( 100% + 50px);
 height: 50%;
 background-color: #E7EFF5;
 border-radius: 20px;
 position: absolute;
 left: 50%;
 transform: translateX(-50%); 
 bottom: -40px;
 z-index: -1;
}
.tabArea .tabBtnWrap,
.tabArea .tabConWrap {
 display: flex;
 justify-content: space-between;
}
.tabArea .tabBtnWrap .tabBtn {
 width: calc((100% - 46px)/2);
 background: #48B156;
 border-radius: 20px 20px 0 0;
 font-size: 3rem;
 line-height: 1.4;
 font-weight: 700;
 color: #fff;
 text-align: center;
 padding: 5.5rem 1rem;
}
.tabArea .tabConWrap .tabCon {
 width: calc((100% - 46px)/2);
 background-color: #48B156;
 border-radius: 0 0 20px 20px;
 overflow: hidden;
 padding: 2.4rem;
}
.tabArea .tabConWrap .tabCon .tabInner {
 border-radius: 20px;
 padding: 4rem;
 background-color: #fff;
 height: 100%;
}
.tabArea .tabConWrap .tabCon .pic { text-align: center; }
.tabArea .tabConWrap .tabCon .tabTable {
 margin: 4rem 0 0;
 width: 100%;
 border-collapse: collapse;
 line-height: 1.4;
 table-layout: fixed;
}
.tabArea .tabConWrap .tabCon .tabTable tr { position: relative; }
.tabArea .tabConWrap .tabCon .tabTable tr::after {
 content: "";
 width: 100%;
 height: 0;
 border-bottom: dotted 6px #48B156;
 position: absolute;
 left: 0;
 bottom: 0; 
}
.tabArea .tabConWrap .tabCon .tabTable tr:last-child::after { content: none; }
.tabArea .tabConWrap .tabCon .tabTable th,
.tabArea .tabConWrap .tabCon .tabTable td {
 padding: 3.2rem 0;
 vertical-align: middle;
 text-align: center;
}
.tabArea .tabConWrap .tabCon .tabTable tr:last-child th { vertical-align: top; }
.tabArea .tabConWrap .tabCon .tabTable th {
 font-size: 2rem;
 color: #48B156;
 width: 40%;
 padding-right: 1rem;
}
.tabArea .tabConWrap .tabCon .tabTable td {
 width: 60%;
 font-weight: 700;
 font-size: 3rem;
}
.tabArea .tabConWrap .tabCon .tabTable tr:last-child td div {
 width: 58px;
 margin: 0 auto; 
}
.tabArea .tabConWrap .tabCon .tabTable tr:last-child td p {
 margin: 1rem 0 0;
 font-size: 2rem;
 line-height: 1.3;
}
/* .sec04
---------------------------------------*/
#sec04::before { background-image: url("img/index/sec04_bg01.png"); }
.sec04 h2 { position: relative; }
.sec04 h2::after {
 content: "";
 width: 130px;
 height: 44px;
 background: url("img/index/icon_check.svg") no-repeat center top / 100% auto;
 position: absolute;
 top: 80px;
 left: 50%;
 transform: translateX(-50%);
}
.sec04 .bgBox {
 background-color: #E7F1E8;
 border: solid 5px #48B156;
 position: relative;
}
.sec04 .bgBox::after {
 content: "";
 width: 708px;
 height: 452px;
 background: url("img/index/img03.svg") no-repeat center top / 100% auto;
 position: absolute;
 right: -123px;
 top: 60px;
}
.sec04 .picWrap {
 display: flex;
 justify-content: space-between;
 padding: 3rem 3.7rem;
 position: relative;
}
.sec04 .picWrap::before,
.sec04 .picWrap::after {
 /* content: ""; */
 display: block;
 width: 127px;
 height: 120px;
 border-radius: 20px;
 background-color: #48B156;
 position: absolute;
 z-index: -1;
}
.sec04 .picWrap::before { 
 bottom: 0;
 left: 0;
}
.sec04 .picWrap::after { 
 top: 0;
 right: 0;
}
.sec04 .picWrap .picClm {width: calc((100% - 16px)/2);}
.sec04 .answerBox { margin:12rem 0 4rem; }
.sec04 .arrowBox {
 text-align: center;
 padding-bottom: 74px;
 background: url("img/index/arrow_double_green.svg") no-repeat center bottom / 58px auto;
}

.sec04 .answerBox .txt_bold{
 color: #f9a900;
}
.caseBoxWrap {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 column-gap: 3.9rem;
 row-gap: 2rem;
 margin: 7rem 0 5rem;
}
.caseBoxWrap .caseBox {
 position: relative;
 margin: 5rem 0 0;
 background:linear-gradient(transparent 148px, #fff 0%);
 border-radius: 20px;
 overflow: hidden;
}
.caseBoxWrap .caseBox:nth-child(2n) { margin: 0 0 5rem;}
.caseBoxWrap .caseBox::after {
 content: "";
 width: 100%;
 height: 23px;
 background: url("img/index/deco_case01.png") no-repeat left 13px top 0 / auto 100%;
 position: absolute;
 left: 0;
 top: 0;
}
.caseBoxWrap .caseBox:nth-child(2)::after { background-image:url("img/index/deco_case02.png"); }
.caseBoxWrap .caseBox:nth-child(3)::after { background-image:url("img/index/deco_case03.png"); }
.caseBoxWrap .caseBox:nth-child(4)::after { background-image:url("img/index/deco_case04.png"); }
.caseBoxWrap .caseBox .caseBoxTitle {
 margin: 12px 0 0;
 border-radius: 20px 20px 0 0;
 text-align: center;
 color: #fff;
 font-size: 2.5rem;
 line-height: 1.2;
 padding: 5.9rem 3rem;
 background: url("img/index/img06.jpg") no-repeat center top / cover;
}
.caseBoxWrap .caseBox:nth-child(2) .caseBoxTitle { background-image:url("img/index/img07.jpg"); }
.caseBoxWrap .caseBox:nth-child(3) .caseBoxTitle { background-image:url("img/index/img08.jpg"); }
.caseBoxWrap .caseBox:nth-child(4) .caseBoxTitle { background-image:url("img/index/img09.jpg"); }
.caseBoxWrap .caseBox .caseBoxText {
 position: relative;
 padding: 0.2rem 3rem;
}
.caseBoxWrap .caseBox dl {
 width: auto;
 margin: 5rem 0;
 margin-left: -3rem;
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}
.caseBoxWrap .caseBox dl dt {
 width: 114px;
 background-color: #2370DE;
 line-height: 1.2;
 color: #fff;
 padding: 1.4rem 0;
 padding-right: 2rem;
 text-align: right;
 position: relative;
}
.caseBoxWrap .caseBox dl dt::after {
 content: "";
 width: 14px;
 height: 100%;
 background-color: #2370DE;
 clip-path: polygon(0 0, 100% 50%, 0% 100%);
 position: absolute;
 right: -14px;
 top: 0;
}
.caseBoxWrap .caseBox dl dd { width: calc(100% - 140px); }
.caseBoxWrap .caseBox dl dd > *:first-child { margin-top: 0; }
.caseBoxWrap .caseBox dl dd > *:last-child { margin-bottom: 0; }
/* .sec05
---------------------------------------*/
#sec05::before { background-image: url("img/index/sec05_bg01.png"); }
.sec05 .numBoxWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.sec05 .numBoxWrap .numBox {
 text-decoration: none;
 width: calc((100% - 75px)/2);
 margin: 7.8rem 0 0;
 padding-top: 26px;
 background: linear-gradient(transparent 36px, #E7EFF5 0%);
 border-radius: 10px;
 overflow: hidden;
 position: relative;
}
.sec05 .numBoxWrap .numBox:nth-child(1),
.sec05 .numBoxWrap .numBox:nth-child(2) { margin-top: 0; }
.sec05 .numBoxWrap .numBox::before {
 content: "";
 width: 88px;
 height: 64px;
 background: url("img/index/icon_numB_01.png") no-repeat left top / auto 100%;
 position: absolute;
 top: 0;
 left: 24px;
}
.sec05 .numBoxWrap .numBox:nth-child(2)::before { background-image: url("img/index/icon_numB_02.png"); }
.sec05 .numBoxWrap .numBox:nth-child(3)::before { background-image: url("img/index/icon_numB_03.png"); }
.sec05 .numBoxWrap .numBox:nth-child(4)::before { background-image: url("img/index/icon_numB_04.png"); }
.sec05 .numBoxWrap .numBox:nth-child(5)::before { background-image: url("img/index/icon_numB_05.png"); }
.sec05 .numBoxWrap .numBox::after {
 content: "";
 width: 68px;
 height: 68px;
 background-color: #F9A900;
 clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
 position: absolute;
 right: 0;
 bottom:0;
}
.sec05 .numBoxWrap .numBox .pic {
 overflow: hidden;
 border-radius: 10px 10px 0 0;
}
.sec05 .numBoxWrap .numBox .numBoxText {
 padding: 3.7rem 5.2rem 4.3rem;
}
.sec05 .numBoxWrap .numBox .numBoxText .title {
 margin: 0 0 2.5rem;
 text-align: center;
 padding: 0 0 2.6rem;
 font-size: 2.5rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
}
.sec05 .numBoxWrap .numBox .numBoxText .title::after {
 content: "";
 width: 52px;
 height: 5px;
 background-color: #5CA367;
 position: absolute;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%);
}
.sec05 .numBoxWrap .numBox .numBoxText > *:last-child { margin-bottom: 0; }
.sec05 .numBoxWrap .numBox.oneClm {
 width: 100%;
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 background: transparent;
}
.sec05 .numBoxWrap .numBox.oneClm .pic {
 border-radius: 10px 0 0 10px;
 width: 462px;
}
.sec05 .numBoxWrap .numBox.oneClm .pic img {
 width: 100%;
 height: 100%;
 object-fit: cover; 
}
.sec05 .numBoxWrap .numBox.oneClm .pic img.pc { display: inline; }
.sec05 .numBoxWrap .numBox.oneClm .pic img.sp { display: none; }
.sec05 .numBoxWrap .numBox.oneClm .numBoxText {
 width: calc(100% - 462px);
 padding: 7.5rem 6.4rem;
 background-color: #E7EFF5;
 border-radius: 0 10px 10px 0;
}
/* .sec06
---------------------------------------*/
#sec06::before { background-image: url("img/index/sec06_bg01.png"); }
.partitionBoxWrap {
 display: flex;
 border: solid 5px #48B156;
 border-radius: 10px;
 padding: 7.6rem 0 1rem;
}
.partitionBoxWrap .partitionBox {
 width: calc(100% / 3);
 position: relative;
 padding: 0 3rem;
}
.partitionBoxWrap .partitionBox::after {
 content: "";
 width: 1px;
 height: 80%;
 background-color: #4C5864;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0; 
}
.partitionBoxWrap .partitionBox:last-child::after { content: none; }
.partitionBoxWrap .partitionBox .title {
 margin: 0;
 text-align: center;
 font-size: 2.3rem;
 color: #48B156;
 display: flex;
 align-items: center;
 justify-content: center;
}
.partitionBoxWrap .partitionBox .pic {
 margin: 4rem 0;
 text-align: center;
}
.partitionBoxWrap .partitionBox .pic img {
 width: auto;
 height: 149px;
}
/* .sec07
---------------------------------------*/
#sec07::before { background-image: url("img/index/sec07_bg01.png"); }
.sec07 h2 { position: relative; }
.sec07 h2::after {
 content: "";
 width: 130px;
 height: 44px;
 background: url("img/index/icon_check.svg") no-repeat center top / 100% auto;
 position: absolute;
 top: 80px;
 left: 50%;
 transform: translateX(-50%);
}

#sec07{
 margin-bottom:0;
}
.sec07 .bgBox {
 background-color: #E7F1E8;
 border: solid 5px #48B156;
 padding-bottom: 6rem;
 position: relative;
}
.sec07 .bgBox::after {
 content: "";
 width: 608px;
 height: 445px;
 background: url(img/index/img18.svg) no-repeat center top / 100% auto;
 position: absolute;
 right: -65px;
 top: 60px;
}
.sec07 .verticalTitleWrap { height: 590px; }
.sec07 .verticalTitleWrap .verticalTitle a { background-position: left 2.4em bottom 0; }
/* .sec08
---------------------------------------*/
#sec08::before { background-image: url("img/index/sec08_bg01.png"); }
.sec08 .linkBoxWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.sec08 .linkBoxWrap .linkBox {
 text-decoration: none;
 width: calc((100% - 40px)/2);
 margin: 4.2rem 0 0;
 background: #E7EFF5;
 border-radius: 20px;
 padding: 2.2rem 2.8rem;
 overflow: hidden;
 position: relative;
}
.sec08 .linkBoxWrap .linkBox.oneClm {
 width: 100%;
}
.sec08 .linkBoxWrap .linkBox:nth-child(1),
.sec08 .linkBoxWrap .linkBox:nth-child(2) { margin-top: 0; }
.sec08 .linkBoxWrap .linkBox::before {
 content: "";
 width: 104px;
 height: 101px;
 background: url("img/index/icon_solarpanel.png") no-repeat left top / 100% auto;
 position: absolute;
 top: 0;
 left: 0; 
}
.sec08 .linkBoxWrap .linkBox .title {
 padding: 3.8rem 1rem;
 padding-left: 9.2rem;
 font-size: 2rem;
 border-bottom: dashed 1px #4C5864;
 margin: 0 0 3rem;
 display: flex;
 align-items: center;
 width: 100%;
}
.sec08 .linkBoxWrap .linkBox .title a {
 width: 100%;
}
/* .sec09
---------------------------------------*/
.sec09 { background: url("img/index/sec09_bg01.png") no-repeat center top / 100% auto; }
#top .sec09 h2 {
 height: auto;
 padding: 10rem 0 6rem;
 margin: 0;
}
#top .sec09 h2 .small { font-size:2.5rem; }
.sec09 .partsSponsored { margin:0; }
.sec09 .partsSponsored > .bg { background-color: #fff; }
.sec09 .partsSponsored .supervisorArea {
 position: relative;
 margin: 8rem 0 6rem;
}
.sec09 .partsSponsored .supervisorArea .bg { 
 background-color: #E7EFF5;
 border-radius: 20px;
 overflow: hidden;
 padding: 4.7rem 3.6rem 8rem;
 position: relative;
}
.partsSponsored .supervisorArea .bg::before {
 content: "";
 width: 100%;
 height: 17px;
 background-color: #2370DE;
 position: absolute;
 top: 0;
 left: 0; 
}
.partsSponsored .supervisorArea .advisorWrap { overflow: hidden; }
.partsSponsored .supervisorArea .advisorWrap .advisorBox {
 width: 226px;
 float: right;
 margin: 0 0 1rem 1rem;
}
.partsSponsored .supervisorArea .advisorWrap .advisorBox .pic {
 text-align: center;
 width: 93%;
 margin: 0 auto -2.5rem;
}
.partsSponsored .supervisorArea .advisorWrap .advisorBox .name {
 background-color: #fff;
 padding: 1.2rem;
 line-height: 1.7;
 font-size: 1.4rem;
 position: relative;
}
.partsSponsored .supervisorArea .title {
 margin: 0;
 padding:0 0 2rem;
 font-size: 2.5rem;
 font-weight: 700;
 line-height: 1.6;
 position: relative;
}
.partsSponsored .supervisorArea .title::after {
 content: "";
 width: 34px;
 height: 5px;
 background-color: #48B156;
 position: absolute;
 left: 0;
 bottom: 0;
}
.partsSponsored .supervisorArea .title .icon {
 display: inline-block;
 padding: 1.3rem 3rem;
 margin: 0 0 2rem;
 background-color: #2370DE;
 color: #fff;
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.2;
}
.partsSponsored .supervisorArea .btnCatch {
 clear: both;
 text-align: center;
 margin: 4rem 0 1rem;
}
.partsSponsored .supervisorArea .btnCatch span {
 display: inline-block;
 font-size: 2rem;
 font-weight: 700;
 line-height: 1.4;
 padding: 0 4rem;
 background: url("img/index/deco_line.svg") no-repeat left bottom / auto 100%;
 position: relative;
}
.partsSponsored .supervisorArea .btnCatch span::before {
 content: "";
 width: 16px;
 height: 100%;
 background: url(img/index/deco_line.svg) no-repeat left bottom / auto 26px;
 position: absolute;
 right: 0;
 bottom: 0;
 transform: scale(-1, 1);
}
.partsSponsored .supervisorArea .btn-internal {
 margin: 0 auto;
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
 bottom: -35px;
}
@media screen and (max-width: 600px) {
 /*--------------------------------------

  mv

 ---------------------------------------*/
 .mv { margin:3rem 0 0; }
 .mv .bg {
  min-height: auto;
  padding-left: 0;
 }
 .mv .bg .pic { display: none; }
 .mv .titleArea { margin-left: 0; }
 .mv .catch {
  font-size: 1.9rem;
  line-height: 42px;
 }
 .mv h2 {
  margin: 1rem -2rem;
  padding: 0 2rem 0 50%;
  font-size: 2.5rem;
  min-height: 224px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
 }
 .mv h2::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("img/index/mv_img01.png") no-repeat right top / auto 100%;
  position: absolute;
  right: 50%;
  top: 0;
 }
 .mv h2 .green { font-size: 3rem; }
 .mv .textArea { padding: 0; }
 .mv .titleArea + .scrolldown { display: block; }
 .mv .bg + .scrolldown { display: none; }
 .mv .scrolldown {
  height: 72px;
 }
 .mv .sp_br { display: block; }
 
}
@media screen and (max-width: 1250px) {
 /*--------------------------------------

  Header

 ---------------------------------------*/ 
 header {
  width: 100%;
  height: 70px;
  padding: 1rem 7rem 1rem 1rem;
  display: table;
 }
 header > .logo {
  display: table-cell;
  vertical-align: middle;
  width: 110px;
  padding-right: 1rem;
 }
 header h1.sitename {
  display: table-cell;
  vertical-align: middle;
  width: auto;
  padding: 0;
  font-size: 1.2rem;
 }
 
 /*--------------------------------------

  パーツ

 ---------------------------------------*/
 div.btn-internal,div.btn-web { width: 100%; }
 
 /* トップ専用目次
 ---------------------------------------*/
 /* 見出し
 ---------------------------------------*/
 #top h2:not([class]) {
  height: 162px;
  font-size: 2.0rem;
  line-height: 1.4;
  padding: 3.4rem 0 0;
 }
 #top h2:not([class]) .big { font-size: 4rem; }
 #top h3:not([class]) {
  font-size: 2rem;
  margin: 0 auto 3rem;
 }
 #top h3:not([class]) .fs35 { font-size: 2.5rem; }
 #top h3:not([class]) .fs50 { font-size: 2.8rem; }
 #top h3:not([class]) a {
  background-size: 15px auto;
  padding: 0 2rem;
 }
 /* 縦書き見出し
 ---------------------------------------*/
 .verticalTitleWrap {
  width: 100%;
  height: auto;
  background: #48B156;
  border-radius: 20px;
  margin-left: 0;
  margin-bottom: 2rem;
 }
 .verticalTitleWrap .verticalTitle {
  margin: 3rem 0 2rem;
  padding: 0 2.6rem 2rem;
  -ms-writing-mode:lr-tb;
  writing-mode: horizontal-tb;
  font-size: 2.5rem;
  letter-spacing: normal;  
 }
 .verticalTitleWrap .verticalTitle .big { font-size: 2.5rem; }
 .verticalTitleWrap .bg {
  height: auto;
  display: block;
  background-color: #E7F1E8;
  border-radius: 0 0 0 20px;
  color: #000;
  font-size: 1.8rem;
  padding: 2rem 2.2rem;
  padding-right: 0;
  margin: 0 -2.8rem 2rem 0;
 }
 .verticalTitleWrap .verticalTitle a {
  background: none;
  padding: 0;
  position: relative;
  vertical-align: middle;
 }
 .verticalTitleWrap .verticalTitle a::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url("img/arrow03_green.png") no-repeat center 50% / 100% auto;
  display: inline-block;
  margin: 0 0 0 1rem;
  vertical-align: middle;
 }
 /* qa
 ---------------------------------------*/
 .questionA {
  margin: 7rem 0 0 0;
  border-radius: 0;
  min-height: 90px;
  display: block;
  align-items: center;
  padding: 4rem 2rem 4rem 6rem;
  background: url(img/index/icon_questionC.svg) no-repeat left 0 top 50% / auto 50px;
  font-size: 1.8rem;
  position: relative;
 }
 .questionAWrap { position: relative; }
 .questionAWrap::before {
  content: "";
  width: calc(100% + 3rem);
  height: 80%;
  border: solid #2370DE 5px;
  border-left: none;
  border-radius: 0 20px 20px 0;
  position: absolute;
  right: 0;
  top: 0;
 }
 .questionB {
  margin: 4rem 0 0 12px;
  border-radius: 20px;
  padding: 2.2rem 5rem 2.2rem 50px;
  background: #fff url(img/index/icon_plus.svg) no-repeat right 10px top 50% / 30px auto;
  font-size: 1.8rem;
 }
 .questionB span { font-size: 1.8rem; }
 .questionB::before {
  content: "";
  display: block;
  width: 52px;
  height: 52px;
  background: url(img/index/icon_questionB.svg) no-repeat center top / 100% auto;
  position: absolute;
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
 }
 .answerBox {
  margin: 4rem 0;
  padding: 3.4rem 1rem 3rem 2rem;
 }
 .answerBox .wrap {
  display: block;
 }
 .answerBox .wrap .picArea {
  display: block;
  width: 112px;
  padding: 0;
  float: left;
  margin: 0 2rem 1rem 0;
 }
 .answerBox .wrap .picArea .pic {
  padding: 0 1rem;
  margin-bottom: -2rem;
 }
 .answerBox .wrap .picArea .name {
  padding: 0.6rem;
  line-height: 1.4;
  font-size: 1.2rem;
 }
 .answerBox .wrap .picArea .bubble {
  width: 176px;
  line-height: 38px;
  font-size: 1.4rem;
  top: -5.2rem;
 }
 .answerBox .wrap .textArea {
  display: block;
  padding: 0;
 }
 .answerBox .wrap .textArea .catch {
  min-height: auto;
  padding-left: 0rem;
  background: url(img/icon_answerB.png) no-repeat left 118px top 0 / auto 102px;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0 0 3.5rem;
 }
 .questionA + .answerBox {
  margin-top: 0rem;
  margin-left: 1rem;
 }
 .questionA + .answerBox::after { content: none; }
 .questionB + .answerBoxWrap .answerBox { margin-left: 3.6rem; }
 .questionB + .answerBoxWrap .answerBox::after {
  width: 10px;
  height: 128px;
  border: solid 3px #2370DE;
  border-top: none;
  border-right: none;
  top: -4.3rem;
  left: -10px;
 }
 /*--------------------------------------

  セクション

 ---------------------------------------*/
 div[class^="sec"] { margin: 6rem 0; }
 div[id^="sec"]::before {
  height: 218px;
  background: url("img/index/sec02_bg01_sp.png") no-repeat center top / cover;
 }
 .bgBox {
  margin: 0 -1rem;
  padding: 4rem 2rem 0;
 }
 /* .sec01
 ---------------------------------------*/
 .sec01 .inner::before { right: 2rem; }
 .sec01 .introArea {
  padding: 1rem 0 6rem;
  font-size: 2.7rem;
  background-size:46px auto;
 }
 .sec01 .introArea span { font-size: 2rem; }
 .sec01 .partsSponsored .advisorArea { padding: 4rem 1rem; }
 .sec01 .partsSponsored .advisorArea .advisorBox .name {
  display: block;
  text-align: center;
  margin: auto;
 }
 /* .sec02
 ---------------------------------------*/
 .sec02 .circleArea {
  margin: -5rem -3rem 0;
  text-align: center;
  position: relative;
  height: 1130px;
 }
 .circleArea .circleGreen,
 .circleArea .circleBlue {
  width: 477px;
  height: 588px;
  margin: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
 }
 .circleArea .circleBlue {
  top: auto;
  bottom: 0;
 }
 .circleArea .circleGreen::before,
 .circleArea .circleBlue::before {height: 185px;top: 11px;}
 .circleArea .circleBg {
  height: 477px;
  padding: 7rem 0 0;
  margin-top: -9rem;
 }
 .circleArea .title {
  height: 90px;
  font-size: 2.3rem;
 }
 .circleArea .checkmark {
  width: calc(100% - 4rem);
  max-width: 400px;
  padding: 12px 2rem;
 }
 .circleArea .checkmark li {
  width: calc((100% - 10px) / 2);
  font-size: 1.4rem;
  background-size: 23px auto;
  background-position: left 6px top 50%;
  padding: 0.6rem 1rem;
  padding-left: 3.6rem;
  margin: 1.4rem 0 0;
 }
 /* .sec03
 ---------------------------------------*/
 #sec03::before { background-image: url(img/index/sec03_bg01_sp.png); }
 .sec03 div[class^="number"] h3 {
  background-size: auto 36px;
  background-position: left top;
 }
 .sec03 .tableArea { margin: 4rem auto; }
 .sec03 .tableArea p.sp {
  display: none;
  text-align: center;
 }
 @media screen and (max-width: 1076px) {
  .sec03 .tableArea p.sp { display: block; }  
 }  
 .tabArea { margin: 0 auto 8rem; }
 .sec03 .number02 { margin-top: 12rem; }
 .sec03 .number02::before {
  width: calc(64.8% + 2rem);
  height: 154px;
  left: -20px;
  top: -78px;
 }
 .sec03 .number03 { margin-top: 12rem; }
 .sec03 .number03::before {
  width: calc(64.8% + 2rem);
  height: 154px;
  left: auto;
  right: -20px;
  top: -78px;
 }
 .tabArea::after {
  content: "";
  width: calc(100% + 40px);
  height: 80%;
  bottom: auto;
  top: 50%;
 }
 .tabArea .tabBtnWrap { align-items: flex-end; }
 .tabArea .tabBtnWrap .tabBtn {
  width: calc((100% - 0.8rem)/2);
  padding: 1rem;
  font-size: 1.8rem;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #4C5864;
  color: #ffffff60;
 }
 .tabArea .tabBtnWrap .tabBtn.show {
  background-color: #48B156;
  color: #fff;
  height: 92px;
 }
 .tabArea .tabConWrap { display: block; }
 .tabCon.show { display: block; }
 .tabArea .tabConWrap .tabCon {
  width: 100%;
  padding: 2rem;
 }
 .tabArea .tabConWrap .tabCon .tabInner { padding:2.6rem; }
 .tabArea .tabConWrap .tabCon .tabTable { margin-top: 2rem; }
 .tabArea .tabConWrap .tabCon .tabTable th { font-size: 1.4rem; }
 .tabArea .tabConWrap .tabCon .tabTable td { font-size: 2rem; }
 .tabArea .tabConWrap .tabCon .tabTable tr:last-child td div { width: 42px; }
 .tabArea .tabConWrap .tabCon .tabTable tr:last-child td p { font-size: 1.8rem; }
 /* .sec04
 ---------------------------------------*/
 #sec04::before { background-image: url(img/index/sec04_bg01_sp.png); }
 #top .sec04 h2 { padding-top: 5rem; }
 .sec04 h2::after {
  width: 74px;
  height: 24px;
  top: 22px;
 }
 .sec04 .bgBox::after {
  width: 207px;
  height: 135px;
  right: -43px;
  top: -26px;
 }
 .sec04 .picWrap {
  display: block;
  padding: 0;
 }
 .sec04 .picWrap::before, .sec04 .picWrap::after { content: none; }
 .sec04 .picWrap .picClm {
  width: 90%;
  margin: 2rem auto 0;
 }
 .sec04 .answerBox { margin: 6rem 0 4rem; }
 .caseBoxWrap {
  display: block;
  margin: 2rem 0;
 }
 .caseBoxWrap .caseBox,
 .caseBoxWrap .caseBox:nth-child(2n) { margin-top: 4rem; }
 .caseBoxWrap .caseBox .caseBoxText { padding: 0.2rem 1.6rem; }
 .caseBoxWrap .caseBox dl dt {
  width: 84px;
  font-size: 1.4rem;
 }
 .caseBoxWrap .caseBox dl dd { width: calc(100% - 110px); }
 .caseBoxWrap .caseBox dl {
  margin: 3rem 0;
  margin-left: -1.6rem;
 }
 /* .sec05
 ---------------------------------------*/
 #sec05::before { background-image: url(img/index/sec05_bg01_sp.png); }
 .sec05 .numBoxWrap { display: block; }
 .sec05 .numBoxWrap .numBox {
  display: block;
  width: 100%;
  padding-top: 24px;
  margin: 3rem 0 0;
 }
 .sec05 .numBoxWrap .numBox:nth-child(1),
 .sec05 .numBoxWrap .numBox:nth-child(2) { margin-top: 3rem; }
 .sec05 .numBoxWrap .numBox::before {
  content: "";
  width: 65px;
  height: 46px;
 }
 .sec05 .numBoxWrap .numBox::after {
  width: 48px;
  height: 48px;
 }
 .sec05 .numBoxWrap .numBox .numBoxText { padding: 2rem 1.6rem; }
 .sec05 .numBoxWrap .numBox .numBoxText .title { font-size: 1.8rem; }
 .sec05 .numBoxWrap .numBox.oneClm { display: block; }
 .sec05 .numBoxWrap .numBox.oneClm .pic {
  width: 100%;
  border-radius: 10px 10px 0 0;
 }
 .sec05 .numBoxWrap .numBox.oneClm .pic img.pc { display: none; }
 .sec05 .numBoxWrap .numBox.oneClm .pic img.sp { display: inline; }
 .sec05 .numBoxWrap .numBox.oneClm .numBoxText {
  width: 100%;
  padding: 2rem 1.6rem;
  border-radius: 0 0 10px 10px;
 }
 /* .sec06
 ---------------------------------------*/
 #sec06::before { background-image: url(img/index/sec06_bg01_sp.png); }
 #top #sec06 h3:not([class]) .green { font-size: 2rem; }
 .partitionBoxWrap {
  display: block;
  border: none;
  padding: 0;  
 }
 .partitionBoxWrap .partitionBox {
  width: 100%;
  padding: 3rem 1.6rem 2rem;
  background: #E7EFF5;
  border-radius: 10px;
  margin: 2rem 0 0;
 }
 .partitionBoxWrap .partitionBox::after { content: none; }
 .partitionBoxWrap .partitionBox .title { font-size: 2rem; }
 .partitionBoxWrap .partitionBox .pic {margin: 0;}
 /* .sec07
 ---------------------------------------*/
 #sec07::before { background-image: url(img/index/sec07_bg01_sp.png); }
 #top .sec07 h2 { padding-top: 5rem; }
 .sec07 h2::after {
  width: 74px;
  height: 24px;
  top: 18px;
 }
 .sec07 .bgBox::after {
  width: 164px;
  height: 116px;
  right: -7px;
  top: -20px;
 }
 .sec07 .verticalTitleWrap { height: auto; }
 /* .sec08
 ---------------------------------------*/
 #sec08::before { background-image: url(img/index/sec08_bg01_sp.png); }
 #top .sec08 h2:not([class]) { padding-top: 5.4rem; }
 .sec08 .linkBoxWrap { display: block; }
 .sec08 .linkBoxWrap .linkBox,
 .sec08 .linkBoxWrap .linkBox.oneClm {
  width: 100%;
  padding: 1rem 2rem 1rem;
  margin: 3rem 0 0;
 }
 .sec08 .linkBoxWrap .linkBox:nth-child(1),
 .sec08 .linkBoxWrap .linkBox:nth-child(2) { margin-top: 3rem; }
 .sec08 .linkBoxWrap .linkBox::before {
  width: 70px;
  height: 68px;
 }
 .sec08 .linkBoxWrap .linkBox .title {
  font-size: 1.8rem;
  padding: 2rem 1rem;
  padding-left: 4.2rem;
 }
 /* .sec09
 ---------------------------------------*/
 .sec09 { background: url("img/index/sec09_bg01_sp.jpg") no-repeat center top / auto 189px; }
 #top .sec09 h2 {
  height: auto;
  padding: 3.2rem 0;
  font-size: 2.8rem;
 }
 #top .sec09 h2 .small { font-size:2rem; }
 .sec09 .partsSponsored .supervisorArea .bg { padding: 3rem 1.6rem 4rem; }
 .partsSponsored .supervisorArea .advisorWrap { padding: 0; }
 .partsSponsored .supervisorArea .advisorWrap .advisorBox { width: 118px; }
 .partsSponsored .supervisorArea .advisorWrap .advisorBox .pic {
  width: 100%;
  margin-bottom: -1rem;
 } 
 .partsSponsored .supervisorArea .title {
  padding: 2rem 0;
  font-size: 1.8rem;
  color: #2370DE;
 }
 .partsSponsored .supervisorArea .title .icon {
  font-size: 1.2rem;
  padding: 0.9rem 2rem;
 }
 .partsSponsored .supervisorArea .textArea {
  clear: both;
  margin: 2rem 0 0;
 }
 .partsSponsored .supervisorArea .btnCatch { margin: 2rem 0 4rem; }
 .partsSponsored .supervisorArea .btnCatch span {
  font-size: 1.8rem;
  background-size: auto 40px;
 }
 .partsSponsored .supervisorArea .btnCatch span::before {
  width: 40px;
  height: 100%;
  background-size: auto 40px;
 }
 .partsSponsored .supervisorArea .btn-internal {
  width: 84%;
  margin: 0 auto;
 }
}



