/*************CSSの初期設定*************/

:root {
    /* Font/text values */
    --color-1: rgba(2, 59, 118, 1);
    --color-2: rgba(255, 255, 255, 1);
    --color-3: rgba(244, 249, 255, 1);
    --color-base: #fff;
    --color-font: #000000;
    --color-meta: rgba(107, 133, 160, 1);
    --inner-1: 2rem;
    --inner-2: 2rem;
    --inner-3: 2rem;
    --section-padding: 10rem;
    --section-last-padding: 15rem;
    --font-size-p: 1.5rem;
    --font-size-btn: 2rem;
    --font-size-h: 3rem;
    --font-size-h-middle: 2rem;
    --font-size-meta: 1.2rem;
    --letter-spacing: 0.05em;
    --line-height: 1.5;
    --border-width: 0.2rem;
    --margin-large: 5rem;
    --margin-middle: 4rem;
    --margin-small: 1.5rem;
    --margin-very-small: 1rem;
    --margin-flex-2-cols: 5rem;
    --margin-flex-3-cols: 5rem;
    --margin-flex-4-cols: 5rem;
    --margin-flex-2-cols-item-width: calc((100% - var(--margin-flex-2-cols)) / 2);
    --margin-flex-3-cols-item-width: calc((100% - var(--margin-flex-2-cols) * 2) / 3);
    --margin-flex-4-cols-item-width: calc((100% - var(--margin-flex-2-cols) * 3) / 4);
    --margin-grid-1-cols: 5rem;
    --margin-grid-2-cols: 5rem;
    --margin-grid-3-cols: 5rem;
    --margin-grid-4-cols: 5rem;
    --image-aspect-height: 66.666666666%;
    --min-content-with: 800px
}

* {
    box-sizing: border-box;
}

html {
    font-size: 2.6666666666vw;
}

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

html,
body {
    max-width: 100vw;
    overflow-x: hidden;
}

body {
    font-size: var(--font-size-p);
    letter-spacing: var(--letter-spacing);
    line-height: var(--line-height);
}

/********* 初期化 *********/

a {
    color: inherit;
    text-decoration: unset;
    width: 100%;
    height: 100%;
}

p,
ul,
li,
h1,
h2,
h3,
h4 {
    margin: 0;
}

ul {
    list-style: none;
    padding: 0;
}

li {
    text-align: left;
}

dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

button {
    padding: 0;
    margin: 0;
    border: inherit;
    box-shadow: inherit;
    border-radius: 0;
}

label,
input {
    display: block;
    width: 100%;
}

label,
input,
textarea {
    display: block;
    width: 100%;
}

label {
    font-weight: bold;
}

textarea {
    height: 15em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
select,
textarea {
    border: 1px solid #eee;
    box-shadow: unset;
    background: none;
    font-weight: inherit;
    padding: 1em;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    display: inline-block;
}

label {
    font-weight: bold;
    display: inline-block;
    width: auto;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    font-size: var(--p-font-size);
}

/********* レイアウト *********/
/* セクション */
.oac-section {
    position: relative;
    padding-bottom: var(--section-padding);
}

.oac-section:last-child {
    padding-bottom: var(--section-last-padding);
}

.oac-widh-min {
    max-width: var(--min-content-with);
    margin-left: auto;
    margin-right: auto;
}

.oac-section .oac-inner>*,
.oac-section .oac-widh-min>* {
    margin-bottom: var(--margin-large);
}

.oac-section .oac-inner>*:last-child,
.oac-section .oac-widh-min>*:last-child {
    margin-bottom: 0;
}

.oac-section-title {
    font-size: var(--font-size-h);
    margin-bottom: var(--margin-large);
}

.oac-section-sub-title {
    font-size: var(--font-size-h-middle);
    margin-bottom: var(--margin-middle);
}

.oac-inner {
    padding: 0 var(--inner-1);
}

.oac-inner .oac-inner {
    padding: 0 var(--inner-2);
}

.oac-inner .oac-inner .oac-inner {
    padding: 0 var(--inner-3);
}

/* ブロック */
.oac-d-block {
    display: block;
}

/* フレックス */
.oac-d-flex-cols-2,
.oac-d-flex-cols-3,
.oac-d-flex-cols-4 {
    display: flex;
}

.oac-d-flex-cols-2 .oac-d-flex-item {
    width: var(--margin-flex-2-cols-item-width);
    margin: 0 var(--margin-flex-2-cols) var(--margin-flex-2-cols) 0;
}

.oac-d-flex-cols-3 .oac-d-flex-item {
    width: var(--margin-flex-3-cols-item-width);
    margin: 0 var(--margin-flex-3-cols) var(--margin-flex-3-cols) 0;
}

.oac-d-flex-cols-4 .oac-d-flex-item {
    width: var(--margin-flex-4-cols-item-width);
    margin: 0 var(--margin-flex-4-cols) var(--margin-flex-4-cols) 0;
}

.oac-d-flex-cols-2 .oac-d-flex-item:nth-child(2n) {
    margin-right: 0;
}

.oac-d-flex-cols-3 .oac-d-flex-item:nth-child(3n) {
    margin-right: 0;
}

.oac-d-flex-cols-4 .oac-d-flex-item:nth-child(4n) {
    margin-right: 0;
}

.oac-d-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
.oac-d-flex-cols-2 .oac-d-flex-item:nth-last-child(2) {
    margin-bottom: 0;
}

.oac-d-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
.oac-d-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
.oac-d-flex-cols-3 .oac-d-flex-item:nth-last-child(3) {
    margin-bottom: 0;
}

.oac-d-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
.oac-d-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
.oac-d-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
.oac-d-flex-cols-4 .oac-d-flex-item:nth-last-child(4) {
    margin-bottom: 0;
}

@media screen and (max-width: 1023px) {

    .oac-d-mb-flex-cols-2,
    .oac-d-mb-flex-cols-3,
    .oac-d-mb-flex-cols-4,
    .oac-d-mbtb-flex-cols-2,
    .oac-d-mbtb-flex-cols-3,
    .oac-d-mbtb-flex-cols-4 {
        display: flex;
    }

    .oac-d-mb-flex-cols-2 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item {
        width: var(--margin-flex-2-cols-item-width);
        margin: 0 var(--margin-flex-2-cols) var(--margin-flex-2-cols) 0;
    }

    .oac-d-mb-flex-cols-3 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item {
        width: var(--margin-flex-3-cols-item-width);
        margin: 0 var(--margin-flex-3-cols) var(--margin-flex-3-cols) 0;
    }

    .oac-d-mb-flex-cols-4 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item {
        width: var(--margin-flex-4-cols-item-width);
        margin: 0 var(--margin-flex-4-cols) var(--margin-flex-4-cols) 0;
    }

    .oac-d-mb-flex-cols-2 .oac-d-flex-item:nth-child(2n),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-child(2n) {
        margin-right: 0;
    }

    .oac-d-mb-flex-cols-3 .oac-d-flex-item:nth-child(3n),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-child(3n) {
        margin-right: 0;
    }

    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-child(4n),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-child(4n) {
        margin-right: 0;
    }

    .oac-d-mb-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mb-flex-cols-2 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-last-child(2) {
        margin-bottom: 0;
    }

    .oac-d-mb-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mb-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mb-flex-cols-3 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(3) {
        margin-bottom: 0;
    }

    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(4),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(4) {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {

    .oac-d-tb-flex-cols-2,
    .oac-d-tb-flex-cols-3,
    .oac-d-tb-flex-cols-4,
    .oac-d-mbtb-flex-cols-2,
    .oac-d-mbtb-flex-cols-3,
    .oac-d-mbtb-flex-cols-4,
    .oac-d-tbpc-flex-cols-2,
    .oac-d-tbpc-flex-cols-3,
    .oac-d-tbpc-flex-cols-4 {
        display: flex;
    }

    .oac-d-tb-flex-cols-2 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item {
        width: var(--margin-flex-2-cols-item-width);
        margin: 0 var(--margin-flex-2-cols) var(--margin-flex-2-cols) 0;
    }

    .oac-d-tb-flex-cols-3 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item {
        width: var(--margin-flex-3-cols-item-width);
        margin: 0 var(--margin-flex-3-cols) var(--margin-flex-3-cols) 0;
    }

    .oac-d-tb-flex-cols-4 .oac-d-flex-item,
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item {
        width: var(--margin-flex-4-cols-item-width);
        margin: 0 var(--margin-flex-4-cols) var(--margin-flex-4-cols) 0;
    }

    .oac-d-tb-flex-cols-2 .oac-d-flex-item:nth-child(2n),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-child(2n),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-child(2n) {
        margin-right: 0;
    }

    .oac-d-tb-flex-cols-3 .oac-d-flex-item:nth-child(3n),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-child(3n),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-child(3n) {
        margin-right: 0;
    }

    .oac-d-tb-flex-cols-4 .oac-d-flex-item:nth-child(4n),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-child(4n),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-child(4n) {
        margin-right: 0;
    }

    .oac-d-tb-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tb-flex-cols-2 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-2 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-last-child(2) {
        margin-bottom: 0;
    }

    .oac-d-tb-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tb-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tb-flex-cols-3 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-3 .oac-d-flex-item:nth-last-child(3),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(3) {
        margin-bottom: 0;
    }

    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mb-flex-cols-4 .oac-d-flex-item:nth-last-child(4),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-mbtb-flex-cols-4 .oac-d-flex-item:nth-last-child(4),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(4) {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1366px) {

    .oac-d-pc-flex-cols-2,
    .oac-d-pc-flex-cols-3,
    .oac-d-pc-flex-cols-4,
    .oac-d-tbpc-flex-cols-2,
    .oac-d-tbpc-flex-cols-3,
    .oac-d-tbpc-flex-cols-4 {
        display: flex;
    }

    .oac-d-pc-flex-cols-2 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item {
        width: var(--margin-flex-2-cols-item-width);
        margin: 0 var(--margin-flex-2-cols) var(--margin-flex-2-cols) 0;
    }

    .oac-d-pc-flex-cols-3 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item {
        width: var(--margin-flex-3-cols-item-width);
        margin: 0 var(--margin-flex-3-cols) var(--margin-flex-3-cols) 0;
    }

    .oac-d-pc-flex-cols-4 .oac-d-flex-item,
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item {
        width: var(--margin-flex-4-cols-item-width);
        margin: 0 var(--margin-flex-4-cols) var(--margin-flex-4-cols) 0;
    }

    .oac-d-pc-flex-cols-2 .oac-d-flex-item:nth-child(2n),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-child(2n) {
        margin-right: 0;
    }

    .oac-d-pc-flex-cols-3 .oac-d-flex-item:nth-child(3n),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-child(3n) {
        margin-right: 0;
    }

    .oac-d-pc-flex-cols-4 .oac-d-flex-item:nth-child(4n),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-child(4n) {
        margin-right: 0;
    }

    .oac-d-pc-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-pc-flex-cols-2 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-2 .oac-d-flex-item:nth-last-child(2) {
        margin-bottom: 0;
    }

    .oac-d-pc-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-pc-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-pc-flex-cols-3 .oac-d-flex-item:nth-last-child(3),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-3 .oac-d-flex-item:nth-last-child(3) {
        margin-bottom: 0;
    }

    .oac-d-pc-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-pc-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-pc-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-pc-flex-cols-4 .oac-d-flex-item:nth-last-child(4),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(1),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(2),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(3),
    .oac-d-tbpc-flex-cols-4 .oac-d-flex-item:nth-last-child(4) {
        margin-bottom: 0;
    }
}

/* グリッド */
.oac-d-grid-cols-1,
.oac-d-grid-cols-2,
.oac-d-grid-cols-3,
.oac-d-grid-cols-4 {
    display: grid;
    grid-auto-flow: row;
}

.oac-d-grid-cols-1 {
    row-gap: var(--margin-grid-1-cols);
    grid-auto-columns: 100%;
}

.oac-d-grid-cols-2 {
    row-gap: var(--margin-grid-2-cols);
    column-gap: var(--margin-grid-2-cols);
    grid-template-columns: 1fr 1fr;
}

.oac-d-grid-cols-3 {
    row-gap: var(--margin-grid-3-cols);
    column-gap: var(--margin-grid-3-cols);
    grid-template-columns: 1fr 1fr 1fr;
}

.oac-d-grid-cols-4 {
    row-gap: var(--margin-grid-4-cols);
    column-gap: var(--margin-grid-4-cols);
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 1023px) {
    .oac-d-mb-grid-cols-1,
    .oac-d-mb-grid-cols-2,
    .oac-d-mb-grid-cols-3,
    .oac-d-mb-grid-cols-4,
    .oac-d-mbtb-grid-cols-1,
    .oac-d-mbtb-grid-cols-2,
    .oac-d-mbtb-grid-cols-3,
    .oac-d-mbtb-grid-cols-4 {
        display: grid;
        grid-auto-flow: row;
    }

    .oac-d-mb-grid-cols-1,
    .oac-d-mbtb-grid-cols-1 {
        row-gap: var(--margin-grid-1-cols);
        grid-auto-columns: 100%;
    }

    .oac-d-mb-grid-cols-2,
    .oac-d-mbtb-grid-cols-2 {
        row-gap: var(--margin-grid-2-cols);
        column-gap: var(--margin-grid-2-cols);
        grid-template-columns: 1fr 1fr;
    }

    .oac-d-mb-grid-cols-3,
    .oac-d-mbtb-grid-cols-3 {
        row-gap: var(--margin-grid-3-cols);
        column-gap: var(--margin-grid-3-cols);
        grid-template-columns: 1fr 1fr 1fr;
    }

    .oac-d-mb-grid-cols-4,
    .oac-d-mbtb-grid-cols-4 {
        row-gap: var(--margin-grid-4-cols);
        column-gap: var(--margin-grid-4-cols);
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
    .oac-d-tb-grid-cols-1,
    .oac-d-tb-grid-cols-2,
    .oac-d-tb-grid-cols-3,
    .oac-d-tb-grid-cols-4,
    .oac-d-mbtb-grid-cols-1,
    .oac-d-mbtb-grid-cols-2,
    .oac-d-mbtb-grid-cols-3,
    .oac-d-mbtb-grid-cols-4,
    .oac-d-mbtb-grid-cols-1,
    .oac-d-mbtb-grid-cols-2,
    .oac-d-mbtb-grid-cols-3,
    .oac-d-mbtb-grid-cols-4 {
        display: grid;
        grid-auto-flow: row;
    }

    .oac-d-tb-grid-cols-1,
    .oac-d-mbtb-grid-cols-1,
    .oac-d-mbtb-grid-cols-1 {
        row-gap: var(--margin-grid-1-cols);
        grid-auto-columns: 100%;
    }

    .oac-d-tb-grid-cols-2,
    .oac-d-mbtb-grid-cols-2,
    .oac-d-mbtb-grid-cols-2 {
        row-gap: var(--margin-grid-2-cols);
        column-gap: var(--margin-grid-2-cols);
        grid-template-columns: 1fr 1fr;
    }

    .oac-d-tb-grid-cols-3,
    .oac-d-mbtb-grid-cols-3,
    .oac-d-mbtb-grid-cols-3 {
        row-gap: var(--margin-grid-3-cols);
        column-gap: var(--margin-grid-3-cols);
        grid-template-columns: 1fr 1fr 1fr;
    }

    .oac-d-tb-grid-cols-4,
    .oac-d-mbtb-grid-cols-4,
    .oac-d-mbtb-grid-cols-4 {
        row-gap: var(--margin-grid-4-cols);
        column-gap: var(--margin-grid-4-cols);
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media screen and (min-width: 1366px) {
    .oac-d-pc-grid-cols-1,
    .oac-d-pc-grid-cols-2,
    .oac-d-pc-grid-cols-3,
    .oac-d-pc-grid-cols-4,
    .oac-d-tbpc-grid-cols-1,
    .oac-d-tbpc-grid-cols-2,
    .oac-d-tbpc-grid-cols-3,
    .oac-d-tbpc-grid-cols-4 {
        display: grid;
        grid-auto-flow: row;
    }

    .oac-d-pc-grid-cols-1,
    .oac-d-tbpc-grid-cols-1 {
        row-gap: var(--margin-grid-1-cols);
        grid-auto-columns: 100%;
    }

    .oac-d-pc-grid-cols-2,
    .oac-d-tbpc-grid-cols-2 {
        row-gap: var(--margin-grid-2-cols);
        column-gap: var(--margin-grid-2-cols);
        grid-template-columns: 1fr 1fr;
    }

    .oac-d-pc-grid-cols-3,
    .oac-d-tbpc-grid-cols-3 {
        row-gap: var(--margin-grid-3-cols);
        column-gap: var(--margin-grid-3-cols);
        grid-template-columns: 1fr 1fr 1fr;
    }

    .oac-d-pc-grid-cols-4,
    .oac-d-tbpc-grid-cols-4 {
        row-gap: var(--margin-grid-4-cols);
        column-gap: var(--margin-grid-4-cols);
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

/********* パーツ類 *********/
/*ヘッダー*/
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 350;
}

/*ポップアップメニュー*/
.oac-popup-nav {
    text-align: center;
    position: fixed;
    z-index: 300;
    min-height: 100vh;
    width: 100vw;
    top: 0;
    left: 0;
    opacity: 0;
    display: none;
    transition: 0.5s;
    height: 100vh;
    overflow-y: scroll;
    transform: translateZ(0);
}

.oac-popup-nav.oac-show,
.oac-popup-nav.oac-true {
    display: inherit;
    opacity: 1;
}

/* 画像 */
.oac-img {
    position: relative;
    overflow: hidden;
    background: center center / cover no-repeat;
    padding-top: var(--image-aspect-height);
    height: 0;
}

a.oac-img {
    display: block;
}

/*GoogleMap*/
.oac-google-map iframe {
    width: 100%;
    margin: 0;
    height: 100%;
}

/*リスト*/
.oac-list-simple {
    padding-left: 1em;
}

.oac-list-simple li {
    display: flex;
}

.oac-list-simple li::before {
    content: "・";
}

.oac-list-ol {
    list-style: decimal;
    padding-left: 1em;
}

.oac-list-with-num-simple {
    counter-reset: num-simple;
}

.oac-list-with-num-simple li {
    display: flex;
}

.oac-list-with-num-simple li::before {
    counter-increment: num-simple;
    content: counter(num-simple)".";
}

.oac-list-with-num-rounded {
    counter-reset: num-rounded;
}

.oac-list-with-num-rounded li {
    display: flex;
}

.oac-list-with-num-rounded li::before {
    content: counter(num-rounded);
    counter-increment: num-rounded;
    border: 1px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.375em;
    width: 1.375em;
    color: #ffffff;
    font-size: 85%;
    line-height: 1;
}

/* 別タブリンク */
.oac-link-tab {
    display: flex;
}

.oac-link-tab::after {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: center center / contain url('../images/common/common-tab-icon.svg') no-repeat;
    margin: 0.4em 0 0 8rem;
}

/********* そのほか装飾 *********/
/* 余白 */
.oac-margin-top-large {
    margin-top: var(--margin-large);
}

.oac-margin-top-middle {
    margin-top: var(--margin-middle);
}

.oac-margin-top-small {
    margin-top: var(--margin-small);
}

.oac-margin-top-very-small {
    margin-top: var(--margin-very-middle);
}

.oac-margin-bottom-large {
    margin-bottom: var(--margin-large);
}

.oac-margin-bottom-middle {
    margin-bottom: var(--margin-middle);
}

.oac-margin-bottom-small {
    margin-bottom: var(--margin-small);
}

.oac-margin-bottom-very-small {
    margin-top: var(--margin-very-middle);
}

.oac-margin-right-large {
    margin-top: var(--margin-large);
}

.oac-margin-right-middle {
    margin-top: var(--margin-middle);
}

.oac-margin-right-small {
    margin-top: var(--margin-small);
}

.oac-margin-right-very-small {
    margin-top: var(--margin-very-middle);
}

.oac-margin-left-large {
    margin-top: var(--margin-large);
}

.oac-margin-left-middle {
    margin-top: var(--margin-middle);
}

.oac-margin-left-small {
    margin-top: var(--margin-small);
}

.oac-margin-left-very-small {
    margin-top: var(--margin-very-middle);
}

.oac-margin-center {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 1023px) {
    .oac-margin-mb-top-large,
    .oac-margin-mbtb-top-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-mb-top-middle,
    .oac-margin-mbtb-top-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-mb-top-small,
    .oac-margin-mbtb-top-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-mb-top-very-small,
    .oac-margin-mbtb-top-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-mb-bottom-large,
    .oac-margin-mbtb-bottom-large {
        margin-bottom: var(--margin-large);
    }
    
    .oac-margin-mb-bottom-middle,
    .oac-margin-mbtb-bottom-middle {
        margin-bottom: var(--margin-middle);
    }
    
    .oac-margin-mb-bottom-small,
    .oac-margin-mbtb-bottom-small {
        margin-bottom: var(--margin-small);
    }
    
    .oac-margin-mb-bottom-very-small,
    .oac-margin-mbtb-bottom-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-mb-right-large,
    .oac-margin-mbtb-right-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-mb-right-middle,
    .oac-margin-mbtb-right-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-mb-right-small,
    .oac-margin-mbtb-right-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-mb-right-very-small,
    .oac-margin-mbtb-right-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-mb-left-large,
    .oac-margin-mbtb-left-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-mb-left-middle,
    .oac-margin-mbtb-left-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-mb-left-small,
    .oac-margin-mbtb-left-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-mb-left-very-small,
    .oac-margin-mbtb-left-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-mb-center,
    .oac-margin-mbtb-center {
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
    .oac-margin-tb-top-large,
    .oac-margin-mbtb-top-large,
    .oac-margin-tbpc-top-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-tb-top-middle,
    .oac-margin-mbtb-top-middle,
    .oac-margin-tbpc-top-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-tb-top-small,
    .oac-margin-mbtb-top-small,
    .oac-margin-tbpc-top-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-tb-top-very-small,
    .oac-margin-mbtb-top-very-small,
    .oac-margin-tbpc-top-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-tb-bottom-large,
    .oac-margin-mbtb-bottom-large,
    .oac-margin-tbpc-bottom-large {
        margin-bottom: var(--margin-large);
    }
    
    .oac-margin-tb-bottom-middle,
    .oac-margin-mbtb-bottom-middle,
    .oac-margin-tbpc-bottom-middle {
        margin-bottom: var(--margin-middle);
    }
    
    .oac-margin-tb-bottom-small,
    .oac-margin-mbtb-bottom-small,
    .oac-margin-tbpc-bottom-small {
        margin-bottom: var(--margin-small);
    }
    
    .oac-margin-tb-bottom-very-small,
    .oac-margin-mbtb-bottom-very-small,
    .oac-margin-tbpc-bottom-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-tb-right-large,
    .oac-margin-mbtb-right-large,
    .oac-margin-tbpc-right-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-tb-right-middle,
    .oac-margin-mbtb-right-middle,
    .oac-margin-tbpc-right-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-tb-right-small,
    .oac-margin-mbtb-right-small,
    .oac-margin-tbpc-right-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-tb-right-very-small,
    .oac-margin-mbtb-right-very-small,
    .oac-margin-tbpc-right-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-tb-left-large,
    .oac-margin-mbtb-left-large,
    .oac-margin-tbpc-left-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-tb-left-middle,
    .oac-margin-mbtb-left-middle,
    .oac-margin-tbpc-left-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-tb-left-small,
    .oac-margin-mbtb-left-small,
    .oac-margin-tbpc-left-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-tb-left-very-small,
    .oac-margin-mbtb-left-very-small,
    .oac-margin-tbpc-left-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-mb-center,
    .oac-margin-mbtb-center,
    .oac-margin-tbpc-center {
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 1366px) {
    .oac-margin-pc-top-large,
    .oac-margin-tbpc-top-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-pc-top-middle,
    .oac-margin-tbpc-top-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-pc-top-small,
    .oac-margin-tbpc-top-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-pc-top-very-small,
    .oac-margin-tbpc-top-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-pc-bottom-large,
    .oac-margin-tbpc-bottom-large {
        margin-bottom: var(--margin-large);
    }
    
    .oac-margin-pc-bottom-middle,
    .oac-margin-tbpc-bottom-middle {
        margin-bottom: var(--margin-middle);
    }
    
    .oac-margin-pc-bottom-small,
    .oac-margin-tbpc-bottom-small {
        margin-bottom: var(--margin-small);
    }
    
    .oac-margin-pc-bottom-very-small,
    .oac-margin-tbpc-bottom-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-pc-right-large,
    .oac-margin-tbpc-right-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-pc-right-middle,
    .oac-margin-tbpc-right-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-pc-right-small,
    .oac-margin-tbpc-right-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-pc-right-very-small,
    .oac-margin-tbpc-right-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-pc-left-large,
    .oac-margin-tbpc-left-large {
        margin-top: var(--margin-large);
    }
    
    .oac-margin-pc-left-middle,
    .oac-margin-tbpc-left-middle {
        margin-top: var(--margin-middle);
    }
    
    .oac-margin-pc-left-small,
    .oac-margin-tbpc-left-small {
        margin-top: var(--margin-small);
    }
    
    .oac-margin-pc-left-very-small,
    .oac-margin-tbpc-left-very-small {
        margin-top: var(--margin-very-middle);
    }
    
    .oac-margin-pc-center,
    .oac-margin-tbpc-center {
        margin-left: auto;
        margin-right: auto;
    }
}

/* 文章を非表示 */
.oac-clear-text {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*タップさせない*/
.oac-no-select,
 .oac-no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -ms-user-select: none !important;
    -moz-user-select: none !important;
    -khtml-user-select: none !important;
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    pointer-events: none !important;
}

/* デバイスごとの表示非表示 */
@media screen and (max-width: 1023px) {
    .oac-d-tb {
        display: none !important;
    }

    .oac-d-tbpc {
        display: none !important;
    }

    .oac-d-pc {
        display: none !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
    .oac-d-mb {
        display: none !important;
    }

    .oac-d-pc {
        display: none !important;
    }
}

@media screen and (min-width: 1366px) {
    .oac-d-mb {
        display: none !important;
    }

    .oac-d-mbtb {
        display: none !important;
    }

    .oac-d-tb {
        display: none !important;
    }
}

/* フォント */
.oac-text-center {
    text-align: center;
}

.oac-text-right {
    text-align: right;
}

.oac-text-left {
    text-align: left;
}

.oac-text-bold {
    font-weight: bold;
}

.oac-text-color-1 {
    color: var(--color-1);
}

.oac-text-color-2 {
    color: var(--color-2);
}

.oac-text-color-3 {
    color: var(--color-3);
}

@media screen and (max-width: 1023px) {
    .oac-mb-text-center {
        text-align: center;
    }

    .oac-mb-text-right {
        text-align: right;
    }

    .oac-mb-text-left {
        text-align: left;
    }

    .oac-mbtb-text-center {
        text-align: center;
    }

    .oac-mbtb-text-right {
        text-align: right;
    }

    .oac-mbtb-text-left {
        text-align: left;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1365px) {
    .oac-mbtb-text-center {
        text-align: center;
    }

    .oac-mbtb-text-right {
        text-align: right;
    }

    .oac-mbtb-text-left {
        text-align: left;
    }

    .oac-tb-text-center {
        text-align: center;
    }

    .oac-tb-text-right {
        text-align: right;
    }

    .oac-tb-text-left {
        text-align: left;
    }

    .oac-tbpc-text-center {
        text-align: center;
    }

    .oac-tbpc-text-right {
        text-align: right;
    }

    .oac-tbpc-text-left {
        text-align: left;
    }
}

@media screen and (min-width: 1366px) {
    .oac-tbpc-text-center {
        text-align: center;
    }

    .oac-tbpc-text-right {
        text-align: right;
    }

    .oac-tbpc-text-left {
        text-align: left;
    }

    .oac-pc-text-center {
        text-align: center;
    }

    .oac-pc-text-right {
        text-align: right;
    }

    .oac-pc-text-left {
        text-align: left;
    }
}

.oac-text-decoration-no-under,
.oac-text-decoration-no-under a {
    text-decoration: none !important;
}

.oac-text-meta {
    font-size: var(--font-size-meta);
}