@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#gHeader {
    background-color: #fff;
    position: fixed;
    width: 100%;
    z-index: 100;
}

#pagePath {
    margin-bottom: 0;
    background: #000;
    padding-top: 81px;
}

@media screen and (min-width:768px) and (max-width:1100px) {
    #gHeader h1 {
        margin-left: 20px;
    }
}
@media screen and (max-width: 767px) {
    #pagePath {
        padding-top: 64px;
    }
}

.wrapBox {
    width: 1200px;
    position: relative;
    margin: 0 auto;
}
#main .sec01 {
    text-align: center;
    background: url("../img/index/sec01_bg.jpg") #f1f3f7 no-repeat top center/2000px 843px;
}
#main .sec01 .txt01 {
    padding-top: 170px;
}
#main .sec01 .txt02 {
    padding-top: 390px;
}
#main .sec01 .wrapBox .note {
    color: #808080;
    font-size: 1.3rem;
    padding: 17px 0 89px;
    text-align: center;
}
#main .sec02 {
    text-align: center;
    background: url("../img/index/sec02_bg.jpg") #f3f5f9 no-repeat top center/2000px 807px;
        margin-bottom: -30px;
}
#main .sec02 .txt01 {
    padding-top: 96px;
}
#main .sec02 h2 {
    padding-top: 30px;
}
#main .sec02 .txtBox {
    padding: 127px 0 161px 187px;
    width: 352px;
}
#main .sec02 .txtBox p {
    font-size: 1.3rem;
    text-align: left;
    line-height: 2.2;
    letter-spacing: -0.03em;
    text-align: justify;
	text-justify: inter-ideograph;
    padding-top: 20px;
}
#main .sec02 .txtBox p span {
    color: #0057A8;
}
#main .sec02 .txtBox p span sup {
    font-size: 1.0rem;
}
#main .sec03 {
    text-align: center;
    padding-bottom: 189px;
    background: url("../img/index/sec03_bg.jpg") #FFF no-repeat top center/2000px 1021px;
}
#main .sec03 h2 {
    padding-top: 95px;
}
#main .sec03 h3 {
    padding-top: 60px;
}
#main .sec03 p {
    color: #fff;
    padding: 25px 0 142px;
    font-size: 1.3rem;
    line-height: 2.2;
    letter-spacing: 0.04em;
}
#main .sec03 .image {
  padding-top: 40px;
}
#main .sec03 .c-flx{
    display: flex;
    align-items: top;
    justify-content: center;
}
#main .sec03 .c-flx>.img{
    width: 165px;
    position: relative;
}
#main .sec03 .c-flx>.img:before{
    display: inline-block;
    content: '※';
    font-size:16px;
    position: absolute;
    bottom: -7px;
    right: 0;
}
#main .sec03 .c-flx>.img.ptn06:before{
    right: -14px;
}
#main .sec03 .caption{
    width: 650px;
    display: block;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

#main .sec03 .c-flx>.img.pat01{
    width: 175px;
}

#main .sec03 .c-flx+.c-flx{
    margin-top: 30px;
}

#main .sec04 {
  padding-bottom: 30px;
    text-align: center;
    background: url("../img/index/sec04_bg.jpg") #f1f3f7 no-repeat top 65px center/2000px 1256px;
    margin-bottom: 16px;
    background-color: #fff;
}
#main .sec04 .txt01 {
    position: absolute;
    top: -128px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
   
}
#main .sec04 .txt02 {
    padding-top: 185px;
}
#main .sec04 .txt01 img {
    padding-left: 58px;
}
#main .sec04 .txt03 {
    padding: 30px 0 446px;
}
#main .sec04 .wrapBox .note {
    color: #808080;
    font-size: 1.3rem;
    padding: 22px 0 32px;
}
#main .sec04 .link {
    padding-bottom: 14px;
}
#main .sec04 .link a {
    padding: 11px 0;
    display: block;
    margin: 0 auto;
    width: 290px;
    color: #fff;
    background: #000 url("../img/index/icon01.png") no-repeat right 12px center;
    background-size: 8px 13px;
}
#main .sec04 .link a:hover {
    opacity: 0.7;
}
.c-ta-l{
    text-align: left;
}
.c-flx{
    display: flex;
    align-items: center;
    gap: 25px 86px ;
}
.c-pt60{
    padding-top: 60px;
}
.c-img-box{
    display: flex;
    justify-content: center;
}

@media all and (max-width: 767px) {
    .wrapBox {
        width: 100%;
    }
    #main{
        margin-bottom: calc(244 / 750 * 100vw);
    }
    #main .sec01,
    #main .sec02 {
        background: #f1f3f7;
    }
    #main .sec01 .txt01 {
        padding-top: 0;
    }
    #main .sec01 .txt02 {
        position: absolute;
        padding-top: 0;
        top: 127vw;
        box-sizing: border-box;
         padding:0 7%; 
        z-index: 1;
        width: 100%;
    }
    #main .sec01 .txt02 .scrFadeTo{
        display: flex;
        justify-content: center;
        padding: 0 0;
    }
    #main .sec01 .wrapBox .note {
        font-size: min(calc(22 / 750 * 100vw),22px);
        line-height: 1.73;
        letter-spacing: 0.32em;
        padding-top: calc(32 / 750 * 100vw);
    }
    #main .sec02 .txt01 {
        position: absolute;
        top: 16vw;
        width: 100%;
        z-index: 1;
        display: flex;
        justify-content: center;
        padding: 0 calc(135 / 750 * 100vw);
        box-sizing: border-box;
    }

  #main .sec02 {
    position: relative;
  }

  #main .sec02:before {
    content: '';
    display: block;
    position: absolute;
    top: -7vw;
    right: 3vw;
    width: 20vw;
    height: 25vw;
    background: url(../img/index/sp_sec02_item.png) no-repeat center center;
    background-size: 100% 100%;
    z-index: 1;
  }

    #main .sec02 h2 {
        padding-top: 0;
    }

    #main .sec02 h3 {
        display: flex;
        justify-content: center;
        padding: 0 calc(100 / 750 * 100vw);
    }

    #main .sec02 .wrapBox {
        position: relative;
    }

    #main .sec02 .txtBox {
        /* padding: 0 0 0 12%;
        width: 76.5%;
        position: absolute;
        margin-top: -97%; */
        position: absolute;
        bottom: calc(40 / 750 * 100vw);
        left: 0;
        padding: 0;
        width: 100%;
    }
    #main .sec02 .txtBox p {
        font-size: min(calc(30 / 720 * 100vw),3rem);
        text-align: left;
        line-height: 2;
        text-align: justify;
        text-justify: inter-ideograph;
        padding: calc(60 / 750 * 100vw) calc(78 / 750 * 100vw) 0;
        letter-spacing: 0;
    }
    #main .sec03 {
        text-align: center;
        width: 100%;
        height: 0;
        background: url("../img/index/sp_sec03_bg.jpg") no-repeat top center/100% auto;
        padding-top: calc(1728 / 750 * 100vw);
        padding-bottom: calc(50 / 750 * 100vw);
        position: relative;
        margin-top: -1px;
        transform: translateX(1px);
    }
    #main .sec03 .wrapBox {
        position: absolute;
        top: calc(95 / 750 * 100vw);
    }
    #main .sec04 .wrapBox {
        position: absolute;
        top:0;
    }
    #main .sec03 h2 {
        width: 82.8%;
        padding: 0 0 0 1%;
    }
    #main .sec03 h3 {
        padding: 50px 0 0 calc(90 / 750 *100%);
        width: 78.4%;
    }
  #main .sec03 .image {
    margin: auto;
    padding-top: 10vw;
    width: 86%;
    }
    #main .sec03 p {
        color: #fff;
        padding: 50px 0 0;
        font-size: 1.5rem;
        line-height: 2;
        margin:0 4%;
        text-align: left;
    }
    #main .sec03 .c-flx{
        gap: 0 calc(97 / 750 * 100vw);
    }
    #main .sec03 .c-flx+.c-flx{
        margin-top: calc(45 / 750 * 100vw);
    }
    #main .sec03 .c-flx>.img{
        width: calc(204 / 750 * 100%);
    }
    #main .sec03 .c-flx>.img:before{
        font-size:12px;
        position: absolute;
        bottom: -7px;
        right: -10px;
    }
    #main .sec03 .c-flx>.img.ptn06:before{
        right: -16px;
    }
    #main .sec03 .caption{
        max-width: 100%;
        width: 100%;
        display: block;
        text-align: left;
        font-size: 12px;
        padding: 0 18.4%;
    }
    #main .sec04 {
        text-align: center;
        width: 100%;
        height: 0;
        background: url("../img/index/sp_sec04_bg.jpg") no-repeat top center/100% auto;
        padding-top:calc(1720/ 750 * 100%);
        position: relative;
        margin-top: -1px;
    }
    #main .sec04 .txt01{
        top: calc(-50 / 750 *100%);
        padding-left: 4%;
    }

    #main .sec04 .txt01 img {
        margin-top: -10%;
        padding-left: 0;
    }
    #main .sec04 .txt02 {
        padding: 55% calc(150 / 750 * 100vw) 0;
        margin:0 auto;
        display: flex;
        justify-content: center;
    }
    #main .sec04 .txt03 {
        padding: 10% 0 0;
        width: calc(560/ 750 *100%);
        margin:0 auto;
    }
    #main .sec04 .txt04 {
        padding: 68% 0 0;
        /* margin:0 4%; */
    }
    #main .sec04 .txt04 h4{
    display: flex;
    padding: 0 calc(80 / 750 * 100vw);
        justify-content: center;
    }
    #main .sec04 .wrapBox .note {
        padding: 7% 0 0;
        font-size: min(calc(26 / 750 * 100vw),2.6rem);
        line-height: 1.73;
        letter-spacing: 0.32em;
    }
    .c-pt60{
        padding-top: calc(60 / 750 * 100vw);
    }
}
@media screen and (max-width: 320px) {
    #main .sec02 .txtBox p,
    #main .sec03 p {
        font-size: 1.3rem;
    }
}

@media all and (max-width: 767px) {
	#main .sec04 .link {
		margin: 34px 4.5% 0;
	}
	#main .sec04 .link a {
		padding: 0;
		width: auto;
		background: none;
	}
}
@media all and (-ms-high-contrast:none){
    #main .sec04 .link a {
        padding: 13px 0 9px;
    }
}
