@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------------
button
----------------------------------------------------------*/
[class^="btnTypeA"]{
background: linear-gradient(#f46565, #d92e2e);
color: #fff;
font-weight: 900;
text-align: center;
margin: 0 auto;
display: block;
position: relative;
}
[class^="btnTypeA"]::before{
content: "";
width: 40px;
height: 40px;
background: #000;
border-radius: 100px;
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
}
[class^="btnTypeA"]::after{
content: "";
width: 14px;
height: 18px;
background: #ffd631;
clip-path: polygon(0 0, 0% 100%, 100% 50%);
position: absolute;
right: 36px;
top: 50%;
transform: translateY(-50%);
}
[class^="btnTypeA"] a{
display: block;
}
@media (min-width: 769px){
[class^="btnTypeA"]:hover{
background: linear-gradient(#ff9537, #d74207);
}
}
@media (max-width: 768px){
[class^="btnTypeA"]::before,
.btnTypeA02::before{
width: 2.8rem;
height: 2.8rem;
right: 2.0rem;
}
[class^="btnTypeA"]::after,
.btnTypeA02::after{
width: 1.0rem;
height: 1.1rem;
right: 2.8rem;
}
}

.btnTypeA01{
width: 470px;
border-radius: 100px;
border: 8px solid #000;
box-shadow: 0 8px 0 0 #000000;
}
.btnTypeA01 a{
font-size: 2.8rem;
padding: 20px 100px;
}
@media (max-width: 768px){
.btnTypeA01{
width: auto;
border: 0.5rem solid #000;
box-shadow: 0 0.5rem 0 0 #000000;
}
.btnTypeA01 a{
font-size: 2.2rem;
padding: 2.0rem 0;
}
}

.btnTypeA02{
width: 700px;
font-size: 2.8rem;
border: 4px solid #000;
border-radius: 20px;
box-shadow: 0 6px 0 0 #000000;
padding: 25px 0;
cursor: pointer;
}
@media (max-width: 768px){
.btnTypeA02{
width: 100%;
font-size: 1.8rem;
border: 0.5rem solid #000;
border-radius: 1.0rem;
box-shadow: 0 0.5rem 0 0 #000000;
padding: 1.5rem 0;
}
}

.btnTypeA03{
width: 100%;
border-radius: 100px;
border: 6px solid #000;
box-shadow: 0 6px 0 0 #000000;
}
.btnTypeA03::before{
display: none;
}
.btnTypeA03::after{
background: #000;
right: 20px;
}
.btnTypeA03 a{
font-size: 2.0rem;
padding: 20px 0;
}
@media (max-width: 768px){
.btnTypeA03{
border: 0.3rem solid #000;
box-shadow: 0 0.3rem 0 0 #000000;
}
.btnTypeA03::after{
right: 1.0rem;
}
.btnTypeA03 a{
font-size: 1.6rem;
padding: 1.2rem 0;
}
}

/*----------------------------------------------------------
mainVisual
----------------------------------------------------------*/
#top .mainVisual{
overflow: hidden;
position: relative;
}
#top .mainVisual::before{
content: "";
width: 100%;
height: 120px;
background: url("../images/top/mv_bg_03.webp") no-repeat top center / 100% 100%;
position: absolute;
left: 0;
bottom: -1px;
z-index: 2;
}
#top .mainVisual .bg{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: absolute;
left: 50%;
top: 50%;
z-index: -1;
transform: translate(-50%,-50%);
}
#top .mainVisual .bg.pattern01{
background: #ccc;
}
#top .mainVisual .bg.pattern02{
background: #ccc;
}
#top .mainVisual .bg video{
width: 100%;
height: 100%;
border: none;
object-fit: cover;
object-position: center;
}
#top .mainVisual .inner{
width: 1000px;
margin: 0 auto;
padding: 60px 0 120px;
}
#top .mainVisual .title{
text-align: center;
margin: 0 0 20px;
}
#top .mainVisual .txt01{
text-align: center;
margin: 0 0 30px;
}
#top .mainVisual .txt01 span{
background: #000;
color: #ffd631;
font-size: 2.0rem;
font-weight: 900;
border-radius: 100px;
padding: 10px 40px;
display: inline-block;
}
#top .mainVisual .txt02{
color: #fff;
font-size: 2.0rem;
font-weight: 900;
text-align: center;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
letter-spacing: 2px;
margin: 0 0 60px;
}
#top .mainVisual .list{
width: 400px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: space-between;
}
#top .mainVisual .list > li{
width: 120px;
height: 120px;
color: #fff;
font-size: 2.0rem;
font-weight: 900;
text-align: center;
line-height: 1.4;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
}
#top .mainVisual .list > li::before{
content: "";
width: 100%;
height: 150px;
background: url("../images/top/mv_bg_02.webp") no-repeat bottom center / 100% 100%;
position: absolute;
left: 0;
bottom: 0;
z-index: -1;
}
@media (max-width: 768px){
#top .mainVisual::before{
height: 5.0rem;
}
#top .mainVisual .bg video{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
#top .mainVisual .inner{
width: auto;
margin: 0 2.0rem;
padding: 3.5rem 0 7.5rem;
}
#top .mainVisual .title{
margin: 0 0 2.0rem;
}
#top .mainVisual .title img{
width: 100%;
height: auto;
}
#top .mainVisual .txt01{
margin: 0 0 3.0rem;
}
#top .mainVisual .txt01 span{
font-size: 1.6rem;
padding: 1.0rem 2.5rem;
}
#top .mainVisual .txt02{
line-height: 1.8;
margin: 0 0 5.0rem;
}
#top .mainVisual .list{
width: 100%;
margin: 0 auto 2.0rem;
}
#top .mainVisual .list > li{
width: 10.5rem;
height: 10.5rem;
font-size: 2.2rem;
}
#top .mainVisual .list > li::before{
height: 13.0rem;
}
}

[id^="step"] .mainVisual .inner{
width: 1000px;
color: #fff;
margin: 0 auto;
padding: 80px 0 100px;
}
[id^="step"] .mainVisual .list{
width: 180px;
margin: 0 auto 40px;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
z-index: 1;
}
[id^="step"] .mainVisual .list::before{
content: "";
width: 98%;
height: 3px;
background: #000;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
z-index: -1;
}
[id^="step"] .mainVisual .list > li{
width: 40px;
height: 40px;
background: #000;
font-size: 1.4rem;
font-weight: 700;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
[id^="step"] .mainVisual .list > li.current{
width: 60px;
height: 60px;
background: #58b625;
font-size: 1.8rem;
}
[id^="step"] .mainVisual .title01{
font-size: 4.0rem;
font-weight: 900;
text-align: center;
line-height: 1.8;
}
[id^="step"] .mainVisual .title02{
font-size: 4.0rem;
font-weight: 900;
text-align: center;
line-height: 1.4;
}
[id^="step"] .mainVisual .text01{
font-size: 2.8rem;
font-weight: 900;
text-align: center;
line-height: 1.4;
margin: 0 0 50px;
}
@media (max-width: 768px){
[id^="step"] .mainVisual .inner{
width: auto;
margin: 0 2.0rem;
padding: 4.0rem 0 6.0rem;
}
[id^="step"] .mainVisual .list{
width: 12.0rem;
margin: 0 auto 2.0rem;
}
[id^="step"] .mainVisual .list::before{
height: 0.2rem;
}
[id^="step"] .mainVisual .list > li{
width: 3.0rem;
height: 3.0rem;
font-size: 1.2rem;
}
[id^="step"] .mainVisual .list > li.current{
width: 4.0rem;
height: 4.0rem;
}
[id^="step"] .mainVisual .title01{
font-size: 2.2rem;
}
[id^="step"] .mainVisual .title02{
font-size: 2.2rem;
line-height: 1.6;
}
[id^="step"] .mainVisual .text01{
font-size: 1.6rem;
line-height: 1.6;
margin: 0 0 2.5rem;
}
}

#step01 .mainVisual{
background: url("../images/step/step01_mv_bg_01.webp"), #ccc;
background-repeat: no-repeat, no-repeat;
background-position: 50% 50%, 50% 50%;
background-size: cover, cover;
}
#step02 .mainVisual{
background: url("../images/step/step02_mv_bg_01.webp"), #ccc;
background-repeat: no-repeat, no-repeat;
background-position: 50% 50%, 50% 50%;
background-size: cover, cover;
}
#step03 .mainVisual{
background: url("../images/step/step03_mv_bg_01.webp"), #ccc;
background-repeat: no-repeat, no-repeat;
background-position: 50% 50%, 50% 50%;
background-size: cover, cover;
}

/*----------------------------------------------------------
section
----------------------------------------------------------*/
[class^="section"].bg01{
background: #ffd631;
}
[class^="section"]{
position: relative;
z-index: 1;
}
[class^="section"].bg02::before{
content: "";
width: 60px;
height: 100%;
background: url("../images/common_bg_01.webp") repeat-y top center / 100% auto;
position: absolute;
left: 40px;
top: 0;
z-index: -2;
}
[class^="section"].bg02::after{
content: "";
width: 60px;
height: 100%;
background: url("../images/common_bg_01.webp") repeat-y top center / 100% auto;
position: absolute;
right: 40px;
top: 0;
z-index: -2;
}
[class^="section"] .secInner01{
width: 1000px;
margin: 0 auto;
position: relative;
}
[class^="section"] .secInner02{
width: 1000px;
margin: 0 auto;
position: relative;
}
@media (max-width: 768px){
[class^="section"].bg02::before{
display: none;
}
[class^="section"].bg02::after{
width: 4.3rem;
right: 0.5rem;
}
[class^="section"] .secInner01{
width: auto;
margin: 0 2.0rem;
}
[class^="section"] .secInner02{
width: 100%;
}
}

/* -- sectionA01 -- */
.sectionA01 .secInner01{
padding: 40px 0 80px;
}
.sectionA01 .secInner01::after{
content: "";
width: 100px;
height: 55px;
background: url("../images/top/secA01_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
right: 0;
bottom: 0;
}
.sectionA01 .title{
text-align: center;
margin: 0 0 70px;
}
.sectionA01 .title span{
width: 500px;
background: #58b625;
color: #fff;
font-size: 2.2rem;
font-weight: 700;
text-align: center;
border-radius: 100px;
padding: 40px 0;
display: inline-block;
position: relative;
}
.sectionA01 .title span::before{
content: "";
width: 90px;
height: 30px;
background: #58b625;
clip-path: polygon(0 0, 100% 100%, 65% 0);
position: absolute;
right: 130px;
bottom: -29px;
}
.sectionA01 .title span::after{
content: "";
width: 190px;
height: 224px;
background: url("../images/top/secA01_img_01.webp") no-repeat top center / 100% auto;
position: absolute;
right: -95px;
bottom: -98px;
z-index: 2;
}
.sectionA01 .title span strong{
color: #ffd631;
font-size: 3.2rem;
font-weight: 900;
}
.sectionA01 .listBlock{
background: #f3f3f3;
text-align: center;
border-radius: 40px;
position: relative;
}
.sectionA01 .listBlock .ttl{
position: absolute;
left: 80px;
top: -32px;
margin: 0 auto;
}
.sectionA01 .listBlock .ttl span{
font-size: 2.4rem;
font-weight: 900;
padding: 8px 40px 10px;
display: inline-block;
position: relative;
z-index: 1;
}
.sectionA01 .listBlock .ttl span::before{
content: "";
width: 100%;
height: 100%;
background: #ffd631;
border-radius: 100px;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}
.sectionA01 .listBlock .ttl span b{
font-size: 3.2rem;
}
.sectionA01 .listBlock .list{
text-align: left;
padding: 65px 40px 35px 90px;
display: flex;
flex-wrap: wrap;
}
.sectionA01 .listBlock .list > li{
width: 33.3%;
font-size: 2.0rem;
font-weight: 700;
margin: 0 0 20px;
padding: 0 0 0 25px;
position: relative;
}
.sectionA01 .listBlock .list > li::before{
content: "";
width: 15px;
height: 15px;
background: #ffd631;
border-radius: 100px;
position: absolute;
left: 0;
top: 9px;
}
.sectionA01 .listBlock .list > li b{
color: #f46565;
font-weight: 900;
}
@media (max-width: 768px){
.sectionA01 .secInner01{
padding: 4.0rem 0 6.0rem;
}
.sectionA01 .secInner01::after{
width: 7.4rem;
height: 4.2rem;
right: -1.0rem;
}
.sectionA01 .title{
margin: 0 0 7.5rem;
}
.sectionA01 .title span{
width: 100%;
font-size: 2.0rem;
padding: 3.0rem;
display: block;
}
.sectionA01 .title span::before{
width: 4.5rem;
height: 1.5rem;
right: 11.0rem;
bottom: -1.4rem;
}
.sectionA01 .title span::after{
width: 12.8rem;
height: 15.1rem;
right: -1.0rem;
bottom: -12.3rem;
}
.sectionA01 .title span strong{
font-size: 2.4rem;
}
.sectionA01 .listBlock{
border-radius: 2.0rem;
}
.sectionA01 .listBlock .ttl{
position: absolute;
left: 0;
top: -2.8rem;
}
.sectionA01 .listBlock .ttl span{
font-size: 1.8rem;
padding: 1.2rem 4.0rem 1.5rem 0;
}
.sectionA01 .listBlock .ttl span::before{
width: calc(100% + 2.0rem);
border-radius: 0 100px 100px 0;
left: -2.0rem;
}
.sectionA01 .listBlock .ttl span b{
font-size: 2.5rem;
}
.sectionA01 .listBlock .list{
padding: 6.0rem 0 3.0rem;
display: inline-block;
}
.sectionA01 .listBlock .list > li{
width: auto;
font-size: 1.8rem;
margin: 0 0 1.5rem;
padding: 0 0 0 2.5rem;
}
.sectionA01 .listBlock .list > li:last-child{
margin-bottom: 0;
}
.sectionA01 .listBlock .list > li::before{
width: 1.5rem;
height: 1.5rem;
top: 0.8rem;
}
}

/* -- sectionA02 -- */
.sectionA02 .secInner01{
padding: 80px 0;
}
.sectionA02 .title{
color: #58b625;
font-size: 3.2rem;
font-weight: 700;
text-align: center;
-webkit-text-stroke: 8px #fff;
text-stroke: 8px #fff;
paint-order: stroke;
margin: 0 0 60px;
}
.sectionA02 .title strong{
font-size: 4.0rem;
margin: 0 5px 0 0;
display: inline-block;
}
.sectionA02 .block{
display: flex;
}
.sectionA02 .block .ttl{
width: 400px;
background: #58b625;
color: #fff;
font-size: 2.4rem;
font-weight: 900;
text-align: center;
border-radius: 40px;
margin: 76px 20px 0 0;
padding: 20px 0;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.sectionA02 .block .ttl::before{
content: "";
width: 200px;
height: 76px;
background: url("../images/top/secA03_ico_01.webp") no-repeat bottom center / 100% auto;
position: absolute;
left: 50%;
top: -76px;
transform: translateX(-50%);
}
.sectionA02 .block .blockInner{
width: 580px;
background: #fff;
text-align: center;
border-radius: 40px;
padding: 30px;
}
.sectionA02 .block .blockInner .text{
background: #f3f3f3;
font-size: 2.0rem;
font-weight: 700;
border-radius: 100px;
margin: 0 0 30px;
padding: 10px 0;
}
.sectionA02 .block .blockInner .text strong{
color: #f46565;
font-weight: 900;
}
.sectionA02 .block .blockInner .image{
width: 420px;
height: auto;
display: inline-block;
}
@media (max-width: 768px){
.sectionA02 .secInner01{
padding: 5.0rem 0;
}
.sectionA02 .title{
font-size: 2.0rem;
-webkit-text-stroke: 0.6rem #fff;
text-stroke: 0.6rem #fff;
margin: 0 0 10.0rem;
}
.sectionA02 .title strong{
font-size: 2.8rem;
margin: 0 0.5rem 0 0;
}
.sectionA02 .block{
display: block;
}
.sectionA02 .block .ttl{
width: 100%;
font-size: 2.2rem;
border-radius: 2.0rem 2.0rem 0 0;
margin: 7.0rem 0 0;
padding: 2.0rem 0;
display: block;
}
.sectionA02 .block .ttl::before{
width: 18.7rem;
height: 7.0rem;
top: -7.0rem;
}
.sectionA02 .block .blockInner{
width: 100%;
border-radius: 0 0 2.0rem 2.0rem;
padding: 2.0rem;
}
.sectionA02 .block .blockInner .text{
font-size: 1.7rem;
border-radius: 1.0rem;
margin: 0 0 2.0rem;
padding: 1.2rem 0;
}
.sectionA02 .block .blockInner .image{
width: calc(100% - 5.0rem);
}
}

/* -- sectionA03 -- */
.sectionA03{
background: url("../images/top/secA03_bg_02.webp") repeat top center / 10px 10px;
}
.sectionA03::before{
content: "";
width: 50%;
height: 80px;
background: #d3f9bd;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
position: absolute;
left: 0;
bottom: 0;
}
.sectionA03::after{
content: "";
width: 50%;
height: 80px;
background: #d3f9bd;
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
position: absolute;
right: 0;
bottom: 0;
}
.sectionA03 .secInner01{
padding: 60px 0 120px;
}
.sectionA03 .title{
background: #fff;
}
.sectionA03 .title span{
width: 1000px;
color: #444;
font-size: 3.2rem;
font-weight: 900;
text-align: center;
margin: 0 auto;
padding: 50px 0;
display: block;
position: relative;
z-index: 1;
}
.sectionA03 .title span::before{
content: "";
width: 40px;
height: 72px;
background: url("../images/top/secA03_bg_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: 0;
top: 60px;
z-index: -1;
transform: rotate(-25deg);
}
.sectionA03 .title span::after{
content: "";
width: 64px;
height: 116px;
background: url("../images/top/secA03_bg_01.webp") no-repeat top center / 100% auto;
position: absolute;
right: 0;
top: 25px;
z-index: -1;
transform: rotate(20deg);
}
.sectionA03 .title span b{
font-size: 4.0rem;
}
.sectionA03 .block{
margin: 0 0 60px;
display: flex;
align-items: center;
}
.sectionA03 .block .text01{
margin: 0 35px 0 0;
}
.sectionA03 .block .text01 span{
font-size: 2.4rem;
font-weight: 700;
letter-spacing: 2px;
display: block;
}
.sectionA03 .block .text01 span + span{
margin-top: 15px;
}
.sectionA03 .block .text01 span b{
background: #58b625;
color: #fff;
font-weight: 900;
border-radius: 20px;
margin: 0 10px;
padding: 10px 20px;
display: inline-block;
}
.sectionA03 .block .text02{
text-align: center;
position: relative;
}
.sectionA03 .block .text02::before{
content: "";
width: 185px;
height: 218px;
background: url("../images/top/secA03_img_01.webp") no-repeat top center / 100% auto;
position: absolute;
right: -204px;
bottom: -70px;
transform: scale(-1, 1);
}
.sectionA03 .block .text02 span{
background: linear-gradient(transparent 75%, #ffd631 75%);
color: #444;
font-size: 4.8rem;
font-weight: 900;
}
@media (max-width: 768px){
.sectionA03{
background: url("../images/top/secA03_bg_02.webp") repeat top center / 0.8rem 0.8rem;
}
.sectionA03::before{
height: 4.5rem;
}
.sectionA03::after{
height: 4.5rem;
}
.sectionA03 .secInner01{
padding: 3.0rem 0 6.0rem;
}
.sectionA03 .title span{
width: 100%;
font-size: 2.0rem;
letter-spacing: 2px;
padding: 4.0rem 0;
}
.sectionA03 .title span::before{
width: 2.8rem;
height: 72px;
left: 2.0rem;
top: 10.5rem;
}
.sectionA03 .title span::after{
width: 6.5rem;
height: 11.6rem;
right: 2.7rem;
top: 2.2rem;
}
.sectionA03 .title span b{
font-size: 2.6rem;
}
.sectionA03 .block{
text-align: center;
margin: 0 0 4.0rem;
display: block;
}
.sectionA03 .block .text01{
text-align: left;
margin: 0 0 2.5rem;
display: inline-block;
}
.sectionA03 .block .text01 span{
font-size: 1.8rem;
letter-spacing: 0;
}
.sectionA03 .block .text01 span + span{
margin-top: 1.5rem;
}
.sectionA03 .block .text01 span b{
border-radius: 1.5rem;
margin: 0 0.5rem;
padding: 1.0rem 1.5rem;
}
.sectionA03 .block .text02{
padding: 0 0 0 12.5rem;
display: inline-block;
}
.sectionA03 .block .text02::before{
width: 11.5rem;
height: 13.5rem;
left: 0;
right: auto;
bottom: -1.8rem;
transform: scale(1, 1);
}
.sectionA03 .block .text02 span{
font-size: 3.5rem;
}
}

/* -- sectionA04 -- */
.sectionA04{
background: #d3f9bd;
}
.sectionA04 .secInner01{
padding: 80px 0;
}
.sectionA04 .block{
margin: 0 0 60px;
}
.sectionA04 .block .box + .box{
margin-top: 60px;
}
.sectionA04 .block .box .fukidashi{
width: 300px;
background: #3ecab8;
color: #fff;
font-size: 2.0rem;
font-weight: 900;
text-align: center;
border-radius: 100px;
margin: 0 auto 30px;
padding: 10px 0;
position: relative;
}
.sectionA04 .block .box .fukidashi::before{
content: "";
width: 60px;
height: 15px;
background: #3ecab8;
clip-path: polygon(50% 0%, 0% 100%, 100% 0);
position: absolute;
left: 50px;
bottom: -14px;
}
.sectionA04 .block .box:nth-child(even) .fukidashi::before{
content: "";
width: 60px;
height: 15px;
background: #3ecab8;
clip-path: polygon(0 0, 100% 100%, 50% 0);
position: absolute;
left: auto;
right: 50px;
bottom: -14px;
}
.sectionA04 .block .box .title{
width: 760px;
min-height: 120px;
background: url("../images/top/secA04_bg_01.webp") no-repeat top center / cover;
border-radius: 40px;
margin: 0 auto 20px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.sectionA04 .block .box .title span{
color: #fff;
font-size: 2.8rem;
font-weight: 900;
display: block;
position: relative;
}
.sectionA04 .block .box:nth-child(1) .title::before{
content: "";
width: 170px;
height: 198px;
background: url("../images/top/secA04_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionA04 .block .box:nth-child(2) .title::before{
content: "";
width: 155px;
height: 198px;
background: url("../images/top/secA04_ico_02.webp") no-repeat top center / 100% auto;
position: absolute;
right: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionA04 .block .box:nth-child(3) .title::before{
content: "";
width: 170px;
height: 198px;
background: url("../images/top/secA04_ico_03.webp") no-repeat top center / 100% auto;
position: absolute;
left: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionA04 .block .box .title .icon{
margin: 0 15px;
display: inline-block;
}
.sectionA04 .block .box .textBlock{
background: #fff;
border-radius: 40px;
padding: 40px 60px;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.sectionA04 .block .box .textBlock .ttl{
width: 100%;
font-size: 2.6rem;
font-weight: 900;
text-align: center;
margin: 0 0 20px;
order: 1;
}
.sectionA04 .block .box .textBlock .ttl strong{
background: linear-gradient(transparent 75%, #ffd631 75%);
color: #58b625;
}
.sectionA04 .block .box .textBlock .text{
width: 550px;
font-size: 1.6rem;
line-height: 1.8;
margin: 0 30px 0 0;
order: 2;
}
.sectionA04 .block .box:nth-child(even) .textBlock .text{
margin: 0 0 0 30px;
order: 3;
}
.sectionA04 .block .box .textBlock .imageBlock{
width: 300px;
order: 3;
}
.sectionA04 .block .box:nth-child(even) .textBlock .imageBlock{
order: 2;
}
.sectionA04 .block .box .textBlock .imageBlock img{
width: 100%;
height: auto;
}
.sectionA04 .block .box .textBlock .notes{
width: 100%;
text-align: center;
margin: 10px 0 0;
order: 4;
}
.sectionA04 .block .box .textBlock .notes span{
color: #717171;
font-size: 1.2rem;
padding: 0 0 0 20px;
display: inline-block;
position: relative;
}
.sectionA04 .block .box .textBlock .notes span::before{
content: "※";
position: absolute;
left: 0;
}
@media (max-width: 768px){
.sectionA04 .secInner01{
padding: 4.0rem 0 5.0rem;
}
.sectionA04 .block{
margin: 0 0 3.0rem;
}
.sectionA04 .block .box + .box{
margin-top: 4.0rem;
}
.sectionA04 .block .box .fukidashi{
width: 25.0rem;
font-size: 1.8rem;
margin: 0 auto 1.5rem;
padding: 1.2rem 0;
}
.sectionA04 .block .box .fukidashi::before{
width: 3.5rem;
height: 1.0rem;
clip-path: polygon(0 0, 100% 100%, 50% 0);
left: auto;
right: 2.0rem;
bottom: -0.9rem;
}
.sectionA04 .block .box:nth-child(even) .fukidashi::before{
width: 3.5rem;
height: 1.0rem;
clip-path: polygon(50% 0%, 0% 100%, 100% 0);
left: 2.0rem;
right: auto;
bottom: -0.9rem;
}
.sectionA04 .block .box .title{
width: calc(100% - 7.0rem);
min-height: 11.0rem;
border-radius: 2.0rem;
margin: 0 7.0rem 1.0rem 0;
}
.sectionA04 .block .box:nth-child(even) .title{
margin: 0 0 1.0rem 7.0rem;
}
.sectionA04 .block .box .title span{
font-size: 2.2rem;
text-align: center;
}
.sectionA04 .block .box:nth-child(1) .title span{
font-size: 1.8rem;
line-height: 1.4;
}
.sectionA04 .block .box:nth-child(1) .title::before{
width: 10.1rem;
height: 11.7rem;
left: auto;
right: -7.5rem;
bottom: -2.7rem;
transform: scale(1,1);
}
.sectionA04 .block .box:nth-child(2) .title::before{
width: 8.9rem;
height: 11.3rem;
left: -6.5rem;
right: auto;
bottom: -2.5rem;
transform: scale(1,1);
}
.sectionA04 .block .box:nth-child(3) .title::before{
width: 10.1rem;
height: 11.7rem;
left: auto;
right: -7.5rem;
bottom: -2.7rem;
transform: scale(1,1);
}
.sectionA04 .block .box .title .icon{
width: 1.5rem;
height: auto;
margin: 0;
}
.sectionA04 .block .box .textBlock{
border-radius: 2.0rem;
padding: 3.0rem 2.0rem;
display: block;
}
.sectionA04 .block .box .textBlock .ttl{
font-size: 2.0rem;
text-align: left;
margin: 0 0 2.0rem;
}
.sectionA04 .block .box .textBlock .text,
.sectionA04 .block .box:nth-child(even) .textBlock .text{
width: 100%;
font-size: 1.5rem;
line-height: 2.0;
margin: 0 0 2.5rem;
}
.sectionA04 .block .box .textBlock .imageBlock{
width: 100%;
}
.sectionA04 .block .box .textBlock .notes{
text-align: left;
margin: 1.0rem 0 0;
}
.sectionA04 .block .box .textBlock .notes span{
padding: 0 0 0 1.5rem;
}
}

/* -- sectionA05 -- */
.sectionA05 .secInner01{
padding: 80px 0 120px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}
.sectionA05 .title{
background: #fff;
text-align: center;
}
.sectionA05 .title span{
color: #444;
font-size: 4.0rem;
font-weight: 900;
padding: 40px 110px;
display: inline-block;
position: relative;
}
.sectionA05 .title span::before{
content: "";
width: 82px;
height: 32px;
background: url("../images/top/secA05_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.sectionA05 .title span::after{
content: "";
width: 82px;
height: 32px;
background: url("../images/top/secA05_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%) scale(-1, 1);
}
.sectionA05 .image{
width: 400px;
margin: 0 40px 60px 0;
display: block;
}
.sectionA05 .block{
width: 560px;
margin: 0 0 60px;
}
.sectionA05 .block .box{
width: 100%;
min-height: 130px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: stretch;
position: relative;
}
.sectionA05 .block .box + .box{
margin-top: 10px;
}
.sectionA05 .block .box::before{
content: "";
width: 100px;
height: 20px;
background: #ffd631;
clip-path: polygon(0 0, 50% 100%, 100% 0);
position: absolute;
left: 55%;
bottom: -30px;
transform: translateX(-50%);
z-index: 2;
}
.sectionA05 .block .box::after{
content: "";
width: 100px;
height: 20px;
background: #fff;
clip-path: polygon(0 0, 50% 100%, 100% 0);
position: absolute;
left: 55%;
bottom: -19px;
transform: translateX(-50%);
z-index: 2;
}
.sectionA05 .block .box:last-child::before,
.sectionA05 .block .box:last-child::after{
display: none;
}
.sectionA05 .block .box .num{
width: 100px;
background: #000;
color: #ffd631;
font-size: 4.0rem;
font-weight: 900;
text-align: center;
border-radius: 20px 0 0 20px;
display: flex;
align-items: center;
justify-content: center;
}
.sectionA05 .block .box .textBlock{
width: 450px;
background: #fff;
padding: 15px 0 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0 20px 20px 0;
}
.sectionA05 .block .box:nth-child(1) .textBlock{
padding: 0;
}
.sectionA05 .block .box .textBlock .text{
font-size: 2.0rem;
font-weight: 700;
text-align: center;
}
.sectionA05 .block .box .textBlock .text strong{
color: #f46565;
}
.sectionA05 .block .box .textBlock .text .notes{
font-size: 1.6rem;
font-weight: 500;
margin: 5px 0 0;
display: block;
}
@media (max-width: 768px){
.sectionA05 .secInner01{
padding: 3.0rem 0 6.0rem;
display: block;
}
.sectionA05 .title span{
font-size: 3.0rem;
padding: 2.0rem 6.0rem;
}
.sectionA05 .title span::before,
.sectionA05 .title span::after{
width: 4.1rem;
height: 1.6rem;
}
.sectionA05 .image{
width: 100%;
margin: 0 0 2.5rem;
}
.sectionA05 .block{
width: 100%;
margin: 0 0 3.0rem;
}
.sectionA05 .block .box{
width: 100%;
min-height: 10.0rem;
}
.sectionA05 .block .box + .box{
margin-top: 1.0rem;
}
.sectionA05 .block .box::before{
width: 7.0rem;
height: 1.0rem;
bottom: -2.0rem;
}
.sectionA05 .block .box::after{
width: 7.0rem;
height: 1.0rem;
bottom: -0.9rem;
}
.sectionA05 .block .box .num{
width: 4.0rem;
font-size: 2.8rem;
border-radius: 1.0rem 0 0 1.0rem;
}
.sectionA05 .block .box .textBlock{
width: calc(100% - 4.0rem);
padding: 1.0rem 0 0;
border-radius: 0 1.0rem 1.0rem 0;
}
.sectionA05 .block .box .textBlock .text{
font-size: 1.7rem;
}
.sectionA05 .block .box .textBlock .text .notes{
font-size: 1.3rem;
margin: 0;
}
}

/* -- sectionA06 -- */
.sectionA06{
background: #cbf2ed;
}
.sectionA06::before{
content: "";
width: 100%;
height: 40px;
background: url("../images/top/secA06_bg_01.webp") repeat-x top center / auto 100%;
position: absolute;
left: 0;
top: -39px;
z-index: 2;
}
.sectionA06 .secInner02{
padding: 80px 0;
}
.sectionA06 .title{
width: 600px;
background: #3ecab8;
color: #fff;
font-size: 3.2rem;
font-weight: 900;
text-align: center;
border-radius: 20px;
margin: 0 auto 60px;
padding: 15px 0;
position: relative;
}
.sectionA06 .title::before{
content: "";
width: 60px;
height: 20px;
background: #3ecab8;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
left: 50%;
bottom: -19px;
transform: translateX(-50%);
}
.sectionA06 .block{
margin: 0 0 60px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.sectionA06 .block .box{
width: 490px;
background: #f3f3f3;
border-radius: 40px;
margin: 0 20px 20px 0;
overflow: hidden;
}
@media (min-width: 769px){
.sectionA06 .block .box:nth-child(even){
margin-right: 0;
}
}
.sectionA06 .block .box:last-child{
margin-bottom: 0;
}
.sectionA06 .block .box .nameBlock{
background: #fff;
padding: 30px 40px 20px;
display: flex;
align-items: center;
}
.sectionA06 .block .box .nameBlock .image{
border: 5px solid #000;
border-radius: 50%;
margin: 0 20px 0 0;
}
.sectionA06 .block .box .nameBlock .inner .name{
font-size: 2.4rem;
font-weight: 900;
margin: 0 0 5px;
}
.sectionA06 .block .box .nameBlock .inner .name span{
font-size: 1.8rem;
}
.sectionA06 .block .box .nameBlock .inner .job span{
font-size: 1.8rem;
font-weight: 900;
}
.sectionA06 .block .box .nameBlock .inner .job span + span{
padding: 0 0 0 30px;
position: relative;
}
.sectionA06 .block .box .nameBlock .inner .job span + span::before{
content: "";
width: 10px;
height: 14px;
clip-path: polygon(0 100%, 0 0, 100% 50%);
position: absolute;
left: 11px;
top: 7px;
}
.sectionA06 .block .box .text{
font-size: 1.4rem;
line-height: 1.8;
padding: 20px 40px;
}
.sectionA06 .block .box:nth-child(1) .nameBlock .image{
border-color: #a82121;
}
.sectionA06 .block .box:nth-child(2) .nameBlock .image{
border-color: #f79a22;
}
.sectionA06 .block .box:nth-child(3) .nameBlock .image{
border-color: #0b6c2a;
}
.sectionA06 .block .box:nth-child(4) .nameBlock .image{
border-color: #04365a;
}
.sectionA06 .block .box:nth-child(5) .nameBlock .image{
border-color: #4d1982;
}
.sectionA06 .block .box:nth-child(1) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(1) .text b{
color: #db6868;
}
.sectionA06 .block .box:nth-child(2) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(2) .text b{
color: #f79a22;
}
.sectionA06 .block .box:nth-child(3) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(3) .text b{
color: #1a9843;
}
.sectionA06 .block .box:nth-child(4) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(4) .text b{
color: #1a6498;
}
.sectionA06 .block .box:nth-child(5) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(5) .text b{
color: #8551ba;
}
.sectionA06 .block .box:nth-child(1) .nameBlock .inner .job span + span::before{
background: #db6868;
}
.sectionA06 .block .box:nth-child(2) .nameBlock .inner .job span + span::before{
background: #f79a22;
}
.sectionA06 .block .box:nth-child(3) .nameBlock .inner .job span + span::before{
background: #1a9843;
}
.sectionA06 .block .box:nth-child(4) .nameBlock .inner .job span + span::before{
background: #1a6498;
}
.sectionA06 .block .box:nth-child(5) .nameBlock .inner .job span + span::before{
background: #8551ba;
}
@media (max-width: 768px){
.sectionA06::before{
content: "";
width: 100%;
height: 2.8rem;
background: url("../images/top/secA06_bg_01.webp") repeat-x top center / 100% 100%;
top: -2.7rem;
}
.sectionA06 .secInner02{
padding: 5.0rem 0;
}
.sectionA06 .title{
width: auto;
font-size: 2.4rem;
border-radius: 1.0rem;
margin: 0 2.0rem 3.0rem;
padding: 1.5rem 0;
}
.sectionA06 .title::before{
width: 2.0rem;
height: 1.8rem;
bottom: -1.7rem;
}
.sectionA06 .btnTypeA01{
margin: 0 2.0rem;
}
.sectionA06 .block{
margin: 0 0 3.0rem;
display: block;
}
.sectionA06 .block .box{
width: auto;
border-radius: 0 3.0rem 3.0rem 0;
margin: 0 2.0rem 2.0rem 0;
}
.sectionA06 .block .box:nth-child(even){
border-radius: 3.0rem 0 0 3.0rem;
margin: 0 0 2.0rem 2.0rem;
}
.sectionA06 .block .box .nameBlock{
padding: 2.0rem;
}
.sectionA06 .block .box .nameBlock .image{
width: 5.5rem;
height: auto;
border: 0.3rem solid #000;
margin: 0 2.0rem 0 0;
}
.sectionA06 .block .box:nth-child(even) .nameBlock .image{
margin: 0 0 0 2.0rem;
transform: scale(-1, 1);
order: 2;
}
.sectionA06 .block .box .nameBlock .inner{
width: calc(100% - 6.5rem);
}
.sectionA06 .block .box .nameBlock .inner .name{
font-size: 1.8rem;
margin: 0;
}
.sectionA06 .block .box:nth-child(even) .nameBlock .inner .name,
.sectionA06 .block .box:nth-child(even) .nameBlock .inner .job{
text-align: right
}
.sectionA06 .block .box .nameBlock .inner .name span{
font-size: 1.4rem;
}
.sectionA06 .block .box .nameBlock .inner .job span{
font-size: 1.4rem;
}
.sectionA06 .block .box .nameBlock .inner .job span + span{
padding: 0 0 0 2.0rem;
}
.sectionA06 .block .box .nameBlock .inner .job span + span::before{
width: 0.8rem;
height: 1.0rem;
left: 0.8rem;
top: 0.6rem;
}
.sectionA06 .block .box .text{
padding: 2.0rem;
}
}

/* -- sectionA07 -- */
.sectionA07 .secInner01{
padding: 80px 0;
}
.sectionA07 .profileBlock{
width: 700px;
background: #fff;
text-align: center;
border: 6px solid #000;
border-radius: 40px;
box-shadow: 6px 6px 0 4px #000;
margin: 0 auto 60px;
padding: 50px 40px 30px;
}
.sectionA07 .profileBlock .name{
font-size: 1.8rem;
font-weight: 900;
text-align: left;
margin: 0 0 40px;
padding: 0 0 0 120px;
display: inline-block;
position: relative;
}
.sectionA07 .profileBlock .name .image{
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.sectionA07 .profileBlock .text{
font-size: 1.4rem;
text-align: left;
}
.sectionA07 .title{
width: 600px;
background: #58b625;
text-align: center;
border-radius: 20px;
margin: 0 auto 60px;
padding: 20px 0;
position: relative;
}
.sectionA07 .title::before{
content: "";
width: 60px;
height: 20px;
background: #58b625;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
left: 50%;
bottom: -19px;
transform: translateX(-50%);
}
.sectionA07 .block{
margin: 0 0 60px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.sectionA07 .block .box{
width: 460px;
margin: 0 0 40px;
}
.sectionA07 .block .box:last-child{
width: 100%;
}
.sectionA07 .block .box .ttl{
margin: 0 0 40px;
padding: 0 0 0 20px;
position: relative;
}
.sectionA07 .block .box .ttl::before{
content: "";
width: 100%;
height: 4px;
background: #000;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
z-index: -1;
}
.sectionA07 .block .box .ttl span{
background: #ffd631;
font-size: 2.2rem;
font-weight: 900;
padding: 0 30px 0 65px;
display: inline-block;
position: relative;
}
.sectionA07 .block .box .ttl.type01 span::before{
content: "";
width: 24px;
height: 36px;
background: url("../images/top/secA07_ico_02.webp") no-repeat top center / 100% auto;
position: absolute;
left: 24px;
top: 50%;
transform: translateY(-50%);
}
.sectionA07 .block .box .ttl.type02 span::before{
content: "";
width: 28px;
height: 37px;
background: url("../images/top/secA07_ico_03.webp") no-repeat top center / 100% auto;
position: absolute;
left: 19px;
top: 50%;
transform: translateY(-50%);
}
.sectionA07 .block .box .ttl.type03 span::before{
content: "";
width: 38px;
height: 34px;
background: url("../images/top/secA07_ico_04.webp") no-repeat top center / 100% auto;
position: absolute;
left: 17px;
top: 50%;
transform: translateY(-50%);
}
.sectionA07 .block .box .place{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.sectionA07 .block .box .place .image{
width: 180px;
background: #000;
text-align: center;
border-radius: 20px;
margin: 0 10px;
overflow: hidden;
}
.sectionA07 .block .box .place .image:last-child{
margin: 20px 140px 0;
}
.sectionA07 .block .box .place .image figcaption{
color: #fff;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
padding: 5px 0 7px;
}
.sectionA07 .block .box .book{
display: flex;
flex-wrap: wrap;
}
.sectionA07 .block .box .book .image{
width: 50%;
text-align: center;
margin: 0 0 20px;
}
.sectionA07 .block .box .book .image:nth-last-child(-n+2){
margin-top: 0;
}
.sectionA07 .block .box .book .image img{
border: 2px solid #000;
box-shadow: 4px 4px 0 0 #000;
margin: 0 0 10px;
}
.sectionA07 .block .box .book .image figcaption{
font-size: 1.4rem;
font-weight: 700;
}
.sectionA07 .block .box .book .image figcaption span{
font-size: 1.2rem;
font-weight: 500;
margin: 5px 0 0;
display: block;
}
.sectionA07 .block .box .media .text{
font-size: 1.6rem;
line-height: 1.8;
}
.sectionA07 .block .box .media .text + .text{
margin-top: 20px;
}
.sectionA07 .block .box .media .text b{
font-weight: 900;
display: block;
}
@media (max-width: 768px){
.sectionA07 .secInner01{
padding: 5.0rem 0;
}
.sectionA07 .profileBlock{
width: 100%;
border: 0.3rem solid #000;
border-radius: 2.0rem;
box-shadow: 0.5rem 0.5rem 0 0.3rem #000;
margin: 0 auto 4.0rem;
padding: 4.0rem 2.0rem 2.0rem;
}
.sectionA07 .profileBlock .name{
font-size: 1.4rem;
margin: 0 0 4.0rem;
padding: 0 0 0 9.0rem;
}
.sectionA07 .profileBlock .name .image{
width: 8.0rem;
height: auto;
}
.sectionA07 .title{
width: 100%;
border-radius: 1.0rem;
margin: 0 0 3.0rem;
padding: 2.0rem 0;
}
.sectionA07 .title .image{
width: 24.2rem;
height: auto;
}
.sectionA07 .title::before{
width: 2.0rem;
height: 1.8rem;
bottom: -1.7rem;
}
.sectionA07 .block{
margin: 0 0 3.0rem;
display: block;
}
.sectionA07 .block .box{
width: 100%;
margin: 0 0 5.0rem;
}
.sectionA07 .block .box:last-child{
margin-bottom: 0;
}
.sectionA07 .block .box .ttl{
margin: 0 0 2.0rem;
padding: 0 0 0 2.0rem;
}
.sectionA07 .block .box .ttl::before{
height: 0.2rem;
}
.sectionA07 .block .box .ttl span{
font-size: 2.2rem;
padding: 0 1.0rem 0 4.0rem;
}
.sectionA07 .block .box .ttl.type01 span::before{
width: 2.0rem;
height: 3.0rem;
left: 1.2rem;
}
.sectionA07 .block .box .ttl.type02 span::before{
width: 2.2rem;
height: 2.8rem;
left: 0.9rem;
}
.sectionA07 .block .box .ttl.type03 span::before{
width: 2.9rem;
height: 2.8rem;
left: 0.8rem;
}
.sectionA07 .block .box .place{
justify-content: space-between;
}
.sectionA07 .block .box .place .image{
width: 10.5rem;
border-radius: 1.0rem;
margin: 0;
}
.sectionA07 .block .box .place .image:last-child{
margin: 0;
}
.sectionA07 .block .box .place .image figcaption{
font-size: 1.2rem;
padding: 0.5rem 0 0.7rem;
}
.sectionA07 .block .box .book .image{
width: 50%;
margin: 0 0 2.0rem;
}
.sectionA07 .block .box .book .image img{
width: auto;
height: 12.5rem;
border: 0.2rem solid #000;
box-shadow: 0.4rem 0.4rem 0 0 #000;
margin: 0 0 1.5rem
}
.sectionA07 .block .box .book .image figcaption{
font-size: 1.2rem;
}
.sectionA07 .block .box .book .image figcaption span{
font-size: 1.0rem;
margin: 0.3rem 0 0;
}
.sectionA07 .block .box .media .text{
font-size: 1.4rem;
}
.sectionA07 .block .box .media .text + .text{
margin-top: 2.5rem;
}
}

/* -- sectionB01 -- */
.sectionB01 .secInner01{
padding: 80px 0 60px;
}
.sectionB01 .lead{
font-size: 2.0rem;
text-align: center;
margin: 0 0 60px;
}
.sectionB01 form{
border-radius: 40px;
overflow: hidden;
}
.sectionB01 form > .title{
background: #503f36;
color: #fff;
font-size: 3.4rem;
font-weight: 900;
text-align: center;
letter-spacing: 2px;
padding: 15px 0;
}
.sectionB01 form .formBlock{
background: #f3f3f3;
padding: 80px 60px;
}
.sectionB01 form .formBlock .block + .block{
margin-top: 80px;
}
.sectionB01 form .formBlock .block > .ttl{
font-weight: 700;
margin: 0 0 25px;
display: flex;
align-items: center;
}
.sectionB01 form .formBlock .block > .ttl .num{
width: 50px;
height: 50px;
background: #58b625;
color: #fff;
font-size: 1.8rem;
text-align: center;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
}
.sectionB01 form .formBlock .block > .ttl .txt{
width: calc(100% - 50px);
font-size: 2.0rem;
font-weight: 700;;
text-align: left;
padding: 0 0 0 15px;
}
.formBlock  .block ::placeholder{
color: #c9c9c9;
}
.sectionB01 form .formBlock .block .table{
width: 100%;
}
.sectionB01 form .formBlock .block .table td{
width: 20%;
font-size: 1.4rem;
font-weight: 500;
text-align: center;
border: 1px solid #503f36;
padding: 5px 0;
vertical-align: middle;
}
.sectionB01 form .formBlock .block .box_input01 input{
width: 100%;
background: #fff;
font-size: 1.6rem;
border: 2px solid #503f36;
border-radius: 10px;
padding: 20px;
}
.sectionB01 form .formBlock .block .box_input02 .txt{
font-size: 1.8rem;
}
.sectionB01 form .formBlock .block .box_input02 input + .txt{
text-align: right;
}
.sectionB01 form .formBlock .block .box_input02 input{
width: 100%;
background: #fff;
font-size: 1.6rem;
border: 2px solid #503f36;
border-radius: 10px;
margin: 10px 0;
padding: 20px;
}
.sectionB01 form .formBlock .block .box_input03 input{
display: none;
}
.sectionB01 form .formBlock .block .box_input03 label{
width: 400px;
background: #fff;
text-align: center;
border: 2px solid #503f36;
border-radius: 100px;
margin: 0 auto;
padding: 20px 0;
display: block;
cursor: pointer;
user-select: none;
}
.sectionB01 form .formBlock .block .box_input03 label span{
font-size: 1.8rem;
font-weight: 700;
padding: 0 0 0 45px;
display: inline-block;
position: relative;
}
.sectionB01 form .formBlock .block .box_input03 label span::after{
content: "";
width: 25px;
height: 25px;
background: #fff;
border: 4px solid #737373;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.sectionB01 form .formBlock .block .box_input03 input:checked + label{
background: #ffdada;
}
.sectionB01 form .formBlock .block .box_input03 input:checked + label span::before{
content: "";
width: 24px;
height: 18px;
background: url("../images/step/secB01_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: 4px;
top: 50%;
transform: translateY(-50%);
z-index: 2;
}
.sectionB01 form .formBlock .block .box_input04 .box{
display: flex;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio{
width: 200px;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio + .radio{
margin-left: 10px;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio input{
display: none;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio label{
background: #fff;
font-size: 1.8rem;
text-align: center;
border: 2px solid #503f36;
border-radius: 10px;
padding: 20px 20px 20px 40px;
display: block;
cursor: pointer;
position: relative;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio label::before{
content: "";
width: 20px;
height: 20px;
background: #fff;
border: 2px solid #737373;
border-radius: 100px;
position: absolute;
left: 20px;
top: 50%;
transform: translateY(-50%);
}
.sectionB01 form .formBlock .block .box_input04 .box .radio input:checked + label::after{
content: "";
width: 16px;
height: 16px;
background: #58b625;
border-radius: 100px;
position: absolute;
left: 24px;
top: 50%;
transform: translateY(-50%);
}
.sectionB01 form .formBlock .block .box_select01{
display: flex;
align-items: flex-end;
justify-content: space-between;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03{
width: 285px;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox{
width: 100%;
border: 2px solid #503f36;
border-radius: 10px;
overflow: hidden;
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
z-index: 2;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox::before{
content: "";
width: 100%;
height: 100%;
background: #fff;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox::after{
content: "";
width: 12px;
height: 10px;
background: #503f36;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
z-index: 2;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox .num{
width: 40px;
background: #503f36;
color: #fff;
font-size: 1.8rem;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox select{
width: calc(100% - 40px);
background: none;
font-size: 1.6rem;
text-align: center;
border: none;
padding: 20px 15px 20px 0;
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
.sectionB01 form .formBlock .block .box_select02 .box{
display: flex;
align-items: center;
}
.sectionB01 form .formBlock .block .box_select02 .box .txt{
font-size: 1.6rem;
}
.sectionB01 form .formBlock .block .box_select02 .box .select{
margin: 0 10px 0 0;
position: relative;
}
.sectionB01 form .formBlock .block .box_select02 .box .select::before{
content: "";
width: 12px;
height: 10px;
background: #503f36;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
z-index: 2;
}
.sectionB01 form .formBlock .block .box_select02 .box .select select{
width: 140px;
background: #fff;
font-size: 1.8rem;
text-align: center;
border: 2px solid #503f36;
border-radius: 10px;
padding: 20px 35px 20px 20px;
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
.sectionB01 form .formBlock .block .box_select03{
margin: 40px 0 0;
display: none;
}
.sectionB01 form .formBlock .block .box_select03.active{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.sectionB01 form .formBlock .block .box_select03 .txt{
width: 100%;
font-size: 1.8rem;
font-weight: 700;
margin: 0 0 15px;
}
.sectionB01 form .formBlock .block .box_select03 .box{
width: calc(50% - 5px);
background: #fff;
border: 2px solid #503f36;
border-radius: 10px;
overflow: hidden;
}
.sectionB01 form .formBlock .block .box_select03 .box .name{
background: #503f36;
color: #fff;
font-size: 1.6rem;
font-weight: 700;
text-align: center;
padding: 5px 0;
}
.sectionB01 form .formBlock .block .box_select03 .select{
position: relative;
z-index: 2;
}
.sectionB01 form .formBlock .block .box_select03 .select::before{
content: "";
width: 12px;
height: 10px;
background: #503f36;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
z-index: 2;
}
.sectionB01 form .formBlock .block .box_select03 .select select{
width: 100%;
background: #fff;
font-size: 1.6rem;
text-align: center;
border: none;
padding: 20px;
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
.sectionB01 form .formBlock .block .box_text01 textarea{
width: 100%;
height: 140px;
background: #fff;
font-size: 1.6rem;
line-height: 1.6;
border: 2px solid #503f36;
border-radius: 10px;
padding: 20px;
resize: none;
}
.sectionB01 form .formBlock .block .textBlock > .ttl span{
background: #58b625;
color: #fff;
font-size: 1.4rem;
border-radius: 10px 10px 0 0;
padding: 8px 40px;
display: inline-block;
}
.sectionB01 form .formBlock .block .textBlock .list{
background: #fff;
border: 2px solid #58b625;
border-radius: 0 10px 10px 10px;
padding: 25px 40px;
display: flex;
flex-wrap: wrap;
}
.sectionB01 form .formBlock .block .textBlock .list > li{
width: 50%;
font-size: 1.4rem;
margin: 0 0 10px;
padding: 0 0 0 18px;
position: relative;
}
.sectionB01 form .formBlock .block .textBlock .list > li::before{
content: "";
width: 8px;
height: 8px;
background: #58b625;
border-radius: 50%;
position: absolute;
left: 0;
top: 8px;
}
@media (min-width: 769px){
.sectionB01 form .formBlock .block .textBlock .list > li:nth-last-child(-n+2){
margin-bottom: 0;
}
}
.sectionB01 form .formBlock .accBlock{
margin: 70px 0;
}
.sectionB01 form .formBlock .accBlock .accBtn{
width: 600px;
background: #58b625;
color: #fff;
font-size: 2.0rem;
font-weight: 900;
text-align: center;
border-radius: 100px;
box-shadow: 0 8px 0 0 #3f9d0c;
margin: 0 auto;
padding: 15px 0;
position: relative;
cursor: pointer;
}
.sectionB01 form .formBlock .accBlock .accBtn::before{
content: "";
width: 20px;
height: 20px;
border-right: 6px solid #fff;
border-bottom: 6px solid #fff;
margin-top: -5px;
position: absolute;
right: 40px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
}
.sectionB01 form .formBlock .accBlock .accBtn span{
font-size: 1.6rem;
font-weight: 700;
margin: 5px 0 0;
display: block;
}
.sectionB01 form .formBlock .accBlock .accBtn.active{
display: none;
}
.sectionB01 form .formBlock .accBlock .accBox{
display: none;
}
.sectionB01 form .formBlock .accBlock .accBox.active{
display: block;
}
.sectionB01 form .formBlock .errorTxt span{
background: #ffdada;
color: #f46565;
font-size: 1.4rem;
border-radius: 100px;
padding: 5px 20px;
display: none;
}
.sectionB01 form .formBlock .block .box_col03 .errorTxt span{
text-align: center;
display: none;
}
.sectionB01 form .formBlock .errorTxt.formrun-system-show{
margin: -15px 0 10px;
}
.sectionB01 form .formBlock .errorTxt.formrun-system-show span{
display: inline-block;
}
.sectionB01 form .formBlock .block .box_col03 .errorTxt.formrun-system-show span{
display: block;
}
.sectionB01 form .formBlock .errorList{
margin: 0 0 10px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.sectionB01 form .formBlock .errorList > li .errorTxt.formrun-system-show{
margin: 0 5px 10px;
}
.sectionB01 form .formBlock .block .table td.color01,
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox.color01::before{ background: #ffcccc; }
.sectionB01 form .formBlock .block .table td.color02,
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox.color02::before{ background: #ffffb9; }
.sectionB01 form .formBlock .block .table td.color03,
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox.color03::before{ background: #d9f2d0; }
.sectionB01 form .formBlock .block .table td.color04,
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox.color04::before{ background: #c1e4f5; }
.sectionB01 form .formBlock .block .table td.color05,
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox.color05::before{ background: #e8d1ff; }

.sectionB01 form .formBlock .block .box_input02 .txt span.type01{ background: linear-gradient(transparent 60%, #ffcccc 60%); }
.sectionB01 form .formBlock .block .box_input02 .txt span.type02{ background: linear-gradient(transparent 60%, #ffffb9 60%); }
.sectionB01 form .formBlock .block .box_input02 .txt span.type03{ background: linear-gradient(transparent 60%, #d9f2d0 60%); }
.sectionB01 form .formBlock .block .box_input02 .txt span.type04{ background: linear-gradient(transparent 60%, #c1e4f5 60%); }
.sectionB01 form .formBlock .block .box_input02 .txt span.type05{ background: linear-gradient(transparent 60%, #e8d1ff 60%); }
@media (max-width: 768px){
.sectionB01 .secInner01{
padding: 4.0rem 0 3.0rem;
}
.sectionB01 .lead{
font-size: 1.6rem;
line-height: 1.8;
margin: 0 0 3.5rem;
}
.sectionB01 form{
border-radius: 2.0rem;
}
.sectionB01 form > .title{
font-size: 2.0rem;
padding: 1.5rem 0;
}
.sectionB01 form .formBlock{
padding: 3.0rem 2.0rem;
}
.sectionB01 form .formBlock .block + .block{
margin-top: 5.0rem;
}
.sectionB01 form .formBlock .block > .ttl{
margin: 0 0 1.5rem;
align-items: flex-start;
}
.sectionB01 form .formBlock .block > .ttl.sp_center{
align-items: center;
}
.sectionB01 form .formBlock .block > .ttl .num{
width: 3.5rem;
height: 3.5rem;
font-size: 1.4rem;
border-radius: 0.5rem;
}
.sectionB01 form .formBlock .block > .ttl .txt{
width: calc(100% - 3.5rem);
font-size: 1.5rem;
padding: 0 0 0 1.0rem;
}
.sectionB01 form .formBlock .block .table td{
font-size: 0.9rem;
line-height: 1.4;
padding: 0.5rem 0;
}
.sectionB01 form .formBlock .block .box_input01 input{
font-size: 1.4rem;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
padding: 1.0rem 1.5rem;
}
.sectionB01 form .formBlock .block .box_input02 .txt{
font-size: 1.4rem;
}
.sectionB01 form .formBlock .block .box_input02 input{
font-size: 1.4rem;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
margin: 1.0rem 0;
padding: 1.0rem 1.5rem;
}
.sectionB01 form .formBlock .block .box_input03 label{
width: 100%;
border: 0.2rem solid #503f36;
padding: 2.0rem;
}
.sectionB01 form .formBlock .block .box_input03 label span{
font-size: 1.6rem;
padding: 0 0 0 4.0rem;
}
.sectionB01 form .formBlock .block .box_input03 label span::after{
width: 2.2rem;
height: 2.2rem;
border: 0.3rem solid #737373;
}
.sectionB01 form .formBlock .block .box_input03 input:checked + label span::before{
width: 1.9rem;
height: 1.5rem;
left: 0.5rem;
}
.sectionB01 form .formBlock .block .box_input04 .box{
justify-content: space-between;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio{
width: calc(50% - 0.5rem);
}
.sectionB01 form .formBlock .block .box_input04 .box .radio + .radio{
margin-left: 0;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio label{
font-size: 1.6rem;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
padding: 1.5rem 1.5rem 1.5rem 3.5rem;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio label::before{
width: 2.0rem;
height: 2.0rem;
border: 0.2rem solid #737373;
left: 2.0rem;
}
.sectionB01 form .formBlock .block .box_input04 .box .radio input:checked + label::after{
width: 1.6rem;
height: 1.6rem;
left: 2.4rem;
}
.sectionB01 form .formBlock .block .box_select01{
display: block;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03{
width: 100%;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 + .box_col03{
margin-top: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox{
width: 100%;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox::after{
width: 1.3rem;
height: 0.9rem;
right: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox .num{
width: 3.5rem;
font-size: 1.6rem;
}
.sectionB01 form .formBlock .block .box_select01 .box_col03 .selectBox select{
width: calc(100% - 3.5rem);
font-size: 1.4rem;
padding: 1.5rem 0;
}
.sectionB01 form .formBlock .block .box_select02 .box .txt{
font-size: 1.4rem;
}
.sectionB01 form .formBlock .block .box_select02 .box .select{
margin: 0 1.0rem 0 0;
}
.sectionB01 form .formBlock .block .box_select02 .box .select::before{
width: 1.3rem;
height: 0.9rem;
right: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select02 .box .select select{
width: 12.0rem;
font-size: 1.6rem;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
padding: 1.0rem 2.0rem 1.0rem 1.0rem;
}
.sectionB01 form .formBlock .block .box_select03{
margin: 2.5rem 0 0;
}
.sectionB01 form .formBlock .block .box_select03.active{
display: block;
}
.sectionB01 form .formBlock .block .box_select03 .txt{
font-size: 1.5rem;
margin: 0 0 1.0rem;
}
.sectionB01 form .formBlock .block .box_select03 .box{
width:100%;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select03 .box + .box{
margin-top: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select03 .box .name{
font-size: 1.4rem;
padding: 0.5rem 0;
}
.sectionB01 form .formBlock .block .box_select03 .select::before{
width: 1.3rem;
height: 0.9rem;
right: 1.0rem;
}
.sectionB01 form .formBlock .block .box_select03 .select select{
font-size: 1.4rem;
padding: 1.5rem 2.0rem 1.5rem 1.5rem;
}
.sectionB01 form .formBlock .block .box_text01 textarea{
width: 100%;
height: 15.0rem;
font-size: 1.4rem;
border: 0.2rem solid #503f36;
border-radius: 1.0rem;
padding: 1.0rem 1.5rem;
}
.sectionB01 form .formBlock .block .textBlock > .ttl span{
border-radius: 1.0rem 1.0rem 0 0;
padding: 0.5rem 2.0rem;
}
.sectionB01 form .formBlock .block .textBlock .list{
border: 0.2rem solid #58b625;
border-radius: 0 1.0rem 1.0rem 1.0rem;
padding: 2.0rem 0 2.0rem 2.0rem;
display: block;
}
.sectionB01 form .formBlock .block .textBlock .list > li{
width: 100%;
font-size: 1.1rem;
margin: 0 0 1.0rem;
padding: 0 0 0 1.4rem;
}
.sectionB01 form .formBlock .block .textBlock .list > li::before{
width: 0.6rem;
height: 0.6rem;
top: 0.7rem;
}
.sectionB01 form .formBlock .block .textBlock .list > li:last-child{
margin-bottom: 0;
}
.sectionB01 form .formBlock .accBlock{
margin: 4.0rem 0;
}
.sectionB01 form .formBlock .accBlock .accBtn{
width: 100%;
font-size: 1.8rem;
box-shadow: 0 0.4rem 0 0 #3f9d0c;
padding: 1.5rem 0;
}
.sectionB01 form .formBlock .accBlock .accBtn::before{
width: 1.2rem;
height: 1.2rem;
border-right: 0.4rem solid #fff;
border-bottom: 0.4rem solid #fff;
margin-top: -0.2rem;
right: 3.0rem;
}
.sectionB01 form .formBlock .accBlock .accBtn span{
font-size: 1.3rem;
margin: 0;
}
.sectionB01 form .formBlock .errorTxt.formrun-system-show{
margin: 0 0 1.0rem;
}
.sectionB01 form .formBlock .errorTxt span{
text-align: center;
font-size: 1.2rem;
padding: 0.3rem 2.0rem 0.5rem;
}
.sectionB01 form .formBlock .errorList{
margin: 0 0 1.0rem;
display: block;
}
.sectionB01 form .formBlock .errorList > li .errorTxt.formrun-system-show{
margin: 0 0 1.0rem;
}
.sectionB01 form .formBlock .errorList > li .formrun-system-show a,
.sectionB01 form .formBlock .errorList > li .formrun-system-show span{
display: block;
}
}

/* -- sectionC01 -- */
.sectionC01 .secInner01{
padding: 60px 0;
}
.sectionC01 .block{
background: #fff;
border-radius: 40px;
overflow: hidden;
}
.sectionC01 .block .title{
background: #503f36;
text-align: center;
padding: 15px 0;
}
.sectionC01 .block .title span{
color: #fff;
font-size: 3.4rem;
font-weight: 900;
letter-spacing: 2px;
padding: 0 0 0 60px;
position: relative;
}
.sectionC01 .block .title span::before{
content: "";
width: 40px;
height: 40px;
background: url("../images/step/secC01_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.sectionC01 .block .form{
padding: 20px 60px;
}
.sectionC01 .movieBlock{
width: 740px;
margin: 0 auto 60px;
}
.sectionC01 .movieBlock .text{
text-align: center;
margin: 0 0 20px;
}
.sectionC01 .movieBlock .text span{
background: #fff;
color: #58b625;
font-size: 2.2rem;
font-weight: 900;
border-radius: 100px;
padding: 10px 30px 12px;
display: inline-block;
position: relative;
}
.sectionC01 .movieBlock .text span::before{
content: "";
width: 15px;
height: 11px;
background: #fff;
clip-path: polygon(50% 100%, 0 0, 100% 0);
position: absolute;
left: 50%;
bottom: -10px;
transform: translateX(-50%);
}
.sectionC01 .movieBlock .notes{
font-size: 1.8rem;
text-align: center;
}
.sectionC01 .movieBlock .movie{
margin: 0 0 10px;
position: relative;
}
.sectionC01 .movieBlock .movie::before{
content: "";
width: 70px;
height: 40px;
background: url("../images/step/secC01_ico_02.webp") no-repeat top center / 100% auto;
position: absolute;
right: 30px;
top: -39px;
}
.sectionC01 .movieBlock .movie .movieInner{
border-radius: 40px;
border: 12px solid #000;
overflow: hidden;
}
@media (max-width: 768px){
.sectionC01 .secInner01{
padding: 3.0rem 0;
}
.sectionC01 .block{
border-radius: 2.0rem;
}
.sectionC01 .block .title{
padding: 1.5rem 0;
}
.sectionC01 .block .title span{
font-size: 2.0rem;
padding: 0 0 0 4.0rem;
}
.sectionC01 .block .title span::before{
width: 3.0rem;
height: 3.0rem;
}
.sectionC01 .block .form{
padding: 0 2.0rem;
}
.sectionC01 .movieBlock{
width: 100%;
margin: 0 auto 3.0rem;
}
.sectionC01 .movieBlock .text{
text-align: left;
margin: 0 0 1.2rem;
}
.sectionC01 .movieBlock .text span{
font-size: 1.4rem;
padding: 0.5rem 2.0rem 0.7rem;
}
.sectionC01 .movieBlock .text span::before{
width: 1.5rem;
height: 0.9rem;
left: 4.0rem;
bottom: -0.8rem;
transform: translateX(0);
}
.sectionC01 .movieBlock .notes{
font-size: 1.2rem;
}
.sectionC01 .movieBlock .movie{
margin: 0 0 0.5rem;
}
.sectionC01 .movieBlock .movie::before{
width: 4.0rem;
height: 2.0rem;
right: 2.0rem;
top: -1.9rem;
}
.sectionC01 .movieBlock .movie .movieInner{
border-radius: 2.0rem;
border: 0.6rem solid #000;
}
}

.sectionC01 .block02{
margin: 0 0 60px;
}
.sectionC01 .block02 .box .fukidashi{
width: 300px;
background: #3ecab8;
color: #fff;
font-size: 2.0rem;
font-weight: 900;
text-align: center;
border-radius: 100px;
margin: 0 auto 30px;
padding: 10px 0;
position: relative;
}
.sectionC01 .block02 .box .fukidashi::before{
content: "";
width: 60px;
height: 15px;
background: #3ecab8;
clip-path: polygon(50% 0%, 0% 100%, 100% 0);
position: absolute;
left: 50px;
bottom: -14px;
}
.sectionC01 .block02 .box:nth-child(even) .fukidashi::before{
content: "";
width: 60px;
height: 15px;
background: #3ecab8;
clip-path: polygon(0 0, 100% 100%, 50% 0);
position: absolute;
left: auto;
right: 50px;
bottom: -14px;
}
.sectionC01 .block02 .box .title{
width: 760px;
min-height: 120px;
background: url("../images/top/secA04_bg_01.webp") no-repeat top center / cover;
border-radius: 40px;
margin: 0 auto 20px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.sectionC01 .block02 .box .title span{
color: #fff;
font-size: 2.8rem;
font-weight: 900;
display: block;
position: relative;
}
.sectionC01 .block02 .box:nth-child(1) .title::before{
content: "";
width: 170px;
height: 198px;
background: url("../images/top/secA04_ico_01.webp") no-repeat top center / 100% auto;
position: absolute;
left: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionC01 .block02 .box:nth-child(2) .title::before{
content: "";
width: 155px;
height: 198px;
background: url("../images/top/secA04_ico_02.webp") no-repeat top center / 100% auto;
position: absolute;
right: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionC01 .block02 .box:nth-child(3) .title::before{
content: "";
width: 170px;
height: 198px;
background: url("../images/top/secA04_ico_03.webp") no-repeat top center / 100% auto;
position: absolute;
left: -105px;
bottom: -50px;
z-index: 2;
transform: scale(-1,1);
}
.sectionC01 .block02 .box .title .icon{
margin: 0 15px;
display: inline-block;
}
.sectionC01 .block02 .box .textBlock{
background: #fff;
border-radius: 40px;
padding: 40px 60px;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.sectionC01 .block02 .box .textBlock .ttl{
width: 100%;
font-size: 2.6rem;
font-weight: 900;
text-align: center;
margin: 0 0 20px;
order: 1;
}
.sectionC01 .block02 .box .textBlock .ttl strong{
background: linear-gradient(transparent 75%, #ffd631 75%);
color: #58b625;
}
.sectionC01 .block02 .box .textBlock .text{
width: 550px;
font-size: 1.6rem;
line-height: 1.8;
margin: 0 30px 0 0;
order: 2;
}
.sectionC01 .block02 .box:nth-child(even) .textBlock .text{
margin: 0 0 0 30px;
order: 3;
}
.sectionC01 .block02 .box .textBlock .imageBlock{
width: 300px;
order: 3;
}
.sectionC01 .block02 .box:nth-child(even) .textBlock .imageBlock{
order: 2;
}
.sectionC01 .block02 .box .textBlock .imageBlock img{
width: 100%;
height: auto;
}
.sectionC01 .block02 .box .textBlock .notes{
width: 100%;
text-align: center;
margin: 10px 0 0;
order: 4;
}
.sectionC01 .block02 .box .textBlock .notes span{
color: #717171;
font-size: 1.2rem;
padding: 0 0 0 20px;
display: inline-block;
position: relative;
}
.sectionC01 .block02 .box .textBlock .notes span::before{
content: "※";
position: absolute;
left: 0;
}
@media (max-width: 768px){
.sectionC01 .block02{
margin: 0 0 3.0rem;
}
.sectionC01 .block02 .box .fukidashi{
width: 25.0rem;
font-size: 1.8rem;
margin: 0 auto 1.5rem;
padding: 1.2rem 0;
}
.sectionC01 .block02 .box .fukidashi::before{
width: 3.5rem;
height: 1.0rem;
clip-path: polygon(0 0, 100% 100%, 50% 0);
left: auto;
right: 2.0rem;
bottom: -0.9rem;
}
.sectionC01 .block02 .box:nth-child(even) .fukidashi::before{
width: 3.5rem;
height: 1.0rem;
clip-path: polygon(50% 0%, 0% 100%, 100% 0);
left: 2.0rem;
right: auto;
bottom: -0.9rem;
}
.sectionC01 .block02 .box .title{
width: calc(100% - 7.0rem);
min-height: 11.0rem;
border-radius: 2.0rem;
margin: 0 7.0rem 1.0rem 0;
}
.sectionC01 .block02 .box:nth-child(even) .title{
margin: 0 0 1.0rem 7.0rem;
}
.sectionC01 .block02 .box .title span{
font-size: 2.2rem;
text-align: center;
}
.sectionC01 .block02 .box:nth-child(1) .title span{
font-size: 1.8rem;
line-height: 1.4;
}
.sectionC01 .block02 .box:nth-child(1) .title::before{
width: 10.1rem;
height: 11.7rem;
left: auto;
right: -7.5rem;
bottom: -2.7rem;
transform: scale(1,1);
}
.sectionC01 .block02 .box:nth-child(2) .title::before{
width: 8.9rem;
height: 11.3rem;
left: -6.5rem;
right: auto;
bottom: -2.5rem;
transform: scale(1,1);
}
.sectionC01 .block02 .box:nth-child(3) .title::before{
width: 10.1rem;
height: 11.7rem;
left: auto;
right: -7.5rem;
bottom: -2.7rem;
transform: scale(1,1);
}
.sectionC01 .block02 .box .title .icon{
width: 1.5rem;
height: auto;
margin: 0;
}
.sectionC01 .block02 .box .textBlock{
border-radius: 2.0rem;
padding: 3.0rem 2.0rem;
display: block;
}
.sectionC01 .block02 .box .textBlock .ttl{
font-size: 2.0rem;
text-align: left;
margin: 0 0 2.0rem;
}
.sectionC01 .block02 .box .textBlock .text,
.sectionC01 .block02 .box:nth-child(even) .textBlock .text{
width: 100%;
font-size: 1.5rem;
line-height: 2.0;
margin: 0 0 2.5rem;
}
.sectionC01 .block02 .box .textBlock .imageBlock{
width: 100%;
}
.sectionC01 .block02 .box .textBlock .notes{
text-align: left;
margin: 1.0rem 0 0;
}
.sectionC01 .block02 .box .textBlock .notes span{
padding: 0 0 0 1.5rem;
}
}

/* -- sectionD01 -- */
.sectionD01::before{
content: "";
width: 50%;
height: 80px;
background: #58b625;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
position: absolute;
left: 0;
bottom: -1px;
}
.sectionD01::after{
content: "";
width: 50%;
height: 80px;
background: #58b625;
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
position: absolute;
right: 0;
bottom: -1px;
}
.sectionD01 .secInner01{
padding: 80px 0 120px;
}
.sectionD01 .lead{
font-size: 2.0rem;
text-align: center;
line-height: 1.8;
}
@media (max-width: 768px){
.sectionD01::before{
height: 4.5rem;
}
.sectionD01::after{
height: 4.5rem;
}
.sectionD01 .secInner01{
padding: 4.0rem 0 6.0rem;
}
.sectionD01 .lead{
font-size: 1.6rem;
}
}

/* -- sectionD02 -- */
.sectionD02{
background: #58b625;
}
.sectionD02 .secInner01{
padding: 80px 0;
}
.sectionD02 .title{
color: #fff;
font-size: 2.6rem;
font-weight: 900;
text-align: center;
border-bottom: 5px dotted #fff;
margin: 0 0 60px;
padding: 0 0 25px;
}
.sectionD02 .title img{
margin: 0 10px 0 0;
}
.sectionD02 .title strong{
font-size: 4.0rem;
margin: 5px 0 0;
display: block;
}
.sectionD02 .lead{
color: #fff;
font-size: 2.0rem;
text-align: center;
line-height: 1.8;
}
.sectionD02 .lead + .lead{
margin: 20px 0 60px;
}
.sectionD02 .block{
display: flex;
justify-content: space-between;
}
.sectionD02 .block .box{
width: 480px;
border: 6px solid #fff;
border-radius: 40px;
padding: 30px 30px 40px;
}
.sectionD02 .block .box .image{
border-radius: 20px;
margin: 0 0 20px;
display: block;
}
.sectionD02 .block .box .ttl{
color: #fff;
font-size: 2.2rem;
font-weight: 900;
border-bottom: 3px solid #fff;
margin: 0 0 20px;
padding: 0 0 15px;
}
.sectionD02 .block .box .text{
color: #fff;
font-size: 1.8rem;
line-height: 1.8;
margin: 0 0 25px;
}
@media (max-width: 768px){
.sectionD02 .secInner01{
padding: 4.0rem 0;
}
.sectionD02 .title{
font-size: 1.6rem;
border-bottom: 0.4rem dotted #fff;
margin: 0 0 2.5rem;
padding: 0 0 1.5rem;
}
.sectionD02 .title img{
width: 23.0rem;
height: auto;
margin: 0 0.5rem 0 0;
}
.sectionD02 .title strong{
font-size: 2.2rem;
margin: 0.5rem 0 0;
}
.sectionD02 .lead{
font-size: 1.4rem;
}
.sectionD02 .lead + .lead{
margin: 1.5rem 0 3.0rem;
}
.sectionD02 .block{
display: block;
}
.sectionD02 .block .box{
width: 100%;
border: 0.3rem solid #fff;
border-radius: 2.0rem;
padding: 2.0rem;
}
.sectionD02 .block .box + .box{
margin-top: 2.0rem;
}
.sectionD02 .block .box .image{
border-radius: 1.0rem;
margin: 0 0 1.5rem;
}
.sectionD02 .block .box .ttl{
font-size: 1.6rem;
border-bottom: 0.2rem solid #fff;
margin: 0 0 1.5rem;
padding: 0 0 1.0rem;
}
.sectionD02 .block .box .text{
font-size: 1.4rem;
margin: 0 0 2.0rem;
}
}