@charset "utf-8";

/*================================
フォント
================================*/
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #4D4D4D;
    letter-spacing: 0.05em;
}

p {
    font-size: 16px;
    line-height: 1.8;
    color: #000;
}

@media screen and (max-width: 959px) {
    p {
        font-size: 3.59vw;
    }
}

a {
    text-decoration: none;
    line-height: 1;
    color: #4D4D4D;
}

p a {
    color: var(--color-blue);
    line-height: inherit;
    text-decoration: underline;
}

h1,h2,h3,h4,h5 {
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #4D4D4D;
}

.center {
    margin-inline: auto;
    text-align: center;
}

strong {
    font-weight: 700;
}


/*================================
画像
================================*/
img {
    max-width: 100%;
    vertical-align: bottom;
}

/*================================
リスト
================================*/
ul {
    list-style: none;
}

/*================================
表示切り替え
================================*/

.is-pc {
    display: block!important;
}

@media screen and (max-width: 959px) {
    .is-pc {
        display: none!important;
    }
}

.is-tab {
    display: none!important;
}

@media screen and (max-width: 928px) {
    .is-tab {
        display: block!important;
    }
}


.is-sp {
    display: none!important;
}

@media screen and (max-width: 959px) {
    .is-sp {
        display: block!important;
    }
}

.is-flex-pc {
    display: flex!important;
}

@media screen and (max-width: 959px) {
    .is-flex-pc {
        display: none!important;
    }
}

.is-flex-sp {
    display: none!important;
}

@media screen and (max-width: 959px) {
    .is-flex-sp {
        display: flex!important;
    }
}

.is-ib-pc {
    display: inline-block!important;
}

@media screen and (max-width: 959px) {
    .is-ib-pc {
        display: none!important;
    }
}

.is-ib-sp {
    display: none!important;
}

@media screen and (max-width: 959px) {
    .is-ib-sp {
        display: inline-block!important;
    }
}

.is-il-pc {
    display: inline!important;
}

@media screen and (max-width: 959px) {
    .is-il-pc {
        display: none!important;
    }
}

.is-il-sp {
    display: none!important;
}

@media screen and (max-width: 959px) {
    .is-il-sp {
        display: inline!important;
    }
}

/*================================
カラー
================================*/
:root {
  --color-text: #000000;
}

/*================================
マージンなど
================================*/
.mt0 {
    margin-top: 0!important;
}

/*================================
ボタン・リンク
================================*/
@media all and (min-width:769px) {
    a,
    *[data-href] {
        transition: all 0.3s ease;
        cursor: pointer;
    }
    a:hover {
        opacity: 0.3;
    }
    *[data-href]:hover {
        opacity: 0.8;
    }
}

/*================================
その他
================================*/
html {
	scroll-behavior: smooth;
    overflow-x: hidden;
}

.iframe {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.75%;
    position: relative;
}


@media screen and (max-width: 959px) {
    .iframe {
        padding-bottom: 70.5%;
    }
}

.iframe iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

address {
    font-style: normal;
}
