﻿* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media(max-width: 767px) {
    html {
        font-size: 2.6667vw
    }
}

@media(min-width: 768px)and (max-width: 1240px) {
    html {
        font-size: .80645vw
    }
}

@media(min-width: 768px)and (min-width: 1241px) {
    html {
        font-size: 10px
    }
}

body {
    color: #1d2b55;
    font-size: 1.4rem;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 1.6;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

@media(min-width: 768px) {
    body {
        font-size: 1.6rem
    }
}

input[type=submit],
input[type=button] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
    display: none
}

input[type=submit]:focus,
input[type=button]:focus {
    outline-offset: -2px
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date],
input[type=time],
select {
    border-radius: 0
}

textarea {
    max-width: 100%;
    border-radius: 0
}

main {
    overflow: hidden
}

section {
    position: relative
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    padding: 0;
    margin: 0;
    font-weight: bold;
    line-height: 1.5
}

h1,
h2,
h3,
h4,
strong {
    font-weight: 800
}

a {
    display: block;
    color: inherit;
    text-decoration: none
}

picture,
img {
    display: block;
    max-width: 100%
}

textarea {
    width: 100% !important
}

select {
    -webkit-appearance: none;
    appearance: none
}

select::-ms-expand {
    display: none
}

.c {
    text-align: center
}

@media(min-width: 768px) {
    .pcc {
        text-align: center
    }
}

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

.r {
    text-align: right
}

.flexbox-a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media(min-width: 768px) {
    .flexbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media(max-width: 767px) {
    .flexbox-sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.jus-s {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.jus-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.jus-e {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.jus-ad {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.jus-bn {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.al-c {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.al-s {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.al-e {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.flex-w {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.flexbox-a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.flexbox-in {
    display: inline-flex
}

.flex-r {
    flex-flow: row-reverse
}

table {
    border-collapse: collapse
}

table tbody {
    -webkit-text-size-adjust: 100%
}

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

.pc-in {
    display: none
}

@media(min-width: 768px) {
    .pc-in {
        display: inline
    }
}

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

.sp-in {
    display: none
}

@media(max-width: 767px) {
    .sp-in {
        display: inline
    }
}

.container {
    position: relative;
    margin-left: 2rem;
    margin-right: 2rem;
    z-index: 1
}

@media(min-width: 768px) {
    .container {
        max-width: 120rem;
        margin: 0 auto
    }
}

@media(min-width: 768px) {
    .container_pc {
        position: relative;
        max-width: 120rem;
        margin: 0 auto;
        z-index: 1
    }
}

@media(max-width: 767px) {
    .container_sp {
        position: relative;
        margin-left: 2rem;
        margin-right: 2rem;
        z-index: 1
    }
}

.wrap {
    overflow: hidden
}

.swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    transform: translate3d(0, 0, 0)
}

.inline-link {
    display: inline;
    text-decoration: underline;
    transition: opacity .3s
}

@media(min-width: 768px) {
    .inline-link:hover {
        opacity: .7
    }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

@media(min-width: 768px) {
    .hover-opacity {
        transition: opacity .3s
    }

    .hover-opacity:hover {
        opacity: .7
    }
}