@charset "utf-8";

body{
    margin:0px auto;
    width: 100%;
    max-width: 1980px;
    font-family:  sans-serif,"Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";

}

.tablet-br{
    display: none;
}

.sp-br{
    display: none;
}


.top{
    margin-bottom: 20px;
    width: 100%;
}

header{
    display: flex !important;
    justify-content: space-between !important;
    width: 100%;
    height: 110px;
    align-items: center !important;
}

h1{
	margin:initial !important;
	margin-left: 10px !important;
}

.top>img{
    width: 100%;
    height: auto;
}

.contact{
    margin-right: 20px;
}

.contact>p{
    margin-bottom: 10px;
    font-size: 30px;
    font-weight: bold;
    color: #707070;
}

.contact>p>span{
    font-size: 17px;
}

.contact>a{
    margin-left: -5px;
    display: block;
    text-align: center;
    width: 317px;
    height: 56px;
    line-height: 56px;
    font-size: 20px;
    font-weight: bold;
    color: white;
    background-color: #6391FF;
}

/*cta-page -------------------------------------------- */
.cta-page{
    padding: 80px 0px;
    width: 100%;
}

.cta-button{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: auto;
    width: 757px;
    height: 134px;
    font-size: 32px;
    font-weight: bold;
    line-height: 140%;
    background-color: #6391FF;
    color: white;
    transition: .6s;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.cta-button.show{
    transform: translateY(0px);
    opacity: 1;
}
.cta-button span {
  position: relative;
  z-index: 3;
  color:white;
}

.cta-button:hover span{
  color:#fff;
}

.bgleft:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background:#333;
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

.bgleft:hover:before{
    transform-origin:left top;
    transform:scale(1, 1);
}

/*data-page -------------------------------------------- */
.data{
    width: 100%;
}

.data-title{
    margin-bottom: 55px;
    text-align: center;
    line-height: 180%;
    font-size: 50px;
    font-weight: bold;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.data-title.show{
    transform: translateY(0px);
    opacity: 1;
}

.data-title>.liner{
    font-size: 60px;
    background:linear-gradient(transparent 60%, #FFD60A 60%);
}

table{
    margin: auto;
    border: 1px solid #707070;
    width: 1732px;
    align-items: center;
}

tr,th,td{
    border: 1px solid #707070;
}

tr{
    height: 166px;
}

th{
    position: relative;
}

th>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
}

td{
    position: relative;
}

td>span{
    position: absolute;
    text-align: center;
    width: 100%;
    font-size: 30px;
    left: 50%;
    top: 50%;
    transform: translate(-50% , -50%);
    color: #707070;
}

tr>.red>span{
    color: #FF0000;
    line-height: 120%;
    font-weight: bold;
}

.color{
    background-color: #DFDFDF;
}

.table>img{
	display: none;
}

/*simulation-page -------------------------------------------- */
.simulation{
    padding: 90px 0px;
    width: 100%;
}

.simulation-title{
    position: relative;
    display: inline-block;
    text-align: center;
    margin-bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 50px;
    font-weight: bold;
    color: #6391FF;
    opacity: 0;
    transition: .6s;
}

.simulation-title.show{
    opacity: 1;
}

.simulation-title>img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 120%;
}

.simulation-flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
}

.simulation-text{
    margin-left: 100px;
    font-size: 30px;
    color: #707070;
}

.simulation-text>span{
    color: #FF0000;
}

.simulation-flex>img{
    display: block;
    margin-right: 70px;
}

.simulation-list{
    position: relative;
    padding: 230px 0px;
    background-color: #6391FF;
}

.simulation-list>img{
    display: block;
    margin: auto;
    transform: translateX(-50px);
    opacity: 0;
    transition: .6s;
}

.simulation-list.show>img{
    transform: translateX(0px);
    opacity: 1;
}

.simulation-list>.example-absolute{
    position: absolute;
    top: 10px;
        transform: translateX(-50px);
    opacity: 0;
    transition: .6s;
}

/*point-page -------------------------------------------- */
.point{
    padding: 100px 0px 0px;
    width: 100%;
}

.point-title{
    display: inline-block;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 50px;
    font-weight: bold;
    color: #707070;
    opacity: 0;
    transition: .6s;
}

.point-title.show{
    opacity: 1;
}


.point-title-sub{
    text-align: center;
    margin-bottom: 100px;
    font-size: 40px;
    font-weight: bold;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.point-title-sub.show{
    transform: translateY(0px);
    opacity: 1;
}

.point-title>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 180%;
}

.point-item{
    width: 100%;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.point-item.show{
    transform: translateY(0px);
    opacity: 1;
}

.point-item-title{
    text-align: center;
    margin:0px auto 50px;
    font-size: 40px;
    font-weight: bold;
    width: 309px;
    height: 78px;
    line-height: 200%;
    background-color: #6391FF;
    color: white;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.point-item-title.show{
    transform: translateY(0px);
    opacity: 1;
}

.point-item-flex{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 50px;
}

.point-text-area{
    width: 45%;
}

.point-text-deco{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 685px;
    font-size: 30px;
    font-weight: bold;
    color: #707070;    
}

.point-text-deco>img{
    width: 100%;
    height: auto;
}

.point-text-deco>span{
    width: 580px;
    line-height: 180%;
}

.point-text{
    padding-left: 20px;
    width: 100%;
    font-size: 30px;
    color: #707070;
    line-height: 150%;
}

.point-text.end{
    margin: auto;
    width: 90%;
    padding-left: initial;
}

.point-item-flex>img{
    width: 45%;
    height: 100%;
}

.point-title.second{
    margin-top: 100px;
}

.point-title-sub.second{
    margin-bottom: 30px;
}

.point-text-2{
    margin-bottom: 50px;
    text-align: center;
    font-size: 40px;
    line-height: 150%;
    color: #707070;
}

.point-3-flex{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 50px;
    width: 100%;
}

.point-3-img{
    width: 50%;
}

.point-3-title{
    text-align: center;
    width: 446px;
    height: 78px;
    line-height: 78px;
    font-size: 40px;
    font-weight: bold;
    color: white;
    background-color: #6391FF;
}

.point-3-img>img{
    width: 100%;
    height: 100%;
}

.point-3-text{
    width: 40%;
    font-size: 40px;
    line-height: 170%;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.point-3-text.show{
    transform: translateY(0px);
    opacity: 1;
}

.point-3-text-end{
    margin: auto;
    font-size: 40px;
    line-height: 170%;
    width: 90%;
    color: #707070;
}

/*cause-page -------------------------------------------- */
.cause{
    width: 100%;
    overflow: hidden;
}

.triangle{
    margin-bottom: 170px;
    position: relative;
    width: 100%;
    height: 170px;
    border-style: solid;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 170px solid #6391FF;
    border-bottom: 0;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.triangle.show{
    transform: translateY(0px);
    opacity: 1;
}

.triangle>p{
    position: absolute;
    text-align: center;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 450px;
    font-size: 64px;
    color: white;
}

.cause-title{
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    font-size: 48px;
    color: white;
    opacity: 0;
    transition: .6s;
}

.cause-title.show{
    opacity: 1;
}

.cause-title>img{
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.cause-list{
    position: relative;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    padding: 250px 0px 100px;
    width: 100%;
    height: auto;
    background-color: #6391FF;
}

.cause-list>img{
    position: absolute;
    top: -20px;
    left: 0px;
    z-index: 10;
}

.cause-item{
    position: relative;
    margin-bottom: 50px;
    width: 834px;
    height: 557px;
    transform: translateX(-50px);
    opacity: 0;
    transition: .6s;
}

.cause-item.show{
    transform: translateX(0px);
    opacity: 1;
}

.cause-item>img{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.cause-item-text-area{
    position: absolute;
    width: 100%;
    left: 10px;
    bottom: 50px;
}

.cause-item-text-area>h3{
    margin-bottom: 20px;
    font-size: 30px;
    color: white;
}

.cause-item-text-area>p{
    width: 90%;
    font-size: 20px;
    line-height: 150%;
    color: white;    
}

/*catch-page -------------------------------------------- */
.catch{
    padding: 100px 0px 0px;
    width: 100%;
}

.catch-titile{
    text-align: center;
    margin-bottom: 100px;
    font-size: 45px;
    font-weight: bold;
    color: #707070;
    transform: translateX(-50px);
    opacity: 0;
    transition: .6s;
}

.catch-titile.show{
    transform: translateX(0px);
    opacity: 1;
}

.catch-titile>span{
    font-size: 60px;
    color: #FF0000;
    background:linear-gradient(transparent 60%, #FFD60A 60%);
}

.catch-triangle{
    display: block;
    margin: auto;
    width: 673px;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.catch-triangle.show{
    transform: translateY(0px);
    opacity: 1;
}

/*flow-page -------------------------------------------- */
.flow{
    padding: 100px 0px;
    width: 100%;
    overflow: hidden;
}

.flow-title{
    position: relative;
    display: inline-block;
    margin-bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 64px;
    font-weight: bold;
    color: #707070;
    opacity: 0;
    transition: .6s;
}

.flow-title.show{
    opacity: 1;
}

.flow-title>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 130%;
}

.flow-text{
    text-align: center;
    margin-bottom: 50px;
    font-size: 25px;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.flow-text.show{
    transform: translateY(0px);
    opacity: 1;
}

.side-bar{
    margin-left: auto;
    margin-right: 0px;
    margin-bottom: 50px;
    text-align: center;
    width: 566px;
    height: 142px;
    line-height: 142px;
    font-size: 30px;
    background-color: #6391FF;
    color: white;
    transform: translateX(100%);
    transition: .6s;
}

.side-bar.show{
    transform: translateX(0%);
}

.flow-list{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
}

.flow-item{
    padding: 48px 0px;
    width: 473px;
    margin-bottom: 50px;
    border: 1px solid #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.flow-item.show{
    transform: translateY(0px);
    opacity: 1;
}

.flow-item>img{
    display: block;
    margin:0px auto 30px;
    width: 272px;
    height: 260px;
}

.flow-item>p{
    text-align: center;
    font-size: 25px;
    color: #6391FF;
}

.flow-triangle{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 27px solid transparent;
    border-bottom: 27px solid transparent;
    border-left: 47px solid #6391ff;
    border-right: 0;
}

/*qa-page -------------------------------------------- */
.qa-page{
    padding: 0px 50px;
}

.qa-title{
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 64px;
    font-weight: bold;
    color: #707070;
    opacity: 0;
    transition: .6s;
}

.qa-title.show{
    opacity: 1;
}

.qa-title>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 250%;
}

.qa-title-sub{
    text-align: center;
    margin-bottom: 50px;
    font-size: 40px;
    font-weight: bold;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.qa-title-sub.show{
    transform: translateY(0px);
    opacity: 1;
}

.qa-list{
    margin: auto;
    width: 90%;
}

.q{
    position: relative;
    margin-bottom: 50px;
    padding-left: 100px;
    font-size: 30px;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.q.show{
    transform: translateY(0px);
    opacity: 1;
}

.q::before{
    content: "Q";
    position: absolute;
    display: block;
    text-align: center;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 80px;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background-color: #6391FF;
    color: white;
}

.a{
    position: relative;
    margin-bottom: 100px;
    padding-left: 100px;
    font-size: 30px;
    color: #707070;
    transform: translateY(-50px);
    opacity: 0;
    transition: .6s;
}

.a.show{
    transform: translateY(0px);
    opacity: 1;
}

.a::before{
    content: "A";
    position: absolute;
    display: block;
    text-align: center;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 80px;
    width: 80px;
    height: 80px;
    font-size: 40px;
    border-radius: 20px;
    color: #6391FF;
    background-color: white;
    border: #6391FF 1px solid;
}

/*contactform -------------------------------------------- */
.contactform{
    padding: 100px 0px;
    width: 100%;
}

.contactform>.qa-title{
	margin-bottom:70px;
}

.contactform>.qa-title>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 150%;
}


/*footer -------------------------------------------- */

footer{
    padding: 100px 0px;
    width: 100%;
    background-image: url(img/footer-back.png);
    background-size: cover;
}

footer>ul{
    width: fit-content;
    margin: auto;
    font-size: 20px;
    text-align: center;
    color: white;
}

footer>ul>li{
    line-height: 150%;
    margin-bottom: 30px;
}

footer>ul>li.end{
    margin-bottom: initial;
}

@media(max-width:1900px){
header{
    height: 90px;
}

h1{
    width: 200px;
}

h1>img{
    width: 100%;
}

.contact{
    margin-right: 20px;
}

.contact>p{
    font-size: 25px;
}

.contact>p>span{
    font-size: 13px;
}

.contact>a{
    margin-left: -8px;
    width: 270px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
}

/*cta-page -------------------------------------------- */
.cta-page{
    padding: 50px 0px;
}

.cta-button{
    width:700px;
    height: 120px;
    font-size: 30px;
}
/*data-page -------------------------------------------- */
.data{
    width: 100%;
}

.data-title{
    font-size: 40px;
}

.data-title>.liner{
    font-size: 50px;
}

table{
    margin: auto;
    border: 1px solid #707070;
    width: 1300px !important;
}

tr{
    height: 166px !important;
}

th{
    position: relative !important;
}

th>img{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 200px !important;
}

td{
    position: relative !important;
}

td>span{
    position: absolute !important;
    text-align: center !important;
    width: 100% !important;
    font-size: 23px !important;
}

tr>.red>span{
    color: #FF0000 !important;
    line-height: 120% !important;
    font-weight: bold !important;
}

/*simulation-page -------------------------------------------- */
.simulation{
    padding: 90px 0px 0px;
}

.simulation-title{
    font-size: 40px;
}

.simulation-text{
    margin-left: 10px;
    font-size: 25px;
}

.simulation-flex>img{
    width: 550px;
    margin-right: 10px;
}

.simulation-list{
    padding: 200px 0px 100px;
}

.simulation-list>img{
    display: block;
    margin: auto;
    width: 80%;
}

.simulation-list>.example-absolute{
    position: absolute;
    top: 10px;
    width: 480px;
}

/*point-page -------------------------------------------- */
.point{
    padding: 100px 0px 0px;
    width: 100%;
}

.point-title{
    margin-bottom: 30px;
    font-size: 40px;
}

.point-title-sub{
    margin-bottom: 100px;
    font-size: 40px;
}

.point-item-title{
    font-size: 35px;
    width: 260px;
    height: 60px;
    line-height: 60px;
}

.point-text-area{
    width: 45%;
}

.point-text-deco{
    width: 600px;
    font-size: 25px;   
}

.point-text-deco>img{
    width: 100%;
    height: auto;
}

.point-text-deco>span{
    width: 500px;
    line-height: 180%;
}

.point-text{
    font-size: 20px;
}

.point-text.end{
    margin: auto;
    width: 90%;
    padding-left: initial;
}


.point-title.second{
    margin-top: 100px;
}

.point-title-sub.second{
    margin-bottom: 30px;
}

.point-text-2{
    font-size: 30px;
}

.point-3-flex{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 50px;
    width: 100%;
}

.point-3-img{
    width: 50%;
}

.point-3-title{
    text-align: center;
    width: 300px;
    height: 60px;
    line-height: 60px;
    font-size: 30px;
    font-weight: bold;
    color: white;
    background-color: #6391FF;
}

.point-3-img>img{
    width: 100%;
    height: 100%;
}

.point-3-text{
    width: 40%;
    font-size: 25px;
    line-height: 170%;
    color: #707070;
}

.point-3-text-end{
    margin: auto;
    font-size: 30px;
    line-height: 170%;
    width: 90%;
    color: #707070;
}

/*cause-page -------------------------------------------- */
.cause{
    padding-top: 100px;
    width: 100%;
    overflow: hidden;
}

.triangle{
    margin-bottom: 170px;
    position: relative;
    width: 100%;
    height: 150px;
    border-style: solid;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 130px solid #6391FF;
    border-bottom: 0;
}

.triangle>p{
    position: absolute;
    text-align: center;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 450px;
    font-size: 50px;
    color: white;
}

.cause-title{
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    font-size: 40px;
    color: white;
}

.cause-title>img{
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.cause-list{
    position: relative;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    padding: 200px 0px 100px;
    width: 100%;
    height: auto;
}

.cause-list>img{
    position: absolute;
    width: 350px;
    top: -20px;
    left: 0px;
    z-index: 10;
}

.cause-item{
    position: relative;
    margin-bottom: 50px;
    width: 650px;
    height: 450px;
}

.cause-item>img{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cause-item-text-area{
    position: absolute;
    width: 100%;
    left: 10px;
    bottom: 50px;
}

.cause-item-text-area>h3{
    margin-bottom: 20px;
    font-size: 30px;
    color: white;
}

.cause-item-text-area>p{
    width: 90%;
    font-size: 20px;
    line-height: 150%;
    color: white;    
}

/*catch-page -------------------------------------------- */
.catch{
    padding: 100px 0px 60px;
    width: 100%;
}

.catch-titile{
    font-size: 40px;
}

.catch-titile>span{
    font-size: 50px;
}

.catch-triangle{
    display: block;
    margin: auto;
    width: 500px;
}

/*flow-page -------------------------------------------- */
.flow{
    padding: 100px 0px;
    width: 100%;
}

.flow-title{
    font-size: 40px;
}

.flow-text{
    margin-bottom: 50px;
    font-size: 25px;
}

.side-bar{
    width: 500px;
    height: 100px;
    line-height: 100px;
    font-size: 30px;
}

.flow-item{
    width: 400px;
}

.flow-item>img{
    display: block;
    margin:0px auto 30px;
    width: 272px;
    height: 260px;
}

.flow-item>p{
    font-size: 25px;
}

.flow-triangle{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 40px solid #6391ff;
    border-right: 0;
}

/*qa-page -------------------------------------------- */
.qa-page{
    padding: 0px 50px;
}

.qa-title{
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 40px;
    font-weight: bold;
    color: #707070;
}

.qa-title>img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 250%;
}

.qa-title-sub{
    text-align: center;
    margin-bottom: 50px;
    font-size: 30px;
    font-weight: bold;
    color: #707070;
}

.qa-list{
    margin: auto;
    width: 90%;
}

.q{
    position: relative;
    margin-bottom: 50px;
    padding-left: 100px;
    font-size: 30px;
    color: #707070;
}

.q::before{
    content: "Q";
    position: absolute;
    display: block;
    text-align: center;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 80px;
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background-color: #6391FF;
    color: white;
}

.a{
    position: relative;
    margin-bottom: 100px;
    padding-left: 100px;
    font-size: 30px;
    color: #707070;
}

.a::before{
    content: "A";
    position: absolute;
    display: block;
    text-align: center;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    line-height: 80px;
    width: 80px;
    height: 80px;
    font-size: 40px;
    border-radius: 20px;
}
	
.contactform>.qa-title{
	margin-bottom:60px;
}

}

@media(max-width:1365px){
    .tablet-br{
        display: block;
    }

    header{
        height: 110px;
    }
    
    h1{
        margin-left: 10px;
        width: 130px;
    }
    
    h1>img{
        width: 100%;
    }
    
    .contact{
        margin-right: 20px;
    }
    
    .contact>p{
        text-align: center;
        font-size: 20px;
    }
    
    .contact>p>span{
        font-size: 13px;
    }
    
    .contact>a{
        margin-left: auto;
        margin-right: 0px;
        width: 210px;
        height: 40px;
        line-height: 40px;
        font-size: 18px;
    }
    
    /*cta-page -------------------------------------------- */
    .cta-page{
        padding: 50px 0px;
    }
    
    .cta-button{
        width:600px;
        height: 100px;
        font-size: 30px;
    }
    /*data-page -------------------------------------------- */
    .data{
        width: 100%;
    }
    
    .data-title{
        font-size: 30px;
    }
    
    .data-title>.liner{
        font-size: 40px;
    }
	
	.table{
		margin: auto;
		display: block;
		width:700px;
	}
	
	.table>img{
		width:100%;
		height: auto;
	}
    
    table{
		display: none;
        margin: auto;
        border: 1px solid #707070;
        width: 700px  !important;
    }
    
    tr{
        height: 130px !important;
    }
    
    th{
        position: relative;
    }
    
    th>img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100px !important;
    }
    
    td{
        position: relative;
    }
    
    td>span{
        position: absolute !important;
        text-align: center !important;
        width: 100% !important;
        font-size: 18px !important;
    }
    
    tr>.red>span{
        color: #FF0000 !important;
        line-height: 120% !important;
        font-weight: bold !important;
    }
    
    /*simulation-page -------------------------------------------- */
    .simulation{
        padding: 90px 0px 0px;
    }
    
    .simulation-title{
        font-size: 40px;
    }
    
    .simulation-text{
        margin-left: 10px;
        font-size: 20px;
    }
    
    .simulation-flex>img{
        width: 250px;
        margin-right: 10px;
    }
    
    .simulation-list{
        padding: 120px 0px 120px;
    }
    
    .simulation-list>img{
        display: block;
        margin: auto;
        width: 85%;
    }
    
    .simulation-list>.example-absolute{
        position: absolute;
        top: 10px;
        width: 250px;
    }
    
    /*point-page -------------------------------------------- */
    .point{
        padding: 100px 0px 0px;
        width: 100%;
    }
    
    .point-title{
        margin-bottom: 30px;
        font-size: 40px;
    }
    
    .point-title-sub{
        margin-bottom: 100px;
        font-size: 30px;
    }
    
    .point-item-title{
        font-size: 35px;
        width: 260px;
        height: 60px;
        line-height: 60px;
    }

    .point-item-flex{
        flex-direction: column;
    }
    
    .point-text-area{
        width: 90%;
    }
    
    .point-text-deco{
        text-align: center;
        margin:0px auto 50px;
        width: 600px;
        font-size: 25px;   
    }
    
    .point-text-deco>img{
        width: 100%;
        height: auto;
    }
    
    .point-text-deco>span{
        width: 500px;
        line-height: 180%;
    }
    
    .point-text{
        margin-bottom: 50px;
        font-size: 20px;
    }

    .point-item-flex>img{
        width: 80%;
    }
    
    .point-text.end{
        margin: auto;
        width: 90%;
        padding-left: initial;
    }
    
    
    .point-title.second{
        margin-top: 100px;
    }
    
    .point-title-sub.second{
        margin-bottom: 30px;
    }
    
    .point-text-2{
        font-size: 20px;
    }
    
    .point-3-flex{
        display: flex;
        justify-content: space-evenly;
        flex-direction: column;
        align-items: center;
        margin-bottom: 30px;
        width: 100%;
    }
    
    .point-3-img{
        display: block;
        margin-bottom: 30px;
        width: 80%;
    }
    
    .point-3-title{
        text-align: center;
        width: 300px;
        height: 60px;
        line-height: 60px;
        margin-left: initial;
        margin: auto;
        font-size: 30px;
        font-weight: bold;
        color: white;
        background-color: #6391FF;
    }
    
    .point-3-img>img{
        width: 100%;
        height: 100%;
    }
    
    .point-3-text{
        text-align: center;
        width: 80%;
        font-size: 20px;
        line-height: 170%;
        color: #707070;
    }

    .point-3-text>p>br{
        display: none;
    }

    .point-3-text>p>.tablet-br{
        display: block;
    }
    
    .point-3-text-end{
        text-align: center;
        margin: auto;
        font-size: 25px;
        line-height: 170%;
        width: 90%;
        color: #707070;
    }
    
    /*cause-page -------------------------------------------- */
    .cause{
        padding-top: 60px;
        width: 100%;
        overflow: hidden;
    }
    
    .triangle{
        margin-bottom: 170px;
        position: relative;
        width: 100%;
        height: 100px;
        border-style: solid;
        border-right: 50vw solid transparent;
        border-left: 50vw solid transparent;
        border-top: 100px solid #6391FF;
        border-bottom: 0;
    }
    
    .triangle>p{
        position: absolute;
        text-align: center;
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        width: 450px;
        font-size: 40px;
        color: white;
    }
    
    .cause-title{
        position: relative;
        display: inline-block;
        padding-bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 40px;
        color: white;
    }

    
    .cause-list{
        position: relative;
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
        padding: 150px 0px 100px;
        width: 100%;
        height: auto;
    }
    
    .cause-list>img{
        position: absolute;
        width: 220px;
        top:-0px;
        left: 0px;
        z-index: 10;
    }
    
    .cause-item{
        position: relative;
        margin-bottom: 50px;
        width: 650px;
        height: 450px;
    }
    
    .cause-item>img{
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .cause-item-text-area{
        position: absolute;
        width: 100%;
        left: 10px;
        bottom: 50px;
    }
    
    .cause-item-text-area>h3{
        margin-bottom: 20px;
        font-size: 30px;
        color: white;
    }
    
    .cause-item-text-area>p{
        width: 90%;
        font-size: 20px;
        line-height: 150%;
        color: white;    
    }

    /*catch-page -------------------------------------------- */
    .catch{
        padding: 100px 0px30px;
        width: 100%;
    }
    
    .catch-titile{
        font-size: 30px;
    }
    
    .catch-titile>span{
        font-size: 40px;
    }
    
    .catch-triangle{
        display: block;
        margin: auto;
        width: 400px;
    }
    
    /*flow-page -------------------------------------------- */
    .flow{
        padding: 100px 0px;
        width: 100%;
    }
    
    .flow-title{
        font-size: 40px;
    }
    
    .flow-text{
        margin-bottom: 50px;
        font-size: 20px;
    }
    
    .side-bar{
        width: 420px;
        height: 70px;
        line-height: 70px;
        font-size: 25px;
    }

    .flow-list{
        flex-direction: column;
    }
    
    .flow-item{
        width: 400px;
    }
    
    .flow-item>img{
        display: block;
        margin:0px auto 30px;
        width: 272px;
        height: 260px;
    }
    
    .flow-item>p{
        font-size: 25px;
    }
    
    .flow-triangle{
        transform: rotate(90deg);
        margin-bottom: 50px;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 40px solid #6391ff;
        border-right: 0;
    }
    
    /*qa-page -------------------------------------------- */
    .qa-page{
        padding: 0px 50px;
    }
    
    .qa-title{
        position: relative;
        display: inline-block;
        margin-bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 40px;
        font-weight: bold;
        color: #707070;
    }
    
    .qa-title>img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 250%;
    }
    
    .qa-title-sub{
        text-align: center;
        margin-bottom: 50px;
        font-size: 30px;
        font-weight: bold;
        color: #707070;
    }
    
    .qa-list{
        margin: auto;
        width: 90%;
    }
    
    .q{
        position: relative;
        margin-bottom: 50px;
        padding-left: 100px;
        font-size: 30px;
        color: #707070;
    }
    
    .q::before{
        content: "Q";
        position: absolute;
        display: block;
        text-align: center;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
        line-height: 80px;
        width: 80px;
        height: 80px;
        border-radius: 20px;
        background-color: #6391FF;
        color: white;
    }
    
    .a{
        position: relative;
        margin-bottom: 100px;
        padding-left: 100px;
        font-size: 30px;
        color: #707070;
    }
    
    .a::before{
        content: "A";
        position: absolute;
        display: block;
        text-align: center;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
        line-height: 80px;
        width: 80px;
        height: 80px;
        font-size: 40px;
        border-radius: 20px;
    }
    
}

@media(max-width:767px){
    .sp-br{
        display: block;
    }

    header{
        height: 80px;
    }
    
    h1{
        margin-left: 10px;
        width: 100px;
    }
    
    h1>img{
        width: 100%;
    }
    
    .contact{
        margin-right: 5px;
    }
    
    .contact>p{
        text-align: center;
        font-size: 15px;
    }
    
    .contact>p>span{
        font-size: 13px;
    }
    
    .contact>a{
        margin-left: auto;
        margin-right: 0px;
        width: 150px;
        height: 25px;
        line-height: 25px;
        font-size: 12px;
    }
    
    /*cta-page -------------------------------------------- */
    .cta-page{
        padding: 30px 0px;
    }
    
    .cta-button{
        width:290px;
        height: 60px;
        font-size: 17px;
    }
    /*data-page -------------------------------------------- */
    .data{
        width: 100%;
    }
    
    .data-title{
        margin-bottom: 30px;
        font-size: 18px;
    }
    
    .data-title>.liner{
        font-size: 25px;
    }
    
    table{
		display: none !important;
        margin: auto !important;
        border: 1px solid #707070 !important;
        width: 610px !important;
    }

    .table{
		width:100% !important;
		overflow-x:scroll !important;
    }
   
	.table>img{
		display:block;
		margin:auto !important;
		width:500px !important;
	}
	
    tr{
        height: 80px !important;
    }
    
    th{
        position: relative !important;
    }
    
    th>img{
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 50px !important;
    }
    
    td{
        position: relative !important;
		  display: inline !important;
		  width:30% !important;
    }
    
    td>span{
        position: absolute !important;
        text-align: center !important;
        width: 100% !important;
        font-size: 15px !important;
    }
    
    tr>.red>span{
        color: #FF0000 !important;
        line-height: 120% !important;
        font-weight: bold !important;
    }

    /*simulation-page -------------------------------------------- */
    .simulation{
        padding: 50px 0px 0px;
    }
    
    .simulation-title{
        margin-bottom: 40px;
        font-size: 23px;
    }
    
    .simulation-text{
        text-align: center;
        margin-left: initial;
        margin: auto;
        margin-bottom: 20px;
        font-size: 15px;
    }

    .simulation-flex{
        flex-direction: column;
    }
    
    .simulation-flex>img{
        width: 250px;
        margin-right: initial;
        margin:0px auto 20px;
    }
    
    .simulation-list{
        padding: 60px 0px 60px;
    }
    
    .simulation-list>img{
        display: block;
        margin: auto;
        width: 90%;
    }
    
    .simulation-list>.example-absolute{
        position: absolute;
        top: 10px;
        width: 110px;
    }
    
    /*point-page -------------------------------------------- */
    .point{
        padding: 50px 0px 0px;
        width: 100%;
    }
    
    .point-title{
        margin-bottom: 10px;
        font-size: 25px;
    }
    
    .point-title-sub{
        margin-bottom: 30px;
        font-size: 20px;
    }
    
    .point-item-title{
        margin-bottom: 20px;
        font-size: 20px;
        width: 120px;
        height: 40px;
        line-height: 40px;
    }

    .point-item:nth-of-type(2)>.point-item-title{
        margin-bottom: 30px;
    }

    .point-item-flex{
        flex-direction: column;
    }

    .point-item:nth-of-type(2)>.point-item-flex{
        margin-bottom: 25px;
    }
    
    .point-text-area{
        width: 90%;
    }
    
    .point-text-deco{
        text-align: center;
        margin:0px auto 30px;
        width: 280px;
        font-size: 15px;   
    }
    
    .point-text-deco>img{
        width: 100%;
        height: auto;
    }
    
    .point-text-deco>span{
        width: 300px;
        line-height: 180%;
    }
    
    .point-text{
        padding-left: initial;
        margin-bottom: 30px;
        font-size: 15px;
    }

    .point-item-flex>img{
        width: 80%;
    }
    
    .point-text.end{
        margin: auto;
        width: 90%;
        padding-left: initial;
    }
    
    
    .point-title.second{
        margin-top: 50px;
    }
    
    .point-title-sub.second{
        margin-bottom: 30px;
    }
    
    .point-text-2{
        margin: auto;
        width: 90%;
        font-size: 15px;
    }
    
    .point-3-flex{
        display: flex;
        justify-content: space-evenly;
        flex-direction: column;
        align-items: center;
        margin-bottom: 30px;
        width: 100%;
    }
    
    .point-3-img{
        display: block;
        margin-bottom: 30px;
        width: 80%;
    }
    
    .point-3-title{
        text-align: center;
        width: 120px;
        height: 40px;
        line-height: 40px;
        margin-left: initial;
        margin: 30px auto 0px;
        font-size: 18px;
        font-weight: bold;
        color: white;
        background-color: #6391FF;
    }
    
    .point-3-img>img{
        width: 100%;
        height: 100%;
    }
    
    .point-3-text{
        text-align: left;
        width: 80%;
        font-size: 15px;
        line-height: 170%;
        color: #707070;
    }

    .point-3-text>p>br{
        display: none;
    }

    .point-3-text>p>.tablet-br{
        display: block;
    }

    .point-3-text>p>.sp-br{
        display: block;
    }
    
    .point-3-text-end{
        text-align: center;
        margin: auto;
        font-size: 15px;
        line-height: 170%;
        width: 90%;
        color: #707070;
    }
    
    /*cause-page -------------------------------------------- */
    .cause{
        padding-top: 30px;
        width: 100%;
        overflow: hidden;
    }
    
    .triangle{
        margin-bottom: 70px;
        position: relative;
        width: 100%;
        height: 70px;
        border-style: solid;
        border-right: 47vw solid transparent;
        border-left: 47vw solid transparent;
        border-top: 70px solid #6391FF;
        border-bottom: 0;
    }
    
    .triangle>p{
        position: absolute;
        text-align: center;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%);
        width: 200px;
        font-size: 20px;
        color: white;
    }
    
    .cause-title{
        position: relative;
        display: inline-block;
        padding-bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 18px;
        color: white;
    }

    .cause-title>img{
        width: 290px;
        bottom: 0px;
    }
    
    .cause-list{
        position: relative;
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
        padding: 80px 0px 30px;
        width: 100%;
        height: auto;
    }
    
    .cause-list>img{
        position: absolute;
        width: 120px;
        top:-0px;
        left: 0px;
        z-index: 10;
    }
    
    .cause-item{
        position: relative;
        margin-bottom: 50px;
        width: 290px;
        height: 290px;
    }
    
    .cause-item>img{
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .cause-item:nth-of-type(1)>.cause-item-text-area{
        bottom: 50px;
    }
    
    .cause-item-text-area{
        position: absolute;
        width: 280px;
        left: 10px;
        bottom: 10px;
    }
    
    .cause-item-text-area>h3{
        width: 100%;
        margin-bottom: 10px;
        font-size: 17px;
        color: white;
    }
    
    .cause-item-text-area>p{
        width: 90%;
        font-size: 14px;
        line-height: 150%;
        color: white;    
    }

    /*catch-page -------------------------------------------- */
    .catch{
        padding: 60px 0px 30px;
        width: 100%;
    }
    
    .catch-titile{
        margin-bottom: 50px;
        font-size: 18px;
    }
    
    .catch-titile>span{
        font-size: 22px;
    }
    
    .catch-triangle{
        display: block;
        margin: auto;
        width: 200px;
    }
    
    /*flow-page -------------------------------------------- */
    .flow{
        padding: 50px 0px;
        width: 100%;
    }
    
    .flow-title{
        margin-bottom: 30px;
        font-size: 25px;
    }
    
    .flow-text{
        margin-bottom: 30px;
        font-size: 15px;
    }
    
    .side-bar{
        margin-bottom: 20px;
        width: 240px;
        height: 40px;
        line-height: 40px;
        font-size: 15px;
    }

    .flow-list{
        flex-direction: column;
    }
    
    .flow-item{
        margin-bottom: 30px;
        padding: 20px 0px;
        width: 280px;
    }
    
    .flow-item>img{
        display: block;
        margin:0px auto 30px;
        width: 200px;
        height: 160px;
    }
    
    .flow-item>p{
        font-size: 20px;
    }
    
    .flow-triangle{
        transform: rotate(90deg);
        margin-bottom: 30px;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 40px solid #6391ff;
        border-right: 0;
    }
    
    /*qa-page -------------------------------------------- */
    .qa-page{
        padding: 0px 0px;
    }
    
    .qa-title{
        position: relative;
        display: inline-block;
        margin-bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 25px;
        font-weight: bold;
        color: #707070;
    }
    
    .qa-title>img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 250%;
    }
    
    .qa-title-sub{
        text-align: center;
        margin-bottom: 50px;
        font-size: 20px;
        font-weight: bold;
        color: #707070;
    }
    
    .qa-list{
        margin: auto;
        width: 90%;
    }
    
    .q{
        position: relative;
        margin-bottom: 50px;
        padding-left: 50px;
        font-size: 15px;
        color: #707070;
    }
    
    .q::before{
        content: "Q";
        position: absolute;
        display: block;
        text-align: center;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
        line-height: 40px;
        width: 40px;
        height: 40px;
        border-radius: 5px;
        background-color: #6391FF;
        color: white;
    }
    
    .a{
        position: relative;
        margin-bottom: 80px;
        padding-left: 50px;
        font-size: 15px;
        color: #707070;
    }
    
    .a::before{
        content: "A";
        position: absolute;
        display: block;
        text-align: center;
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
        line-height: 40px;
        width: 40px;
        height: 40px;
        border-radius: 5px;
        font-size: 20px;
    }
	
	.contactform>.qa-title{
	margin-bottom:40px;
}
    
    footer>ul{
        font-size: 15px;
    }
}