.disp-pc {
    display: none !important;
}

/* header */
.header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5vw;
    box-shadow: 3px 0 6px rgba(0,0,0,.16);
    z-index: 10;
}
.logo {
    width: 27vw;
}
.menu {
    display: flex;
    align-items: center;
}
.header__link {
    display: flex;
    align-items: center;
    background: url(../img/header_arrow.svg) no-repeat right 2vw center;
    background-size: 2.5vw;
    background-color: #FF7602;
    border-radius: 2vw;
    padding: 2vw 5.5vw 2vw 3vw;
    box-sizing: border-box;
    color: #fff;
    text-decoration: none;
    font-size: 7vw;
    font-weight: bold;
    text-align: center;
}
.header__link__free {
    display: block;
    width: 8vw;
    height: 8vw;
    margin-right: 1vw;
    background-color: #fff;
    border-radius: 50%;
    line-height: 7.5vw;
    font-size: 3vw;
    color: #FF7602;
}

/* mv */
.mv {
    display: flex;
    flex-direction: column-reverse;
}
.mv__image {
    z-index: 1;
    padding: 9.5vw 0;
    background: url(../img/mv_photo.jpg) no-repeat;
    background-size: cover;
}
.mv__photo {
    margin-bottom: 4vw;
    text-align: center;
}
.mv__square {
    display: block;
    margin-bottom: 2vw;
}
.mv__square__text {
    display: inline-block;
    padding: 1vw;
    color: #003893;
    background-color: #fff;
    font-size: 13vw;
}

.mv__large {
    display: block;
    margin-bottom: 5vw;
    color: #fff;
    font-size: 23vw;
}
.mv__small {
    color: #fff;
    font-size: 6vw;
    line-height: 7vw;
}

.mv__link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    text-align: center;
    background: #FF7602 url(../img/cv_arrow.svg) no-repeat right 17% center;
    border-radius: 10vw;
    color: #fff;
    font-size: 6vw;
    padding: 3.5vw 8vw 3.5vw 0.5vw;
    letter-spacing: 0.05em;
    width: 75%;
    font-weight: bold;
    text-decoration: none;
}
.mv__illust {
    margin-bottom: -6.2vw;
    padding-top: 1.5vw;
    background: url(../img/mv_illust_bg.png) repeat;
    background-size: 26px;
    text-align: center;
}
.mv__illust__img {
    position: relative;
    z-index: 10;
    width: 80%;
}

/* gift */
.gift {
    display: flex;
    flex-direction: column-reverse;
}
.gift__midashi {
    background-color: #FFDC50;
    text-align: center;
    font-weight: bold;
    color: #003893;
    font-size: 6.5vw;
    padding: 1.5vw 0;
}

/* flow */
.flow {
    padding: 5vw 0 8vw;
    background: url(../img/stripe_bg.png) repeat;
    background-size: 5vw;
}
.flow__midashi {
    margin-bottom: 5vw;
    font-size: 6.5vw;
    font-weight: bold;
    color: #003893;
    letter-spacing: 0.1em;
    line-height: 8vw;
    text-align: center;
}
.flow__list {
    padding: 0 5vw;
}
.flow__list__item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    z-index: 10;
}
.flow__list__item:not(:last-child) {
    margin-bottom: 10vw;
}
.flow__list__item:not(:last-child):before {
    position: absolute;
    content: "";
    width: 2vw;
    height: 10vw;
    bottom: -13vw;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #95AFD9;
}
.flow__number {
    position: relative;
    z-index: 10;
    width: 9%;
    aspect-ratio: 1 / 1;
    display: block;
    margin-right: -4%;
    border-radius: 50%;
    color: #fff;
    font-size: 5vw;
    font-family: 'Alata', sans-serif;
    background-color: #003893;
    line-height: 7.3vw;
    text-align: center;
}
.flow__illust {
    width: 54%;
    height: 33vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 10px 0 0 10px;
}
.flow__img {
    height: 80%;
}
.flow__topic {
    width: 41%;
    height: 33vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 10px 10px 0;
    background-color: #003893;
    color: #fff;
    font-size: 4.5vw;
    font-weight: bold;
    line-height: 6.5vw;
    text-align: left;
}
.flow__detail {
    width: 100%;
    margin-top: 3vw;
    padding-left: 5%;
    font-size: 4vw;
    line-height: 6vw;
    color: #283D5F;
}

/* inquire */
.inquire {
    display: flex;
    flex-wrap: wrap;
}
.inquire__img {
    position: relative;
    height: 50vw;
    width: 100%;
    background: url(../img/inquire_bg.jpg) no-repeat;
    background-size: cover;
}
.inquire__img__illust {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    width: 80%;
    margin: auto;
}
.inquire__text {
    width: 100%;
    padding: 5vw 0;
    background-color: #003893;
    color: #fff;
}
.inquire__text__inner {
    text-align: center;
}
.inquire__sub {
    display: block;
    padding-bottom: 6vw;
    margin-bottom: 2vw;
    font-size: 5vw;
    background: url(../img/inquire_fukidashi.svg) no-repeat bottom;
}
.inquire__midashi {
    margin-bottom: 5vw;
    font-size: 7vw;
    font-weight: bold;
}
.inquire__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65%;
    margin: 0 auto;
    padding: 3.5vw 8vw 3.5vw 0.5vw;
    color: #fff;
    font-weight: bold;
    background: #FF7602 url(../img/cv_arrow.svg) no-repeat right 20px center;
    text-align: center;
    text-decoration: none;
    background: #FF7602 url(../img/cv_arrow.svg) no-repeat right 17% center;
    border-radius: 10vw;
    font-size: 6vw;
    letter-spacing: 0.05em;
}

/* recommend */
.recommend {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    padding: 8vw 5vw 5vw;
}
.recommend__illust {
    padding: 5vw 0;
}
.recommend__midashi {
    margin-bottom: 5vw;
    color: #003893;
    font-size: 6.5vw;
    letter-spacing: 0.1em;
    text-align: center;
}
.recommend__text {
    margin-bottom: 5vw;
    font-size: 4.5vw;
    line-height: 6.5vw;
    text-align: center;
}
.recommend__list__item {
    padding: 0vw 0 2vw 10vw;
    background: url(../img/recommend_check.svg) no-repeat left top;
    background-size: 6.5vw;
    font-weight: bold;
    font-size: 5vw;
    line-height: 6.5vw;
}
.recommend__list__item:not(:last-child) {
    margin-bottom: 3vw;
}

/* feature */
.feature {
    padding: 5vw 0 8vw;
    background: url(../img/stripe_bg.png) repeat;
    background-size: 5vw;
}
.feature__midashi {
    margin-bottom: 3vw;
    font-size: 6.5vw;
    font-weight: bold;
    color: #003893;
    letter-spacing: 0.1em;
    line-height: 8vw;
    text-align: center;
}
.feature__minimidashi {
    margin-bottom: 3vw;
    text-align: center;
    color: #AABDDD;
    font-size: 4.5vw;
    font-family: 'Alata', sans-serif;
    letter-spacing: 0.1em;
}
.feature__sub {
    margin-bottom: 8vw;
    font-size: 4.5vw;
    line-height: 6.5vw;
    text-align: center;
}
.feature__list {
    position: relative;
    padding: 0 4vw;
}
.feature__list__item {
    width: 100%;
    display: flex;
    align-items: center;
}
.feature__list__item:not(:last-child) {
    margin-bottom: 8vw;
}
.feature__illust {
    width: 45%;
}
.feature__text {
    width: 65%;
    padding-left: 5vw;
    font-size: 4.8vw;
    font-weight: bold;
    line-height: 6.5vw;
    text-align: left;
}

/* service */
.service {
    margin-bottom: 78px;
}
.service__midashi {
    position: relative;
    padding: 3vw 0;
    margin-bottom: 10vw;
    background-color: #003893;
    color: #fff;
    text-align: center;
    line-height: 7vw;
    font-size: 5.5vw;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.service__midashi:after {
    content: "";
    position: absolute;
    width: 0;
    right: 0;
    left: 0;
    bottom: -13vw;
    margin: auto;
    transform: translateY(-50%);
    border: 4vw solid transparent;
    border-top: 5vw solid #003893;
}
.service__performance {
    margin-bottom: 16vw;
    color: #003893;
    font-size: 6.5vw;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
}
.service__number {
    font-size: 10vw;
}
.service__voices {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 0 5vw;
}
.service__voices__item {
    display: flex;
    flex-direction: column;
    width: calc(50% - 2.5vw);
    margin-bottom: 15vw;
    padding: 12vw 4vw 4vw 4vw;
    position: relative;
    border: 1vw solid #F0F0F0;
}
.service__voices__item:nth-child(even) {
    margin-left: 5vw;
}
.service__img {
    width: 20vw;
    height: 20vw;
    margin: auto;
    position: absolute;
    top: -11vw;
    left: 0;
    right: 0;
}
.service__detail {
    line-height: 5vw;
    font-weight: bold;
    font-size: 3.5vw;
    margin-bottom: 2vw;
}
.service__profile {
    margin-top: auto;
    text-align: right;
    font-size: 3.5vw;
}

.service__kodawari {
    display: flex;
    flex-direction: column-reverse;
}
.service__kodawari__sentences {
    position: relative;
    padding: 5vw;
}
.service__kodawari__midashi {
    margin-bottom: 5vw;
    color: #003893;
    font-size: 7vw;
    line-height: 8vw;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.service__kodawari__text {
    font-size: 4.5vw;
    line-height: 8vw;
}
.service__kodawari__img {
    overflow: hidden;
    height: 50vw;
    margin-left: 5vw;
    background-color: #E0E0E0;
}
.service__kodawari__photo {
    height: 120%;
}

/* merit */
.merit {
    padding: 8vw 0;
    background-color: #EDF2F7;
}
.merit__midashi {
    margin-bottom: 3vw;
    font-size: 6.5vw;
    font-weight: bold;
    color: #003893;
    letter-spacing: 0.1em;
    line-height: 8vw;
    text-align: center;
}
.merit__minimidashi {
    margin-bottom: 3vw;
    text-align: center;
    color: #AABDDD;
    font-size: 4.5vw;
    font-family: 'Alata', sans-serif;
    letter-spacing: 0.1em;
}
.merit__sub {
    padding: 0 5vw;
    margin-bottom: 5vw;
    font-size: 4.5vw;
    line-height: 6.5vw;
    text-align: left;
}
.merit__list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 2.5vw;
}
.merit__list__item {
    width: calc(33.3% - 5vw);
    margin: 0 2.5vw 5vw;
}
.merit__img {
    width: 100%;
    margin-bottom: 2vw;
}
.merit__caption {
    font-size: 4vw;
    font-weight: bold;
    line-height: 5.5vw;
    text-align: center;
}
.merit__text {
    padding: 5vw;
    font-size: 5vw;
    line-height: 7vw;
}
.merit__note {
    font-size: 4vw;
    line-height: 6vw;
    padding: 0 5vw;
    color: #A0A0A0;
}

/* question */
.question {
    padding: 8vw 5vw;
}
.question__midashi {
    margin-bottom: 3vw;
    font-size: 6.5vw;
    font-weight: bold;
    color: #003893;
    letter-spacing: 0.1em;
    line-height: 8vw;
    text-align: center;
}
.question__minimidashi {
    margin-bottom: 3vw;
    text-align: center;
    color: #AABDDD;
    font-size: 4.5vw;
    font-family: 'Alata', sans-serif;
    letter-spacing: 0.1em;
}
.question__list__item:not(:last-child) {
    margin-bottom: 5vw; 
}
.question__list__item dl {
    padding-bottom: 5vw;
    border-bottom: 1px dotted #E3E3E3;
}
.question__list__item__q {
    position: relative;
    margin-bottom: 5vw;
    padding: 0 0 0 9.5vw;
    color: #003893;
    font-weight: bold;
    font-size: 4.5vw;
    line-height: 6.5vw;
}
.question__list__item__q:before {
    position: absolute;
    content: "Q";
    left: 0;
    top: 0;
    width: 7vw;
    height: 7vw;
    line-height: 6.5vw;
    color: #fff;
    background-color: #003893;
    border-radius: 50%;
    font-size: 4vw;
    font-family: 'Alata', sans-serif;
    font-weight: normal;
    text-align: center;
}
.question__list__item__a {
    position: relative;
    font-size: 4vw;
    line-height: 5.5vw;
    padding: 0.5vw 0 0 9.5vw;
}
.question__list__item__a:before {
    position: absolute;
    content: "A";
    left: 0;
    top: 0;
    width: 7vw;
    height: 7vw;
    line-height: 5.5vw;
    color: #003892;
    border-radius: 50%;
    border: 2px solid #003892;
    box-sizing: border-box; 
    font-size: 4vw;
    font-family: 'Alata', sans-serif;
    text-align: center;
}
.question__list__item__note {
    margin-top: 5vw;
    color: #8D8D8D;
    font-size: 3.5vw;
    line-height: 4.5vw;
}

/* footer */
.footer {
    padding: 6vw 0;
    background-color: #0B295C;
}
.footer__logo__img {
    display: block;
    width: 40%;
    margin: 0 auto 5vw;
}
.footer__links {
    display: flex;
    justify-content: center;
    margin-bottom: 5vw;
}
.footer__links__item:not(:last-child) {
    margin-right: 5vw;
    padding-right: 5vw;
    border-right: 1px solid #fff;
}
.footer__links__item__link {
    color: #fff;
    font-size: 3.5vw;
    text-decoration: none;
}
.footer__copyright {
    color: #436296;
    font-size: 3vw;
    text-align: center;
}