@charset "UTF-8";

/*================================================
　　リセットCSS
================================================*/
body {
    margin: 0;
    padding: 0;
}
ul,
li,
dl,
dt,
dd {
    list-style: none;
    padding: 0;
    margin: 0;
}
a {
    color: #3c3c3c;
    text-decoration: none;
}
p {
    margin: 0;
    padding: 0;
    line-height: 1;
}
h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    line-height: 1;
}
nav {
    margin: 0;
}
img {
    padding: 0;
    margin: 0;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
address {
    font-style: normal;
}
/*================================================
　　変数
================================================*/
:root {
    --minus: 2px;
    --h3-font-size: 9vw;
    --h3-font-size-w960: 11vw;
    --h3-font-size-w600: 16vw;
    --h3-font-size-minus: calc(var(--h3-font-size) - var(--minus));
    --h3-font-size-w960-minus: calc(var(--h3-font-size-w960) - var(--minus));
    --h3-font-size-w600-minus: calc(var(--h3-font-size-w600) - var(--minus));
    --main-hight: ;
    --footer-height: ;
}
/*================================================
　　共通
================================================*/
a,
p,
div,
dl,
dd,
button {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
}
a {
    cursor: pointer;
}
p {
    line-height: 1.8;
}
img {
    display: block;
}
.txt_area img {
    margin-top: 2vw;
    width: 31vw;
}
.pc_br {
    display: block;
}
@media (max-width: 960px) {
    .pc_br {
        display: inline;
    }
}
/* 中央寄せ */
.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/* 中央寄せ（逆向き折り返し） */
.flex_reverse {
    display: flex;
    flex-wrap: wrap-reverse;
    justify-content: center;
}
/* 両端配置 */
.flex_between {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/* 両端配置（逆向き折り返し） */
.flex_between_reverse {
    display: flex;
    flex-wrap: wrap-reverse;
    justify-content: space-between;
}
/* 均等配置 */
.flex_around {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
/* 均等配置（逆向き折り返し） */
.flex_around_reverse {
    display: flex;
    flex-wrap: wrap-reverse;
    justify-content: space-around;
}
/*ボタン装飾*/
.btn {
    display: inline-block;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    font-size: 0.8vw;
    font-weight: bold;
    color: #0075ff;
    border: #0075ff solid 2px;
    border-radius: 100vh;
    text-align: center;
    width: 15vw;
    padding: 1vw 0;
    transition: 0.2s;
}
.btn:hover {
    background-color: rgba(204, 204, 204, 0.5);
}
.btn a {
    color: #0075ff;
}
@media (max-width: 1700px) {
    .btn {
        font-size: 15px;
        width: 250px;
        padding: 20px 0;
    }
}
@media (max-width: 1230px) {
    .btn {
        font-size: 1.3vw;
        width: 24vw;
        padding: 1.5vw 0;
    }
}
@media (max-width: 1030px) {
    .btn {
        width: 23vw;
    }
}
@media (max-width: 600px) {
    .btn {
        border: #0075ff solid 1px;
    }
}
/* フォント */
h2 {
    font-size: 3vw;
}
h3 {
    display: inline-block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 9vw;
    font-size: var(--h3-font-size);
    color: #cde5ff;
    margin-top: 7vw;
    /* text-shadow: 1px 1px 0, 1px -1px 0px, -1px 1px 0, -1px -1px 0px, 1px 0px 0px, 0px 1px 0px, -1px 0px 0px, 0px -1px 0px; */
    letter-spacing: 2px;
    opacity: 0.5;
}
h4 {
    font-size: 3.2vw;
    margin-bottom: 30px;
}
h5 {
    display: inline-block;
    font-size: 3.2vw;
    margin: 1vw 0;
}
h2,
h4,
h5,
h2 span {
    background: -webkit-linear-gradient(
        0deg,
        #0077ff,
        #00ccff
    ); /* 背景色にグラデーションを指定 */
    color: #0077ff; /*非対応のブラウザでの文字色を設定*/
    -webkit-background-clip: text; /*テキストでくり抜く*/
    -webkit-text-fill-color: transparent; /*くり抜いた部分は背景を表示*/
    padding: 2px;
}
.inner_txt {
    letter-spacing: 1.8px;
}
.num {
    font-family: "Poppins", sans-serif;
}
.eng {
    font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 1700px) {
    h2 {
        font-size: 55px;
    }
}
@media (max-width: 1230px) {
    h2 {
        font-size: 4vw;
    }
}
@media (max-width: 1030px) {
    h4,
    h5 {
        font-size: 3.2vw;
        margin-bottom: 1vw;
    }
}
@media (max-width: 960px) {
    h2 {
        font-size: 5vw;
    }
    h3 {
        font-size: var(--h3-font-size-w960);
    }
    h4 {
        font-size: 4.2vw;
    }
    h5 {
        font-size: 4vw;
        margin: 0 auto 2vw;
    }
    .txt_area p.num {
        text-align: center;
        font-size: 16vw;
    }
    .inner_txt {
        letter-spacing: 1px;
    }
}
@media (max-width: 600px) {
    h2 {
        font-size: 7.7vw;
        text-align: center;
    }
    h3 {
        font-size: var(--h3-font-size-w600);
    }
    h4,
    h5 {
        font-size: 7vw;
    }
    .txt_area p.num {
        font-size: 28vw;
    }
}
/* シャドー効果 */
.service_0 .img_area img,
.service_1 .img_area img,
.service_2 .img_area img,
.service_3 .img_area img {
    box-shadow: 0 2px 9px 0 rgb(158, 169, 182);
}
/*================================================
　　全体
================================================*/
html {
    position: relative;
    min-height: 100%;
    padding-bottom: var(--footer-height);
    box-sizing: border-box;
}
/* 背景ドット斜め */
body {
    background-color: #fff;
    background-image: radial-gradient(#f4f9ff 20%, rgba(255, 255, 255, 0) 20%),
        radial-gradient(#f4f9ff 20%, rgba(255, 255, 255, 0) 20%);
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    color: #3c3c3c;
    font-size: 16px;
    max-width: 100%;
}
@media (max-width: 960px) {
    body {
        font-size: 1.8vw;
    }
}
@media (max-width: 600px) {
    body {
        font-size: 3vw;
    }
}
/*================================================
　　ヘッダー
================================================*/
header {
    position: fixed;
    top: 0;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    width: 100%;
    height: 60px;
    box-shadow: 0 8px 16px -2px rgba(10, 10, 10, 0.1),
        0 10px 5px 1px rgba(10, 10, 10, 0.02);
    opacity: 0;
}
header h1 img {
    width: 170px;
    margin-left: 3vw;
    padding-top: 0.5vw;
}
header h1 img#main_logo_ie {
    display: none;
}
header nav.sp_nav,
header nav.sp_nav #nav_btn {
    display: none;
}
header nav.pc_nav ul {
    display: flex;
    align-items: center;
}
header nav.pc_nav ul li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
}
header nav.pc_nav ul li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: "";
    width: 100%;
    height: 1.2px;
    background: #3c3c3c;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s;
}
header nav.pc_nav ul li a:hover::after {
    transform: scale(1, 1.2);
}
nav.pc_nav ul li,
nav.pc_nav ul li button {
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.5px;
}
nav.pc_nav ul li {
    margin-right: 4vw;
}
nav.pc_nav ul li button {
    border-radius: 100vh;
    color: #fff;
    background-image: -webkit-linear-gradient(120deg, #0077ff 0%, #00ccff 100%);
    background-image: linear-gradient(120deg, #0077ff 0%, #00ccff 100%);
    width: 145px;
    height: 35px;
}
nav.pc_nav ul li button:hover {
    background-image: -webkit-linear-gradient(120deg, #e6e6e6 0%, #e6e6e6 100%);
    background-image: linear-gradient(120deg, #e6e6e6 0%, #e6e6e6 100%);
}
@media (max-width: 960px) {
    header {
        /* top: -7vw; */
        height: 7vw;
    }
    header nav.pc_nav {
        display: none;
        visibility: hidden;
    }
    /* ハンバーガーメニュー */
    header nav.sp_nav,
    header nav.sp_nav #nav_btn {
        display: block;
        visibility: visible;
    }
    header nav.sp_nav {
        display: flex;
        align-items: center;
        height: 7vw;
        padding-right: 0.9vw;
    }
    header nav .sp_nav_inner {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        background-color: #fff;
        width: 0;
        min-height: 100vh;
        box-shadow: 0 10px 25px 0 rgb(158, 169, 182);
        opacity: 0;
        transition: opacity 0.6s ease, visibility 0.6s ease;
    }
    header nav .sp_nav_inner.active {
        opacity: 1;
        width: 66%;
    }
    header nav .sp_nav_inner div,
    header nav .sp_nav_inner ul,
    header nav .sp_nav_inner ul li.nav_dl a {
        width: 50vw;
    }
    header nav .sp_nav_inner div {
        border-bottom: #959595 solid 1px;
        margin: 7vw auto 0;
    }
    header nav .sp_nav_inner div img {
        width: 30vw;
        margin: 0 auto;
        padding-bottom: 2vw;
    }
    header nav .sp_nav_inner ul {
        margin: 4vw auto 1vw;
    }
    header nav .sp_nav_inner ul li.nav_1 {
        font-size: 3vw;
        font-weight: bold;
        margin-bottom: 1.5vw;
    }
    header nav .sp_nav_inner ul li.nav_2 {
        font-size: 2.8vw;
        padding: 0 0 1vw 8vw;
    }
    header nav .sp_nav_inner ul li.nav_2:nth-child(4) {
        padding: 0 0 1.5vw 8vw;
    }
    /* ログインボタン */
    header nav .sp_nav_inner ul li.sp_nav_login,
    header nav .sp_nav_inner ul li.sp_nav_login a img {
        width: 36vw;
    }
    header nav .sp_nav_inner ul li.sp_nav_login {
        position: relative;
        height: 6vw;
        margin: 0 auto 4vw;
    }
    header nav .sp_nav_inner ul li.sp_nav_login a img {
        position: absolute;
        top: 0;
        margin: 0 auto;
        filter: drop-shadow(0 2px 2px rgb(204, 204, 204));
        transition: 0.5s;
    }
    header nav .sp_nav_inner ul li.sp_nav_login a img:first-child {
        z-index: 100;
    }
    header nav .sp_nav_inner ul li.sp_nav_login a img:last-child {
        z-index: 101;
    }
    header nav .sp_nav_inner ul li.sp_nav_login:hover a img:last-child {
        opacity: 0;
    }

    header nav .sp_nav_inner ul li.nav_dl a {
        display: block;
        font-size: 1.3vw;
        font-weight: bold;
        text-align: center;
        background-color: #e4f5ff;
        padding: 2vw 0;
    }
    header nav .sp_nav_inner ul li.nav_dl img {
        display: inline-block;
        width: 2vw;
        vertical-align: bottom;
        margin-left: 1.5vw;
    }
    .btn-trigger {
        position: relative;
        top: 0;
        left: 0;
        z-index: 101;
        width: 46px;
        height: 46px;
        cursor: pointer;
    }
    .btn-trigger span {
        position: absolute;
        left: 11px;
        width: 60%;
        height: 0.8px;
        background-color: #3c3c3c;
        border-radius: 4px;
    }
    .btn-trigger,
    .btn-trigger span {
        display: inline-block;
        transition: all 0.5s;
        box-sizing: border-box;
    }
    .btn-trigger span:nth-of-type(1) {
        top: 16px;
    }
    .btn-trigger span:nth-of-type(2) {
        top: 24px;
    }
    .btn-trigger span:nth-of-type(3) {
        top: 32px;
    }
    #nav_btn::after {
        position: absolute;
        top: 100%;
        left: 100%;
        display: block;
        content: "";
        width: 44px;
        height: 44px;
        margin: -45px 0 0 -45px;
        border-radius: 50%;
        border: none;
        transition: all 0.75s;
    }
    #nav_btn.active span:nth-of-type(1) {
        -webkit-transform: translateY(8px) rotate(45deg);
        transform: translateY(8px) rotate(45deg);
    }
    #nav_btn.active span:nth-of-type(2) {
        left: 60%;
        opacity: 0;
        -webkit-animation: active-btn17-bar02 0.8s forwards;
        animation: active-btn17-bar02 0.8s forwards;
    }
    @-webkit-keyframes active-btn17-bar02 {
        100% {
            height: 0;
        }
    }
    @keyframes active-btn17-bar02 {
        100% {
            height: 0;
        }
    }
    #nav_btn.active span:nth-of-type(3) {
        -webkit-transform: translateY(-8px) rotate(-45deg);
        transform: translateY(-8px) rotate(-45deg);
    }
    #nav_btn.active::after {
        border: 0.8px solid #3c3c3c;
    }
}
@media (max-width: 750px) {
    /* ハンバーガーメニュー */
    .btn-trigger {
        width: 32px;
        height: 32px;
    }
    #nav_btn::after {
        width: 30.2px;
        height: 30.2px;
        margin: -32px 0 0 -32px;
    }
    .btn-trigger span {
        left: 7px;
    }
    .btn-trigger span:nth-of-type(1) {
        top: 9px;
    }
    .btn-trigger span:nth-of-type(2) {
        top: 15px;
    }
    .btn-trigger span:nth-of-type(3) {
        top: 21px;
    }
    #nav_btn.active span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(45deg);
        transform: translateY(6px) rotate(45deg);
    }
    #nav_btn.active span:nth-of-type(3) {
        -webkit-transform: translateY(-6px) rotate(-45deg);
        transform: translateY(-6px) rotate(-45deg);
    }
    /* ログインアイコン */
    header nav .sp_nav_inner ul li.nav_dl img {
        width: 3vw;
    }
}
@media (max-width: 600px) {
    header {
        height: 11vw;
    }
    header nav .sp_nav_inner div {
        margin-top: 11vw;
    }
    header h1 img {
        width: 26vw;
        padding-top: 0;
    }
    /* ハンバーガーメニュー(中身) */
    header nav.sp_nav {
        padding-right: 2.9vw;
    }
    header nav .sp_nav_inner {
        width: 0;
    }
    header nav .sp_nav_inner.active {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    header nav .sp_nav_inner div,
    header nav .sp_nav_inner ul,
    header nav .sp_nav_inner ul li.nav_dl a {
        width: 73vw;
    }
    header nav .sp_nav_inner div img {
        width: 42vw;
    }
    header nav .sp_nav_inner ul li.nav_1 {
        font-size: 4vw;
    }
    header nav .sp_nav_inner ul li.nav_2 {
        font-size: 3.7vw;
    }
    /* ログインボタン */
    header nav .sp_nav_inner ul li.sp_nav_login,
    header nav .sp_nav_inner ul li.sp_nav_login a img {
        width: 56vw;
    }
    header nav .sp_nav_inner ul li.sp_nav_login {
        height: 9vw;
        margin-bottom: 5vw;
    }
    /* ダウンロードボタン */
    header nav .sp_nav_inner ul li.nav_dl a {
        font-size: 2.5vw;
    }
    header nav .sp_nav_inner ul li.nav_dl img {
        width: 3.8vw;
        margin-left: 3vw;
    }
    /* ハンバーガーメニュー表示時に背景を白にする */
    main.bg_white::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 50;
        width: 100%;
        height: var(--main-hight);
        background: #fff;
    }
}

@media (max-width: 450px) {
    header nav .sp_nav_inner div,
    header nav .sp_nav_inner ul,
    header nav .sp_nav_inner ul li.nav_dl a {
        width: 72vw;
    }
    header nav .sp_nav_inner div img {
        width: 42vw;
    }
    header nav .sp_nav_inner ul li.nav_1 {
        font-size: 5vw;
    }
    header nav .sp_nav_inner ul li.nav_2 {
        font-size: 4vw;
    }
    /* ログインボタン */
    header nav .sp_nav_inner ul li.sp_nav_login,
    header nav .sp_nav_inner ul li.sp_nav_login a img {
        width: 62vw;
    }
    header nav .sp_nav_inner ul li.sp_nav_login {
        height: 9vw;
        margin-bottom: 6vw;
    }
    /* ダウンロードボタン */
    header nav .sp_nav_inner ul li.nav_dl a {
        font-size: 3vw;
        padding: 4vw 0;
    }
    header nav .sp_nav_inner ul li.nav_dl img {
        width: 6vw;
    }
}
/*================================================
　　メインビジュアル
================================================*/
section.main_visual {
    position: relative;
    max-width: 100%;
    height: 49vw;
    margin: 0;
}
.bg_main {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 92vh;
    overflow: hidden;
}
.bg_main img {
    position: relative;
    top: -13vw;
    width: 100%;
    opacity: 0.5;
}
.main_visual h2 {
    position: relative;
    z-index: 2;
    letter-spacing: 5px;
    line-height: 1.2;
    margin-bottom: 2vw;
}
.main_visual .main_txt {
    position: relative;
    z-index: 2;
    margin: 10vw 0 0 6vw;
}
/* IE用 */
.main_visual.main_visual_ie .main_txt {
    margin: 10vw 0 0 -20vw !important;
}
.main_visual .main_txt p {
    position: relative;
    z-index: 2;
    font-size: 1vw;
    color: #0075ff;
    font-weight: bold;
    line-height: 2;
    margin-bottom: 2.2vw;
    padding-left: 1vw;
}
/* ユニボ */
.main_unibo_area {
    position: relative;
    top: 0;
    right: 6vw;
    width: 23vw;
    height: 48vw;
}
.main_visual img.main_unibo {
    position: absolute;
    top: 2vw;
    left: 0;
    right: 0;
    z-index: 3;
    width: 23vw;
    margin: 0 auto;
}
/* ユニボ影 */
.main_unibo_area::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    background-image: url(/images/top_page/unibo/unibo_shadow.png);
    background-size: cover;
    margin: 0 auto;
    margin-top: 0; /*IE用*/
}
.main_unibo_area.kage_ie::after {
    content: "";
    display: none;
}
@media (max-width: 1700px) {
    section.main_visual {
        height: 690px;
    }
    .bg_main {
        height: 690px;
    }
    /* ユニボ */
    .main_unibo_area {
        width: 350px;
        height: 728px;
    }
    .main_visual img.main_unibo {
        right: 11vw;
        width: 350px;
    }
    .main_visual .main_txt p {
        font-size: 16px;
        margin-bottom: 2.2vw;
    }
}
@media (max-width: 1230px) {
    section.main_visual {
        height: 60vw;
    }
    .main_visual .main_txt {
        margin-left: 6vw;
    }
    /* IE用 */
    .main_visual.main_visual_ie .main_txt {
        margin-left: 0;
    }
    .main_visual .main_txt p {
        font-size: 1.5vw;
    }
    .main_unibo_area {
        width: 30vw;
        height: 61vw;
    }
    .main_visual img.main_unibo {
        width: 30vw;
    }
    .bg_main img {
        top: -6vw;
    }
}
@media (max-width: 960px) {
    .main_visual .btn {
        display: none;
    }
    section.main_visual {
        height: 70vw;
    }
    .bg_main {
        height: 61vw;
    }
    .bg_main img {
        top: 0;
    }
    .main_unibo_area {
        width: 35vw;
    }
    .main_visual img.main_unibo {
        top: 9vw;
        right: 7vw;
        width: 35vw;
    }
    .main_visual .main_txt {
        margin: 12vw 0 0 7vw;
    }
    .main_visual .main_txt p {
        font-size: 1.8vw;
    }
    .main_visual .main_txt p {
        margin-bottom: 5px;
    }
}
@media (max-width: 774px) {
    .main_unibo_area,
    .main_visual img.main_unibo {
        width: 32vw;
        right: 7vw;
    }
}
@media (max-width: 600px) {
    section.main_visual {
        display: block;
        height: 160vw;
        margin-bottom: 9vw;
    }
    .bg_main,
    .bg_main img {
        height: 119vw;
    }
    .bg_main img {
        object-fit: cover;
    }
    .main_visual h2 {
        top: 10vw;
        margin-bottom: 6vw;
    }
    .main_visual .main_txt p {
        font-size: 2.9vw;
        line-height: 1.9;
        width: 64vw;
        margin: 0 auto;
        padding: 8vw 0 0;
    }
    /* ユニボ */
    .main_unibo_area {
        right: 0;
        width: 100%;
    }
    .main_visual img.main_unibo {
        left: 0;
        right: 0;
        width: 50vw;
    }
    .main_visual .main_txt {
        margin: 0 auto 3vw;
        padding-top: 10vw;
    }
}
@media (max-width: 350px) {
    .main_visual img.main_unibo {
        top: 68vw;
    }
}
/* PR動画バナー */
div.pr_move {
    display: block;
    padding-left: 1vw;
    cursor: pointer;
}
div.pr_move.pr_sp {
    display: none;
}
div.pr_move img {
    width: 30vw;
    max-width: 400px;
}
@media (max-width: 1230px) {
    div.pr_move img {
        width: 30vw;
    }
}
@media (max-width: 960px) {
    div.pr_move img {
        width: 41vw;
    }
}
@media (max-width: 600px) {
    div.pr_move.pr_sp {
        display: block;
        position: relative;
        z-index: 1;
    }
    div.pr_move.pr_pc {
        display: none;
    }
    div.pr_move img {
        width: 90vw;
        margin: 0 auto;
    }
}
/*================================================
　　service_0（サービス）
================================================*/
.service_wrap {
    position: relative;
}
/* パララックス */
.parallax_content {
    position: fixed;
    top: 49vw;
    right: 0;
    z-index: 0;
    color: #f5f5f5;
    font-size: 31.5vw;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1;
    overflow: hidden;
    text-shadow: 4px 4px 0, 4px -4px 0px, -4px 4px 0, -4px -4px 0px, 4px 0px 0px,
        0px 4px 0px, -4px 0px 0px, 0px -4px 0px;
    opacity: 0.5;
}
/* パララックス（スマホ・タブレット） */
.parallax_content.parallax_not_move {
    position: absolute;
    top: 70vw;
}
@media (max-width: 600px) {
    .parallax_content.parallax_not_move {
        top: 222vw;
    }
}
.service_0 {
    margin: 0 5vw 11vw;
}
.service_0 h4,
.service_0 p {
    margin-left: 4vw;
}
.service_0 .img_area {
    display: flex;
    height: auto;
    align-items: flex-start;
    margin-top: 13vw;
}
.service_0 .img_area img {
    width: 14vw;
    margin-left: 2vw;
}
.service_0 .img_area img:nth-child(1) {
    margin-left: 0;
    margin-top: 14vw;
}
.service_0 .img_area img:nth-child(2) {
    margin-top: 9vw;
}
.service_0 .img_area img:nth-child(3) {
    margin-top: 3vw;
}
@media (max-width: 1700px) {
    /* DentalUnibo テキスト */
    .parallax_content {
        top: 720px;
    }
}
@media (max-width: 1230px) {
    /* DentalUnibo テキスト */
    .parallax_content {
        top: 690px;
    }
    .service_0 {
        margin-left: 3vw;
        margin-right: 3vw;
    }
    .service_0 .img_area img {
        width: 14vw;
    }
}
@media (max-width: 1080px) {
    .service_0 {
        margin: 0 2vw 8vw;
    }
    .service_0 .img_area {
        margin: 2vw auto 0;
    }
    .service_0 .img_area img {
        width: 25vw;
    }
}
@media (max-width: 1030px) {
    .service_0 {
        margin-bottom: 18vw;
    }
}
@media (max-width: 960px) {
    .service_0 {
        margin-bottom: 12vw;
    }
    .parallax_content {
        letter-spacing: 0;
    }
    .service_0 .img_area img {
        margin-left: 3vw;
    }
}
@media (max-width: 600px) {
    .service_0 {
        margin: 0 0 8vw;
    }
    .service_0 .img_area img {
        margin-left: 1.2vw;
        margin-right: 1.2vw;
    }
    /* DentalUnibo テキスト */
    .parallax_content {
        text-shadow: 2px 2px 0, 2px -2px 0px, -2px 2px 0, -2px -2px 0px,
            2px 0px 0px, 0px 2px 0px, -2px 0px 0px, 0px -2px 0px;
    }
    .parallax_content {
        top: 190vw;
    }
    .service_0 .txt_area {
        width: 100%;
    }
    .service_0 h4 {
        text-align: center;
        margin: 4vw 0;
    }
    .service_0 p {
        font-size: 3.2vw;
        margin: 0;
        padding-left: 4vw;
    }
    .service_0 .img_area img {
        width: 29vw;
    }
}
/*================================================
　　service_1（サービス01）
================================================*/
.service_num {
    font-size: 13vw;
    font-weight: bold;
    color: #cde5ff;
    text-shadow: 1px 1px 0, 1px -1px 0px, -1px 1px 0, -1px -1px 0px, 1px 0px 0px,
        0px 1px 0px, -1px 0px 0px, 0px -1px 0px;
    letter-spacing: 2px;
    line-height: 0.8;
}
.service_1 {
    position: relative;
    margin-bottom: 11vw;
}
.service_1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30vw;
    height: 30vw;
    background-color: #c0ebff;
}
/* .service_1 h5 {
    width: 17vw;
} */
.service_1 .img_area {
    position: relative;
    top: 12vw;
    left: 8vw;
    width: 38vw;
}
.service_1 .txt_area {
    padding-right: 8vw;
}
.service_1 .img_area img {
    position: relative;
    width: 38vw;
}
@media (max-width: 1230px) {
    .service_1 .img_area img {
        width: 44vw;
    }
    .service_1 .txt_area {
        padding-right: 2vw;
    }
}
@media (max-width: 1030px) {
    .service_1 {
        margin-bottom: 18vw;
    }
    .service_1 .img_area {
        left: 2vw;
        width: 50vw;
        padding-right: 0;
    }
    .service_1 .img_area::before {
        width: 43vw;
        height: 37vw;
    }
    .service_1 .img_area img {
        left: 3vw;
        width: 41vw;
    }
    .service_1 .txt_area {
        width: 44vw;
        margin-right: auto;
        padding-right: 0;
    }
    .service_1 .txt_area img {
        margin: 2vw auto;
    }
    /* .service_1 h5 {
        width: 16.8vw;
    } */
}
@media (max-width: 960px) {
    .service_1 {
        margin-bottom: 12vw;
    }
    .service_1::before {
        width: 44vw;
        height: 50vw;
    }
    .service_1 .img_area {
        left: 2vw;
        width: 60vw;
        padding-right: 0;
    }
    .service_1 .img_area::before {
        width: 51vw;
        height: 45vw;
    }
    .service_1 .img_area img {
        left: 5vw;
        width: 60vw;
    }
    .service_1 .txt_area {
        text-align: center;
        width: 48vw;
        margin: 17vw auto 0;
        padding-right: 0;
    }
    .service_1 .txt_area h5 {
        width: 24vw;
    }
    .service_1 .txt_area p.inner_txt {
        text-align: left;
    }
    .service_1 .txt_area img {
        display: none;
        width: 45vw;
        margin: 0 auto;
    }
    .txt_area .inner_txt {
        width: 48vw;
        margin: 0 auto;
    }
}
@media (max-width: 600px) {
    .service_1 .txt_area h5 {
        width: 40vw;
    }
    .service_0 .img_area img {
        width: 29vw;
    }
}
/*================================================
　　service_2（サービス02）
================================================*/
.service_2 {
    position: relative;
    margin-bottom: 11vw;
}
.service_2::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 23vw;
    height: 35vw;
    background-color: #c0ebff;
}
/* .service_2 h5 {
    width: 17vw;
} */
.service_2 .txt_area {
    padding-left: 3vw;
}
.service_2 .txt_area img {
    padding-left: 2vw;
}
.service_2 .img_area {
    position: relative;
    top: 8.5vw;
    right: 0;
    z-index: 1;
}
.service_2 .img_area img {
    width: 26vw;
}
@media (max-width: 1230px) {
    .service_2 .img_area::before {
        width: 27vw;
        height: 33vw;
    }
    .service_2 .img_area img {
        width: 29vw;
    }
}
@media (max-width: 1030px) {
    .service_2 {
        margin-bottom: 18vw;
    }
    .service_2 .txt_area h5 {
        width: 16.8vw;
    }
    .service_2 .img_area {
        top: 6vw;
    }
    .service_2 .img_area::before {
        width: 27vw;
        height: 42vw;
    }
    .service_2 .img_area img {
        width: 30vw;
    }
}
@media (max-width: 960px) {
    .service_2 {
        margin-bottom: 12vw;
    }
    .service_2::before {
        top: -5vw;
        width: 45vw;
        height: 50vw;
    }
    .service_2 .txt_area {
        width: 48vw;
    }
    .service_2 .txt_area {
        width: 48vw;
        margin: 0 auto;
        padding-left: 0;
    }
    .service_2 .txt_area h5 {
        width: 24vw;
        text-align: center;
    }
    .service_2 .txt_area img {
        display: none;
        width: 45vw;
        margin: 2vw auto 0;
        padding: 0;
    }
    .service_2 .img_area {
        right: -12vw;
        width: 60vw;
        height: 67vw;
    }
    .service_2 .img_area::before {
        top: -12vw;
        right: 0;
        width: 34vw;
    }
    .service_2 .img_area img {
        width: 41vw;
        margin: 0 auto;
    }
}
@media (max-width: 600px) {
    .service_2 .img_area {
        height: 84vw;
    }
    .service_2 .img_area img {
        width: 52vw;
    }
    .service_2 .txt_area h5 {
        width: 40vw;
    }
}
/*================================================
　　service_3（サービス03）
================================================*/
@media (min-width: 960px) {
    .service_3 {
        height: 45vw;
    }
}
.service_3 {
    position: relative;
    margin-bottom: 11vw;
}
.service_3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 28vw;
    height: 35vw;
    background-color: #c0ebff;
}
/* .service_3 h5 {
    width: 21vw;
} */
.service_3 .txt_area img {
    margin: 4vw auto;
}
.service_3 .img_area {
    position: relative;
    top: 7vw;
    z-index: 1;
}
.service_3 .img_area img {
    width: 26vw;
}
.service_3 .txt_area {
    padding-right: 6vw;
}
@media (max-width: 1230px) {
    .service_3 .img_area img {
        width: 29vw;
    }
    .service_3 .img_area::before {
        right: 10vw;
    }
}
@media (max-width: 1030px) {
    .service_3 {
        margin-bottom: 18vw;
    }
    /* .service_3 h5 {
        width: 20vw;
    } */
    .service_3 .img_area::before {
        right: 8vw;
        width: 31vw;
        height: 38vw;
    }
    .service_3 .img_area img {
        width: 30vw;
    }
    .service_3 .txt_area {
        height: 50vw;
        padding-right: 2vw;
    }
}
@media (max-width: 960px) {
    .service_3 {
        margin-bottom: 10vw;
    }
    .service_3::before {
        top: -5vw;
        width: 46vw;
        height: 50vw;
    }
    .service_3 .img_area {
        top: 5vw;
        left: -6vw;
        width: 60vw;
        height: auto;
    }
    .service_3 .img_area::before {
        right: 25vw;
        width: 44vw;
        height: 44vw;
    }
    .service_3 .img_area img {
        width: 41vw;
    }
    .service_3 .txt_area {
        height: auto;
        margin: 10vw auto 0;
        padding-right: 0;
    }
    /* .service_3 h5 {
        width: 30vw;
        text-align: center;
    } */
    .service_3 .txt_area img {
        display: none;
        width: 45vw;
        margin: 2vw auto 0;
        padding: 0;
    }
}
@media (max-width: 600px) {
    .service_3 .img_area {
        height: 72vw;
    }
    .service_3 .img_area img {
        width: 52vw;
    }
    .service_3 .txt_area h5 {
        width: 46vw;
    }
}
/*================================================
　　service 共通
================================================*/
#mode .txt_area img {
    opacity: 0.7;
}
#mode .service .txt_area{
    text-align: center;
}
#mode .service .txt_area .inner_txt {
    text-align: left;
}
@media (max-width: 960px) {
    .txt_area .inner_txt,
    .service .txt_area {
        width: 48vw;
        font-size: 2vw;
    }
}
@media (max-width: 600px) {
    .txt_area .inner_txt,
    .service .txt_area {
        width: 75vw;
        font-size: 3.7vw;
    }
}
/*================================================
　　feature_area（機能紹介エリア）
================================================*/
/* ipad用表示 */
#feature_ipad {
    display: none;
    position: relative;
}
/* iframe */
iframe#iframe_feature {
    border: none;
    width: 100%;
}
iframe#iframe_feature,
body#feature {
    display: flex;
    align-items: center;
    position: relative;
    height: 26vw;
    background-color: #fbfbfb;
}
.slick-slide {
    height: auto !important;
}
.slick-slider div {
    transition: none;
}
.feature_area {
    background-color: #fbfbfb;
    /* padding: 80px 0; */
    overflow: hidden;
}
.feature_area .content_wrap {
    width: 250px;
    padding: 0;
}
.feature_area div img {
    width: 7vw;
    margin: 0 auto;
}
.feature_area dl dt {
    font-size: 1.1vw;
    font-weight: bold;
    text-align: center;
}
.feature_area dl {
    margin-bottom: 0;
}
.feature_area dl dd {
    display: block;
    font-size: 1vw;
    margin: 1vw auto 0;
    text-align: center;
}
.feature_area dl dd div {
    display: inline-block;
    text-align: left;
}
@media (max-width: 1230px) {
    .feature_area dl dt {
        font-size: 1.5vw;
    }
    .feature_area dl dd {
        font-size: 1.3vw;
    }
}
@media (max-width: 1046px) {
    iframe#iframe_feature,
    body#feature {
        height: 26vw;
    }
    .feature_area div img {
        width: 7vw;
    }
}
/* @media (max-width: 1030px) {
    iframe#iframe_feature,
    body#feature {
        height: 38.5vw;
    }
    .feature_area div img {
        width: 11vw;
    }
    .feature_area dl dt {
        font-size: 1.7vw;
    }
    .feature_area dl dd {
        font-size: 1.5vw;
    }
} */
@media (max-width: 960px) {
    .feature_area dl dt {
        font-size: 1.5vw;
    }
    .feature_area dl dd {
        font-size: 1.5vw;
    }
}
@media (max-width: 780px) {
    .feature_area .content_wrap {
        width: 195px;
    }
}
@media (max-width: 700px) {
    iframe#iframe_feature,
    body#feature {
        height: 47.5vw;
    }
    .feature_area .content_wrap {
        width: 230px;
    }
    .feature_area div img {
        width: 17vw;
    }
    .feature_area dl dt {
        font-size: 2.2vw;
    }
    .feature_area dl dd {
        font-size: 2.2vw;
    }
}
@media (max-width: 475px) {
    iframe#iframe_feature,
    body#feature {
        height: 48.5vw;
    }
    .feature_area .content_wrap {
        width: 150px;
    }
}

/*================================================
　　device（デバイス）
================================================*/
.device {
    position: relative;
    height: 64vw;
    margin: 6vw 0 9vw;
}
.device h3 {
    margin: 0 0 2vw 1vw;
}
.device .txt_area h4,
.device .txt_area p {
    margin-left: 7vw;
}
.device .txt_area {
    position: relative;
    left: 0;
    z-index: 1;
}
.device .txt_area::before {
    content: "";
    position: absolute;
    top: 145px;
    top: var(--h3-font-size-minus);
    left: 0;
    z-index: -1;
    width: 36vw;
    height: 30vw;
    background-color: #cce2ff;
}
.device .txt_area img {
    width: 35vw;
    margin-left: 12vw;
}
.device .img_area {
    width: 43vw;
}
.device .img_area img {
    position: absolute;
    bottom: 0;
    width: 36vw;
}
@media (max-width: 1230px) {
    .device {
        height: 83vw;
    }
    .device .img_area img {
        right: 7vw;
        width: 46vw;
    }
}
@media (max-width: 1030px) {
    .device {
        height: 85vw;
    }
    .device .txt_area::before {
        /* top: 8.5vw; */
        height: 36vw;
    }
    .device .txt_area img {
        left: 3vw;
        width: 41vw;
    }
    .device .img_area img {
        width: 46vw;
    }
}
@media (max-width: 960px) {
    .device {
        height: 101vw;
    }
    .device::before {
        letter-spacing: 0;
    }
    .device .txt_area img {
        display: none;
    }
    .device .img_area img {
        left: 26vw;
        width: 65vw;
    }
    .device .txt_area::before {
        top: var(--h3-font-size-w960-minus);
        width: 33vw;
        height: 47vw;
    }
}
@media (max-width: 600px) {
    .device {
        height: 135vw;
    }
    .device .txt_area::before {
        top: var(--h3-font-size-w600-minus);
    }
    .device .img_area {
        width: 100%;
    }
    .device .img_area img {
        top: 54vw;
    }
    .device .txt_area {
        width: 100%;
    }
    .device .txt_area h4 {
        text-align: center;
        margin: 4vw 0;
    }
    .device .txt_area p {
        font-size: 3.2vw;
        margin: 0;
        padding-left: 4vw;
    }
}
/*================================================
　　spec（スペック）
================================================*/
.spec {
    position: relative;
    height: 50vw;
    padding-bottom: 9vw;
}
.spec::before {
    content: "";
    position: absolute;
    top: 145px;
    top: var(--h3-font-size-minus);
    right: 0;
    z-index: 1;
    width: 35vw;
    height: 21vw;
    background-color: #e5daf6;
}
.spec h3 {
    margin: 0 0 2vw 1vw;
}
.spec .txt_area {
    position: relative;
    right: 2vw;
    z-index: 2;
}
.spec .txt_area p {
    margin-bottom: 1.5vw;
}
/* ユニボエリア */
.spec .img_area {
    position: relative;
    width: 45vw;
}
.spec .img_area img {
    position: absolute;
}
/* ユニボ（本体） */
.spec .img_area img.unibo_body_before,
.spec .img_area img.unibo_body_after {
    top: 300px;
    left: 100px;
    z-index: 3;
    width: 500px;
}
/* ユニボ（影） */
.spec.scroll .img_area::after {
    content: "";
    position: absolute;
    top: 728px;
    left: 247px;
    background-image: url(/images/top_page/unibo/parts_shadow.png);
    background-size: cover;
    width: 488px;
    height: 275px;
}
/* ユニボ（腕） */
.spec .img_area img.unubo_hand {
    top: 636px;
    left: 237px;
    z-index: 4;
    width: 134px;
}
/* 矢印（オレンジ） */
.spec .img_area img.kadou_yoko_1 {
    top: 176px;
    left: 306px;
    z-index: 4;
    width: 312px;
}
.spec .img_area img.kadou_yoko_2 {
    top: 327px;
    left: -73px;
    z-index: 4;
    width: 347px;
}
/* 矢印（ブルー） */
.spec .img_area img.kadou_tate_1 {
    top: 188px;
    left: 62px;
    z-index: 4;
    width: 208px;
}
.spec .img_area img.kadou_tate_2 {
    top: 551px;
    left: 202px;
    z-index: 4;
    width: 228px;
}
@media (max-width: 1700px) {
    /* ユニボ（本体） */
    .spec .img_area img.unibo_body_before,
    .spec .img_area img.unibo_body_after {
        top: 16vw;
        left: 6vw;
        width: 26vw;
    }
    /* ユニボ（腕） */
    .spec .img_area img.unubo_hand {
        top: 34vw;
        left: 13vw;
        width: 6.7vw;
        /* top: 32vw;
    left: 16vw;
    width: 6.7vw; */
    }
    /* 矢印（オレンジ） */
    .spec .img_area img.kadou_yoko_1 {
        top: 9vw;
        left: 17vw;
        width: 16vw;
    }
    .spec .img_area img.kadou_yoko_2 {
        top: 19vw;
        left: -5vw;
        width: 16vw;
    }
    /* 矢印（ブルー） */
    .spec .img_area img.kadou_tate_1 {
        top: 11vw;
        left: 3vw;
        width: 10vw;
    }
    .spec .img_area img.kadou_tate_2 {
        top: 30vw;
        left: 13vw;
        width: 10vw;
    }
}
@media (max-width: 1230px) {
    .spec {
        height: 66vw;
        padding-bottom: 4vw;
    }
    .spec::before {
        top: 9.5vw;
        right: 0;
        width: 40vw;
        height: 30vw;
    }
    .spec .img_area {
        top: 9vw;
        left: 2vw;
    }
    /* ユニボ（腕） */
    .spec .img_area img.unubo_hand {
        left: 14vw;
    }
}
@media (max-width: 1030px) {
    .spec {
        height: 66vw;
    }
    .spec::before {
        right: 0;
        width: 42vw;
        height: 30vw;
    }
}
@media (max-width: 960px) {
    .spec {
        height: 117vw;
        padding-bottom: 26vw;
    }
    .spec::before {
        top: var(--h3-font-size-w960-minus);
        width: 47vw;
        height: 35vw;
    }
    .spec .txt_area {
        right: -13vw;
    }
    .spec .img_area {
        top: 18vw;
        left: 2vw;
        width: 72vw;
        height: 72vw;
    }
    /* ユニボ（本体） */
    .spec .img_area img.unibo_body_before,
    .spec .img_area img.unibo_body_after {
        top: 0;
        width: 52vw;
    }
    /* ユニボ（腕） */
    .spec .img_area img.unubo_hand {
        top: 36vw;
        left: 20vw;
        width: 13vw;
    }
    /* 矢印（オレンジ） */
    .spec .img_area img.kadou_yoko_1 {
        top: -10vw;
        left: 23vw;
        width: 30vw;
    }
    .spec .img_area img.kadou_yoko_2 {
        top: 4vw;
        left: -11vw;
        width: 32vw;
    }
    /* 矢印（ブルー） */
    .spec .img_area img.kadou_tate_1 {
        top: -9vw;
        left: 3vw;
        width: 20vw;
    }
    .spec .img_area img.kadou_tate_2 {
        top: 26vw;
        left: 19vw;
        width: 21vw;
    }
}
@media (max-width: 800px) {
    /* ユニボ（腕） */
    .spec .img_area img.unubo_hand {
        top: 35vw;
        left: 21vw;
    }
}
@media (max-width: 600px) {
    .spec {
        height: 132vw;
        margin-bottom: 2vw;
    }
    .spec::before {
        top: 7vw;
    }
    .spec .txt_area {
        right: 0vw;
    }
    .spec .txt_area h3 {
        text-align: right;
        margin-bottom: 4vw;
    }
    .spec .txt_area h4 {
        text-align: center;
        margin-bottom: 4vw;
        padding-top: 5px;
    }
    .spec .txt_area p {
        font-size: 3.2vw;
    }
    .spec .txt_area p.spec_info {
        margin: 4vw 0;
    }
    /* ユニボ（腕） */
    .spec .img_area img.unubo_hand {
        top: 36vw;
        left: 21vw;
    }
}
/*================================================
　 PR動画
================================================*/
#pr h3, #pr .move_wrap, #pr .iframe {
    width: 820px;
}
#pr .pr_inner {
    background: rgba(233, 243, 255, 0.5);
    padding: 30px 0 140px;
}
#pr h3 {
    display: block;
    margin: 0 0 2vw 1vw;
}
#pr .move_wrap {
    margin: 0 auto;
}
#pr h4 {
    display: inline-block;
    margin-bottom: 30px;
}
#pr .ifram_area {
    position: relative;
}
#pr .ifram_area::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
    background: rgba(233, 243, 255, 0.3);
}
#pr .ifram_area::after{
    content: "";
    position: absolute;
    left: 40px;
    top: 40px;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: rgba(170, 227, 255, 0.8);
}
#pr .play_icon {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 110px;
    transition-duration: 0.8s;
    transition-property:width;
}
#pr .play_icon:hover {
    width: 130px;
    cursor: pointer;
}
#pr .iframe {
    position: relative;
}
#pr .iframe:before {
    content:"";
    display: block;
    padding-top: 56.25%;
}
#pr .iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}
@media (max-width: 1030px) {
    #pr h4 {
        margin-bottom: 1vw;
    }
}
@media (max-width: 935px) {
    #pr h3, #pr .move_wrap {
        width: 80%;
    }
    #pr .ifram_area .iframe {
        width: 100%;
    }
    #pr .play_icon {
        width: 12vw;
    }
    #pr .play_icon:hover {
        width: 15vw;
        cursor: pointer;
    }
}
@media (max-width: 670px) {
    #pr .ifram_area::after {
        left: 20px;
        top: 20px;
    }
}
@media (max-width: 600px) {
    #pr .pr_inner {
        padding-bottom: 18vw;
    }
}

/*-- 再生用動画 --------------*/
.start_move {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.9);
}
.start_move.active {
    display: block;
    animation: move-in 0.7s ease forwards;
    opacity: 0;
}
@keyframes move-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.start_move .youtube {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}
.start_move .youtube:before {
    content:"";
    display: block;
    padding-top: 56.25%;
}
.start_move .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.start_move img {
    position: absolute;
    right: 30px;
    top: 20px;
    width: 65px;
    cursor: pointer;
}
@media (max-width: 1040px) {
    .start_move .youtube {
        width: 90%;
    }
}
@media (max-width: 600px) {
    .start_move img {
        width: 50px;
    }
}

/*================================================
　　price（プライス）
================================================*/
.price .price_inner {
    position: relative;
    padding-bottom: 5vw;
}
.price h3 {
    margin-left: 2vw;
    margin-bottom: 14px;
}
.price h4 {
    width: 32vw;
    margin: 0;
    padding: 4vw 0 4vw 6vw;
}
.price ul {
    border-top: #4295fb solid 1px;
    width: 85vw;
    margin: 0 auto;
}
.price ul.price_area {
    height: 20vh;
}
.price ul.price_area li {
    display: flex;
    flex-flow: column;
    justify-content: space-around;
    font-weight: bold;
    width: 15vw;
    padding: 1.3vw 0 1.3vw 1em;
}
.price ul.price_area li p {
    line-height: 1;
}
.price ul.note li {
    padding-left: 1em;
    text-indent: -1.5em;
}
.price .price_txt {
    font-size: 2vw;
    color: #4295fb;
}
.price .price_txt span {
    font-size: 1vw;
}
.price ul.note {
    padding-top: 1vw;
}
.price .btn_wrap {
    text-align: right;
    margin: 3.5vw 7vw 0 auto;
}
@media (max-width: 1230px) {
    .price h4 {
        width: 30vw;
    }
    .price ul {
        width: 90vw;
    }
    .price ul.price_area {
        height: 23vh;
    }
    .price ul.price_area li {
        font-size: 18px;
        width: 27vw;
    }
    .price ul.price_area li:first-child {
        padding-left: 5vw;
    }
    .price .price_txt {
        font-size: 3.5vw;
    }
    .price .price_txt span {
        font-size: 16px;
    }
}
@media (max-width: 1030px) {
    .price ul.price_area li:first-child {
        padding-left: 3vw;
    }
}
@media (max-width: 960px) {
    .price h4 {
        width: 38vw;
    }
    .price .price {
        font-size: 3.5vw;
    }
    .price ul.price_area li {
        font-size: 2.2vw;
    }
    ul.price_area li:nth-child(2) {
        width: 22vw;
    }
    ul.price_area li:nth-child(3) {
        width: 30vw;
    }
    .price .price_txt {
        font-size: 4.5vw;
    }
    .price .price_txt span {
        font-size: 1.5vw;
    }
    .price .note li {
        font-size: 1.5vw;
    }
    .price .btn_wrap {
        margin-top: 4vw;
    }
    .price .btn {
        font-size: 1.6vw;
        width: 28vw;
    }
}
@media (max-width: 600px) {
    .price h4 {
        width: 70vw;
        text-align: center;
        margin: 0 auto;
    }
    .price ul.price_area {
        height: 20vh;
    }
    .price ul.price_area li {
        font-size: 3vw;
        width: 22vw;
        padding-left: 0;
    }
    .price ul.price_area li:last-child {
        width: 37vw;
    }
    .price .price_txt {
        font-size: 5.5vw;
    }
    .price .price span {
        font-size: 2vw;
    }
    .price .note li {
        font-size: 2vw;
    }
    .price .btn {
        font-size: 2.6vw;
        width: 40vw;
        height: 11vw;
    }
}
@media (max-width: 350px) {
    .price .price_txt {
        font-size: 5vw;
    }
}
/*================================================
　　フッター
================================================*/
footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    color: #3c3c3c;
    background-color: #eef2f5;
    padding: 5vw 0 2.5vw;
}
footer .flex div {
    width: 30vw;
}
footer .flex div.foot_left {
    margin-left: 10vw;
}
footer .flex div .foot_logo,
footer .flex address.contact {
    display: flex;
    flex-flow: column;
    justify-content: space-around;
    height: 7.5vw;
    margin-bottom: 4vw;
}
footer .flex address.contact p {
    line-height: 1;
}
footer img {
    width: 18vw;
}
.phrase {
    font-size: 1.4vw;
    font-weight: bold;
    line-height: 1;
    padding-top: 1vw;
}
.company {
    font-size: 1.1vw;
}
.address {
    font-size: 0.7vw;
    font-weight: bold;
}
.contact {
    font-weight: bold;
}
.tel {
    font-size: 30px;
}
footer nav {
    margin-top: 2.9vw;
}
footer nav ul li {
    font-size: 0.7vw;
    font-weight: bold;
    margin-bottom: 1vw;
}
footer nav ul li img {
    display: inline;
    width: 9px;
    vertical-align: middle;
}
.copy_right {
    border-top: #b6b5b5 solid 1px;
    margin: 2vw auto 0;
    padding-top: 2.5vw;
}
.copy_right .copy_right_text p {
    font-size: 10px;
}
.copy_right .sns_icon .sns_icon_inner {
    width: 200px;
}
.copy_right .sns_icon .sns_icon_inner .sns_img {
    width: auto;
}
.copy_right .sns_icon .sns_icon_inner .sns_img i {
    font-size: 25px;
    color: #949494;
}
@media (max-width: 1230px) {
    footer .flex div {
        width: 35vw;
    }
    footer nav ul li {
        margin-right: 2vw;
    }
}
@media (max-width: 1030px) {
    footer .flex div.foot_left {
        margin-right: 5vw;
    }
    footer img {
        width: 19vw;
    }
    .phrase {
        font-size: 1.8vw;
    }
    .company {
        font-size: 13px;
    }
    .address {
        font-size: 12px;
    }
    .tel {
        font-size: 3vw;
    }
    footer nav ul li {
        font-size: 11px;
    }
}
@media (max-width: 960px) {
    footer nav ul li {
        margin-right: 2vw;
    }
}
@media (max-width: 730px) {
    .copy_right {
        display: flex;
        justify-content: center;
        flex-wrap: wrap-reverse;
        width: 100%;
        margin-bottom: 20px;
        padding-top: 30px;
    }
    .copy_right .copy_right_text {
        width: 100%;
        margin: 30px 0 auto !important;
    }
    .copy_right .copy_right_text p {
        font-size: 10px;
        width: 100%;
        text-align: center;
    }
    .copy_right .copy_right_text small {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }
    .copy_right .sns_icon {
        width: 200px;
    }
    .copy_right .sns_icon .sns_icon_inner {
        justify-content: space-around;
    }
}
@media (max-width: 600px) {
    footer .flex div .foot_logo,
    footer .flex address.contact {
        height: 10vw;
    }
    footer .flex div {
        width: 40vw;
    }
    footer nav ul li {
        font-size: 1.8vw;
        margin: 0 0 2vw;
    }
    footer img {
        width: 130px;
    }
    .phrase {
        font-size: 13px;
    }
    .company {
        font-size: 11px;
    }
    .address {
        font-size: 10px;
        padding-left: 6px;
    }
    .contact {
        font-size: 11px;
    }
}
/* sns icon  */
/* @media (max-width: 500px) {
    .footer_text{
        padding-top: 2px;
    }
    #footer .flex .sns_icon .Instagram {
        width: 25px;
        float: left;
        margin-right: 7px;
    }
    #footer .flex .sns_icon .facebook {
        width: 25px;
        float: left;
        margin-right: 0px;
    }
    .flex .sns_icon .sns_img {
        width: 30px;
        float: left;
        margin-right: 7px;
        margin-bottom: 5px;
    }
    .sns_icon .sns_img img{
        width: 60%;
        max-height: 60%;
    }
} */
/* sns icon  */
/* @media (min-width: 501px) {
    .footer_text{
        padding-top: 5px;
        }
    #footer .flex .sns_icon .sns_img {
        width: 45px;
        float: left;
        margin-right: 15px;
    }
    #footer .flex .sns_icon .Instagram{
        width: 35px;
        float: left;
        margin-right: 15px;
    }

    #footer .flex .sns_icon .facebook {
        width: 35px;
        float: left;
        margin-right: 0px;
    }
    .sns_icon .sns_img img{
        width: 60%;
        max-height: 60%;
    }
} */
@media (max-width: 420px) {
    footer .flex div.foot_left {
        margin: 0;
    }
    footer .company_info .foot_left,
    footer .company_info .foot_logo {
        width: 55vw;
    }
    footer .company_info .foot_right {
        width: 32vw;
    }
    footer nav ul li {
        font-size: 11px;
    }
    footer .company_info .tel {
        font-size: 16px;
        margin: 5px 0;
    }
}
@media (max-width: 380px) {
    footer nav ul li img {
        width: 6px;
    }
}
@media (max-width: 350px) {
    footer .flex div:first-child {
        width: 48vw;
    }
    footer .flex div {
        width: 34vw;
    }
    footer .flex div.foot_left {
        margin: 0 8vw 0 5vw;
    }
    footer .flex div.foot_left.copy_right_text {
        margin-top: 30px;
    }
    .phrase {
        margin-bottom: 3.7vw;
    }
    .company {
        font-size: 2vw;
    }
    .address {
        font-size: 1.8vw;
    }
    .contact {
        font-size: 1.8vw;
    }
    footer nav ul li {
        width: 25vw;
    }
}
/*================================================
　 ページトップへ
================================================*/
.page_top {
    display: block;
    position: fixed;
    right: -15px;
    z-index: 101;
    width: 70px;
    margin: 0 35px 0 auto;
}
.page_top img {
    width: 70px;
    animation-name: up_down;
}
.page_top.dp_none {
    display: none;
}
@media (max-width: 980px) {
    .page_top,
    .page_top img {
        width: 60px;
    }
}
@media (max-width: 600px) {
    .page_top,
    .page_top img {
        width: 50px;
    }
}
/*================================================
　 IE用ポップアップ
================================================*/
.popup {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: 0.6s;
}
.popup.is-show {
    opacity: 1;
    visibility: visible;
}
.popup-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 600px;
    background-color: #fff;
    z-index: 2;
    border-radius: 15px;
}
.popup-inner img {
    width: 100%;
}
.popup-inner a img {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50%;
    margin: 0 auto;
    transform: translate(-50%, -50%);
}
.close-btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 65px;
    height: 65px;
    text-align: center;
    cursor: pointer;
    opacity: 0.4;
}
.close-btn i {
    font-size: 20px;
    color: #333;
}
.black-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
    cursor: pointer;
}
.fa-times:before {
    position: absolute;
}


