@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 {
  margin-bottom: 20px;
  font-feature-settings: "palt";
}

#main .sec01 {
    text-align: center;
    background: url("../img/index/sec01_bg.jpg") #d9def1 no-repeat top center/2000px 895px;
}
#main .sec01 .txt01 {
    padding-top: 160px;
}
#main .sec01 .txt02 {
  padding-top: 395px;
}
#main .sec01 .wrapBox .note,
#main .sec04 .wrapBox .note {
  color: #808080;
  font-size: 1.3rem;
  padding: 17px 0 35px;
  text-align: center;
}
#main .sec01 .wrapBox .note .small,
#main .sec04 .wrapBox .note .small {
  display: block;
  padding-top: 10px;
  font-size: 1.1rem;
}
#main .sec02 {
    text-align: center;
    background: url("../img/index/sec02_bg.jpg") #050507 no-repeat top center/2000px 818px;
}
#main .sec02 .txt01 {
    padding-top: 96px;
}
#main .sec02 h2 {
    padding-top: 30px;
}
#main .sec02 .txtBox {
    padding: 82px 0 161px 210px;
    width: 348px;
}
#main .sec02 .txtBox p {
  font-size: 1.3rem;
  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 .annotation {
  float: right;
  padding-top: 15px;
  font-size: 1.1rem;
}
#main .sec02 .txtBox p sup {
    font-size: .8rem;
}
#main .sec03 {
    text-align: center;
    padding-bottom: 180px;
    background: url("../img/index/sec03_bg.jpg") #eaf0f6 no-repeat top center/2000px 1044px;
}
#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: 60px;
}
#main .sec03 .icon {
  position: absolute;
  top: 22px;
  left: 38%;
  width: 244px;
  transform: translateX(-50%);
}
#main .sec03 .icon img {
  max-width: 100%;
  height: auto;
}
#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: 60px;
    text-align: center;
    background: url("../img/index/sec04_bg.jpg") #d9def1 no-repeat top center/2000px 1256px;
}
#main .sec04 .txt01 {
    position: absolute;
    top: -156px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
   
}
#main .sec04 .txt02 {
    padding-top: 225px;
}
#main .sec04 .txt01 img {
    padding-left: 58px;
}
#main .sec04 .txt03 {
    padding: 30px 0 510px;
}
#main .sec04 .wrapBox .note {
    padding-bottom: 15px;
}
#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);*/
    margin-bottom: 0;
  }
  #main .sec01,
  #main .sec02 {
    background: #f1f3f7;
  }
  #main .sec01 .txt01 {
    padding-top: 0;
  }
  #main .sec01 .txt02 {
    position: absolute;
    padding-top: 0;
    top: 108vw;
    left: 10%;
    box-sizing: border-box;
    /* padding:0 4%; */
    z-index: 1;
    width: 80%;
  }
  #main .sec01 .txt02 .scrFadeTo{
    /*display: flex;*/
    justify-content: center;
    padding: 0 0;
  }
  #main .sec01 .wrapBox .note,
  #main .sec04 .wrapBox .note {
    font-size: min(calc(26 / 750 * 100vw),26px);
    line-height: 1.73;
    letter-spacing: .2em;
    padding-top: calc(32 / 750 * 100vw);
  }

  #main .sec01 .wrapBox .note .small,
  #main .sec04 .wrapBox .note .small {
    padding-top: 1vw;
    letter-spacing: 0;
    font-size: 80%;
  }

  #main .sec02 .txt01 {
    position: absolute;
    top: 16vw;
    width: 100%;
    z-index: 1;
    display: flex;
    justify-content: center;
    padding: 0 calc(100 / 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(0 / 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(83 / 750 * 100vw) 0;
        letter-spacing: 0;
    }
  #main .sec02 .txtBox p .annotation {
    display: block;
    float: none;
    clear: both;
    padding-top: 10px;
    line-height: 1.4;
    font-size: .8rem;
    }
    #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(2050 / 750 * 100vw);
        position: relative;
        margin-top: -1px;
        transform: translateX(1px);
    }
    #main .sec03 .wrapBox {
        position: absolute;
        top: calc(145 / 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(1660/ 750 * 100%);
    padding-bottom: 0;
    position: relative;
    margin-top: -1px;
  }
  #main .sec04 .txt01{
    top: calc(-165 / 750 *100%);
        padding-left: 4%;
    }

    #main .sec04 .txt01 img {
        margin-top: -10%;
        padding-left: 0;
    }
    #main .sec04 .txt02 {
    padding: 28% 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: 70% 0 0;
        /* margin:0 4%; */
    }
    #main .sec04 .txt04 h4{
    display: flex;
    padding: 0 calc(80 / 750 * 100vw);
        justify-content: center;
    }
    .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;
    }
}
