@charset "utf-8";

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

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

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

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

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

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

.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;
  --color-mainblue: #244869;
  --color-focusblue: #006699;
  --color-mainorange: #FD882E;
  --color-mainyellow: #FBC92E;
  --color-mainbeige: #F4F1EE;
  --color-subbeige: #E9E3DD;
  --color-white: #FFFFFF;
  --color-black: #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;
    }
}

.btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0 20px;
    font-weight: 700;
    border-radius: 9999px;
}

.btn_blue {
    background: var(--color-mainblue);
    color: #FFF;
}

.btn_blue:hover {
    opacity: 1;
    background-color: #006699;
}

.btn_orange {
    background: var(--color-mainorange);
    color: #FFF;
}

.btn_orange:hover {
    opacity: 1;
    background-color: #FF6600;
}

.btn_white {
    border: 3px solid #1A334A;
    color: #1A334A;
    background: #FFF;
}

.btn_blue {
    background: var(--color-mainblue);
    color: #FFF;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
  width: 8px;
  height: 1px;
  border-radius: 9999px;
  background-color: #FFF;
  transform-origin: calc(100% - 0.5px) 50%;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}

.btn_large.arrow::before,
.btn_large.arrow::after {
    width: 16px;
}

.btn_white::before,
.btn_white::after {
  background-color: #1A334A;
}

@media all and (max-width:959px) {
    .btn_large.arrow::before,
    .btn_large.arrow::after {
        width: 1.522vw;
    }
    .btn_white {
        border: 2px solid #1A334A;
        color: #1A334A;
        background: #FFF;
    }
}

/*================================
その他
================================*/
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;
}
