@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .sec01 {
	position: relative;
}
#main .sec01 .area {
    position: relative;
}
#main .sec01 .area01 p {
    width: 90%;
    position: absolute;
    bottom: 14%;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 3.3rem;
    font-weight: bold;
    line-height: 1.39;
    letter-spacing: 0.02em;
    text-align: center;
}
#main .sec01 .area02 .title {
    margin: 0;
    padding: 0;
    width: 95%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    font-size: 4rem;
    font-feature-settings: "palt";
    line-height: 1;
    font-weight: bold;
    text-align: center;
}
#main .sec01 .area02 .textBox h2 {
     position: absolute;
    color: #3A5AAB;
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.075em
}
#main .sec01 .area02 .textBox p {
    width: 40%;
    position: absolute;
    color: #000;
    /*font-size: 1.6rem;*/
	font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.562;
    letter-spacing: 0.075em;
    text-align: center;
}
#main .sec01 .area02 .textBox01 h2 {
    /*top: 7.75%;*/
	top: 7%;
    right: 23%;;
}
#main .sec01 .area02 .textBox02 h2 {
    /*top: 21%;*/
	top: 18.7%;
    right: 11%;
    letter-spacing: 0;
}
#main .sec01 .area02 .textBox01 p {
    /*top: 11.6%;*/
	top: 10.8%;
    right: 8%;
}
#main .sec01 .area02 .textBox02 p {
    /*top: 24.9%;*/
	top: 22.5%;
    right: 7.8%;
    letter-spacing: 0;
}
#main .sec01 .area02 h3 {
    width: 95%;
    position: absolute;
    top: 44.8%;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    font-size: 4rem;
    font-weight: bold;
    font-feature-settings: "palt";
    line-height: 1;
    text-align: center;
}
#main .sec01 .area02 h3 span {
    margin-top: 20px;
    display: block;
    font-size: 9.2rem;
}
#main .sec01 .area02 .text {
    width: 90%;
    position: absolute;
    bottom: 32.65%;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    font-size: 2.2rem;
    font-feature-settings: "palt";
    font-weight: 500;
    letter-spacing: 0.07em;
}
#main .sec01 .area02 .ctrText {
    width: 90%;
    position: absolute;
    bottom: 26%;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
    font-feature-settings: "palt";
    text-align: center;
}
#main .sec01 .btnList {
    bottom: 1.9%;
}
#main .sec02 .area {
    position: relative;
}
#main .sec02 .area p {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-feature-settings: "palt";
}
#main .sec02 .area .text {
    width: 100%;
    bottom: 11%;
    font-size: 4.5rem;
    line-height:  1;
}
#main .sec02 .area .text small {
    margin-bottom: 20px;
    padding-right: 10px;
    display: block;
    font-size: 3.5rem;
    letter-spacing: 0.075em;
}
#main .sec02 .area .ctrText {
    width: 100%;
    bottom: 1.6%;
    font-size: 3.504rem;
    letter-spacing: 0.075em;
}
#main .sec03 .area {
    position: relative;
}
#main .sec03 .area .text {
    position: absolute;
    color: #000;
    font-size: 3.5rem;
    font-weight: bold;
    letter-spacing: 0.075em;
    font-feature-settings: "palt";
    line-height: 1.285;
}
#main .sec03 .area .text01 {
    top: 37.45%;
    right: 4.6%;
    text-align: right;
}
#main .sec03 .area .text02 {
    top: 53.6%;
    left: 5%;
}
#main .sec03 .area .text03 {
    top: 69.8%;
    right: 4.5%;
    text-align: right;
}
#main .sec03 .area .text04 {
    top: 82.9%;
    left: 4.9%;
}
#main .sec04 {
	position: relative;
}
#main .sec04 iframe {
    position: absolute;
    bottom: 17.85%;
    left: 50%;
    transform: translate(-50%, 0);
    vertical-align: top;
}
#main .sec04 .btnList {
	bottom: 11.82%;
}
#main .sec05 .area {
	position: relative;
}
#main .sec05 .area01 h2 {
	bottom: 14.3%;
    right: 13%;
	text-align: right;
	letter-spacing: 0.075em;
}
#main .sec05 .area01 p {
	width: 75%;
	position: absolute;
	bottom: 1.6%;
	left: 50%;
	transform: translate(-50%, 0);
	font-weight: 500;
}
#main .sec05 .area01 h3 {
    width: 95%;
    position: absolute;
    top: 23.7%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 3.7rem;
    font-weight: bold;
    line-height: 1.432;
    text-align: center;
}
#main .sec05 .area02 h2 {
	top: 14%;
    left: 12.5%;
	letter-spacing: 0.075em;
}
#main .sec05 .area02 .text01 {
	width: 75%;
	position: absolute;
	top: 32.1%;
	left: 50%;
	transform: translate(-50%, 0);
	font-weight: 500;
	font-feature-settings: "palt";
}
#main .sec05 .area02 h3 {
	width: 80%;
    position: absolute;
    bottom: 26.2%;
    left: 50%;
    transform: translate(-50%,0);
    color: #6493CA;
    font-size: 4.5rem;
    font-weight: bold;
    line-height: 1.488;
    letter-spacing: 0.125em;
    font-feature-settings: "palt";
}
#main .sec05 .area02 .text02 {
	width: 50%;
	position: absolute;
	bottom: 12%;
	right: 13%;
	font-weight: 500;
}
#main .sec05 .area03 h2 {
	top: 54.9%;
	right: 13%;
	text-align: right;
    font-feature-settings: "palt";
}
#main .sec05 .area03 p {
	position: absolute;
    width: 76%;
    bottom: 19.8%;
    left: 50%;
	font-weight: 500;
    transform: translate(-50%, 0);
}
#main .sec05 .area04 h2 {
	top: 53.8%;
	right: 13%;
	text-align: right;
	letter-spacing: 0.075em;
	font-feature-settings: "palt";
}
#main .sec05 .area04 p {
	position: absolute;
	width: 75%;
	bottom: 21.9%;
	left: 50%;
	font-weight: 500;
	transform: translate(-50%, 0);
}
#main .sec05 .area05 p {
	position: absolute;
    width: 75%;
    bottom: 6.8%;
    left: 50%;
	font-weight: 500;
    transform: translate(-50%, 0);
}
#main .sec05 .area06 h2 {
	bottom: 33.1%;
    right: 12.6%;
    text-align: right;
	font-feature-settings: "palt";
}
#main .sec05 .area06 p {
	position: absolute;
    width: 75%;
	bottom: 20.5%;
	left: 50%;
	font-weight: 500;
   transform: translateX(-50%);
}
#main .sec06 .textBox {
    position: relative;
}  
#main .sec06 .textBox p {
    width: 75%;
    position: absolute;
    bottom: 4.8%;
    left: 50%;
    transform: translate(-50%, 0);
    color: #000;
    font-weight: 500;
    letter-spacing: 0.07em;
}
#main .sec06 .area {
	position: relative;
}
#main .sec06 .area h2 {
	width: 96%;
    position: absolute;
    bottom: 19.3%;
    left: 50%;
    transform: translate(-50%, 0);
    color: #000;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.75;
	font-feature-settings: "palt";
	text-align: center;
}
#main .sec06 .btnList {
	bottom: 4.1%;
}
#main .sec08 .area {
	position: relative;
}
#main .sec08 .area h2 {
	width: 87%;
    position: absolute;
    top: 12%;
    left: 46.5%;
    transform: translate(-50%, 0);
    font-size: 4.5rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}
#main .sec08 .area h3 {
	position: absolute;
    top: 23.3%;
    right: 17.3%;
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.35;
    text-align: right;
}
#main .sec08 .area h3 em {
	letter-spacing: 0.2em;
	font-style: normal;
}
#main .sec08 .area01 h3 em {
	letter-spacing: 0.01em;
}
#main .sec08 .area h3 span {
	display: block;
	font-size: 2.5rem;
	font-weight: 500;
}
#main .sec08 .area .text01 {
	width: 44.9%;
    position: absolute;
    top: 32%;
    right: 16.5%;
	line-height: 1.5;
}
#main .sec08 .area .text01 span {
    padding: 5px 20px 5px 5px;
	position: relative;
    display: inline-block;
    font-weight: 500;
    line-height: 1.5;
    background-color: #fff;
    z-index: 1;
}
#main .sec08 .area .text01::before {
	width: 96%;
    height: 1px;
    position: absolute;
    top: 49%;
    right: 2%;
    background: #8AB0D7;
    content: "";
}
#main .sec08 .area ul {
	width: 41%;
    position: absolute;
    top: 37.7%;
    right: 20.3%;
}
#main .sec08 .area li {
	margin-bottom: 15px;
	padding-left: 27px;
	position: relative;
	font-weight: 500;
	line-height: 1;
}
#main .sec08 .area li:last-of-type {
	margin-bottom: 0;
}
#main .sec08 .area li::before {
	width: 28px;
	height: 28px;
	position: absolute;
	top: -2px;
	left: 0;
	background: url(../img/index/icon01.png) no-repeat center center / 14px auto;
	content: "";
}
#main .sec08 .area .text02 {
	width: 75%;
    position: absolute;
    bottom: 34.8%;
    left: 46%;
    transform: translate(-50%, 0);
    font-weight: 500;
    letter-spacing: 0.05em;
}
#main .sec08 .area02 h2 {
	width: 80%;
    top: 8.6%;
    left: 54%;
}
#main .sec08 .area02 .corText {
	position: absolute;
	top: 25.5%;
    right: 7%;
	color: #8AB0D7;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.61;
}
#main .sec08 .area02 h3 {
    top: 16.3%;
    right: 8.3%;
}
#main .sec08 .area02 .text01 {
	width: 71%;
    top: 35.2%;
    right: 12.5%;
}
#main .sec08 .area .text01::before {
    width: 100%;
    top: 49%;
    right: auto;
    left: 6%;
}
#main .sec08 .area02 ul {
	width: 80%;
    top: 38.4%;
    right: 3.8%;
}
#main .sec08 .area02 li {
	margin-bottom: 0;
	line-height: 1.6;
	font-feature-settings: "palt";
}
#main .sec08 .area02 li::before {
    top: 5px;
}
#main .sec08 .area .text02 {
	width: 75%;
    position: absolute;
    bottom: 34.8%;
    left: 46%;
    transform: translate(-50%, 0);
    font-weight: 500;
    letter-spacing: 0;
}
#main .sec08 .area02 .text02 {
    width: 77%;
    bottom: 23.5%;
    left: 55.5%;
}
#main .sec08 .area03 h2 {
	width: 83%;
    top: 11.6%;
}
#main .sec08 .area03 h3 {
	top: 21.3%;
}
#main .sec08 .area03 .text01 {
    width: 44.9%;
    top: 28.8%;
}
#main .sec08 .area03 .text01::before {
	width: 93%;
}
#main .sec08 .area03 ul {
    top: 33.5%;
}
#main .sec08 .area03 .text02 {
	width: 75.5%;
    bottom: 29.9%;
}
#main .sec08 .area04 h2 {
	width: 83%;
    top: 10%;
    left: 54%;
}
#main .sec08 .area04 h3 {
	top: 19%;
    right: 8%;
}
#main .sec08 .area04 .text01 {
    width: 44.9%;
    right: 7.2%;
    top: 26%;
}
#main .sec08 .area04 .text01::before {
	width: 93%;
}
#main .sec08 .area04 ul {
    top: 30.5%;
    right: 5%;
    width: 47%;
}
#main .sec08 .area04 .text02 {
	width: 76%;
    bottom: 27.6%;
    left: 55.5%;
    font-feature-settings: "palt";
}
#main .sec08 .area05 h2 {
	width: 75%;
	top: 10.4%;
	left: 45%;
	letter-spacing: 0.02em;
}
#main .sec08 .area05 h3 {
	top: 19.7%;
	right: 17.4%;
}
#main .sec08 .area05 h3 span {
	margin-top: 1px;
	line-height: 1.2;
	font-feature-settings: "palt";
}
#main .sec08 .area05 .text01 {
    right: 17.2%;
    top: 28.3%;
}
#main .sec08 .area05 .text01::before {
	width: 93%;
}
#main .sec08 .area05 .txt01 {
    right: 17%;
    top: 35%;
}
#main .sec08 .area05 ul {
    top: 32.3%;
    right: 15.2%;
    width: 49%;
}
#main .sec08 .area05 .textList {
	top: 38.8%;
    width: 52%;
    right: 12.5%;
}
#main .sec08 .area05 .textList li {
	font-feature-settings: "palt";
}
#main .sec08 .area05 .text02 {
	bottom: 37.2%;
    width: 76%;
    font-feature-settings: "palt";
}
#main .qa {
    padding: 277px 0 100px;
    position: relative;
    background: url(../img/index/bg01.jpg) no-repeat top left / 100% 100%;
}
#main .qa .textImg {
    width: 26%;
    position: absolute;
    top: 9.2%;
    right: 5.5%;
    z-index: 32;
    mix-blend-mode: multiply;
}
#main .qa .textImg img {
    width: 100%;
}
#main .qa ul {
    margin: 0 auto;
    padding-top: 22px;
    width: 84%;
    background-color: #fff;
    border-radius: 20px;
}
#main .qa li {
    padding: 41px 34px 42px 36px;
    box-sizing: border-box;
}
#main .qa li:nth-of-type(2n) {
    background-color: #EDF4F1;
}
#main .qa li:last-of-type {
    margin-bottom: 0;
}
#main .qa li dt {
    margin: 0 0 27px 9px;
    padding-left: 108px;
    color: #55967C;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.075em;
    background: url(../img/index/icon02.png) no-repeat top 7px left / 83px auto;
    font-feature-settings: "palt";
}
#main .qa li dd {
    padding-top: 27px;
    font-weight: 500;
    border-top: 1px solid #55967C;
    font-feature-settings: "palt";
}
#main .qa li dd span {
    color: #DB789A;
}
#main .sec09 {
    position: relative;
}
#main .sec09 p {
    width: 90%;
    position: absolute;
    bottom: 19.5%;
    left: 50%;
    transform: translate(-50%, 0);
    color: #fff;
    font-size: 3.3rem;
    font-weight: bold;
    line-height: 1.39;
    letter-spacing: 0.02em;
    text-align: center;
}
#main .sec09 .btnList {
    bottom: 6.65%;
}
#main .sec10 {
    margin-bottom: 103px;
    padding: 100px 0 66px;
    background: url(../img/index/sec10_bg01.jpg) no-repeat top left / 100% 100%;
}
#main .sec10 h2 {
    margin: 0 auto 28px;
    padding-right: 5px;
    width: 72.7%;
}
#main .sec10 dl {
    margin: 0 auto;
    padding-top: 8px;
    width: 94%;
    position: relative;
}
#main .sec10 dl::before {
    width: 1px;
    height: 94%;
    position: absolute;
    top: 0;
    left: 34%;
    background: #505050;
    content: "";
}
#main .sec10 dt,
#main .sec10 dd {
    font-weight: 500;
    letter-spacing: 0.07em;
}
#main .sec10 dt {
    padding-left: 14px;
    width: 30%;
    float: left;
    clear: left;
    text-align: center;
}
#main .sec10 dd {
    margin-bottom: 15px;
    padding-left: 39.7%;
    font-feature-settings: "palt";
}
#main .sec11 {
    margin-bottom: 93px;
}
#main .sec11 h2 {
    margin: 0 auto 28px;
    padding-right: 5px;
    width: 50.5%;
}
#main .sec11 h2 img {
    width: 100%;
}
#main .sec11 dl {
    margin: 0 auto;
    width: 91%;
}
#main .sec11 dt,
#main .sec11 dd {
    padding: 18px 0 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    box-sizing: border-box;
}
#main .sec11 dt {
    padding-right: 8px;
    width: 33.5%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    float: left;
    clear: left;
    line-height: 1.389;
    letter-spacing: 0.42em;
    text-align: center;
    border-right: 1px solid #505050;
}
#main .sec11 .dtStyle01 {
    padding-bottom: 216px;
    line-height: 1.689;
}
#main .sec11 dt::before {
    width: 34px;
    height: 13px;
    position: absolute;
    bottom: -6px;
    right: -17px;
    background: #fff;
    content: "";
    z-index: 2;
}
#main .sec11 dt:last-of-type::before {
    display: none;
}
#main .sec11 dd {
    padding-left: 39.3%;
    position: relative;
    line-height: 1.689;
    border-bottom: 1px solid #505050;
}
#main .sec11 dd:last-of-type {
    border-bottom: none;
}
#main .sec11 .ddStyle02 {
   padding-top: 33px;
}
#main .sec11 .dtStyle02 {
   padding-top: 30px;
}
#main .sec11 .ddStyle03 {
    padding-bottom: 60px;
}
@media all and (min-width: 897px) {
    #main .sec11 dd a:hover {
        opacity: 0.7;
    }
    #main .sec11 .ddStyle01 a:hover {
        opacity: 1;
    }
}