@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap");

html,
body {
    margin: 0;
    padding: 0;
    color: #3E3A39
}

body {
    font-family: 'Noto Sans JP', "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

* {
    box-sizing: border-box
}

@media (max-width: 767px) {
    .pc {
        display: none !important
    }
}

@media (min-width: 768px) {
    .sp {
        display: none !important
    }
}

.rounded-btn {
    display: inline-block;
    background-color: #8DC8E9;
    color: #fff;
    font-weight: bold;
    padding: 15px 40px 15px 30px;
    border-radius: 999px;
    font-size: 14px;
    text-decoration: none;
    position: relative
}

.rounded-btn::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px
}

.rounded-btn-rev {
    background-color: #fff;
    color: #8DC8E9;
    border: solid 1px #8DC8E9
}

.rounded-btn-rev::before {
    border-top: solid 1px #8DC8E9 !important;
    border-right: solid 1px #8DC8E9 !important
}

.shadow-box {
    background-color: #fff;
    max-width: 660px;
    margin: 0 auto;
    box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.2)
}

.home-header {
    position: relative;
    height: 100vh
}

.home-header .logo {
    position: absolute;
    top: 54px;
    left: 54px;
    z-index: 1
}

@media (max-width: 768px) {
    .home-header .logo {
        top: 24px;
        left: 24px
    }
}

@media (max-width: 767px) {
    .home-header .logo {
        width: 100%;
        background-color: #fff;
        top: 0;
        left: 0;
        text-align: center;
        height: 48px
    }
}

.home-header .logo img {
    height: 32px
}

@media (max-width: 767px) {
    .home-header .logo img {
        height: 16px;
        margin-top: 16px
    }
}

.home-header .lead {
    position: absolute;
    top: 8%;
    left: 50%;
    width: 858px;
    margin-left: -429px;
    z-index: 1
}

@media (max-width: 768px) {
    .home-header .lead {
        width: 75%;
        top: 80px;
        left: 0;
        margin-left: 24px
    }
}

body.product .home-header {
    height: 560px;
    background-size: cover;
    background-position: center
}

@media (max-width: 768px) {
    body.product .home-header {
        height: 375px
    }
}

body.product .logo {
    top: 95px
}

@media (max-width: 768px) {
    body.product .logo {
        top: 64px;
        left: 24px
    }
}

@media (max-width: 767px) {
    body.product .logo {
        top: 40px;
        left: 0;
        text-align: center
    }
}

body.product .lead {
    position: relative;
    left: 0;
    margin: 0 auto;
    top: 50%;
    width: 100%;
    max-width: 960px;
    text-align: left
}

@media (max-width: 768px) {
    body.product .lead {
        padding-left: 24px
    }
}

body.product .lead img {
    width: auto
}

body.product.jair .lead {
    margin-top: -42.5px
}

body.product.jair .lead img {
    height: 95px
}

@media (max-width: 768px) {
    body.product.jair .lead img {
        height: 64px
    }
}

.global-nav {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -362px;
    padding: 0;
    max-width: 794px
}

@media (max-width: 767px) {
    .global-nav {
        display: none
    }
}

.global-nav > ul {
    background-color: #fff;
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 40px
}

.global-nav > ul > li {
    display: flex
}

.global-nav > ul > li > a {
    display: flex;
    align-items: center
}

.global-nav > ul > li > a > span {
    flex-grow: 1;
    display: inline;
    line-height: 82px;
    padding: 0 40px
}

.global-nav > ul > li > a > span img {
    width: auto;
    height: 12px
}

.global-nav .btn-contact {
    position: absolute;
    top: -91px;
    right: -71px
}

@media (max-width: 870px) {
    .global-nav .btn-contact {
        top: -122px;
        right: -24px
    }
}

.global-nav .btn-contact img {
    width: 142px
}

.fixed-global-nav {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    width: 100%;
    z-index: -1;
    opacity: 0;
    transition: opacity .5s;
    pointer-events: none
}

@media (max-width: 767px) {
    .fixed-global-nav {
        display: none
    }
}

.fixed-global-nav > ul {
    background-color: #fff;
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 40px
}

.fixed-global-nav > ul > li {
    display: flex
}

.fixed-global-nav > ul > li > a {
    display: flex;
    align-items: center
}

.fixed-global-nav > ul > li > a > span {
    flex-grow: 1;
    display: inline;
    line-height: 82px;
    padding: 0 40px
}

.fixed-global-nav > ul > li > a > span img {
    width: auto;
    height: 12px
}

.fixed-global-nav.show {
    z-index: 3;
    opacity: 1;
    pointer-events: auto
}

.btn-contact.sp {
    position: absolute;
    right: 24px;
    bottom: 24px
}

.btn-contact.sp img {
    width: 102px
}

section {
    width: 100%;
    padding: 80px 0 120px 0;
    overflow: hidden
}

.obi-box {
    margin-top: 64px
}

@media (max-width: 768px) {
    .obi-box {
        margin-top: 32px
    }
}

.obi-box .obi-content {
    display: block;
    position: relative;
    max-width: 960px;
    height: 400px;
    margin: 0 auto;
    color: #3E3A39
}

@media (max-width: 768px) {
    .obi-box .obi-content {
        height: 360px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content {
        height: 400px
    }
}

.obi-box .obi-content::after {
    content: "";
    display: block;
    width: 200%;
    height: 100%;
    background-color: #fff;
    box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.2)
}

@media (max-width: 414px) {
    .obi-box .obi-content::after {
        width: 100%
    }
}

.obi-box .obi-content-inner {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner {
        padding-top: 16px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner {
        padding-bottom: 24px;
        flex-wrap: wrap-reverse
    }
}

.obi-box .obi-content-inner .text {
    width: 376px;
    padding-left: 70px
}
.obi-box .obi-content-inner.tyou .text{
    padding-left: 30px
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner .text {
        width: 50%;
        padding-left: 32px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .text {
        width: 100%;
        padding: 0 56px
    }
}

.obi-box .obi-content-inner .text h3 {
    font-size: 36px;
    font-family: 'Noto Serif JP', serif;
    white-space: nowrap
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .text h3 {
        font-size: 20px
    }
}

.obi-box .obi-content-inner .text p {
    margin-top: 40px;
    font-size: 18px;
    line-height: 2em
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .text p {
        font-size: 16px;
        margin-top: 20px;
        line-height: 1.5em
    }
}

.obi-box .obi-content-inner .text .more {
    text-align: right
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .text .more {
        text-align: center
    }
}

.obi-box .obi-content-inner .text .more img {
    width: auto;
    height: 20px
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .text .more img {
        height: 16px
    }
}

.obi-box .obi-content-inner .image {
    width: 460px
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner .image {
        width: 48%;
        text-align: center
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image {
        width: 100%;
        text-align: center;
        position: relative
    }
}

.obi-box .obi-content-inner .image img {
    width: 100%
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image img {
        position: static
    }
}

.obi-box .obi-content-inner .image img#products-image-01 {
    width: 90%
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner .image img#products-image-01 {
        margin-top: -24px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image img#products-image-01 {
        position: relative;
        margin-left: 0;
        top: 0;
        width: 60%
    }
}

.obi-box .obi-content-inner .image img#products-image-02 {
    width: 140%;
    margin-left: -30px
}

@media (max-width: 880px) {
    .obi-box .obi-content-inner .image img#products-image-02 {
        margin-left: -60px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image img#products-image-02 {
        position: relative;
        margin-left: 0;
        top: 10px;
        width: 90%
    }
}

.obi-box .obi-content-inner .image img#products-image-03 {
    width: 120%;
    margin-right: 76px
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image img#products-image-03 {
        position: relative;
        margin-right: 0;
        top: 0;
        width: 80%;
        margin-top: -28px
    }
}

.obi-box .obi-content-inner .image img#products-image-04 {
    width: 75%;
    margin-left: 200px;
    margin-top: -100px
}

@media (max-width: 880px) {
    .obi-box .obi-content-inner .image img#products-image-04 {
        margin-left: 120px
    }
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner .image img#products-image-04 {
        margin-left: 80px;
        margin-top: -50px
    }
}

@media (max-width: 768px) {
    .obi-box .obi-content-inner .image img#products-image-04 {
        margin-left: 40px;
        margin-top: -50px
    }
}

@media (max-width: 414px) {
    .obi-box .obi-content-inner .image img#products-image-04 {
        position: relative;
        margin-left: 0;
        margin-top: -40px;
        top: 0;
        width: 50%
    }
}

.obi-box:nth-child(odd) .obi-content::after {
    position: absolute;
    right: 0
}

@media (max-width: 414px) {
    .obi-box:nth-child(odd) .obi-content-inner {
        flex-wrap: wrap
    }
}

.obi-box:nth-child(odd) .obi-content-inner .text {
    width: 376px;
    padding-right: 70px
}

@media (max-width: 768px) {
    .obi-box:nth-child(odd) .obi-content-inner .text {
        padding-right: 40px
    }
}

@media (max-width: 414px) {
    .obi-box:nth-child(odd) .obi-content-inner .text {
        width: 100%;
        padding: 0 56px
    }
}

header.lv2 {
    background-image: url(../img/point-dot.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 16px;
    text-align: center;
    padding-top: 32px
}

header.lv2 > h2 {
    font-size: 32px;
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
    margin-top: 12px
}

header.lv2 small img {
    width: auto;
    height: 14px
}

header.line-heading > * {
    text-align: center;
    position: relative;
    font-size: 22px
}

@media (max-width: 767px) {
    header.line-heading > * {
        font-size: 16px
    }
}

header.line-heading > *:before,
header.line-heading > *:after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    background-color: #3E3A39;
    position: absolute;
    top: 50%;
    margin-top: -0.5px
}

header.line-heading > *:before {
    left: -50%;
    margin-left: -3.5em
}

header.line-heading > *:after {
    right: -50%;
    margin-right: -3.5em
}

img.full {
    width: 100%
}

.content-wrapper {
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden
}

header + .content-wrapper {
    margin-top: 64px
}

@media (max-width: 768px) {
    header + .content-wrapper {
        margin-top: 32px
    }
}

.content-wrapper-small {
    max-width: 760px
}

.content-wrapper > p {
    margin-top: 1.5em;
    line-height: 2.2em
}

.content-wrapper > p:first-child {
    margin-top: 0
}

@media (max-width: 768px) {
    #concept-box {
        padding: 45px 24px 98px 24px
    }
}

#products-box {
    background-image: url(../img/bg-1.png);
    background-size: cover;
    background-position: center
}

@media (max-width: 768px) {
    #products-box {
        padding: 45px 24px 98px 24px
    }
}

#company-box {
    background-image: url(../img/bg-2.png);
    background-size: cover;
    background-position: center
}

@media (max-width: 768px) {
    #company-box {
        padding: 45px 24px 68px 24px
    }
}

.greeting {
    display: block
}

.greeting > .text {
    flex: 1
}

.greeting > .text > * {
    padding-right: 40px
}

@media (max-width: 767px) {
    .greeting > .text > * {
        padding-right: 0
    }
}

.greeting > .text h3 {
    font-size: 22px;
    font-weight: normal;
    position: relative
}

.greeting > .text h3:after {
    content: "";
    display: block;
    width: 3em;
    height: 1px;
    background-color: #3E3A39;
    position: absolute;
    left: 3.5em;
    top: 50%;
    margin-top: -1px
}

.greeting > .text p {
    margin-top: 32px;
    line-height: 2em
}

.greeting > .text .name {
    text-align: right
}

@media (max-width: 767px) {
    .greeting > .text .name {
        text-align: center
    }
}

.greeting > .image {
    width: 660px;
    margin: 64px auto 0 auto;
    position: relative
}

@media (max-width: 767px) {
    .greeting > .image {
        width: 220px;
        margin: 16px auto 0 auto
    }
}

.greeting > .image .text-greeting {
    width: auto;
    height: 120px;
    position: absolute;
    right: 0;
    bottom: -100px
}

@media (max-width: 767px) {
    .greeting > .image .text-greeting {
        height: 48px;
        bottom: -42px
    }
}

.outline {
    margin-top: 195px
}

@media (max-width: 767px) {
    .outline {
        margin-top: 95px
    }
}

.outline table {
    width: 100%;
    border: solid 2px #A19D91
}

.outline th,
.outline td {
    border: dotted 1px #A19D91;
    padding: 30px 40px;
    vertical-align: middle;
    line-height: 1.5em
}

@media (max-width: 767px) {

    .outline th,
    .outline td {
        padding: 10px 5px
    }
}

.outline th {
    font-weight: normal;
    text-align: center;
    width: 1%;
    white-space: nowrap;
    background-color: rgba(161, 157, 145, 0.2)
}

.outline td {
    background-color: #fff
}

@media (max-width: 767px) {
    .outline td {
        padding: 10px
    }
}

#contact-box {
    margin-top: 64px
}

@media (max-width: 767px) {
    #contact-box {
        margin-top: 36px
    }
}

#contact-box .contact-method {
    margin-top: 48px;
    display: flex
}

@media (max-width: 767px) {
    #contact-box .contact-method {
        flex-wrap: wrap;
        margin-top: 24px
    }
}

#contact-box .contact-method > * {
    width: 50%;
    padding: 0 16px;
    text-align: center
}

@media (max-width: 767px) {
    #contact-box .contact-method > * {
        width: 100%;
        padding: 0
    }
}

@media (max-width: 767px) {
    #contact-box .contact-method > *.mail {
        border-top: solid 1px #3E3A39;
        padding-top: 24px;
        margin: 24px 24px 0 24px
    }
}

#contact-box .contact-method > *:first-child {
    border-right: solid 1px #3E3A39
}

@media (max-width: 767px) {
    #contact-box .contact-method > *:first-child {
        border-right: none
    }
}

#contact-box .contact-method > * h3 {
    font-size: 22px
}

@media (max-width: 767px) {
    #contact-box .contact-method > * h3 {
        font-size: 16px
    }
}

#contact-box .contact-method > * .text-tel {
    display: inline-block;
    width: 100%;
    max-width: 346px;
    height: auto;
    line-height: 66px;
    margin-top: 12px
}

@media (max-width: 767px) {
    #contact-box .contact-method > * .text-tel {
        max-width: 212px;
        line-height: 20px
    }
}

#contact-box .contact-method > * .text-tel img {
    width: 100%;
    vertical-align: middle
}

#contact-box .contact-method > * .btn-mail {
    display: inline-block;
    width: 100%;
    max-width: 391px;
    height: auto;
    line-height: 66px;
    margin-top: 12px
}

#contact-box .contact-method > * .btn-mail img {
    width: 100%;
    vertical-align: middle
}

#contact-box .contact-btn {
    text-align: center
}

#product {
    background-image: url(../img/bg-2.png);
    background-size: cover
}

@media (max-width: 768px) {
    #product {
        padding: 45px 24px 98px 24px
    }
}

@media (max-width: 767px) {
    #product .content-wrapper {
        margin-top: 32px
    }
}

#product .image {
    margin-top: 50px;
    text-align: center
}

@media (max-width: 767px) {
    #product .image {
        margin-top: 25px
    }
}

#product .image img {
    max-width: 100%
}

#feature {
    background-image: url(../img/bg-1.png);
    background-size: cover
}

@media (max-width: 768px) {
    #feature {
        padding: 45px 24px 98px 24px
    }
}

#feature .shadow-box {
    max-width: 1020px;
    margin-top: 64px;
    padding: 64px 24px
}

@media (max-width: 767px) {
    #feature .shadow-box {
        margin-top: 32px;
        padding: 32px 24px
    }
}

#feature .shadow-box .image {
    text-align: center
}

#feature .shadow-box .image img {
    max-width: 100%
}

#feature .shadow-box .icon-box {
    display: flex;
    align-items: top;
    justify-content: space-between;
    max-width: 620px;
    margin: 56px auto 0 auto
}

@media (max-width: 767px) {
    #feature .shadow-box .icon-box {
        display: block;
        position: relative;
        margin-top: 32px
    }
}

#feature .shadow-box .icon-box > .icon {
    width: 112px
}

@media (max-width: 767px) {
    #feature .shadow-box .icon-box > .icon {
        width: 32px;
        position: absolute;
        top: -4px
    }
}

#feature .shadow-box .icon-box > .icon img {
    width: 100%;
    height: auto
}

#feature .shadow-box .icon-box > .text {
    flex: 1;
    padding-left: 32px
}

@media (max-width: 767px) {
    #feature .shadow-box .icon-box > .text {
        padding-left: 0
    }
}

#feature .shadow-box .icon-box h3 {
    font-size: 24px;
    padding-bottom: 10px
}

@media (max-width: 767px) {
    #feature .shadow-box .icon-box h3 {
        text-indent: 38px
    }
}

#feature .shadow-box .icon-box p {
    font-size: 18px;
    line-height: 2em
}

#feature .column-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 64px auto 0 auto
}

@media (max-width: 767px) {
    #feature .column-box {
        display: block
    }
}

#feature .column-box-item {
    width: 31%;
    max-width: 307px
}

@media (max-width: 767px) {
    #feature .column-box-item {
        width: auto;
        margin: 32px auto 0 auto
    }
}

#feature .column-box-item .image img {
    width: 100%
}

#feature .column-box-item .text {
    margin-top: 16px
}

#feature .column-box-item h3 {
    font-size: 24px;
    padding-bottom: 12px
}

#feature .column-box-item p {
    font-size: 18px;
    line-height: 2em
}

@media (max-width: 767px) {
    #feature .column-box-item p {
        line-height: 1.6em
    }
}

#feature .column-box .note {
    margin-top: 48px
}

@media (max-width: 767px) {
    #feature .column-box .note {
        margin-top: 32px
    }
}

#feature .spec {
    margin-top: 64px
}

#feature .spec h3 {
    text-align: center
}

#feature .spec h3 img {
    height: 14px
}

#feature .spec table {
    width: 100%;
    max-width: 1000px;
    margin: 24px auto 0 auto;
    border-bottom: solid 1px #fff
}

#feature .spec table th,
#feature .spec table td {
    border-top: solid 1px #fff;
    padding: 20px 24px;
    text-align: left;
    font-weight: normal
}

@media (max-width: 767px) {

    #feature .spec table th,
    #feature .spec table td {
        padding: 15px 10px;
        line-height: 1.5em
    }
}

#feature .spec table th {
    width: 1%;
    white-space: nowrap
}

#voice-movie {
    background-image: url(../img/bg-2.png);
    background-size: cover;
    padding-bottom: 80px
}

@media (max-width: 768px) {
    #voice-movie {
        padding: 45px 24px 0 24px
    }
}

#voice-movie .voice-box {
    margin-top: 40px;
    display: flex;
    border: solid 1px #8DC8E9;
    background-color: #fff;
    padding: 50px 60px
}

@media (max-width: 767px) {
    #voice-movie .voice-box {
        margin-top: 24px;
        padding: 24px
    }
}

#voice-movie .voice-box:nth-child(odd) {
    background-color: rgba(141, 200, 233, 0.2)
}

#voice-movie .voice-box .icon {
    width: 168px;
    border-right: solid 1px #8DC8E9
}

@media (max-width: 767px) {
    #voice-movie .voice-box .icon {
        width: 70px
    }
}

#voice-movie .voice-box .icon img {
    width: 118px
}

@media (max-width: 767px) {
    #voice-movie .voice-box .icon img {
        width: 48px
    }
}

#voice-movie .voice-box .text {
    flex: 1;
    padding-left: 60px
}

@media (max-width: 767px) {
    #voice-movie .voice-box .text {
        padding-left: 24px
    }
}

#voice-movie .voice-box .text h3 {
    font-weight: normal;
    font-size: 20px
}

#voice-movie .voice-box .text p {
    margin-top: 32px;
    line-height: 2em
}

@media (max-width: 767px) {
    #voice-movie .voice-box .text p {
        margin-top: 16px;
        line-height: 1.6em
    }
}

@media (max-width: 768px) {
    #voice {
        padding-top: 0
    }
}

#voice .content-wrapper {
    margin-top: 48px
}

@media (max-width: 767px) {
    #voice .content-wrapper {
        margin-top: 32px
    }
}

#voice .content-wrapper > p {
    text-align: center
}

#movie {
    padding-top: 0
}

#movie .content-wrapper {
    margin-top: 48px
}

@media (max-width: 767px) {
    #movie .content-wrapper {
        margin-top: 32px
    }
}

#movie .content-wrapper > p {
    text-align: center
}

#movie .keep-aspect {
    width: 100%;
    max-width: 750px;
    margin: 40px auto 0 auto;
    aspect-ratio: 16 / 9
}

#movie .keep-aspect iframe {
    width: 100%;
    height: 100%
}

article .contact-btn {
    margin-top: 40px;
    text-align: center
}

footer {
    padding: 90px 40px 196px 40px;
    background-color: rgba(161, 157, 145, 0.2)
}

@media (max-width: 767px) {
    footer {
        padding: 45px 24px 152px 24px
    }
}

footer .footer-nav-box {
    display: flex;
    justify-content: space-between
}

@media (max-width: 767px) {
    footer .footer-nav-box {
        display: block;
        text-align: center
    }
}

footer .footer-nav-box > .logo {
    height: 32px
}

@media (max-width: 767px) {
    footer .footer-nav-box > .logo {
        height: 16px
    }
}

footer .footer-nav-box > .logo img {
    width: auto;
    height: 32px
}

@media (max-width: 767px) {
    footer .footer-nav-box > .logo img {
        height: 16px
    }
}

@media (max-width: 767px) {
    footer .footer-nav-box > .navigation {
        display: none
    }
}

footer .footer-nav-box > .navigation nav > ul {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center
}

footer .footer-nav-box > .navigation nav > ul > li {
    display: flex
}

footer .footer-nav-box > .navigation nav > ul > li:last-child {
    margin-right: -24px
}

footer .footer-nav-box > .navigation nav > ul > li > a {
    display: flex;
    align-items: center
}

footer .footer-nav-box > .navigation nav > ul > li > a > span {
    flex-grow: 1;
    display: inline;
    line-height: 32px;
    padding: 0 24px
}

footer .footer-nav-box > .navigation nav > ul > li > a > span img {
    width: auto;
    height: 12px
}

footer .footer-address-box {
    position: relative;
    margin-top: 60px
}

@media (max-width: 767px) {
    footer .footer-address-box {
        margin-top: 30px
    }
}

footer .footer-address-box .address {
    line-height: 2em
}

@media (max-width: 767px) {
    footer .footer-address-box .address {
        font-size: 12px
    }
}

footer .footer-address-box .address a {
    text-decoration: none;
    color: #3E3A39
}

footer .footer-address-box .social {
    position: absolute;
    top: 0;
    right: 0
}

@media (max-width: 767px) {
    footer .footer-address-box .social {
        position: static;
        text-align: center;
        margin-top: 30px
    }
}

footer .footer-address-box .social a {
    display: inline-block;
    margin-left: 24px
}

footer .footer-address-box .social a:first-child {
    margin-left: 0
}

footer .footer-address-box .social a img {
    width: auto;
    height: 36px
}

@media (max-width: 767px) {
    footer .footer-address-box .social a img {
        height: 28px
    }
}

footer .copyright {
    margin-top: 92px;
    text-align: center
}

@media (max-width: 767px) {
    footer .copyright {
        margin-top: 46px;
        font-size: 12px
    }
}

.bottom-nav {
    position: fixed;
    z-index: 1;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    font-size: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden
}

.bottom-nav img {
    height: 48px
}

.full div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    margin: 0;
    text-decoration: none
}

.full div.img01 {
    background-image: url(../img/home-hero-01.jpg)
}

@media (max-width: 767px) {
    .full div.img01 {
        background-image: url(../img/home-hero-01-sp.jpg)
    }
}

.full div.img02 {
    background-image: url(../img/home-hero-02.jpg)
}

@media (max-width: 767px) {
    .full div.img02 {
        background-image: url(../img/home-hero-02-sp.jpg)
    }
}

.full div.img03 {
    background-image: url(../img/home-hero-03.jpg)
}

@media (max-width: 767px) {
    .full div.img03 {
        background-image: url(../img/home-hero-03-sp.jpg)
    }
}

.full .slick-dots {
    bottom: 92px;
    z-index: +1
}

.full .slick-dots li button:before {
    font-size: 16px;
    color: #fff
}

.full .slick-dots li.slick-active button:before {
    color: #fff
}

.drawer-hamburger {
    padding: 13px 13px 23px !important;
    position: absolute !important
}

.drawer-open .drawer-hamburger {
    position: fixed !important
}

.drawer-nav {
    width: 100% !important
}

.drawer--right .drawer-nav {
    right: -100% !important
}

.drawer--right.drawer-open .drawer-nav {
    right: 0% !important
}

.drawer--right.drawer-open .drawer-hamburger {
    right: 0 !important
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
    background-color: #8DC8E9 !important
}

.drawer-open .drawer-hamburger-icon {
    background-color: transparent !important
}

.drawer-nav .logo {
    padding: 14px 0;
    text-align: center
}

.drawer-nav .logo img {
    height: 16px
}

.drawer-nav .drawer-menu {
    padding-top: 48px;
    background-color: #ECEBE9
}

.drawer-nav .drawer-menu > li {
    border-top: solid 1px #fff
}

.drawer-nav .drawer-menu > li > a {
    display: block;
    text-align: center;
    background-color: #ECEBE9;
    padding: 18px 0
}

.drawer-nav .drawer-menu > li > a img {
    height: 12px
}

.drawer-nav .social {
    text-align: center;
    background-color: #ECEBE9;
    padding: 18px 0
}

.drawer-nav .social a {
    display: inline-block;
    margin-left: 24px
}

.drawer-nav .social a:first-child {
    margin-left: 0
}

.drawer-nav .social a img {
    width: auto;
    height: 30px
}

.drawer-nav .contact-btn {
    background-color: #ECEBE9;
    padding: 18px 0 66px 0;
    text-align: center
}

.fixed-pagetop {
    position: fixed;
    right: 24px;
    bottom: 24px;
    opacity: 0;
    transition: opacity .5s;
    pointer-events: none
}

@media (max-width: 767px) {
    .fixed-pagetop {
        bottom: 68px
    }
}

.fixed-pagetop.show {
    z-index: 3;
    opacity: 1;
    pointer-events: auto
}

.fixed-pagetop img {
    width: 67px;
    height: 67px
}

@media (max-width: 767px) {
    .fixed-pagetop img {
        width: 54px;
        height: 54px
    }
}

.panchor {
    position: relative;
    top: -82px
}

@media (max-width: 767px) {
    .panchor {
        top: 0
    }
}
