/* RESET */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    list-style: none;
    word-wrap: break-word;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    vertical-align: baseline;
    background-color: transparent;
    border: none;
}

main,
section {
    overflow-x: hidden;
}

input,
button,
textarea,
select {
    background: none;
    border: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    outline: none;
}

a:link,
a:visited,
a:active {
    color: inherit;
    text-decoration: none;
    outline: none;
}

a:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    -khtml-opacity: 0.6;
    -moz-opacity: 0.6;
}

abbr[title],
acronym[title] {
    border-bottom-width: 0;
    text-decoration: none;
}

img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    flex-shrink: 0;
}

address {
    font-style: normal;
}

/* BASIC */

*,
*::before,
*::after {
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -ms-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    transition: all 200ms linear;
}

html {
    font-size: 14px;
    font-size: clamp(12px, 3vw, 14px);
}

body {
    padding-top: 104px;
    color: #333;
    max-width: 1920px;
    line-height: 200%;
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

select,
button {
    cursor: pointer;
}

table {
    table-layout: fixed;
}

th {
    text-align: left;
}

a[href^="tel:"] {
    pointer-events: none;
}

/* SETTINGS */

.inner {
    width: 94%;
    margin-right: auto;
    margin-left: auto;
}

.innerL {
    max-width: 1800px;
}

.innerM {
    max-width: 1440px;
}

.innerS {
    max-width: 1200px;
}

.innerSS {
    max-width: 960px;
}

main {}

section {
    padding: 80px 0 40px;
}

article {
    padding: 80px 0;
}

.brandColor,
a.brandColor {
    color: #053390;
}

.brandColorBg {
    background-color: #053390;
}

.brandColorBorder {
    border-color: #053390;
}

.basicFontStyle {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.textStyleMoreBk,
.textStyleMoreBrandColor,
.textStyleLittleMoreBk,
.textStyleLittleMoreBrandColor {
    transform: rotate(0.03deg);
    -webkit-transform: rotate(0.03deg);
    -o-transform: rotate(0.03deg);
    -moz-transform: rotate(0.03deg);
}

.textStyleMoreBk {
    text-shadow: 0.5px 0.5px 0 #333, -0.5px 0.5px 0 #333, 0.5px -0.5px 0 #333, -0.5px -0.5px 0 #333;
}

.textStyleMoreBrandColor {
    text-shadow: 0.5px 0.5px 0 #053390, -0.5px 0.5px 0 #053390, 0.5px -0.5px 0 #053390, -0.5px -0.5px 0 #053390;
}

.textStyleLittleMoreBk {
    text-shadow: 0.25px 0.25px 0 #333, -0.25px 0.25px 0 #333, 0.25px -0.25px 0 #333, -0.25px -0.25px 0 #333;
}

.textStyleLittleMoreBrandColor {
    text-shadow: 0.25px 0.25px 0 #053390, -0.25px 0.25px 0 #053390, 0.25px -0.25px 0 #053390, -0.25px -0.25px 0 #053390;
}

.fontEN {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", 'Noto Serif JP', serif;
}

/* DARK MODE */

html[theme='dark-mode'] {
    filter: invert(1) hue-rotate(180deg);
}

html[theme='dark-mode'] img {
    filter: invert(1) hue-rotate(180deg);
}

html {
    transition: color 300ms, background-color 300ms;
}

/* SINGLE STYLE */

.fontWeightBold {
    font-weight: bold;
}

.fontWeightNormal {
    font-weight: normal;
}

.textalignCenter {
    text-align: center;
}

.textalignRight {
    text-align: right;
}

.textalignLeft {
    text-align: left;
}

.letterSpacing1px {
    letter-spacing: 1px;
}

.letterSpacing2px {
    letter-spacing: 2px;
}

.letterSpacing4px {
    letter-spacing: 4px;
}

.positionRelative {
    position: relative;
}

.positionAbsolute {
    position: absolute;
}

.positionFixed {
    position: fixed;
}

.cursorPointer {
    cursor: pointer;
}

.cursorDefault {
    cursor: default;
}

.borderNone {
    border: none;
}

.bgPositionCC {
    background-position: center center;
}

.lineHeight100P {
    line-height: 100%;
}

.lineHeight125P {
    line-height: 125%;
}

.lineHeight150P {
    line-height: 150%;
}

.lineHeight175P {
    line-height: 175%;
}

.lineHeight200P {
    line-height: 200%;
}

.textVertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

/* STYLE SET */

.textEllipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.objectFitCover {
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

.objectFitContain {
    object-fit: contain;
    font-family: 'object-fit: contain;'
}

a.urlLink:link,
a.urlLink:visited,
a.urlLink:active {
    color: #0073aa;
}

a.whLink:link,
a.whLink:visited,
a.whLink:active {
    color: #fff;
}

.linkGr {
    background: #f2f2f2;
    color: #333;
    padding: 4px 16px;
    border-radius: 1.5px;
    -webkit-border-radius: 1.5px;
    -moz-border-radius: 1.5px;
}

.linkBk {
    background: #333;
    color: #fff;
    padding: 4px 16px;
    border-radius: 1.5px;
    -webkit-border-radius: 1.5px;
    -moz-border-radius: 1.5px;
}

.borderRadius3px {
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

.borderRadius6px {
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

.text1Line {
    display: table;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
    line-height: 125%;
}

.fontPalt {
    font-feature-settings: "palt";
}

.maxWidth {
    margin-right: calc(50% - 50vw + 16px);
    margin-left: calc(50% - 50vw + 16px);
}

.sideSpace {
    display: inline-block;
    margin-right: 4px;
    margin-left: 4px;
}

/* CONTENT STYLE */

.inHyphen::before,
.inHyphen::after {
    content: "-";
}

.inHyphen::before {
    margin-right: 4px;
}

.inHyphen::after {
    margin-left: 4px;
}

.inBrackets::before {
    content: "「";
    margin-right: 4px;
}

.inBrackets::after {
    content: "」";
    margin-left: 4px;
}

.inBracketsBold::before {
    content: "【";
    margin-right: 2px;
}

.inBracketsBold::after {
    content: "】";
    margin-left: 2px;
}

/* WIDTH & HEIGHT */

.width15P {
    width: 15%;
}

.width20P {
    width: 20%;
}

.width25P {
    width: 25%;
}

.width30P {
    width: 30%;
}

.width47_5P {
    width: 47.5%;
}

.width49_8P {
    width: 49.8%;
}

.width50P {
    width: 50%;
}

.width67_5P {
    width: 67.5%;
}

.width75P {
    width: 75%;
}

.width88P {
    width: 88%;
}

.width96P {
    width: 96%;
}

.width100P {
    width: 100%;
    height: auto;
}

.widthAuto {
    width: auto;
}

.heightAuto {
    height: auto;
}

/* MARGIN */

body .marginAuto {
    margin-right: auto;
    margin-left: auto;
}

body .margin0 {
    margin: 0;
}

.marginLeft2px {
    margin-left: 2px;
}

.marginLeft4px {
    margin-left: 4px;
}

.marginLeft8px {
    margin-left: 8px;
}

.marginLeft16px {
    margin-left: 16px;
}

.marginLeft24px {
    margin-left: 24px;
}

.marginLeft40px {
    margin-left: 40px;
}

.marginRight2px {
    margin-right: 2px;
}

.marginRight4px {
    margin-right: 4px;
}

.marginRight8px {
    margin-right: 8px;
}

.marginRight16px {
    margin-right: 16px;
}

.marginRight24px {
    margin-right: 24px;
}

.marginRight40px {
    margin-right: 40px;
}

.marginRightLeft4px {
    margin-right: 4px;
    margin-left: 4px;
}

.marginTop0 {
    margin-top: 0;
}

.marginTop8px {
    margin-top: 8px;
}

.marginTop16px {
    margin-top: 16px;
}

.marginTop24px {
    margin-top: 24px;
}

.marginTop40px {
    margin-top: 40px;
}

.marginTop48px {
    margin-top: 48px;
}

.marginTop64px {
    margin-top: 64px;
}

.marginTop80px {
    margin-top: 80px;
}

.marginTop96px {
    margin-top: 96px;
}

.marginTop120px {
    margin-top: 120px;
}

.marginTop160px {
    margin-top: 160px;
}

.marginBottom4px {
    margin-bottom: 4px;
}

.marginBottom8px {
    margin-bottom: 8px;
}

.marginBottom12px {
    margin-bottom: 12px;
}

.marginBottom16px {
    margin-bottom: 16px;
}

.marginBottom24px {
    margin-bottom: 24px;
}

.marginBottom32px {
    margin-bottom: 32px;
}

.marginBottom40px {
    margin-bottom: 40px;
}

.marginBottom48px {
    margin-bottom: 48px;
}

.marginBottom56px {
    margin-bottom: 56px;
}

.marginBottom64px {
    margin-bottom: 64px;
}

.marginBottom80px {
    margin-bottom: 80px;
}

.marginBottom96px {
    margin-bottom: 96px;
}

.marginBottom120px {
    margin-bottom: 120px;
}

.marginBottom160px {
    margin-bottom: 160px;
}

.marginBottom240px {
    margin-bottom: 240px;
}

/* PADDING */

body .padding0 {
    padding: 0;
}

.paddingTop4px {
    padding-top: 4px;
}

.paddingTop8px {
    padding-top: 8px;
}

.paddingTop16px {
    padding-top: 16px;
}

.paddingTop24px {
    padding-top: 24px;
}

.paddingTop40px {
    padding-top: 40px;
}

.paddingTop48px {
    padding-top: 48px;
}

.paddingBottom0px {
    padding-bottom: 0;
}

.paddingBottom4px {
    padding-bottom: 4px;
}

.paddingBottom8px {
    padding-bottom: 8px;
}

.paddingBottom16px {
    padding-bottom: 16px;
}

.paddingBottom24px {
    padding-bottom: 24px;
}

.paddingBottom40px {
    padding-bottom: 40px;
}

.paddingBottom48px {
    padding-bottom: 48px;
}

.paddingRight4px {
    padding-right: 4px;
}

.paddingRight8px {
    padding-right: 8px;
}

.paddingRight16px {
    padding-right: 16px;
}

.paddingLeft4px {
    padding-left: 4px;
}

.paddingLeft8px {
    padding-left: 8px;
}

.paddingLeft16px {
    padding-left: 16px;
}

/* FONT SIZE REM */

.fontSize0_6rem {
    font-size: max(0.6rem, 10px);
}

.fontSize0_8rem {
    font-size: max(0.8rem, 10px);
}

.fontSize1rem {
    font-size: 1rem;
}

.fontSize1_2rem {
    font-size: 1.2rem;
}

.fontSize1_4rem {
    font-size: 1.4rem;
}

.fontSize1_6rem {
    font-size: 1.6rem;
}

.fontSize1_8rem {
    font-size: 1.8rem;
}

.fontSize2rem {
    font-size: 2rem;
}

.fontSize2_4rem {
    font-size: 2.4rem;
}

.fontSize3rem {
    font-size: 3rem;
}

.fontSize4rem {
    font-size: 4rem;
}

.fontSize5rem {
    font-size: 5rem;
}

.fontSize6rem {
    font-size: 6rem;
}

/* SINGLE FLEX */

.flex {
    display: flex;
    display: -webkit-flex;
}

.flexBetween {
    justify-content: space-between;
    -webkit-justify-content: space-between;
}

.flexTop {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flexBottom {
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.flexWrap {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.flexEnd {
    align-items: end;
    -webkit-align-items: end;
}

.flexRow {
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flexRowReverse {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.flexCenterColumn {
    align-items: center;
    -webkit-align-items: center;
}

.flexCenterLine {
    justify-content: center;
    -webkit-justify-content: center;
}

/* FLEX SET */

.flexStartWrap {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.flexColumn {
    flex-direction: column;
    -webkit-flex-direction: column;
    align-items: flex-start;
    -webkit-align-items: flex-start;
}

.flexColumnReverse {
    flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    align-items: flex-start;
    -webkit-align-items: flex-start;
}

.flexCenterCenter {
    align-items: center;
    /* -webkit-align-items: center; */
    justify-content: center;
    -webkit-justify-content: center;
}

/* COLUMN */

.colWrap {
    margin-left: -1.25%;
    margin-right: -1.25%;
    width: calc(100% + 2.5%);
}

.col1,
.col2to1,
.col2to2,
.col3to1,
.col3to2,
.col4to1,
.col4to2,
.col5to1,
.col5to2,
.col6to1,
.col6to2 {
    margin-left: 1.25%;
    margin-right: 1.25%;
}

.col1 {
    width: calc(100% / 1 - 2.5%);
}

.col2to1,
.col2to2 {
    width: calc(100% / 2 - 2.5%);
}

.col3to1,
.col3to2 {
    width: calc(100% / 3 - 2.5%);
}

.col4to1,
.col4to2 {
    width: calc(100% / 4 - 2.5%);
}

.col5to1,
.col5to2 {
    width: calc(100% / 5 - 2.5%);
}

.col6to1,
.col6to2 {
    width: calc(100% / 6 - 2.5%);
}

/* 960px */

@media screen and (max-width: 960px) {
    .col2to1 {
        width: calc(100% / 1 - 2.5%);
    }

    .col3to1,
    .col3to2 {
        width: calc(100% / 2 - 2.5%);
    }

    .col4to1,
    .col4to2 {
        width: calc(100% / 3 - 2.5%);
    }

    .col5to1,
    .col5to2 {
        width: calc(100% / 4 - 2.5%);
    }

    .col6to1,
    .col6to2 {
        width: calc(100% / 5 - 2.5%);
    }
}

/* 800px */

@media screen and (max-width: 800px) {
    .col3to1 {
        width: calc(100% / 1 - 2.5%);
    }

    .col4to1,
    .col4to2 {
        width: calc(100% / 2 - 2.5%);
    }

    .col5to1,
    .col5to2 {
        width: calc(100% / 3 - 2.5%);
    }

    .col6to1,
    .col6to2 {
        width: calc(100% / 4 - 2.5%);
    }
}

/* 640px */

@media screen and (max-width: 640px) {
    .col4to1 {
        width: calc(100% / 1 - 2.5%);
    }

    .col5to1,
    .col5to2 {
        width: calc(100% / 2 - 2.5%);
    }

    .col6to1,
    .col6to2 {
        width: calc(100% / 3 - 2.5%);
    }
}

/* 560px */

@media screen and (max-width: 560px) {
    .col5to1 {
        width: calc(100% / 1 - 2.5%);
    }

    .col6to1,
    .col6to2 {
        width: calc(100% / 2 - 2.5%);
    }
}

/* 480px */

@media screen and (max-width: 480px) {
    .col6to1 {
        width: calc(100% / 1 - 2.5%);
    }
}

/* DISPLAY */

.displayInline {
    display: inline;
}

.displayBlock {
    display: block;
}

.displayIB {
    display: inline-block;
}

.displayNone {
    display: none;
}

.displayFlex {
    display: flex;
    display: -webkit-flex;
}

/* 1760px */

@media screen and (max-width: 1760px) {
    body .display1760 {
        display: inline;
    }

    body .displayBlock1760 {
        display: block;
    }

    body .displayIB1760 {
        display: inline-block;
    }

    body .displayNone1760 {
        display: none;
    }

    body .displayFlex1760 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 1600px */

@media screen and (max-width: 1600px) {
    body .display1600 {
        display: inline;
    }

    body .displayBlock1600 {
        display: block;
    }

    body .displayIB1600 {
        display: inline-block;
    }

    body .displayNone1600 {
        display: none;
    }

    body .displayFlex1600 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 1440px */

@media screen and (max-width: 1440px) {
    body .display1440 {
        display: inline;
    }

    body .displayBlock1440 {
        display: block;
    }

    body .displayIB1440 {
        display: inline-block;
    }

    body .displayNone1440 {
        display: none;
    }

    body .displayFlex1440 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 1280px */

@media screen and (max-width: 1280px) {
    body .display1280 {
        display: inline;
    }

    body .displayBlock1280 {
        display: block;
    }

    body .displayIB1280 {
        display: inline-block;
    }

    body .displayNone1280 {
        display: none;
    }

    body .displayFlex1280 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 1120px */

@media screen and (max-width: 1120px) {
    body .display1120 {
        display: inline;
    }

    body .displayBlock1120 {
        display: block;
    }

    body .displayIB1120 {
        display: inline-block;
    }

    body .displayNone1120 {
        display: none;
    }

    body .displayFlex1120 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 960px */

@media screen and (max-width: 960px) {
    body .display960 {
        display: inline;
    }

    body .displayBlock960 {
        display: block;
    }

    body .displayIB960 {
        display: inline-block;
    }

    body .displayNone960 {
        display: none;
    }

    body .displayFlex960 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 800px */

@media screen and (max-width: 800px) {
    body .display800 {
        display: inline;
    }

    body .displayBlock800 {
        display: block;
    }

    body .displayIB800 {
        display: inline-block;
    }

    body .displayNone800 {
        display: none;
    }

    body .displayFlex800 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 640px */

@media screen and (max-width: 640px) {
    body .display640 {
        display: inline;
    }

    body .displayBlock640 {
        display: block;
    }

    body .displayIB640 {
        display: inline-block;
    }

    body .displayNone640 {
        display: none;
    }

    body .displayFlex640 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 560px */

@media screen and (max-width: 560px) {
    body .display560 {
        display: inline;
    }

    body .displayBlock560 {
        display: block;
    }

    body .displayIB560 {
        display: inline-block;
    }

    body .displayNone560 {
        display: none;
    }

    body .displayFlex560 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 480px */

@media screen and (max-width: 480px) {
    body .display480 {
        display: inline;
    }

    body .displayBlock480 {
        display: block;
    }

    body .displayIB480 {
        display: inline-block;
    }

    body .displayNone480 {
        display: none;
    }

    body .displayFlex480 {
        display: flex;
        display: -webkit-flex;
    }
}

/* 400px */

@media screen and (max-width: 400px) {
    body .display400 {
        display: inline;
    }

    body .displayBlock400 {
        display: block;
    }

    body .displayIB400 {
        display: inline-block;
    }

    body .displayNone400 {
        display: none;
    }

    body .displayFlex400 {
        display: flex;
        display: -webkit-flex;
    }
}