@charset "utf-8";

/* ==================================================

 - index.css

================================================== */

/* ---------------------------------------- 

 - body

---------------------------------------- */
html, body {
	height: 100%;
}

/* ---------------------------------------- 

 - .pc .sp

---------------------------------------- */
.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 768px) {
.pc {
    display: none;
}
.sp {
    display: block;
}
}


/* ---------------------------------------- 

 - a

---------------------------------------- */
a {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}


/* ---------------------------------------- 

 - #Container

---------------------------------------- */
#Container {
    padding-top: 90px;
}
@media screen and (max-width: 768px) {
#Container {
    padding-top: 60px;
}

}

/* ----------------------------------------

 - .wrapper

---------------------------------------- */
.wrapper {
    margin: 0 auto;
	max-width: 900px;
}
@media screen and (max-width: 768px) {
.wrapper {
	max-width: 92%;
}
}


/* ----------------------------------------

 - #MainImage

---------------------------------------- */
#MainImage .wrapper {
    max-width: inherit;
    overflow: hidden;
    position: relative;
    width: 100%;
}
#MainImage h1 {
    position: absolute;
        left: 11.20%;
        top: 100px;
    z-index: 10;
    width: 34.06%;
}
#MainImage h1 img {
    width: 100%;
}
#MainImage ul.slider {
    width: 100% !important;
}
#MainImage ul.slider img {
    width: 100%;
}
@media screen and (max-width: 768px) {
#MainImage h1 {
    position: absolute;
        left: 50%;
        top: 10.71%;
    width: 74.67%;
    transform: translateX(-50%);
}
#MainImage ul.slider {
    width: 100% !important;
}
#MainImage ul.slider img {
    width: 100%;
}
}


/* ----------------------------------------

 - #Contents

---------------------------------------- */
#Contents {
    padding: 0 0 100px;
}
@media screen and (max-width: 768px) {
#Contents {
    padding: 0 0 70px;
}
}

/* ----------------------------------------

 - #sec01

---------------------------------------- */
#sec01 .wrapper {
    padding: 45px 0 150px;
}
#sec01 p.txt {
    text-align: center;
}
#sec01 p.txt img {
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
#sec01 a {
    background: #001B63;
    border: solid 1px #001B63;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: bold;
    margin: 0 auto 90px;
    position: relative;
    width: 310px;
    height: 40px;
    transition: 0.3s ease-out;
}
#sec01 p.txt img {
    width: 100%;
}
}

/* ----------------------------------------

 - #sec02

---------------------------------------- */
#sec02 .wrapper {
    padding: 0 0 150px;
}
#sec02 dl {
    display: flex;
        justify-content: center;
    margin: 0 auto 85px;
}
#sec02 dl:last-of-type {
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
#sec02 .wrapper {
    padding: 0 0 150px;
    width: 92%;
}
#sec02 dl {
    display: block;
    margin: 0 auto 100px;
}
#sec02 dl dt {
    margin-bottom: 25px;
}
#sec02 dl dt img {
    width: 100%;
}
#sec02 dl dd img {
    width: 100%;
}
}

/* ----------------------------------------

 - #sec03

---------------------------------------- */
#sec03 .wrapper {
    display: flex;
    padding: 0 0 150px;
}
#sec03 .wrapper p.txt {
    padding-left: 50px;
}
#sec03 .wrapper p.txt img {
    width: 100%;
}
@media screen and (max-width: 768px) {
#sec03 .wrapper {
    display: block;
    padding: 0 0 150px;
}
#sec03 .wrapper p.img {
    border-radius: 20px;
    margin-bottom: 40px;
    overflow: hidden;
}
#sec03 .wrapper p.img img {
    width: 100%;
}
#sec03 .wrapper p.txt {
    padding: 0;
}
#sec03 .wrapper p.txt img {
    width: 100%;
}
}


/* ----------------------------------------

 - #sec04

---------------------------------------- */
#sec04 .wrapper {
    margin: 0 auto;
    padding: 0 0 90px;
}
#sec04 h2 {
    margin-bottom: 54px;
    text-align: center;
}
#sec04 p {
    display: flex;
    margin: 0 auto 50px;
    padding-left: 150px;
    width: 717px;
}
#sec04 p:nth-of-type(3) {
    margin: 0 auto 30px;
}
#sec04 p > span.icon {
    display: block;
    position: relative;
    width: 110px;
}
#sec04 p > span.icon img {
    display: inline-block;
    position: relative;
        left: 50%;
        top: 12px;
    transform: translateX(-50%);
}
#sec04 p > span.txtBox {
    display: block;
    position: relative;
    text-align: left;
    width: 457px;
}
#sec04 p > span.txtBox span.step {
    display: block;
    margin-bottom: 10px;
    width: 100%;
}
#sec04 p > span.txtBox span.txtBoxInner {
    display: block;
    position: relative;
        left: 50%;
        top: 50%;
    transform: translate(-50%,-50%);
}
#sec04 p:nth-of-type(4) > span.txtBox span.txtBoxInner {
    transform: translate(-50%,120%);
}
@media screen and (max-width: 768px) {
#sec04 h2 {
    margin: 0 auto 70px;
    text-align: center;
    width: 81.73%;
}
#sec04 h2 img {
    width: 100%;
}
#sec04 p {
    display: flex;
    margin: 0 auto 35px;
    padding-left: 0;
    width: 100%;
}
#sec04 p:nth-of-type(3) {
    margin-bottom: 10px;
}
#sec04 p > span.icon {
    width: 31.89%;
}
#sec04 p > span.icon img {
    width: 100%;
}
#sec04 p > span.txtBox {
    width: 68.11%;
}
#sec04 p > span.txtBox span.img img {
    width: 100%;
}
#sec04 p:nth-of-type(4) > span.txtBox span.txtBoxInner img {
    width: 100%;
}
}

/* ----------------------------------------

 - #sec05

---------------------------------------- */
#sec05 p.txt {
    text-align: center;
}
#sec05 p.txt img.pc {
    display: inline;
}
@media screen and (max-width: 768px) {
#sec05 p.txt img.pc {
    display: none;
}
#sec05 p.txt img.sp {
    display: block;
    width: 100%;
}
}


/* ----------------------------------------

 - .cvBtnArea a.cvBtn

---------------------------------------- */
.cvBtnArea {
    position: relative;
    height: 100px;
    width: 100%;
}
.cvBtnAreaInner {
    background: #fff;
    position: fixed;
        bottom: 0;
    width: 100%;
}
.cvBtnAreaInner.btn_absolute {
    position: absolute;
}
.dummyBox {
    height: 120px;
}
a.cvBtn {
    background: #001B63;
    border: solid 1px #001B63;
    border-radius: 10px;
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: bold;
    margin: 30px auto;
    position: relative;
    width: 310px;
    height: 40px;
    transition: 0.3s ease-out;
}
a:hover.cvBtn {
    background: #fff;
    border: solid 1px #001B63;
    color: #001B63;
    transition: 0.3s ease-out;
}
a.cvBtn span {
    display: inline-block;
    position: relative;
        left: 50%;
        top: 50%;
    transform: translate(-50%,-50%);
}
a.cvBtn span::after {
    content: url("../images/arrow_off_pc.svg");
    position: absolute;
        top: 50%;
        right: -20px;
    transform: translateY(-50%);
}
a.cvBtn:hover span::after {
    content: url("../images/arrow_on_pc.svg");
}
@media screen and (max-width: 768px) {
.cvBtnArea {
    height: 60px;
}
.dummyBox {
    height: 140px;
}
a.cvBtn {
    margin: 10px auto;
}
a:hover.cvBtn {
    background: #001B63;
    border: solid 1px #001B63;
    color: #fff;
    transition: 0.3s ease-out;
}
a.cvBtn:hover span::after {
    content: url("../images/arrow_off_pc.svg");
}
}




