@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap");
@font-face {
    font-family: "Meiryo";
    font-style: normal;
    font-weight: 300;
    src: url(../font/meiryo.ttc);
}
@font-face {
    font-family: "YuGothicB";
    font-style: normal;
    font-weight: 300;
    src: url(../font/YuGothB.ttc);
}
@font-face {
    font-family: "YuGothic";
    font-style: normal;
    font-weight: 300;
    src: url(../font/YuGothM.ttc);
}
:root {
    --font-yu: YuGothic;
    --font-yu-bold: YuGothicB;
    --font-mei: Meiryo;
    --font-ar: A-OTF-R;
    --font-am: A-OTF-M;
    --font-gr: G-OTF-R;
    --font-default: YuGothic;
    --font-weight-default: bold;
    --color-default: #111111;
    --color-main: #d56363;
    --color-white: white;
    --color-black: #000000;
    --color-gray: #707070;
    --color-gray2: #cccccc;
    --color-gray3: #eeeeee;
    --color-gray4: #f8f9fa;
    --color-green: #8eac65;
    --color-blue: #00349f;
    --color-red: #660000;
    --color-orange: #fc7316;
    --color-yellow: #ffcd20;
    --transition-default: 0.5s;
}

.l-container {
    max-width: 1400px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-full {
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1800 {
    max-width: 1800px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1760 {
    max-width: 1760px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1720 {
    max-width: 1720px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1630 {
    max-width: 1630px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1600 {
    max-width: 1600px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1550 {
    max-width: 1550px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1520 {
    max-width: 1520px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1500 {
    max-width: 1500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1480 {
    max-width: 1480px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1450 {
    max-width: 1450px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1430 {
    max-width: 1430px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1380 {
    max-width: 1380px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1370 {
    max-width: 1370px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1360 {
    max-width: 1360px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1340 {
    max-width: 1340px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1300 {
    max-width: 1300px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1280 {
    max-width: 1280px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1200 {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1180 {
    max-width: 1180px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1120 {
    max-width: 1120px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1100 {
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1080 {
    max-width: 1080px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-1000 {
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-980 {
    max-width: 980px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-960 {
    max-width: 960px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-920 {
    max-width: 920px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-900 {
    max-width: 900px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-840 {
    max-width: 840px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-680 {
    max-width: 680px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-600 {
    max-width: 600px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-590 {
    max-width: 590px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-540 {
    max-width: 540px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.l-container-460 {
    max-width: 460px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.l-contents {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.l-flex {
    display: flex;
    flex-wrap: wrap;
}

.l-wrapper {
    width: 100%;
    overflow: auto;
}

.bg {
    width: 100%;
    min-width: 1920px;
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
}

.bg-img {
    background-position: center;
    background-repeat: no-repeat;
}
.bg-img-cover {
    background-size: cover;
}
.bg-img-contain {
    background-size: contain;
}
.bg-img-top {
    background-position: top;
}
.bg-img-bottom {
    background-position: bottom;
}
.bg-img-repeat {
    background-repeat: repeat;
}

.l-bg {
    position: relative;
}

.img {
    height: 100%;
}
.img-cover {
    -o-object-fit: cover;
    object-fit: cover;
}
.img-contain {
    -o-object-fit: contain;
    object-fit: contain;
}
.img-top {
    -o-object-position: top center;
    object-position: top center;
}
.img-bottom {
    -o-object-position: bottom center;
    object-position: bottom center;
}

.parallax {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}
.parallax-bg {
    min-height: 1000px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.parallax__container {
    position: absolute;
    clip: rect(0px, auto, auto, 0px);
    width: 100%;
    height: 100%;
    top: 0px;
    right: 0px;
    z-index: -10;
}

.c-box {
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}

.c-box2 {
    padding: 40px;
    border: 1px solid val(--color-gray2);
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}

#main {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

/* title */
.c-title {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    line-height: 1.8;
    align-items: center;
    font-family: var(--font-default);
    position: relative;
}
html:lang(zh-CN) body .c-title{ 
    font-family: "Noto Sans SC", sans-serif !important;
}
html:lang(zh-TW) body .c-title {
    font-family: "Noto Sans TC", sans-serif !important;
}
.c-title strong {
    font-size: var(--title-strong, 3.4rem);
    font-weight: var(--font-weight-default);
    line-height: 1.4;
}
.c-title small {
    font-size: var(--title-small, 2.4rem);
}
.c-title b {
    color: var(--color-main);
}
.c-title i {
    margin-right: 10px;
}
.c-title.border-bottom {
    padding-bottom: 20px;
    border-bottom: var(--border-width, 1px) solid;
}
.c-title.border-bottom.border-md {
    --border-width: 2px;
}
.c-title.border-bottom.border-lg {
    --border-width: 3px;
}
.c-title.border-short {
    border: 0 !important;
    position: relative;
}
.c-title.border-short::after {
    content: "";
    width: var(--border-width, 60px);
    height: var(--border-height, 1px);
    background: var(--color-default);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.c-title.border-short.border-top {
    padding-top: 20px;
}
.c-title.border-short.border-top::after {
    top: 0;
}
.c-title.border-short.border-bottom {
    padding-bottom: 20px;
}
.c-title.border-short.border-bottom::after {
    bottom: 0;
}
.c-title.border-short.border-hlg {
    --border-height: 2px;
}
.c-title.border-short.border-sm {
    --border-width: 20px;
}
.c-title.border-short.border-md {
    --border-width: 30px;
}
.c-title.border-short.border-lg {
    --border-width: 60px;
}
.c-title.border-left {
    padding-left: 20px;
}
.c-title.border-left::after {
    content: "";
    width: var(--border-width, 1px);
    height: var(--border-height, 100%);
    background: var(--color-main);
    position: absolute;
    left: 0;
    top: var(--border-top, 0);
}
.c-title.border-left.border-sm {
    --border-width: 2px;
}
.c-title.border-left.border-md {
    --border-width: 3px;
}
.c-title.border-left.border-lg {
    --border-width: 5px;
}
.c-title.border-left.border-h25 {
    --border-height: 25px;
    --border-top: 8px;
}
.c-title.border-left.border-h35 {
    --border-height: 35px;
    --border-top: 5px;
}
.c-title.border-left.border-h45 {
    --border-height: 45px;
}
.c-title.border-lr {
    padding-left: 50px;
    padding-right: 50px;
}
.c-title.border-lr::after,
.c-title.border-lr::before {
    content: "";
    width: 40px;
    height: var(--border-height, 1px);
    background: var(--color-black);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.c-title.border-lr::after {
    left: 0;
}
.c-title.border-lr::before {
    right: 0;
}
.c-title.border-lr.border-md {
    --border-height: 2px;
}
.c-title.border-lr.border-lg {
    --border-height: 3px;
}
.c-title.border-lr.rotate::after,
.c-title.border-lr.rotate::before {
    width: var(--border-width, 1px);
    height: var(--border-height, 30px);
    bottom: 6px;
}
.c-title.border-lr.rotate::after {
    left: -20px;
    transform: rotate(-45deg);
}
.c-title.border-lr.rotate::before {
    right: -20px;
    transform: rotate(45deg);
}
.c-title.border-lr.rotate.border-md {
    --border-width: 2px;
    --border-height: 30px;
}
.c-title.border-lr.rotate.border-lg {
    --border-width: 3px;
    --border-height: 30px;
}
.c-title.title-center {
    flex-direction: column;
    text-align: center;
}
.c-title.title-column {
    flex-direction: column;
    align-items: flex-start;
}
.c-title.title-subtitle {
    align-items: baseline;
}
.c-title.title-subtitle:not(.flex-column) .c-subtitle {
    margin-left: 10px;
}
.c-title.u-square {
    padding-left: var(--square-padding-left, 20px) !important;
    position: relative;
}
.c-title.u-square::before {
    content: "";
    width: var(--square-width, 10px);
    height: var(--square-height, 10px);
    background: var(--color-main);
    position: absolute;
    top: var(--square-top, 20px);
    left: 0;
}
.c-title.u-square.square-md {
    --square-width: 15px;
    --square-height: 15px;
    --square-padding-left: 25px;
    --square-top: 18px;
}
.c-title.u-square.square-lg {
    --square-width: 20px;
    --square-height: 20px;
    --square-padding-left: 30px;
    --square-top: 14px;
}
.c-title.u-line {
    padding-left: var(--line-padding-left, 10px);
    position: relative;
}
.c-title.u-line::before {
    content: "";
    width: var(--line-width, 10px);
    height: 1px;
    background: var(--color-gray2);
    position: absolute;
    left: 0;
}
.c-title.u-line.line-sm {
    --line-width: 10px;
    --line-padding-left: 20px;
}
.c-title.u-line.line-md {
    --line-width: 20px;
    --line-padding-left: 30px;
}
.c-title.u-line.line-lg {
    --line-width: 50px;
    --line-padding-left: 60px;
}
.c-title.u-line.line-top {
    --line-padding-left: 0;
}
.c-title.u-line.line-top::before {
    top: 0;
}
.c-title.u-line.line-center::before {
    top: 50%;
}
.c-title.u-line.line-bottom::before {
    bottom: 20%;
}
.c-title.u-line.line-right {
    --line-padding-left: 0;
    padding-right: var(--line-padding-right, 10px);
}
.c-title.u-line.line-right::before {
    left: unset;
    right: 0;
}
.c-title.u-line.line-right.line-sm {
    --line-padding-right: 20px;
}
.c-title.u-line.line-right.line-md {
    --line-padding-right: 30px;
}
.c-title.u-line.line-right.line-lg {
    --line-padding-right: 60px;
}
.c-title.text10 {
    --title-strong: 1rem;
    --title-small: 0.8rem;
}
.c-title.text12 {
    --title-strong: 1.2rem;
    --title-small: 1rem;
}
.c-title.text13 {
    --title-strong: 1.3rem;
    --title-small: 1rem;
}
.c-title.text14 {
    --title-strong: 1.4rem;
    --title-small: 1rem;
}
.c-title.text15 {
    --title-strong: 1.5rem;
    --title-small: 1rem;
}
.c-title.text16 {
    --title-strong: 1.6rem;
    --title-small: 1rem;
}
.c-title.text18 {
    --title-strong: 1.8rem;
    --title-small: 1rem;
}
.c-title.text20 {
    --title-strong: 2rem;
    --title-small: 1rem;
}
.c-title.text22 {
    --title-strong: 2.2rem;
    --title-small: 1.2rem;
}
.c-title.text24 {
    --title-strong: 2.4rem;
    --title-small: 1.4rem;
}
.c-title.text26 {
    --title-strong: 2.6rem;
    --title-small: 1.6rem;
}
.c-title.text28 {
    --title-strong: 2.8rem;
    --title-small: 1.8rem;
}
.c-title.text30 {
    --title-strong: 3rem;
    --title-small: 2rem;
}
.c-title.text32 {
    --title-strong: 3.2rem;
    --title-small: 2.2rem;
}
.c-title.text34 {
    --title-strong: 3.4rem;
    --title-small: 2.4rem;
}
.c-title.text36 {
    --title-strong: 3.6rem;
    --title-small: 2.6rem;
}
.c-title.text38 {
    --title-strong: 3.8rem;
    --title-small: 2.8rem;
}
.c-title.text40 {
    --title-strong: 4rem;
    --title-small: 3rem;
}
.c-title.text42 {
    --title-strong: 4.2rem;
    --title-small: 3.2rem;
}
.c-title.text44 {
    --title-strong: 4.4rem;
    --title-small: 3.4rem;
}
.c-title.text46 {
    --title-strong: 4.6rem;
    --title-small: 3.6rem;
}
.c-title.text48 {
    --title-strong: 4.8rem;
    --title-small: 3.8rem;
}
.c-title.text50 {
    --title-strong: 5rem;
    --title-small: 4rem;
}
.c-title.text52 {
    --title-strong: 5.2rem;
    --title-small: 4.2rem;
}
.c-title.text54 {
    --title-strong: 5.4rem;
    --title-small: 4.4rem;
}
.c-title.text58 {
    --title-strong: 5.8rem;
    --title-small: 4.8rem;
}
.c-title.text60 {
    --title-strong: 6rem;
    --title-small: 5rem;
}
.c-title.text64 {
    --title-strong: 6.4rem;
    --title-small: 5.4rem;
}
.c-title.text72 {
    --title-strong: 7.2rem;
    --title-small: 5.2rem;
}
.c-title.text82 {
    --title-strong: 8.2rem;
    --title-small: 6.2rem;
}
.c-title.text96 {
    --title-strong: 9.6rem;
    --title-small: 7.6rem;
}

.c-subtitle {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.4;
    font-family: var(--font-default);
    color: var(--color-gray);
}
.c-subtitle.subtitle-line {
    padding-left: var(--line-padding-left, 10px);
    position: relative;
}
.c-subtitle.subtitle-line::before {
    content: "";
    width: var(--line-width, 10px);
    height: 1px;
    background: var(--color-gray);
    position: absolute;
    left: 0;
}
.c-subtitle.subtitle-line-sm {
    --line-padding-left: 20px;
}
.c-subtitle.subtitle-line-md {
    --line-width: 20px;
    --line-padding-left: 30px;
}
.c-subtitle.subtitle-line-lg {
    --line-width: 50px;
    --line-padding-left: 60px;
}
.c-subtitle.subtitle-line-top {
    --line-padding-left: 0;
}
.c-subtitle.subtitle-line-top::before {
    top: 0;
}
.c-subtitle.subtitle-line-center::before {
    top: 50%;
}
.c-subtitle.subtitle-line-bottom::before {
    bottom: 20%;
}
.c-subtitle.subtitle-line-right {
    --line-padding-left: 0;
    padding-right: var(--padding-right, 10px);
}
.c-subtitle.subtitle-line-right.subtitle-line-sm {
    --padding-right: 20px;
}
.c-subtitle.subtitle-line-right.subtitle-line-md {
    --padding-right: 30px;
}
.c-subtitle.subtitle-line-right.subtitle-line-lg {
    --padding-right: 60px;
}

.l-titles {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}

.u-circle {
    position: relative;
}
.u-circle::after {
    content: "";
    width: var(--circle-width, 5px);
    height: var(--circle-height, 5px);
    border-radius: 10px;
    background: var(--color-main);
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
}
.u-circle.circle-sm {
    --circle-width: 4px;
    --circle-height: 4px;
}
.u-circle.circle-lg {
    --circle-width: 10px;
    --circle-height: 10px;
}

.u-highlight {
    padding-bottom: 5px;
    background-image: linear-gradient(var(--bg-img, var(--color-default)), var(--bg-img, var(--color-default)));
    background-position: 0 100%;
    background-size: var(--background-size, 100% 1px);
    background-repeat: no-repeat;
}
.u-highlight.highlight-sm {
    --background-size: 100% 2px;
}
.u-highlight.highlight-md {
    --background-size: 100% 3px;
}
.u-highlight.highlight-lg {
    --background-size: 100% 6px;
}
.u-highlight.highlight-10 {
    background-size: 100% 10px;
}
.u-highlight.highlight-spill {
    margin-left: var(--margin-left, -10px);
    margin-right: var(--margin-right, -10px);
    padding-left: var(--padding-left, 10px);
    padding-right: var(--padding-right, 10px);
}
.u-highlight.highlight-spill-sm {
    --margin-left: -5px;
    --margin-right: -5px;
    --padding-left: 5px;
    --padding-right: 5px;
}
.u-highlight.highlight-spill-md {
    --margin-left: -30px;
    --margin-right: -30px;
    --padding-left: 30px;
    --padding-right: 30px;
}
.u-highlight.highlight-spill-2 {
    --margin-left: -2px;
    --margin-right: -2px;
    --padding-left: 2px;
    --padding-right: 2px;
}
.u-highlight.highlight-position-80 {
    background-position-y: 80%;
}
.u-highlight.highlight-clgray {
    --bg-img: var(--color-gray);
}
.u-highlight.highlight-clblue {
    --bg-img: var(--color-blue);
}

.u-dashed {
    text-decoration-style: dashed;
    text-decoration-line: underline;
    text-underline-offset: 15px;
}

.maxline {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: val(--line, 1);
    overflow: hidden;
}
.maxline-2 {
    --line: 2;
}
.maxline-3 {
    --line: 3;
}
.maxline-4 {
    --line: 4;
}
.maxline-5 {
    --line: 5;
}

/* end title */
/* description */
.c-description {
    width: 100%;
    line-height: 1.8;
}
.c-description p {
    line-height: 1.8;
}
.c-description p:last-child {
    margin-bottom: 0;
}

/* end description */
/* blockquote */
.c-blockquote {
    line-height: 1.8;
    font-family: var(--font-default);
}
.c-blockquote p {
    line-height: 1.8;
}
.c-blockquote p:last-child {
    margin-bottom: 0;
}
.c-blockquote footer {
    margin-top: 10px;
}
.c-blockquote.blockquote-bg {
    padding: 20px;
    background: var(--color-gray4);
}

/* end blockquote */
/* button */
.c-button {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    min-height: 80px;
    justify-content: center;
    align-items: center;
    padding: 10px 15px;
    background: var(--background);
    font-size: 1.6rem;
    font-weight: var(--font-weight-default);
    line-height: 1.4;
    color: var(--color);
    transition: var(--transition-default);
}
.c-button img {
    margin-right: 10px;
    transition: var(--transition-default);
}
.c-button i {
    margin-right: 10px;
    transition: var(--transition-default);
}
.c-button span {
    margin-top: 4px;
}
.c-button:not(.button-opacity):hover {
    border: 1px solid;
    background: var(--hover-background);
    color: var(--hover-color);
}
.c-button.button-black {
    --background: var(--color-black);
    --color: white;
    --hover-color: var(--color-black);
}
.c-button.button-blue {
    --background: var(--color-blue);
    --color: white;
    --hover-color: var(--color-blue);
}
.c-button.button-green {
    --background: var(--color-green);
    --color: white;
    --hover-color: var(--color-green);
}
.c-button.button-orange {
    --background: var(--color-orange);
    --color: white;
    --hover-color: var(--color-orange);
}
.c-button.button-yellow {
    --background: var(--color-yellow);
    --color: white;
    --hover-color: var(--color-yellow);
}
.c-button.button-red {
    --background: var(--color-red);
    --color: white;
    --hover-color: var(--color-red);
}
.c-button.button-white {
    border: 1px solid;
    --background: white;
    --color: var(--color-main);
}
.c-button.button-outline {
    border: 1px solid;
    --background: white;
}
.c-button.button-outline.button-md {
    border-width: 2px;
}
.c-button.button-outline.button-black {
    --color: var(--color-black);
}
.c-button.button-outline.button-blue {
    --color: var(--color-blue);
}
.c-button.button-outline.button-green {
    --color: var(--color-green);
}
.c-button.button-outline.button-orange {
    --color: var(--color-orange);
}
.c-button.button-outline.button-yellow {
    --color: var(--color-yellow);
}
.c-button.button-outline.button-red {
    --color: var(--color-red);
}
.c-button.button-outline.button-white {
    background: transparent;
    --color: white;
}
.c-button.button-outline:not(.button-opacity):hover {
    border-color: var(--border-color);
    background: var(--hover-background);
    color: white;
}
.c-button.button-outline:not(.button-opacity):hover.button-black {
    --border-color: var(--color-green);
    --hover-background: var(--color-green);
}
.c-button.button-outline:not(.button-opacity):hover.button-blue {
    --border-color: var(--color-blue);
    --hover-background: var(--color-blue);
}
.c-button.button-outline:not(.button-opacity):hover.button-green {
    --border-color: var(--color-green);
    --hover-background: var(--color-green);
}
.c-button.button-outline:not(.button-opacity):hover.button-orange {
    --border-color: var(--color-orange);
    --hover-background: var(--color-orange);
}
.c-button.button-outline:not(.button-opacity):hover.button-yellow {
    --border-color: var(--color-yellow);
    --hover-background: var(--color-yellow);
}
.c-button.button-outline:not(.button-opacity):hover.button-red {
    --border-color: var(--color-red);
    --hover-background: var(--color-red);
}
.c-button.button-outline:not(.button-opacity):hover.button-white {
    --border-color: white;
    --hover-background: white;
    color: var(--color-main);
}
.c-button.button-opacity:hover {
    opacity: 0.5;
}
.c-button.border-bottom {
    border: 0 !important;
    border-bottom: 1px solid var(--color-gray2) !important;
}
.c-button.border-bottom i {
    width: 12px;
    height: 20px;
    margin-right: 14px;
}
.c-button.border-bottom:not(.button-opacity):hover {
    color: var(--color-blue);
    border-color: var(--color-blue) !important;
}
.c-button:not(.button-opacity):hover .c-icon.ic-arrow-right-black-2 {
    background-image: url("../img/common/ic-arrow-right-blue.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-arrow-circle-blue-2 {
    background-image: url("../img/common/ic-arrow-circle-2.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-cursor {
    background-image: url("../img/common/ic-cursor-green.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-cursor-blue {
    background-image: url("../img/common/ic-cursor.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-cursor-green {
    background-image: url("../img/common/ic-cursor.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-cart-orange {
    background-image: url("../img/common/ic-cart.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-email-outline-blue {
    background-image: url("../img/common/ic-email-outline.svg");
}
.c-button:not(.button-opacity):hover .c-icon.ic-check-circle-black {
    background-image: url("../img/common/ic-check-circle-blue.svg");
}
.c-button.button-maxwidth {
    width: min(100%, var(--max-width, 260px)) !important;
}
.c-button.button-maxwidth-280 {
    --max-width: 280px;
}
.c-button.button-maxwidth-300 {
    --max-width: 300px;
}
.c-button.button-maxwidth-330 {
    --max-width: 330px;
}
.c-button.button-maxwidth-400 {
    --max-width: 400px;
}
.c-button.button-maxwidth-450 {
    --max-width: 450px;
}
.c-button.button-radius {
    border-radius: 5px;
}

.c-gr-button {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
.c-gr-button.gr-button-full {
    width: 100%;
}
.c-gr-button.gr-button-auto {
    width: -moz-max-content;
    width: max-content;
}
.c-gr-button .c-button {
    min-width: 280px;
    flex: 1;
}
.c-gr-button .c-button:not(:last-child) {
    margin-right: 20px;
}

.c-showmore {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.6rem;
    line-height: 1.8;
    position: relative;
    transition: var(--transition-default);
}
.c-showmore.icon-left {
    padding-left: 35px;
}
.c-showmore.icon-left::before {
    content: "";
    width: 22px;
    height: 22px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../img/common/ic-arrow-circle-black.svg");
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: var(--transition-default);
}
.c-showmore.icon-right {
    align-items: center;
}
.c-showmore.icon-right i {
    width: 38px;
    height: 8px;
    margin-left: 12px;
    transition: var(--transition-default);
}
.c-showmore.opacity:hover {
    opacity: 0.5;
}
.c-showmore:not(.opacity):hover .c-icon.ic-arrowlong-right-blue {
    background-image: url("../img/common/ic-arrowlong-right-black.svg");
}
.c-showmore:not(.opacity):hover.showmore-animation .c-icon {
    animation: arrow_hover 1s cubic-bezier(0.19, 1, 0.22, 1) 0s infinite;
}
.c-showmore.change-color:hover {
    color: var(--color-main);
}
.c-showmore.change-color:hover .c-icon.ic-arrowlong-right-black {
    background-image: url("../img/common/ic-arrowlong-right-blue.svg");
}

@keyframes arrow_hover {
    from {
        transform: translate(10px);
    }
    to {
        transform: translate(0);
    }
}
/* end button */
/* date */
.c-date {
    min-width: 100px;
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
}

/* end date */
/* cate */
.c-cates {
    display: flex;
    flex-wrap: wrap;
}
.c-cates .cate {
    width: auto;
    min-width: 80px;
    min-height: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 7px 11px 6px 11px;
    font-size: 1.1rem;
    line-height: 1;
    text-align: center;
}
.c-cates .cate:not(:last-child) {
    margin-right: 10px;
}
.c-cates .cate span {
    font-weight: 500;
}
.c-cates.cate-bg .cate {
    background: var(--color-main);
    color: white;
}
.c-cates.cate-outline .cate {
    border: 1px solid;
    color: var(--color-gray);
}
.c-cates.cate-outline .cate.cate-1 {
    color: var(--color-blue);
}
.c-cates.cate-outline .cate.cate-2 {
    color: var(--color-red);
}

/* end cate */
/* sticker */
.c-stickers {
    display: flex;
    flex-wrap: wrap;
    min-width: 60px;
}
.c-stickers .sticker-new {
    min-width: 60px;
    min-height: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: var(--color-red);
    font-size: 1.2rem;
    line-height: 1.8;
    color: white;
    text-transform: uppercase;
    text-align: center;
}

/* end sticker */
/* figure */
.c-figure {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
    background-color: var(--color-gray3);
    position: relative;
    overflow: hidden;
}
.c-figure.height150 {
    height: 150px !important;
}
.c-figure.height180 {
    height: 180px !important;
}
.c-figure.height200 {
    height: 200px !important;
}
.c-figure.height220 {
    height: 220px !important;
}
.c-figure.height210 {
    height: 210px !important;
}
.c-figure.height240 {
    height: 240px !important;
}
.c-figure.height250 {
    height: 250px !important;
}
.c-figure.height280 {
    height: 280px !important;
}
.c-figure.height300 {
    height: 300px !important;
}
.c-figure.height320 {
    height: 320px !important;
}
.c-figure.height330 {
    height: 330px !important;
}
.c-figure.height340 {
    height: 300px !important;
}
.c-figure.height350 {
    height: 350px !important;
}
.c-figure.height360 {
    height: 360px !important;
}
.c-figure.height380 {
    height: 360px !important;
}
.c-figure.height400 {
    height: 400px !important;
}
.c-figure.height420 {
    height: 420px !important;
}
.c-figure.height440 {
    height: 440px !important;
}
.c-figure.height450 {
    height: 450px !important;
}
.c-figure.height460 {
    height: 460px !important;
}
.c-figure.height480 {
    height: 480px !important;
}
.c-figure.height500 {
    height: 500px !important;
}
.c-figure.height540 {
    height: 540px !important;
}
.c-figure.height600 {
    height: 600px !important;
}
.c-figure.height640 {
    height: 640px !important;
}
.c-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: var(--transition-default);
}
.c-figure .cates {
    position: absolute;
    left: 0;
    bottom: 0;
}
.c-figure .ovh {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-figure .ovh img {
    width: 100%;
}
.c-figure.figure-border::before {
    content: "";
    width: calc(100% - var(--width-space, 10px) * 2);
    height: calc(100% - var(--height-space, 10px) * 2);
    border: 1px solid white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

/* end figure */
/* info */
.c-info {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
}

/* end info */
/* price */
.c-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.8;
    position: relative;
}
.c-price.have-sticker::before {
    content: "価格";
    min-width: 42px;
    min-height: 27px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    float: left;
    margin-right: 10px;
    background: var(--color-default);
    font-size: 1.4rem;
    color: white;
}

/* end price */
/* sclore */
.c-sclore {
    max-width: 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}
.c-sclore div {
    width: 2px;
    height: 100px;
    display: block;
    background: white;
}
.c-sclore span {
    width: 2px;
    height: 20px;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    background: var(--color-main);
    text-align: center;
    animation: aniSclore 1.5s infinite;
}
.c-sclore p {
    margin-bottom: 15px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 2px;
    text-align: center;
    color: white;
    writing-mode: vertical-lr;
    z-index: 99;
    order: -1;
}

@keyframes aniSclore {
    0% {
        transform: rotate(0deg) translate(0, 0);
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: rotate(0deg) translate(0, 80px);
        opacity: 1;
    }
}
.l-sclore {
    width: 100%;
    z-index: 99;
}

/* end sclore */
/* table */
.c-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
.c-table th,
.c-table td {
    height: 80px;
    padding: 16px 5px;
    font-size: 1.5rem;
    vertical-align: middle;
}
.c-table th span,
.c-table td span {
    font-size: 1.3rem;
}
.c-table.height th,
.c-table.height td {
    height: val(--height);
}
.c-table.height93 {
    --height: 93px;
}
.c-table.height0 {
    --height: auto;
}
.c-table.th-maxwidth th {
    width: 200px;
    max-width: 200px;
}
.c-table.th-left th {
    text-align: left;
}
.c-table.th-bg th {
    background: rgba(238, 238, 238, 0.5);
}
.c-table.th-bgblue th {
    background: rgba(3, 77, 143, 0.1);
}
.c-table.th-cl th {
    color: var(--color-main);
}
.c-table.th-clblue th {
    color: var(--color-blue);
}
.c-table.th-bold thead th,
.c-table.th-bold tbody th {
    font-weight: bold;
}
.c-table.td-maxwidth td {
    width: 330px;
    max-width: 330px;
}
.c-table.td-center td {
    text-align: center;
}
.c-table.td-bg td {
    background: rgba(238, 238, 238, 0.5);
}
.c-table.td-cl td {
    color: var(--color-gray);
}
.c-table.thead-bg thead th {
    background: var(--color-main);
    color: white;
}
.c-table.thead-box {
    width: calc(100% + var(--gap, 10px) * 2);
    margin-left: var(--gap, 10px);
    margin-right: var(--gap, 10px);
}
.c-table.thead-box thead th,
.c-table.thead-box thead td,
.c-table.thead-box tbody th,
.c-table.thead-box tbody td {
    padding-left: var(--gap, 10px);
    padding-right: var(--gap, 10px);
}
.c-table.thead-box thead th::before,
.c-table.thead-box thead td::before,
.c-table.thead-box tbody th::before,
.c-table.thead-box tbody td::before {
    width: calc(100% - var(--gap, 10px) * 2);
}
.c-table.thead-box thead th {
    padding-top: 0;
    padding-bottom: 0;
}
.c-table.thead-box thead th > div {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    padding: 16px 5px;
    border-radius: 3px;
    background: var(--color-main);
    color: white;
}
.c-table.thead-box thead th::before {
    display: none;
}
.c-table.tbody-even-bg tr:nth-child(even) td {
    background: rgba(238, 238, 238, 0.5);
}
.c-table.tbody-even-bg20 tr:nth-child(even) td {
    background: rgba(238, 238, 238, 0.2);
}
.c-table.boder {
    border: 1px solid var(--color-gray);
}
.c-table.boder th,
.c-table.boder td {
    border: 1px solid var(--color-gray);
}
.c-table.boder-bottom {
    width: calc(100% + var(--gap, 10px) * 2);
    margin-left: calc(-1 * var(--gap, 10px));
    margin-right: calc(-1 * var(--gap, 10px));
}
.c-table.boder-bottom th,
.c-table.boder-bottom td {
    position: relative;
}
.c-table.boder-bottom th::before,
.c-table.boder-bottom td::before {
    content: "";
    width: calc(100% - var(--gap, 10px) * 2);
    left: 50%;
    height: 1px;
    background: var(--color-default);
    position: absolute;
    bottom: 0;
    transform: translate(-50%);
}
.c-table.boder-bottom th::before {
    background: var(--color-main);
}
.c-table .u-min-width {
    min-width: 120px;
}
.c-table .u-max-width {
    max-width: 120px;
}
.c-table.gap0 {
    --gap: 0px;
}
.c-table.gap15 {
    --gap: 15px;
}
.c-table.gap20 {
    --gap: 20px;
}

.l-table {
    width: 100%;
}

/* end table */
/* list */
.c-ul li {
    line-height: 1.8;
    position: relative;
}
.c-ul li:not(:last-child) {
    margin-bottom: 10px;
}
.c-ul.u-attention li {
    padding-left: 20px;
}
.c-ul.u-attention li::before {
    content: "※";
    position: absolute;
    left: 0;
}
.c-ul.u-disc li {
    padding-left: 15px;
}
.c-ul.u-disc li::before {
    content: "・";
    position: absolute;
    left: 0;
}
.c-ul.u-number {
    padding-left: 30px;
}
.c-ul.u-number li {
    list-style: decimal;
}
.c-ul.u-number.number-zero {
    padding-left: 40px;
}
.c-ul.u-number.number-zero li {
    list-style-type: decimal-leading-zero;
}

.c-counters {
    counter-reset: section;
}
.c-counters .counter:not(.counter-right)::before {
    counter-increment: section;
    content: counter(section);
}
.c-counters .counter.counter-right::after {
    counter-increment: section;
    content: counter(section);
}
.c-counters.counter-zero .counter:not(.counter-right)::before {
    content: counter(section, decimal-leading-zero);
}
.c-counters.counter-zero .counter.counter-right::after {
    content: counter(section, decimal-leading-zero);
}

.c-dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.c-dl dt,
.c-dl dd {
    padding: 20px 20px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.c-dl dt {
    width: var(--dt-width, 200px);
    max-width: var(--dt-width, 200px);
    border-bottom: 1px solid var(--color-gray2);
    font-weight: bold;
    text-align: center;
}
.c-dl dd {
    width: calc(100% - (var(--dt-width, 200px) + var(--space, 0px)));
    border-bottom: 1px solid var(--color-gray2);
    word-break: break-all;
}
.c-dl.space10 {
    --space: 10px;
}
.c-dl.space20 {
    --space: 20px;
}
.c-dl.height260 {
    --dt-width: 260px;
}
.c-dl.dlblack dt {
    border-color: var(--color-default);
}
.c-dl.dl-cl dt {
    border-color: var(--color-main);
}
.c-dl.dl-clgray dt {
    border-color: var(--color-gray);
}
.c-dl.dl-clblue dt {
    border-color: var(--color-blue);
}
.c-dl.dl-clgreen dt {
    border-color: var(--color-green);
}
.c-dl.dl-full dt,
.c-dl.dl-full dd {
    width: 100%;
    max-width: 100%;
}
.c-dl.dl-full dt {
    text-align: left;
}
.c-dl.dl-full dd {
    border-bottom: 0;
}
.c-dl.dd-cl dd {
    border-color: var(--color-default);
}
.c-dl.dd-clblack dd {
    border-color: var(--color-black);
}
.c-dl .c-button {
    width: 94px;
    min-height: 54px;
    padding: 12px 10px;
}
.c-dl .c-button i {
    width: 12px;
    height: 16px;
}
.c-dl .c-button span {
    margin-top: 0;
    font-size: 1.6rem;
}

/* end list */
/* collapsible */
.c-collapsible {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-collapsible > .header {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    cursor: pointer;
}
.c-collapsible > .content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding-top: 30px;
}
.c-collapsible:not(.unhide) > .content {
    display: none;
}
.c-collapsible.show > .content {
    display: flex;
}
.c-collapsible:not(:last-child) {
    margin-bottom: 100px;
}

/* end collapsible */
/* icon */
.c-icon {
    width: var(--width, 20px);
    height: var(--height, 20px);
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.c-icon.icon-sm {
    --width: 15px;
    --height: 15px;
}
.c-icon.icon-lg {
    --width: 30px;
    --height: 30px;
}
.c-icon.icon-40 {
    --width: 40px;
    --height: 40px;
}
.c-icon.icon-50 {
    --width: 50px;
    --height: 50px;
}
.c-icon.icon-60 {
    --width: 60px;
    --height: 60px;
}
.c-icon.ic-arrow-circle {
    background-image: url("../img/common/ic-arrow-circle.svg");
}
.c-icon.ic-arrow-circle-black {
    background-image: url("../img/common/ic-arrow-circle-black.svg");
}
.c-icon.ic-arrow-circle-2 {
    background-image: url("../img/common/ic-arrow-circle-2.svg");
}
.c-icon.ic-arrow-circle-black-2 {
    background-image: url("../img/common/ic-arrow-circle-black-2.svg");
}
.c-icon.ic-arrow-circle-blue-2 {
    background-image: url("../img/common/ic-arrow-circle-blue-2.svg");
}
.c-icon.ic-arrow-left-black {
    background-image: url("../img/common/ic-arrow-left-black.svg");
}
.c-icon.ic-arrow-right {
    background-image: url("../img/common/ic-arrow-right.svg");
}
.c-icon.ic-arrow-right-black {
    background-image: url("../img/common/ic-arrow-right-black.svg");
}
.c-icon.ic-arrow-right-black-2 {
    background-image: url("../img/common/ic-arrow-right-black-2.svg");
}
.c-icon.ic-arrow-right-blue-2 {
    background-image: url("../img/common/ic-arrow-right-blue.svg");
}
.c-icon.ic-arrowlong-right {
    background-image: url("../img/common/ic-arrowlong-right.svg");
}
.c-icon.ic-arrowlong-right-black {
    background-image: url("../img/common/ic-arrowlong-right-black.svg");
}
.c-icon.ic-arrowlong-right-black-2 {
    background-image: url("../img/common/ic-arrowlong-right-black-2.svg");
}
.c-icon.ic-arrowlong-right-gray {
    background-image: url("../img/common/ic-arrowlong-right-gray.svg");
}
.c-icon.ic-arrowlong-right-blue {
    background-image: url("../img/common/ic-arrowlong-right-blue.svg");
}
.c-icon.ic-arrowlong-right-blue-2 {
    background-image: url("../img/common/ic-arrowlong-right-blue-2.svg");
}
.c-icon.ic-arrowshort-right {
    background-image: url("../img/common/ic-arrowshort-right.svg");
}
.c-icon.ic-arrow-down {
    background-image: url("../img/common/ic-arrow-down.svg");
}
.c-icon.ic-btn-prev {
    background-image: url("../img/common/ic-btn-prev.svg");
}
.c-icon.ic-btn-next {
    background-image: url("../img/common/ic-btn-next.svg");
}
.c-icon.ic-btn-prev-2 {
    background-image: url("../img/common/ic-btn-prev-2.svg");
}
.c-icon.ic-btn-next-2 {
    background-image: url("../img/common/ic-btn-next-2.svg");
}
.c-icon.ic-btn-prev-3 {
    background-image: url("../img/common/ic-btn-prev-3.svg");
}
.c-icon.ic-btn-next-3 {
    background-image: url("../img/common/ic-btn-next-3.svg");
}
.c-icon.ic-phone {
    background-image: url("../img/common/ic-phone.svg");
}
.c-icon.ic-phone-green {
    background-image: url("../img/common/ic-phone-green.svg");
}
.c-icon.ic-email {
    background-image: url("../img/common/ic-email.svg");
}
.c-icon.ic-email-blue {
    background-image: url("../img/common/ic-email-blue.svg");
}
.c-icon.ic-email-outline {
    background-image: url("../img/common/ic-email-outline.svg");
}
.c-icon.ic-email-outline-black {
    background-image: url("../img/common/ic-email-outline-black.svg");
}
.c-icon.ic-email-outline-blue {
    background-image: url("../img/common/ic-email-outline-blue.svg");
}
.c-icon.ic-map {
    background-image: url("../img/common/ic-map.svg");
}
.c-icon.ic-map-green {
    background-image: url("../img/common/ic-map-green.svg");
}
.c-icon.ic-local {
    background-image: url("../img/common/ic-local.svg");
}
.c-icon.ic-cursor {
    background-image: url("../img/common/ic-cursor.svg");
}
.c-icon.ic-cursor-black {
    background-image: url("../img/common/ic-cursor-black.svg");
}
.c-icon.ic-cursor-blue {
    background-image: url("../img/common/ic-cursor-blue.svg");
}
.c-icon.ic-cursor-green {
    background-image: url("../img/common/ic-cursor-green.svg");
}
.c-icon.ic-info-circle-black {
    background-image: url("../img/common/ic-info-circle.svg");
}
.c-icon.ic-cart {
    background-image: url("../img/common/ic-cart.svg");
}
.c-icon.ic-cart-orange {
    background-image: url("../img/common/ic-cart-orange.svg");
}
.c-icon.ic-file {
    background-image: url("../img/common/ic-file.svg");
}
.c-icon.ic-print {
    background-image: url("../img/common/ic-print.svg");
}
.c-icon.ic-printer {
    background-image: url("../img/common/ic-printer.svg");
}
.c-icon.ic-time {
    background-image: url("../img/common/ic-time.svg");
}
.c-icon.ic-car {
    background-image: url("../img/common/ic-car.svg");
}
.c-icon.ic-driver {
    background-image: url("../img/common/ic-driver.svg");
}
.c-icon.ic-money {
    background-image: url("../img/common/ic-money.svg");
}
.c-icon.ic-user {
    background-image: url("../img/common/ic-user.svg");
}
.c-icon.ic-facebook {
    background-image: url("../img/common/ic-facebook.svg");
}
.c-icon.ic-instagram {
    background-image: url("../img/common/ic-instagram.svg");
}
.c-icon.ic-instagram-black {
    background-image: url("../img/common/ic-instagram-black.svg");
}
.c-icon.ic-instagram-blue {
    background-image: url("../img/common/ic-instagram-blue.svg");
}
.c-icon.ic-instagram-green {
    background-image: url("../img/common/ic-instagram-green.svg");
}
.c-icon.ic-twitter {
    background-image: url("../img/common/ic-twitter.svg");
}
.c-icon.ic-youtube {
    background-image: url("../img/common/ic-youtube.svg");
}
.c-icon.ic-check-circle-black {
    background-image: url("../img/common/ic-check-circle-black.svg");
}
.c-icon.ic-logo {
    background-image: url("../img/common/logo.svg");
}

/* end icon */
/*** template ***/
/* header */
.c-header {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background: white;
    transition: var(--transition-default);
}
.c-header__logo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.c-header__logo a {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    flex-direction: column;
}
.c-header__logo a:hover {
    opacity: 0.5;
}
.c-header__logo h3 {
    margin-bottom: 0;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.4;
}
.c-header__logo span {
    font-size: 1.8rem;
    font-weight: 500;
}
.c-header__logo img {
    width: auto;
    height: 100%;
}
.c-header__logo img.logo-active {
    display: none;
}
.c-header__logo i {
    display: block;
}
.c-header__logo i.ic-logo {
    width: 272px;
    height: 49px;
}
.c-header__slogan {
    display: inline-block;
    margin-left: 60px;
    font-weight: 700;
    line-height: 1.4;
}
.c-header__action {
    height: 100%;
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-left: 20px;
}
.c-header__menu {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    margin-right: 20px;
}
.c-header__menu li {
    min-width: 110px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 25px;
    line-height: 1.4;
}
.c-header__menu li:hover .menu-child {
    visibility: visible;
    opacity: 1;
}
.c-header__menu a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.4rem;
    position: relative;
    color: var(--color-default);
    transition: var(--transition-default);
}
.c-header__menu a span {
    font-size: 1rem;
    color: var(--color-gray2);
}
.c-header__menu a:hover {
    opacity: 0.5;
}
.c-header__menu.menu-lg li::before {
    height: 40px;
}
.c-header__menu.menu-lg a {
    font-size: 1.7rem;
}
.c-header__menu.space li {
    padding: 10px 15px;
}
.c-header__menu.space li:not(:last-child) {
    margin-right: 20px;
}
.c-header__menu.item-center a {
    text-align: center;
}
.c-header__menu.border-menu li {
    position: relative;
}
.c-header__menu.border-menu li::before {
    content: "";
    width: 2px;
    min-height: 30px;
    background: var(--color-default);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: var(--transition-default);
}
.c-header__menu.color-hover li:hover a {
    color: var(--color-main);
    opacity: 1;
}
.c-header__menu.color-hover li:hover a span {
    color: var(--color-main);
}
.c-header__menu.color-hover li:hover::before {
    background: var(--color-main);
}
.c-header .menu-child {
    display: flex;
    flex-wrap: wrap;
    background: var(--color-main);
    position: fixed;
    left: 0;
    visibility: hidden;
    transition: 0.2s;
    opacity: 0;
}
.c-header .menu-child .c-menu-child {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap, 0px);
    --gap: 40px;
    --col: 4;
}
.c-header .menu-child .c-menu-child .item {
    width: calc((100% - var(--gap, 0px) * (var(--col, 1) - 1)) / var(--col, 1));
    transition: unset;
}
.c-header .menu-child .c-menu-child .item .c-figure {
    margin-bottom: 15px;
}
.c-header .menu-child .c-menu-child .item .c-showmore {
    font-size: 1.8rem;
    transition: 0.2s;
}
.c-header .menu-child .c-menu-child .item .c-showmore.icon-left {
    padding-left: 27px;
}
.c-header .menu-child .c-menu-child .item .c-showmore.icon-left::before {
    width: 17px;
    height: 17px;
    background-image: url("../img/common/ic-arrow-circle-2.svg");
}
.c-header .menu-child .c-menu-child .item:hover figure img {
    transform: scale(1.1);
}
.c-header .menu-child .c-menu-child .item:hover .c-showmore {
    opacity: 0.5;
}
.c-header__mail {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--color-main);
    font-size: 1.5rem;
    line-height: 1.4;
    color: white;
}
.c-header__mail i {
    margin-bottom: 10px;
}
.c-header__mail:hover {
    color: white;
    opacity: 0.6;
}
.c-header__mail.outline {
    border: 2px solid var(--color-main);
}
.c-header__mail.outline:hover {
    background: transparent;
    color: var(--color-main);
    opacity: 1;
}
.c-header__mail.outline:hover .ic-email {
    background-image: url("../img/common/ic-email-green.svg");
}
.c-header__contact {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-right: 40px;
}
.c-header__contact a {
    font-size: 1.4rem;
    line-height: 1.4;
    transition: var(--transition-default);
}
.c-header__contact a strong {
    font-size: 2.8rem;
    font-weight: 500;
}
.c-header__contact a strong small {
    margin-right: 20px;
    font-size: 1.6rem;
}
.c-header__contact span {
    font-size: 1.3rem;
}
.c-header__contact a:hover,
.c-header__contact span:hover {
    opacity: 0.5;
}
.c-header.have-menu {
    display: flex;
}
.c-header.have-contents {
    padding-right: 0;
}
.c-header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}
.c-header.fixed + .clear {
    width: 100%;
}
.c-header.transparent {
    background: transparent;
}
.c-header.transparent + .clear {
    display: none;
}
.c-header.transparent .c-header__logo {
    visibility: hidden;
}
.c-header.transparent .c-header__logo h1 {
    color: white;
}
.c-header.transparent .c-header__logo img {
    display: none;
}
.c-header.transparent .c-header__slogan {
    color: white;
}
.c-header.transparent .c-header__menu li a {
    color: white;
}
.c-header.transparent .c-header__menu li a span {
    color: white;
}
.c-header.transparent .c-header__menu li:hover {
    color: white;
}
.c-header.transparent .c-header__menu li:hover::before {
    opacity: 0.5;
}
.c-header.transparent .c-header__menu li:hover a {
    opacity: 0.5;
}
.c-header.transparent .c-header__menu li::before {
    background: white;
}
.c-header.transparent .c-header__contact a {
    color: white;
}
.c-header.transparent .menu-toggle {
    background: white;
}
.c-header.transparent .menu-toggle p {
    color: var(--color-main);
}
.c-header.transparent .menu-toggle span {
    background-color: var(--color-main);
}
.c-header.transparent .menu-toggle:hover {
    background: var(--color-main);
}
.c-header.transparent .menu-toggle:hover p {
    color: white;
}
.c-header.transparent .menu-toggle:hover span {
    background-color: white;
}
.c-header.transparent .menu-toggle.change {
    background: var(--color-main);
}
.c-header.transparent .menu-toggle.change p {
    color: white;
}
.c-header.transparent .menu-toggle.change span {
    background-color: white;
}
.c-header.is-show {
    color: white;
}
.c-header.is-show .c-header__menu {
    display: flex;
}
.c-header.on .c-header__action {
    padding-right: 0;
}
.c-header.on .c-header__contact {
    width: 230px;
    height: 100%;
    align-content: center;
    padding-left: 50px;
    background: var(--color-main);
}
.c-header.on .c-header__contact a {
    display: none;
    flex-direction: row !important;
    margin-right: 0;
    font-size: 10px;
    color: var(--color-main);
}
.c-header.on .c-header__contact a:not(:last-child) {
    margin-bottom: 2px;
}
.c-header.on .c-header__contact a:last-child {
    letter-spacing: 0;
}
.c-header.on .c-header__contact a span:not(:last-child) {
    margin-right: 10px;
    margin-bottom: 0;
}
.c-header.on .c-header__contact a b {
    margin-right: 0;
}

/* toggle menu button */
.menu-toggle {
    width: 100px;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    display: none;
    flex-flow: row;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background: var(--color-main);
    text-align: center;
    color: white;
    z-index: 2;
    transition: var(--transition-default);
    cursor: pointer;
}
.menu-toggle div {
    width: 100%;
    max-width: 36px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}
.menu-toggle p {
    width: 100%;
    margin-bottom: 0;
    font-size: 1.1rem;
    font-weight: 500;
    text-align: center;
    color: white;
    text-transform: uppercase;
}
.menu-toggle span {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    margin: 5px 0;
    background-color: white;
    transition: var(--transition-default);
}
.menu-toggle.change {
    background: var(--color-main);
}
.menu-toggle.change span {
    background-color: white;
}
.menu-toggle.change span:nth-of-type(1) {
    width: 37px;
    transform: rotate(-45deg) translate(-8px, 8px);
}
.menu-toggle.change span:nth-of-type(2) {
    opacity: 0;
}
.menu-toggle.change span:nth-of-type(3) {
    width: 37px;
    transform: rotate(45deg) translate(-8px, -8px);
}
.menu-toggle.change p {
    color: white;
}
.menu-toggle.change div {
    transform: translateX(-15%);
}
.menu-toggle:hover {
    background: var(--color-main);
}
.menu-toggle:hover p {
    color: white;
}
.menu-toggle:hover span {
    background-color: white;
}

/* end toggle menu button */
/* header menu */
.c-menu {
    width: 100%;
    max-width: 330px;
    height: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    background: var(--color-main);
    color: white;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    transition: var(--transition-default);
    opacity: 0;
    pointer-events: none;
}
.c-menu > ul {
    width: 100%;
    max-width: 180px;
}
.c-menu li {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}
.c-menu li:not(:last-child) {
    border: 0;
}
.c-menu li a {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 20px;
    padding-left: 40px;
    color: white;
    position: relative;
    transition: var(--transition-default);
}
.c-menu li a span {
    font-size: 1.2rem;
    line-height: 1.8;
}
.c-menu li a strong {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
}
.c-menu li a::after {
    content: "";
    width: 20px;
    height: 1px;
    background: white;
    position: absolute;
    top: 15px;
    left: 0;
}
.c-menu li a:hover {
    opacity: 0.5;
}
.c-menu li ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    display: none;
    padding: 10px 0 5px 0;
}
.c-menu li ul li {
    padding: 0 0 0 40px;
    font-size: 1.6rem;
}
.c-menu li ul li a {
    padding-left: 0;
}
.c-menu li ul li a::after {
    display: none;
}
.c-menu.is-show {
    visibility: visible;
    opacity: 1;
    pointer-events: unset;
}
.c-menu .c-qr {
    max-width: 253px;
    margin-top: 68px;
}
.c-menu .c-qr div > * {
    width: 100%;
    max-width: 141px;
}
.c-menu .l-contact {
    margin-top: 22px;
    font-size: 1.4rem;
    font-weight: 500;
}
.c-menu .l-contact strong {
    margin-left: 20px;
    font-size: 2.4rem;
    font-weight: 500;
}

/* end header menu */
/* action */
.c-action {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
    padding: 50px 5px 30px 5px;
    background: var(--color-main);
    color: white;
}
.c-action h3 {
    writing-mode: vertical-lr;
}
.c-action a:hover {
    opacity: 0.5;
}
.c-action.fixed {
    height: 100vh;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 98;
}

/* end action */
/* end header */
/* block */
.l-block,
.l-blocks {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.l-block__titles,
.l-blocks__titles {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}
.l-block__title,
.l-blocks__title {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
}
.l-block__main,
.l-blocks__main {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

/* end block */
/* banner */
.c-banner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: 540px;
    position: relative;
    overflow: hidden;
}
.c-banner .contents {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    align-items: flex-start;
    padding: 60px;
    z-index: 2;
}
.c-banner .contents.contents-center {
    align-items: center;
    text-align: center;
}
.c-banner .contents.contents-center-bottom {
    justify-content: flex-end;
    align-items: center;
    text-align: center;
}
.c-banner .contents.contents-center-bottom + .banner {
    height: 400px;
}
.c-banner .contents.bg-contents {
    background: var(--color-main);
    color: white;
}
.c-banner .contents.bg-contents.gradient-bg {
    background: linear-gradient(to bottom, #0a7fc4, #065b8e);
}
.c-banner .contents.bg-contents.transparent-bg {
    background: rgba(13, 40, 136, 0.95);
}
.c-banner .banner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}
.c-banner .banner img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.c-banner .banner.before-bg::before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(6, 91, 142, 0.15);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
.c-banner .banner .parallax-box {
    width: 100%;
    height: 100%;
}
.c-banner.box-content .contents {
    width: 35%;
}
.c-banner.box-content .banner {
    width: 65%;
}
.c-banner.box-content .banner img {
    -o-object-position: bottom right;
    object-position: bottom right;
}
.c-banner.box-content .banner.wfull {
    width: 100% !important;
}
.c-banner.shortbox-content .contents {
    height: auto;
    position: absolute;
}
.c-banner.shortbox-content.box-sm .contents {
    min-height: 150px;
    justify-content: flex-start;
    padding: 12px 30px 12px 30px;
    background: var(--color-main);
    left: 50px;
    bottom: 0;
    color: white;
}
.c-banner.shortbox-content.box-md .contents {
    min-width: 458px;
    min-height: 200px;
    padding: 38px 60px 49px 60px;
    background: white;
    bottom: 0;
}
.c-banner.shortbox-content.box-md .contents .counter::before {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    font-size: 7.2rem;
    line-height: 1.2;
}
.c-banner.shortbox-content.box-lg {
    align-items: flex-end;
}
.c-banner.shortbox-content.box-lg::before {
    content: "";
    width: 600px;
    height: 330px;
    background: white;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.c-banner.shortbox-content.box-lg .contents {
    padding: 0 0 40px 120px;
    position: relative;
    z-index: 3;
}
.c-banner.shortbox-content.box-lg .contents .c-title {
    letter-spacing: 3px;
}
.c-banner.shortbox-content.box-lg .contents .c-title strong {
    font-size: 9rem;
    line-height: 1.2;
}
.c-banner.shortbox-content.box-lg .contents .counter::before {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    font-size: 10rem;
    line-height: 1.2;
}
.c-banner.top-banner {
    height: 540px;
}
.c-banner.max-width .contents {
    width: 50%;
    max-width: 1000px;
}
.c-banner.max-width .banner {
    width: 82%;
    max-width: 1580px;
}
.c-banner.border-banner::before,
.c-banner.border-banner::after {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.c-banner.border-banner::before {
    width: 40px;
    background: #4eb0db;
    z-index: 3;
}
.c-banner.border-banner::after {
    width: 10px;
    background: #201703;
    z-index: 4;
}

/* end banner */
/* cols */
.l-cols {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.l-cols.switch .item:not(:last-child) {
    margin-bottom: 90px;
}
.l-cols.switch .item:nth-child(even) {
    flex-flow: row-reverse;
}
.l-cols.switch .item:nth-child(even) .contents {
    margin-left: 0;
    margin-right: -10%;
}

.c-cols {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}
.c-cols .thumb {
    display: flex;
    flex-wrap: wrap;
    width: calc(var(--width-thumb) - var(--space, 0px) / 2);
}
.c-cols .thumb figure {
    width: 100%;
    overflow: hidden;
}
.c-cols .thumb figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.c-cols .content {
    display: flex;
    flex-wrap: wrap;
    width: calc(var(--width-content) - var(--space, 0px) / 2);
}
.c-cols .content.max-width-660 {
    max-width: 660px;
}
.c-cols .content.max-width-750 {
    max-width: 750px;
}
.c-cols .txt {
    width: 120px;
    height: 100%;
    display: flex;
    align-items: flex-end;
    font-size: 5.4rem;
    font-weight: 300;
    line-height: 1.1;
    color: rgba(17, 17, 17, 0.2);
    writing-mode: vertical-rl;
    position: absolute;
    top: 0;
    left: -40px;
    z-index: 0;
}
.c-cols .txt.right {
    left: unset;
    right: -40px;
}
.c-cols.col-55 {
    --width-thumb: 50%;
    --width-content: 50%;
}
.c-cols.col-46 {
    --width-thumb: 45%;
    --width-content: 55%;
}
.c-cols.space10 {
    --space: 10px;
}
.c-cols.space20 {
    --space: 20px;
}
.c-cols.space30 {
    --space: 30px;
}
.c-cols.space40 {
    --space: 40px;
}
.c-cols.space50 {
    --space: 50px;
}
.c-cols.space60 {
    --space: 60px;
}
.c-cols.space70 {
    --space: 70px;
}

/* end cols */
/* breadcrumb */
.l-breadcrumb {
    width: 100%;
    height: 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.l-breadcrumb.breadcrumb-bg {
    background: rgba(17, 17, 17, 0.04);
}

.c-breadcrumbs {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    font-size: 1.2rem;
    line-height: 1.4;
    color: var(--color-gray);
}
.c-breadcrumbs li {
    float: left;
    margin-bottom: 10px;
}
.c-breadcrumbs li:not(:last-child) {
    margin-right: 15px;
}
.c-breadcrumbs li:not(:last-child)::after {
    content: "＞";
    float: right;
    margin-left: 15px;
}
.c-breadcrumbs.first-icon li:first-child::before {
    content: "";
    width: 15px;
    height: 15px;
    float: left;
    margin-right: 10px;
    background-image: url("../img/common/ic-next-black.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

/* end breadcrumb */
/* tabs */
.c-tabs-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: -20px;
}
.c-tabs-list li {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    background: transparent;
    text-align: center;
    transition: var(--transition-default);
}
.c-tabs-list li:last-child {
    margin-right: 0 !important;
}
.c-tabs-list li a {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
    align-items: center;
}
.c-tabs-list.tabs-box li {
    max-width: 160px;
    min-height: 58px;
    border: 1px solid var(--color-gray2);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
}
.c-tabs-list.tabs-box li a {
    padding: 12px 10px 10px 10px;
}
.c-tabs-list.tabs-box li:hover,
.c-tabs-list.tabs-box li.is-active {
    border-color: var(--color-main);
    background: var(--color-main);
    color: white;
}
.c-tabs-list.tabs-box li:hover a,
.c-tabs-list.tabs-box li.is-active a {
    color: white;
}
.c-tabs-list.border-bottom li {
    min-width: 120px;
    padding: 0 20px 5px 20px;
    border-bottom: 1px solid var(--color-default);
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;
}
.c-tabs-list.border-bottom.border-lg li {
    border-width: 2px;
}
.c-tabs-list.border-bottom.u-square li {
    justify-content: center;
}
.c-tabs-list.border-bottom.u-square li a {
    width: auto;
    padding-left: 17px;
    position: relative;
}
.c-tabs-list.border-bottom.u-square li a::before {
    content: "";
    width: 7px;
    height: 7px;
    background: var(--color-main);
    position: absolute;
    top: 12px;
    left: 0;
}
.c-tabs-list.tabs-radius li {
    border-radius: 5px;
}

.c-tabs-child {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    justify-content: center;
    margin: 0 auto -20px auto;
}
.c-tabs-child .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-default);
    transition: var(--transition-default);
}
.c-tabs-child .item span {
    padding-left: 30px;
    position: relative;
}
.c-tabs-child .item span::before {
    content: "+";
    width: 21px;
    height: 21px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 1px 0 0 1px;
    border: 1px solid var(--color-orange);
    border-radius: 20px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: var(--color-orange);
    position: absolute;
    top: 0;
    left: 0;
    transition: var(--transition-default);
}
.c-tabs-child .item:last-child {
    margin-right: 0 !important;
}
.c-tabs-child .item:hover,
.c-tabs-child .item.is-active {
    color: var(--color-orange);
}
.c-tabs-child .item:hover span::before,
.c-tabs-child .item.is-active span::before {
    background: var(--color-orange);
    color: white;
}

/* end tabs */
/* pagination */
.c-pagination {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: -8px;
}
.c-pagination .item {
    width: 36px;
    height: 36px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
    border-radius: 50px;
    font-size: 1.2rem;
    transition: var(--transition-default);
}
.c-pagination .item:not(:last-child) {
    margin-right: 8px;
}
.c-pagination .item i {
    width: 17px;
    height: 17px;
}
.c-pagination .item:hover,
.c-pagination .item.current {
    background: var(--color-main);
    color: white;
}

/* end pagination */
/* news & products */
.c-products,
.c-news {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap, 0px);
}
.c-products .item,
.c-news .item {
    width: calc((100% - var(--gap, 0px) * (var(--col, 1) - 1)) / var(--col, 1));
    display: flex;
    flex-wrap: wrap;
    transition: var(--transition-default);
}
.c-products.col1,
.c-news.col1 {
    --col: 1;
}
.c-products.col2,
.c-news.col2 {
    --col: 2;
}
.c-products.col3,
.c-news.col3 {
    --col: 3;
}
.c-products.col4,
.c-news.col4 {
    --col: 4;
}
.c-products.col5,
.c-news.col5 {
    --col: 5;
}
.c-products.col6,
.c-news.col6 {
    --col: 6;
}
.c-products.space0,
.c-news.space0 {
    --gap: 0px;
}
.c-products.space15,
.c-news.space15 {
    --gap: 15px;
}
.c-products.space10,
.c-news.space10 {
    --gap: 10px;
}
.c-products.space20,
.c-news.space20 {
    --gap: 20px;
}
.c-products.space30,
.c-news.space30 {
    --gap: 30px;
}
.c-products.space40,
.c-news.space40 {
    --gap: 40px;
}
.c-products.space50,
.c-news.space50 {
    --gap: 50px;
}
.c-products.space60,
.c-news.space60 {
    --gap: 60px;
}
.c-products.space70,
.c-news.space70 {
    --gap: 70px;
}
.c-products.sliders,
.c-news.sliders {
    position: relative;
}
.c-products.sliders .swiper,
.c-news.sliders .swiper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0 50px;
    overflow: unset;
}
.c-products.sliders .swiper-container,
.c-news.sliders .swiper-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    overflow: hidden;
}
.c-products.sliders .swiper-slide,
.c-news.sliders .swiper-slide {
    height: auto;
}
.c-products.sliders .swiper-button-prev,
.c-products.sliders .swiper-button-next,
.c-news.sliders .swiper-button-prev,
.c-news.sliders .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
}
.c-products.sliders .swiper-button-prev::after,
.c-products.sliders .swiper-button-next::after,
.c-news.sliders .swiper-button-prev::after,
.c-news.sliders .swiper-button-next::after {
    display: none;
}
.c-products.sliders .swiper-button-prev img,
.c-products.sliders .swiper-button-next img,
.c-news.sliders .swiper-button-prev img,
.c-news.sliders .swiper-button-next img {
    width: 20px;
    height: 40px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.c-products.sliders .swiper-button-prev,
.c-news.sliders .swiper-button-prev {
    left: 0;
}
.c-products.sliders .swiper-button-next,
.c-news.sliders .swiper-button-next {
    right: 0;
}
.c-products.sliders .swiper-pagination,
.c-news.sliders .swiper-pagination {
    bottom: -8px !important;
}
.c-products.sliders .swiper-pagination-bullet,
.c-news.sliders .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: var(--color-gray);
    opacity: 1;
}
.c-products.sliders .swiper-pagination-bullet-active,
.c-news.sliders .swiper-pagination-bullet-active {
    background: var(--color-main);
}

/* news */
.c-bl-news {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-bl-news__title {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.c-bl-news__title [class*="l-container"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.c-bl-news__left {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: baseline;
}
.c-bl-news__right {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    padding-left: 20px;
}
.c-bl-news__right .c-tabs-list {
    justify-content: flex-end;
}
.c-bl-news__content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.c-news {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-news:not(.have-image) .item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 22px 20px;
}
.c-news:not(.have-image) .item a {
    display: flex;
    flex-wrap: wrap;
    width: 1000px;
    padding: 0 0;
    align-items: center;
}
.c-news:not(.have-image) .item a > *:not(:last-child) {
    margin-right: 30px;
}
.c-news:not(.have-image) .item a:hover {
    opacity: 0.6;
}
.c-news:not(.have-image) .item .c-title {
    flex: 1;
}
.c-news:not(.have-image) .item .c-date {
    margin-right: 45px !important;
}
.c-news:not(.have-image) .item .c-cates {
    min-width: 82px;
}
.c-news:not(.have-image) .item .c-cates .cate {
    min-width: 82px;
    min-height: 34px;
    padding: 9px 10px 7px 10px;
    font-size: 1.2rem;
    line-height: 1.4;
}
.c-news:not(.have-image) .item .c-cates .cate:not(:first-child) {
    display: none;
}
.c-news:not(.have-image).news-bg .item {
    border-bottom: 1px solid var(--color-gray3);
}
.c-news:not(.have-image).news-bg .item:first-child {
    border-top: 1px solid var(--color-gray3);
}
.c-news:not(.have-image).news-bg .item:nth-child(odd) {
    background: rgba(6, 91, 142, 0.05);
}
.c-news.have-image .item {
    display: flex;
    flex-wrap: wrap;
    align-content: baseline;
    position: relative;
}
.c-news.have-image .item .c-figure {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: 240px;
    margin-bottom: 30px;
    background-color: var(--color-gray3);
    overflow: hidden;
}
.c-news.have-image .item .c-figure img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    transition: var(--transition-default);
}
.c-news.have-image .item .c-stickers {
    position: absolute;
    top: 0;
    left: 0;
}
.c-news.have-image .item .c-stickers .sticker-new {
    min-height: 50px;
    font-size: 1rem;
    line-height: 1.4;
}
.c-news.have-image .item .c-date {
    margin-bottom: 10px;
    font-size: 1.1rem;
    line-height: 1.4;
    color: var(--color-gray);
}
.c-news.have-image .item .c-cates {
    width: 100%;
}
.c-news.have-image .item .c-cates .cate {
    margin-bottom: 10px;
    padding: 10px 10px 10px 10px;
}
.c-news.have-image .item .c-title {
    width: 100%;
    margin-bottom: 20px;
}
.c-news.have-image .item .c-description p {
    font-size: 1.3rem;
}
.c-news.have-image .item:hover img {
    transform: scale(1.1);
}
.c-news.have-image.new-box .item {
    padding: 20px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.c-news.have-image.new-box .item figure {
    height: 210px;
    margin-bottom: 20px;
}
.c-news.have-image.new-box .item .c-title {
    margin-bottom: 20px;
}
.c-news.have-image.new-box .item .c-button {
    width: calc(100% + 40px);
    max-width: unset;
    min-height: 60px;
    margin: 30px -20px -20px -20px;
    font-size: 1.5rem;
}
.c-news.have-image.sliders .swiper-button-prev,
.c-news.have-image.sliders .swiper-button-next {
    top: 37%;
}

/* end news */
/* products */
.l-products {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.c-products .item {
    align-content: baseline;
}
.c-products .item .c-figure {
    position: relative;
}
.c-products .item .c-figure .c-cates {
    position: absolute;
    bottom: 0;
    left: 0;
}
.c-products .item .c-figure .c-cates .cate {
    min-width: 60px;
    min-height: 60px;
    align-items: baseline;
    align-content: center;
    margin-bottom: 0;
    padding: 10px 10px 10px 10px;
    font-size: 1.3rem;
}
.c-products .item .c-sticker {
    min-width: 84px;
    min-height: 56px;
    padding: 12px 5px 16px 5px;
    background: var(--color-main);
    font-size: 2rem;
    position: absolute;
    left: 0;
    bottom: 0;
}
.c-products .item .c-cates {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-products .item .c-cates .cate {
    margin-bottom: 10px;
    padding: 7px 11px 6px 11px;
}
.c-products .item .c-cates .cate:not(:first-child) {
    display: none;
}
.c-products .item .c-cates .cate.counter {
    min-width: 110px;
    min-height: 50px;
}
.c-products .item .c-title {
    width: 100%;
    margin-bottom: 20px;
}
.c-products .item .c-button {
    max-width: 100%;
    height: 70px;
}
.c-products .item .c-button .c-icon.ic-cart,
.c-products .item .c-button .c-icon.ic-cart-orange {
    width: 24px;
    height: 23px;
}
.c-products.scale-img .item:hover figure img {
    transform: scale(1.1);
}
.c-products.product-box .item {
    padding: 20px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.c-products.product-box .item .c-figure {
    margin-bottom: 20px;
}
.c-products.product-box .item .c-title {
    margin-bottom: 20px;
}
.c-products.product-box .item .c-button {
    width: calc(100% + 40px);
    max-width: unset;
    min-height: 60px;
    margin: 30px -20px -20px -20px;
    font-size: 1.5rem;
}
.c-products.product-special .c-figure {
    margin-bottom: -35px;
}
.c-products.product-special .c-info {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
    z-index: 1;
}

/* end products */
/* end news & products */
/* footer */
.c-footer-banner {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-footer-banner.col-2 .item {
    width: 50%;
}
.c-footer-banner.col-3 .item {
    width: 33.3333333333%;
}
.c-footer-banner .item {
    height: 532px;
    position: relative;
    overflow: hidden;
}
.c-footer-banner .item .content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: white;
    text-align: center;
    position: relative;
}
.c-footer-banner .item .content .box {
    display: flex;
    flex-wrap: wrap;
    width: -moz-max-content;
    width: max-content;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    transition: var(--transition-default);
    opacity: 1;
}
.c-footer-banner .item .content .box.bd {
    width: 240px;
    min-height: 180px;
    padding: 20px;
    border-width: 2px !important;
}
.c-footer-banner .item .content > span {
    width: 150px;
    height: 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border: 1px solid white;
    font-size: 2rem;
    font-weight: 500;
    color: white;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 3;
    transform: translate(-50%, 100%);
    transition: var(--transition-default);
    opacity: 0;
}
.c-footer-banner .item > img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: var(--transition-default);
}
.c-footer-banner .item::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: var(--transition-default);
}
.c-footer-banner .item:hover > img {
    transform: scale(1.1);
}
.c-footer-banner.before-bg .item::before {
    background-color: rgba(12, 37, 67, 0.3);
}
.c-footer-banner.before-bg .item:hover::before {
    background-color: rgba(12, 37, 67, 0.8);
}
.c-footer-banner.have-link .item:hover .content .box {
    top: 100%;
    opacity: 0;
}
.c-footer-banner.have-link .item:hover .content > span {
    bottom: 50%;
    transform: translate(-50%, 50%);
    opacity: 1;
}
.c-footer-banner.border-animation .item .content .box {
    padding: 25px 25px 30px 25px;
}
.c-footer-banner.border-animation .item .content .box span {
    display: none;
    line-height: 1.8;
}
.c-footer-banner.border-animation .item .content .box::before,
.c-footer-banner.border-animation .item .content .box::after {
    content: "";
    width: 0%;
    height: 0%;
    opacity: 0;
    transition: width 0.2s linear, height 0.15s 0.2s ease-out, opacity 0s 0.35s;
    position: absolute;
}
.c-footer-banner.border-animation .item .content .box::before {
    bottom: 0;
    left: -2px;
    border-top: 2px solid rgb(255, 255, 255);
    border-left: 2px solid rgb(255, 255, 255);
}
.c-footer-banner.border-animation .item .content .box::after {
    top: 0;
    right: 0;
    border-bottom: 2px solid rgb(255, 255, 255);
    border-right: 2px solid rgb(255, 255, 255);
}
.c-footer-banner.border-animation .item:hover .content .box h3,
.c-footer-banner.border-animation .item:hover .content .box p {
    display: none;
}
.c-footer-banner.border-animation .item:hover .content .box span {
    display: block;
}
.c-footer-banner.border-animation .item:hover .content .box::before,
.c-footer-banner.border-animation .item:hover .content .box::after {
    width: 100%;
    height: 99%;
    opacity: 1;
    transition: width 0.2s 0.15s ease-out, height 0.15s ease-in, opacity 0s;
}

.c-footer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 100px 0 100px 0;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    color: white;
    position: relative;
    overflow: hidden;
}
.c-footer.footer-bg::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(12, 37, 67, 0.94);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.9;
}
.c-footer.footer-bg-gradient {
    background: linear-gradient(to bottom, #0872b2, #065b8e);
}
.c-footer a {
    color: white;
}
.c-footer a:hover {
    opacity: 0.5;
}
.c-footer [class*="l-container"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    z-index: 2;
}
.c-footer__left {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    max-width: 450px;
    flex: 1;
    flex-direction: column;
    font-weight: 500;
}
.c-footer__middle {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    max-width: 606px;
    flex: 1;
    flex-direction: column;
}
.c-footer__middle h3 {
    margin-bottom: 15px;
    padding-left: 10px;
    font-size: 2.4rem;
    line-height: 1.8;
}
.c-footer__middle h4 {
    padding-left: 10px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.c-footer__middle p {
    margin-bottom: 0;
    padding-left: 10px;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 1.5px;
}
.c-footer__middle span {
    font-size: 1.6rem;
    line-height: 1.8;
}
.c-footer__middle img {
    width: 606px;
    margin-bottom: 30px;
}
.c-footer__right {
    display: flex;
    flex-wrap: wrap;
    max-width: 440px;
    justify-content: flex-end;
    align-items: flex-start;
    align-content: space-between;
}
.c-footer__right .c-qr {
    padding: 19px 16px 19px 14px;
}
.c-footer__right .c-qr figure {
    width: 82px;
    height: 82px;
}
.c-footer__right .c-qr div {
    margin-left: 14px;
}
.c-footer__right .c-qr h3 {
    font-size: 2.3rem;
}
.c-footer__right .c-qr hr {
    margin: 6.5px 0 5.5px 0;
}
.c-footer__right .c-qr span {
    font-size: 1.3rem;
}
.c-footer__bottom {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: 40px;
}
.c-footer__bottom .c-copyright {
    margin-bottom: 0;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
}
.c-footer__logo {
    margin-bottom: 30px;
}
.c-footer__logo h2 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    font-size: 3.2rem;
    font-weight: 500;
}
.c-footer__logo h2 small {
    font-size: 1.4rem;
    line-height: 1.8;
}
.c-footer__logo h2 strong {
    font-weight: 300;
    line-height: 1;
}
.c-footer__logo h3 {
    margin-top: 15px;
    font-size: 3rem;
    font-weight: 300;
    line-height: 1.4;
}
.c-footer__logo span {
    font-size: 1rem;
    font-weight: 500;
}
.c-footer__logo .c-icon {
    display: block;
}
.c-footer__logo .c-icon.ic-logo {
    width: 272px;
    height: 49px;
}
.c-footer__logo img {
    width: auto;
    height: 100%;
}
.c-footer__logo.gr-logo {
    display: flex;
    flex-wrap: wrap;
    flex-flow: row;
    justify-content: center;
}
.c-footer__logo.gr-logo img {
    height: unset;
}
.c-footer__about {
    margin-bottom: 40px;
}
.c-footer__about p {
    font-size: 1.8rem;
    line-height: 1.8;
}
.c-footer__about p:last-child {
    margin-bottom: 0;
}
.c-footer__contacts {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.c-footer__contacts .item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin-bottom: 10px;
    font-size: 1.8rem;
    line-height: 1.8;
}
.c-footer__contacts .item:last-child {
    margin-bottom: 0;
}
.c-footer__contacts .item a {
    font-size: 2.2rem;
}
.c-footer__contacts .item strong {
    font-weight: 500;
    font-size: 1.8rem;
}
.c-footer__contacts .item small {
    margin-right: 10px;
    font-size: 1.2rem;
}
.c-footer__contacts.align-items-center .item {
    width: auto;
}
.c-footer__contacts.item-column .item {
    flex-direction: column;
}
.c-footer__contacts.item-column .item a {
    font-size: 2rem;
}
.c-footer__address {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 20px;
    line-height: 1.8;
}
.c-footer__address p {
    font-size: 1.8rem;
}
.c-footer__address p:last-child {
    margin-bottom: 0;
}
.c-footer__copyright {
    margin: 60px 0 0 0;
    font-size: 1.1rem;
}
.c-footer__social {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    margin-bottom: -20px;
}
.c-footer__social a {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    align-items: center;
    font-size: 1.8rem;
}
.c-footer__social a:not(:last-child) {
    margin-right: 30px;
}
.c-footer__social a i {
    margin-right: 10px;
}
.c-footer__social a .c-icon {
    height: 18px;
}
.c-footer__social a .c-icon.ic-facebook {
    width: 18px;
}
.c-footer__social a .c-icon.ic-youtube {
    width: 24px;
}
.c-footer__lisks {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-left: 10px;
}
.c-footer__lisks .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.c-footer__lisks .item:not(:last-child) {
    margin-bottom: 10px;
}
.c-footer__lisks .item a {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
.c-footer__lisks .item .c-icon {
    margin-left: 10px;
}
.c-footer__lisks .item .c-icon.ic-arrow-right {
    width: 8px;
    height: 14px;
}
.c-footer__lisks .item .c-icon.ic-arrowlong-right {
    width: 40px;
    height: 10px;
}
.c-footer__lisks.flex-row {
    margin-left: 0;
    padding: 0 20px;
}
.c-footer__lisks.flex-row .item {
    font-size: 1.5rem;
    margin-bottom: 0;
}
.c-footer__lisks.flex-row .item .c-icon {
    margin-left: 0;
    margin-right: 10px;
}
.c-footer__lisks.flex-row .item:not(:last-child) {
    margin-right: 30px;
}
.c-footer__menu {
    min-width: 175px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.c-footer__menu li {
    padding-left: 40px;
    position: relative;
}
.c-footer__menu li::before {
    content: "";
    width: 20px;
    height: 1px;
    background-color: white;
    position: absolute;
    top: 15px;
    left: 0;
}
.c-footer__menu li:not(:last-child) {
    margin-bottom: 20px;
}
.c-footer__menu li a {
    height: 100%;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;
    transition: var(--transition-default);
}
.c-footer__menu li ul {
    width: 100%;
    display: none;
    padding: 20px 0 0 0;
}
.c-footer__menu li ul li {
    padding-left: 0;
}
.c-footer__menu li ul li:not(:last-child) {
    margin-bottom: 10px;
}
.c-footer__menu li ul li::before {
    display: none;
}
.c-footer__menu li ul li a {
    font-size: 1.6rem;
}
.c-footer.copyright-bg {
    padding-bottom: 0;
}
.c-footer.copyright-bg .c-footer__bottom {
    min-height: 200px;
    margin-top: 100px;
    background: white;
}
.c-footer.copyright-bg .c-footer__bottom .c-copyright {
    color: var(--color-default);
}
.c-footer .bg {
    height: 100%;
    top: 0;
    z-index: -1;
}
.c-footer .bg-gradient::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #00349f, #011b70 60%);
    opacity: 91%;
    position: absolute;
    top: 0;
    left: 0;
}

/* end footer */
/* mainvisual */
.c-mainvisual {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
}
.c-mainvisual__cnt {
    width: auto;
    padding-left: 28px;
    position: absolute;
    left: 50px;
    top: 23.4%;
    z-index: 3;
}
.c-mainvisual__cnt::before {
    content: "";
    width: 2px;
    height: 100%;
    max-height: 310px;
    background: white;
    position: absolute;
    top: 5px;
    left: 0;
}
.c-mainvisual__cnt h2 {
    width: 100%;
    margin: 0 0 0 0;
    word-break: break-word;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 14px;
    font-family: var(--font-yu-bold);
    color: transparent;
    -webkit-text-stroke: 2px white;
    paint-order: stroke fill;
}
.c-mainvisual__cnt h2 b {
    color: var(--color-main);
}
.c-mainvisual__cnt h2:not(:first-child) {
    margin-top: -10px;
}
.c-mainvisual__cnt span {
    font-weight: 500;
    line-height: 1.4;
    color: white;
}
.c-mainvisual__bg {
    height: 100%;
    position: relative;
    z-index: 0;
}
.c-mainvisual__bg::before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 17, 0.19);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.c-mainvisual__bg img,
.c-mainvisual__bg video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.c-mainvisual .swiper {
    width: 100%;
    height: 100%;
}
.c-mainvisual .swiper-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    overflow: hidden;
}
.c-mainvisual .swiper-container::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 17, 0.17);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.c-mainvisual .swiper .image-container {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: 10s ease-out;
    transform: scale(1);
}
.c-mainvisual .swiper .swiper-slide.swiper-slide-active .image-container {
    transform: scale(1.2);
}
.c-mainvisual .swiper .swiper-pagination {
    width: 100px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: white;
    top: 0;
    right: 0;
    left: unset;
    z-index: 3;
}
.c-mainvisual .swiper .swiper-pagination span {
    width: 9px;
    height: 9px;
}
.c-mainvisual .swiper .swiper-pagination span:not(:last-child) {
    margin-bottom: 11px;
}
.c-mainvisual .swiper .swiper-pagination-bullet span {
    background: var(--color-gray);
}
.c-mainvisual .swiper .swiper-pagination-bullet-active {
    background: var(--color-main);
}

/* end mainvisual */
/* instagram */
.c-instagram {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.c-instagram.max {
    background: white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.c-instagram.min {
    flex-direction: column;
    justify-content: center;
}
.c-instagram .left {
    width: 27%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: center;
    align-items: center;
    padding: 30px 10px 54px 10px;
    background: var(--color-main);
    color: white;
}
.c-instagram .left img {
    height: 20px;
    margin: 18px 0 10px 0;
}
.c-instagram .left span {
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: var(--font-weight-default);
    line-height: 1.8;
}
.c-instagram .left h3 {
    margin-bottom: 10px;
    font-size: 3.2rem;
    font-weight: var(--font-weight-default);
    line-height: 1.4;
}
.c-instagram .left p {
    margin-bottom: 60px;
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: center;
    font-family: "Meiryo";
}
.c-instagram .left .c-button {
    max-width: 290px;
    min-height: 70px;
}
.c-instagram .left .c-button i {
    width: 20px;
    height: 20px;
}
.c-instagram .left .c-button2 {
    max-width: 300px;
    padding: 20px;
}
.c-instagram .left .c-button2 i {
    width: 12px;
    height: 20px;
}
.c-instagram .right {
    width: 73%;
    padding: 20px 0 20px 30px;
}

/* end instagram */
.c-imgs {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap, 0px);
}
.c-imgs img {
    width: calc((100% - var(--gap, 0px) * (var(--col, 1) - 1)) / var(--col, 1));
}
.c-imgs.col1 {
    --col: 1;
}
.c-imgs.col2 {
    --col: 2;
}
.c-imgs.col3 {
    --col: 3;
}
.c-imgs.col4 {
    --col: 4;
}
.c-imgs.col5 {
    --col: 5;
}
.c-imgs.col6 {
    --col: 6;
}
.c-imgs.gap0 {
    --gap: 0px;
}
.c-imgs.gap10 {
    --gap: 10px;
}
.c-imgs.gap20 {
    --gap: 20px;
}
.c-imgs.gap30 {
    --gap: 30px;
}
.c-imgs.gap40 {
    --gap: 40px;
}
.c-imgs.gap50 {
    --gap: 50px;
}
.c-imgs.gap60 {
    --gap: 60px;
}
.c-imgs.gap70 {
    --gap: 70px;
}

.c-images {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.c-images__main {
    width: calc(var(--width) - var(--gap, 0px) / 2);
    display: flex;
    flex-wrap: wrap;
}
.c-images__group {
    width: calc(100% - var(--width) - var(--gap, 0px) / 2);
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--gap, 0px);
}
.c-images.col55 {
    --width: 50%;
}
.c-images.col73 {
    --width: 70%;
}
.c-images.gap0 {
    --gap: 0px;
}
.c-images.gap10 {
    --gap: 10px;
}
.c-images.gap20 {
    --gap: 20px;
}
.c-images.gap30 {
    --gap: 30px;
}
.c-images.gap40 {
    --gap: 40px;
}
.c-images.gap50 {
    --gap: 50px;
}
.c-images.gap60 {
    --gap: 60px;
}
.c-images.gap70 {
    --gap: 70px;
}

/* info footer */
.c-contacts {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.c-contacts .left,
.c-contacts .right {
    display: flex;
    flex-wrap: wrap;
    min-height: 160px;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.c-contacts .left .item .c-icon {
    width: 36px;
    height: 36px;
}
.c-contacts .right .item .c-icon {
    width: 30px;
    height: 24px;
}
.c-contacts .item a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.c-contacts .item:not(:last-child) {
    margin-bottom: 20px;
}
.c-contacts .item:hover {
    color: var(--color-main);
}

/* end info footer */
/*** end template ***/
/*** responsive ***/
@media screen and (min-width: 1537px) {
    .c-header {
        height: 120px;
        padding-left: 50px;
        padding-right: 50px;
    }
    .c-header__mail {
        width: 120px;
        padding: 20px 20px;
    }
    .c-header.fixed + .clear {
        margin-top: 120px;
    }
    .c-header .menu-child {
        width: calc(100% - 120px);
        padding-left: 120px;
        top: 120px;
    }
    .c-menu {
        padding: 120px 40px 40px 40px;
    }
    .c-mainvisual {
        height: calc(100vh - 120px);
    }
    .c-mainvisual__cnt h2 {
        font-size: 14rem;
    }
    .c-mainvisual__cnt h2 small {
        font-size: 8rem;
    }
    .c-mainvisual__cnt span {
        font-size: 3.2rem;
    }
    .c-mainvisual__bg {
        width: calc(100% - 120px);
    }
    .c-mainvisual .swiper .swiper-pagination {
        width: 120px;
    }
    .menu-toggle {
        width: 120px;
    }
    .c-action {
        width: 120px;
    }
    .c-action h3 {
        margin-bottom: 110px;
    }
    .c-action i {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 1536px) {
    .c-header {
        height: 100px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .c-header__logo h1 {
        font-size: 2rem;
    }
    .c-header__logo span {
        font-size: 1.2rem;
    }
    .c-header__menu.menu-lg a {
        font-size: 1.3rem;
    }
    .c-header__mail {
        width: 100px;
        padding: 10px 10px;
        font-size: 1.3rem;
    }
    .c-header.fixed + .clear {
        margin-top: 100px;
    }
    .c-header .menu-child {
        width: calc(100% - 100px);
        padding-left: 20px;
        padding-right: 20px;
        top: 100px;
    }
    .c-header .menu-child .c-menu-child {
        --gap: 20px;
    }
    .c-mainvisual {
        height: calc(100vh - 100px);
    }
    .c-mainvisual__cnt {
        left: 50px;
    }
    .c-mainvisual__cnt::before {
        max-height: 210px;
        top: 5px;
    }
    .c-mainvisual__cnt h2 {
        font-size: 9.6rem;
        -webkit-text-stroke: 1px white;
    }
    .c-mainvisual__cnt h2 small {
        font-size: 5.6rem;
    }
    .c-mainvisual__cnt span {
        font-size: 2rem;
    }
    .c-mainvisual__bg {
        width: calc(100% - 100px);
    }
    .menu-toggle {
        width: 100px;
    }
    .c-menu {
        justify-content: center;
        padding: 100px 40px 40px 40px;
    }
    .c-action {
        width: 100px;
        padding-top: 30px;
    }
    .c-action h3 {
        margin-bottom: 70px;
    }
    .c-action i {
        margin-bottom: 30px;
    }
    .c-footer {
        padding-left: 20px;
        padding-right: 20px;
    }
    .c-footer.copyright-bg .c-footer__bottom {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
    }
    .c-banner.top-banner .contents {
        width: 100%;
        padding: 40px 40px 40px 40px;
    }
    .c-banner.shortbox-content.box-lg .contents {
        padding-left: 60px;
    }
}
@media screen and (max-width: 1440px) {
    .c-cols .c-col-2 .contents.ml40 {
        margin-left: 0 !important;
    }
    .c-cols .c-col-2:not(.justify-content-between):not(.space-40) .contents {
        padding: 0 4vw;
    }
    .c-cols .c-col-2:not(.justify-content-between):not(.space-40) .thumb {
        margin-right: 0;
        margin-left: 0;
    }
    .c-cols .c-col-2:not(.justify-content-between).space-40.switch .contents {
        padding-right: 4vw;
    }
    .c-cols .c-col-2:not(.justify-content-between).space-40.switch .thumb {
        margin-right: 0;
        margin-left: 0;
    }
    .c-cols .c-col-2:not(.justify-content-between).space-40:not(.switch) .contents {
        padding-left: 4vw;
    }
    .c-cols .c-col-2:not(.justify-content-between).space-40:not(.switch) .thumb {
        margin-right: 0;
        margin-left: 0;
    }
    .c-banner .contents {
        padding: 40px;
    }
    .c-banner .contents.contents-center-bottom + .banner {
        height: 430px;
    }
    .c-banner.shortbox-content.box-md .contents .counter::before {
        font-size: 6.2rem;
    }
    .c-footer__left {
        width: 50%;
        flex: auto;
    }
    .c-footer__middle {
        width: 50%;
        flex: auto;
        margin-top: 60px;
        order: 1;
    }
    .c-footer__right {
        width: 50%;
        max-width: unset;
        justify-content: center;
    }
    .c-footer__bottom {
        justify-content: center;
        margin-top: 40px;
        order: 2;
    }
}
@media screen and (max-width: 1440px) and (min-width: 992px) {
    .c-banner .contents .c-title.text64 strong {
        font-size: 5.4rem;
    }
    .c-banner .contents .c-title.text64 small {
        font-size: 3.4rem;
    }
    .c-banner .contents .c-title.text72 strong {
        font-size: 6.2rem;
    }
    .c-banner .contents .c-title.text72 small {
        font-size: 4.2rem;
    }
    .c-banner .contents .c-title.text82 strong {
        font-size: 6.2rem;
    }
    .c-banner .contents .c-title.text82 small {
        font-size: 4.2rem;
    }
}
@media screen and (max-width: 1366px) {
    .c-action h3 {
        margin-bottom: 27px;
        --title-strong: 2rem !important;
        --title-small: 1.4rem !important;
    }
    .c-action i {
        width: 20px;
        height: 20px;
    }
    .c-action .c-sclore div {
        height: 60px;
    }
    .c-action .c-sclore span {
        animation: aniSclore2 1.2s infinite;
    }
    .c-action img {
        display: none;
    }
}
@media screen and (max-width: 1248px) {
    .c-header__action {
        display: none;
    }
    .c-header__slogan {
        display: none;
    }
    .c-header .menu-child {
        width: 100%;
        padding-left: 0;
    }
    .menu-toggle {
        display: flex;
    }
    .c-mainvisual__bg {
        width: 100%;
    }
    .c-mainvisual__cnt::before {
        max-height: 190px;
        top: 5px;
    }
    .c-mainvisual__cnt h2 {
        font-size: 8.6rem;
    }
    .c-mainvisual__cnt small {
        font-size: 4.6rem;
    }
    .c-action {
        display: none;
    }
    .c-cols .c-col-2 .c-title,
    .c-cols .c-col-2 .c-title-6 {
        display: flex;
        flex-direction: column;
    }
    .c-cols .c-col-2 .c-title span,
    .c-cols .c-col-2 .c-title-6 span {
        margin-left: 0 !important;
    }
    .c-cols .c-col-2 .c-title-6 {
        margin-top: 50px;
    }
    .c-cols .c-col-2 .c-subtitle {
        margin-bottom: 30px;
    }
    .c-cols .c-col-2 .c-gr-button {
        margin-top: 30px;
        margin-bottom: 50px;
    }
}
@media screen and (min-width: 992px) {
    .c-mainvisual {
        min-height: 710px;
    }
    .c-tabs-list li {
        width: calc((100% - 40px) / 5);
    }
    .c-tabs-list li:not(:nth-of-type(5n)) {
        margin-right: 10px;
    }
    .c-tabs-child .item {
        width: calc((100% - 270px) / 6);
    }
    .c-tabs-child .item:not(:nth-of-type(6n)) {
        margin-right: 54px;
    }
    .c-info-footers .c-banner {
        height: 460px;
    }
}
@media screen and (max-width: 991px) {
    [class*="l-container"] {
        padding-left: 20px;
        padding-right: 20px;
    }
    [class*="l-container"] [class*="l-container"] {
        padding-left: 0;
        padding-right: 0;
    }
    .c-header {
        padding-left: 15px;
        height: 100px;
    }
    .c-header.fixed + .clear {
        margin-top: 100px;
    }
    .c-header__contact {
        display: none;
    }
    .c-header.transparent .c-header__logo h1,
    .c-header.transparent .c-header__logo span {
        color: white;
    }
    .menu-toggle p {
        margin-top: 5px;
    }
    .c-menu {
        max-width: 100%;
    }
    .c-footer {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    .c-footer [class*="l-container"] {
        flex-direction: column;
        padding-right: 0;
        padding-left: 0;
    }
    .c-footer__left {
        width: 100%;
    }
    .c-footer__middle {
        display: none;
    }
    .c-footer__right {
        display: none;
    }
    .c-footer__bottom {
        min-height: auto;
        justify-content: center;
    }
    .c-footer__bottom.copyright-bg .c-footer__bottom {
        margin-top: 70px;
    }
    .c-mainvisual__cnt {
        top: unset;
        top: 50%;
        left: 40px;
        transform: translateY(-50%);
    }
    .c-mainvisual__cnt h2 {
        -webkit-text-stroke: 1px white;
    }
    .c-mainvisual__cnt span {
        display: block;
        margin-top: 15px;
    }
    .c-cols .thumb,
    .c-cols .content {
        width: min(700px, 100%);
        margin-left: auto;
        margin-right: auto;
    }
    .c-cols .thumb {
        margin-bottom: 30px;
    }
    .c-cols + [class*="l-container"] {
        width: min(700px, 100%);
        margin-left: auto;
        margin-right: auto;
    }
    .c-title.text10tb {
        --title-strong: 1rem;
        --title-small: 0.8rem;
    }
    .c-title.text12tb {
        --title-strong: 1.2rem;
        --title-small: 1rem;
    }
    .c-title.text13tb {
        --title-strong: 1.3rem;
        --title-small: 1rem;
    }
    .c-title.text14tb {
        --title-strong: 1.4rem;
        --title-small: 1rem;
    }
    .c-title.text15tb {
        --title-strong: 1.5rem;
        --title-small: 1rem;
    }
    .c-title.text16tb {
        --title-strong: 1.6rem;
        --title-small: 1rem;
    }
    .c-title.text18tb {
        --title-strong: 1.8rem;
        --title-small: 1rem;
    }
    .c-title.text20tb {
        --title-strong: 2rem;
        --title-small: 1rem;
    }
    .c-title.text22tb {
        --title-strong: 2.2rem;
        --title-small: 1.2rem;
    }
    .c-title.text24tb {
        --title-strong: 2.4rem;
        --title-small: 1.4rem;
    }
    .c-title.text26tb {
        --title-strong: 2.6rem;
        --title-small: 1.6rem;
    }
    .c-title.text28tb {
        --title-strong: 2.8rem;
        --title-small: 1.8rem;
    }
    .c-title.text30tb {
        --title-strong: 3rem;
        --title-small: 2rem;
    }
    .c-title.text32tb {
        --title-strong: 3.2rem;
        --title-small: 2.2rem;
    }
    .c-title.text34tb {
        --title-strong: 3.4rem;
        --title-small: 2.4rem;
    }
    .c-title.text36tb {
        --title-strong: 3.6rem;
        --title-small: 2.6rem;
    }
    .c-title.text38tb {
        --title-strong: 3.8rem;
        --title-small: 2.8rem;
    }
    .c-title.text40tb {
        --title-strong: 4rem;
        --title-small: 3rem;
    }
    .c-title.text42tb {
        --title-strong: 4.2rem;
        --title-small: 3.2rem;
    }
    .c-title.text44tb {
        --title-strong: 4.4rem;
        --title-small: 3.4rem;
    }
    .c-title.text46tb {
        --title-strong: 4.6rem;
        --title-small: 3.6rem;
    }
    .c-title.text48tb {
        --title-strong: 4.8rem;
        --title-small: 3.8rem;
    }
    .c-title.text50tb {
        --title-strong: 5rem;
        --title-small: 4rem;
    }
    .c-title.text52tb {
        --title-strong: 5.2rem;
        --title-small: 4.2rem;
    }
    .c-title.text54tb {
        --title-strong: 5.4rem;
        --title-small: 4.4rem;
    }
    .c-title.text58tb {
        --title-strong: 5.8rem;
        --title-small: 4.8rem;
    }
    .c-title.text60tb {
        --title-strong: 6rem;
        --title-small: 5rem;
    }
    .c-title.text64tb {
        --title-strong: 6.4rem;
        --title-small: 5.4rem;
    }
    .c-title.text72tb {
        --title-strong: 7.2rem;
        --title-small: 5.2rem;
    }
    .c-title.text82tb {
        --title-strong: 8.2rem;
        --title-small: 6.2rem;
    }
    .c-title.text96tb {
        --title-strong: 9.6rem;
        --title-small: 7.6rem;
    }
    .c-button {
        min-height: 64px;
    }
    .c-gr-button {
        width: 100%;
    }
    .c-gr-button.gr-button-auto {
        width: 100%;
    }
    .c-gr-button:not([class*="justify-content-"]) {
        flex-direction: column;
    }
    .c-gr-button .c-button {
        min-width: 100%;
    }
    .c-gr-button .c-button:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .c-dl {
        --dt-width: 30%;
    }
    .c-dl[class="space"] {
        --space: 10px;
    }
    .c-dl dt {
        max-width: unset;
    }
    .c-figure.height150tb {
        height: 15vw !important;
    }
    .c-figure.height180tb {
        height: 18vw !important;
    }
    .c-figure.height200tb {
        height: 20vw !important;
    }
    .c-figure.height220tb {
        height: 22vw !important;
    }
    .c-figure.height210tb {
        height: 21vw !important;
    }
    .c-figure.height240tb {
        height: 24vw !important;
    }
    .c-figure.height250tb {
        height: 25vw !important;
    }
    .c-figure.height280tb {
        height: 28vw !important;
    }
    .c-figure.height300tb {
        height: 30vw !important;
    }
    .c-figure.height320tb {
        height: 32vw !important;
    }
    .c-figure.height330tb {
        height: 33vw !important;
    }
    .c-figure.height340tb {
        height: 34vw !important;
    }
    .c-figure.height350tb {
        height: 35vw !important;
    }
    .c-figure.height360tb {
        height: 36vw !important;
    }
    .c-figure.height380tb {
        height: 36vw !important;
    }
    .c-figure.height400tb {
        height: 40vw !important;
    }
    .c-figure.height420tb {
        height: 42vw !important;
    }
    .c-figure.height440tb {
        height: 44vw !important;
    }
    .c-figure.height450tb {
        height: 45vw !important;
    }
    .c-figure.height460tb {
        height: 46vw !important;
    }
    .c-figure.height480tb {
        height: 48vw !important;
    }
    .c-figure.height500tb {
        height: 50vw !important;
    }
    .c-figure.height540tb {
        height: 54vw !important;
    }
    .c-figure.height600tb {
        height: 60vw !important;
    }
    .c-figure.height640tb {
        height: 64vw !important;
    }
    .c-description {
        font-size: 2.3rem;
    }
    .c-tabs-list li {
        width: calc((100% - 60px) / 4);
    }
    .c-tabs-list li:not(:nth-of-type(4n)) {
        margin-right: 20px;
    }
    .c-tabs-list.tabs-box li {
        max-width: 100%;
    }
    .c-tabs-child .item {
        width: calc((100% - 60px) / 4);
    }
    .c-tabs-child .item:not(:nth-of-type(4n)) {
        margin-right: 20px;
    }
    .c-products.col1tb,
    .c-news.col1tb {
        --col: 1;
    }
    .c-products.col2tb,
    .c-news.col2tb {
        --col: 2;
    }
    .c-products.col3tb,
    .c-news.col3tb {
        --col: 3;
    }
    .c-products.col4tb,
    .c-news.col4tb {
        --col: 4;
    }
    .c-products.col5tb,
    .c-news.col5tb {
        --col: 5;
    }
    .c-products.col6tb,
    .c-news.col6tb {
        --col: 6;
    }
    .c-products.space0tb,
    .c-news.space0tb {
        --gap: 0px;
    }
    .c-products.space10tb,
    .c-news.space10tb {
        --gap: 10px;
    }
    .c-products.space15tb,
    .c-news.space15tb {
        --gap: 15px;
    }
    .c-products.space20tb,
    .c-news.space20tb {
        --gap: 20px;
    }
    .c-products.space30tb,
    .c-news.space30tb {
        --gap: 30px;
    }
    .c-products.space40tb,
    .c-news.space40tb {
        --gap: 40px;
    }
    .c-products.space50tb,
    .c-news.space50tb {
        --gap: 50px;
    }
    .c-products.space60tb,
    .c-news.space60tb {
        --gap: 60px;
    }
    .c-products.space70tb,
    .c-news.space70tb {
        --gap: 70px;
    }
    .c-products.sliders .swiper,
    .c-news.sliders .swiper {
        padding: 0 40px;
    }
    .c-products.sliders .swiper-slide .c-figure.height210,
    .c-news.sliders .swiper-slide .c-figure.height210 {
        height: 30vw !important;
    }
    .c-products.sliders .swiper-slide .c-figure.height240,
    .c-news.sliders .swiper-slide .c-figure.height240 {
        height: 30vw !important;
    }
    .c-products.sliders .swiper-button-prev,
    .c-products.sliders .swiper-button-next,
    .c-news.sliders .swiper-button-prev,
    .c-news.sliders .swiper-button-next {
        top: 43%;
    }
    .c-products.product-special .c-figure,
    .c-news.product-special .c-figure {
        margin-bottom: -25px;
    }
    .c-imgs.col1tb {
        --col: 1;
    }
    .c-imgs.col2tb {
        --col: 2;
    }
    .c-imgs.col3tb {
        --col: 3;
    }
    .c-imgs.col4tb {
        --col: 4;
    }
    .c-imgs.col5tb {
        --col: 5;
    }
    .c-imgs.col6tb {
        --col: 6;
    }
    .c-imgs.gap0tb {
        --gap: 0px;
    }
    .c-imgs.gap10tb {
        --gap: 10px;
    }
    .c-imgs.gap20tb {
        --gap: 20px;
    }
    .c-imgs.gap30tb {
        --gap: 30px;
    }
    .c-imgs.gap40tb {
        --gap: 40px;
    }
    .c-imgs.gap50tb {
        --gap: 50px;
    }
    .c-imgs.gap60tb {
        --gap: 60px;
    }
    .c-imgs.gap70tb {
        --gap: 70px;
    }
    .c-bl-news__left {
        width: 100%;
        margin-bottom: 20px;
    }
    .c-bl-news__right {
        width: 100%;
        padding-left: 0;
    }
    .c-bl-news__right .c-tabs-list {
        justify-content: flex-start;
    }
    .c-instagram .left {
        width: 40%;
        padding: 30px 10px 30px 10px;
    }
    .c-instagram .right {
        width: 60%;
        padding: 0 0 0 10px;
    }
    .c-info-footers .c-banner {
        height: 340px;
    }
    .c-banner {
        height: 340px;
    }
}
@media screen and (max-width: 768px) {
    .c-header {
        height: 80px;
        padding-left: 15px;
    }
    .c-header.fixed + .clear {
        margin-top: 80px;
    }
    .c-header__logo {
        height: 45px;
    }
    .c-header__logo h1 {
        font-size: 2.4rem;
    }
    .c-header__action {
        padding-top: 80px;
    }
    .menu-toggle {
        width: 80px;
        padding: 12px;
    }
    .c-menu {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        align-items: center;
        padding: 80px 20px 20px 20px;
    }
    .c-menu .c-qr {
        margin-top: 30px;
    }
    .c-menu .l-contact {
        font-size: 1.2rem;
    }
    .c-menu .l-contact strong {
        font-size: 2rem;
    }
    .c-banner {
        height: 280px;
    }
    .c-footer__logo {
        margin-bottom: 40px;
    }
    .c-footer__logo img {
        height: 45px;
    }
    .c-footer__address p {
        font-size: 1.8rem;
    }
    .c-footer__contacts .item a {
        font-size: 1.8rem;
    }
    .c-footer__contacts .item strong {
        font-size: 1.8rem;
    }
    .c-footer__contacts .item small {
        font-size: 1.4rem;
    }
    .c-footer__copyright {
        margin-top: 30px;
        font-size: 1rem;
    }
    .c-mainvisual {
        height: calc(100vh - 80px);
    }
    .c-mainvisual__cnt {
        left: 20px;
        padding-left: 18px;
    }
    .c-mainvisual__cnt h2 {
        font-size: 6.6rem;
    }
    .c-mainvisual__cnt h2 small {
        font-size: 3.6rem;
    }
    .c-mainvisual__cnt span {
        margin-top: 10px;
        font-size: 1.8rem;
    }
    .c-mainvisual__cnt::before {
        max-height: 140px;
    }
    .c-title {
        --title-strong: 2.4rem;
        --title-small: 1.4rem;
    }
    .c-title.border-bottom {
        padding-bottom: 15px;
    }
    .c-title.border-short {
        --border-width: 40px;
    }
    .c-title.border-left.border-h25 {
        --border-top: 5px;
    }
    .c-title.border-left.border-h35 {
        --border-height: 32px;
        --border-top: 0;
    }
    .c-title.border-left.border-h45 {
        --border-height: 32px;
    }
    .c-title.border-lr {
        padding-right: 40px;
        padding-left: 40px;
    }
    .c-title.border-lr::after,
    .c-title.border-lr::before {
        width: 30px;
    }
    .c-title.border-lr.rotate {
        padding-right: 20px;
        padding-left: 20px;
    }
    .c-title.border-lr.rotate.border-lg {
        --border-height: 20px;
    }
    .c-title.text10sp {
        --title-strong: 1rem;
        --title-small: 0.8rem;
    }
    .c-title.text12sp {
        --title-strong: 1.2rem;
        --title-small: 1rem;
    }
    .c-title.text13sp {
        --title-strong: 1.3rem;
        --title-small: 1rem;
    }
    .c-title.text14sp {
        --title-strong: 1.4rem;
        --title-small: 1rem;
    }
    .c-title.text15sp {
        --title-strong: 1.5rem;
        --title-small: 1rem;
    }
    .c-title.text16sp {
        --title-strong: 1.6rem;
        --title-small: 1rem;
    }
    .c-title.text18sp {
        --title-strong: 1.8rem;
        --title-small: 1rem;
    }
    .c-title.text20sp {
        --title-strong: 2rem;
        --title-small: 1rem;
    }
    .c-title.text22sp {
        --title-strong: 2.2rem;
        --title-small: 1.2rem;
    }
    .c-title.text24sp {
        --title-strong: 2.4rem;
        --title-small: 1.4rem;
    }
    .c-title.text26sp {
        --title-strong: 2.6rem;
        --title-small: 1.6rem;
    }
    .c-title.text28sp {
        --title-strong: 2.8rem;
        --title-small: 1.8rem;
    }
    .c-title.text30sp {
        --title-strong: 3rem;
        --title-small: 2rem;
    }
    .c-title.text32sp {
        --title-strong: 3.2rem;
        --title-small: 2.2rem;
    }
    .c-title.text34sp {
        --title-strong: 3.4rem;
        --title-small: 2.4rem;
    }
    .c-title.text36sp {
        --title-strong: 3.6rem;
        --title-small: 2.6rem;
    }
    .c-title.text38sp {
        --title-strong: 3.8rem;
        --title-small: 2.8rem;
    }
    .c-title.text40sp {
        --title-strong: 4rem;
        --title-small: 3rem;
    }
    .c-title.text42sp {
        --title-strong: 4.2rem;
        --title-small: 3.2rem;
    }
    .c-title.text44sp {
        --title-strong: 4.4rem;
        --title-small: 3.4rem;
    }
    .c-title.text46sp {
        --title-strong: 4.6rem;
        --title-small: 3.6rem;
    }
    .c-title.text48sp {
        --title-strong: 4.8rem;
        --title-small: 3.8rem;
    }
    .c-title.text50sp {
        --title-strong: 5rem;
        --title-small: 4rem;
    }
    .c-title.text52sp {
        --title-strong: 5.2rem;
        --title-small: 4.2rem;
    }
    .c-title.text54sp {
        --title-strong: 5.4rem;
        --title-small: 4.4rem;
    }
    .c-title.text58sp {
        --title-strong: 5.8rem;
        --title-small: 4.8rem;
    }
    .c-title.text60sp {
        --title-strong: 6rem;
        --title-small: 5rem;
    }
    .c-title.text64sp {
        --title-strong: 6.4rem;
        --title-small: 5.4rem;
    }
    .c-title.text72sp {
        --title-strong: 7.2rem;
        --title-small: 5.2rem;
    }
    .c-title.text82sp {
        --title-strong: 8.2rem;
        --title-small: 6.2rem;
    }
    .c-title.text96sp {
        --title-strong: 9.6rem;
        --title-small: 7.6rem;
    }
    .c-title .c-blockquote.blockquote-bg {
        padding: 10px;
    }
    .c-button {
        min-height: 54px;
        font-size: 1.4rem;
    }
    .c-button.button-maxwidth {
        width: 100%;
    }
    .c-gr-button {
        width: 100%;
    }
    .c-gr-button:not([class*="justify-content-"]) {
        flex-direction: column;
    }
    .c-gr-button .c-button {
        min-width: 100%;
    }
    .c-gr-button .c-button:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .c-showmore {
        font-size: 1.4rem;
    }
    .c-showmore.icon-left {
        padding-left: 30px;
    }
    .c-showmore.icon-left::before {
        width: 20px;
        height: 20px;
    }
    .c-showmore.icon-right i {
        margin-left: 10px;
    }
    .c-figure.height150sp {
        height: 15vw !important;
    }
    .c-figure.height180sp {
        height: 18vw !important;
    }
    .c-figure.height200sp {
        height: 20vw !important;
    }
    .c-figure.height220sp {
        height: 22vw !important;
    }
    .c-figure.height210sp {
        height: 21vw !important;
    }
    .c-figure.height240sp {
        height: 24vw !important;
    }
    .c-figure.height250sp {
        height: 25vw !important;
    }
    .c-figure.height280sp {
        height: 28vw !important;
    }
    .c-figure.height300sp {
        height: 30vw !important;
    }
    .c-figure.height320sp {
        height: 32vw !important;
    }
    .c-figure.height330sp {
        height: 33vw !important;
    }
    .c-figure.height340sp {
        height: 34vw !important;
    }
    .c-figure.height350sp {
        height: 35vw !important;
    }
    .c-figure.height360sp {
        height: 36vw !important;
    }
    .c-figure.height380sp {
        height: 36vw !important;
    }
    .c-figure.height400sp {
        height: 40vw !important;
    }
    .c-figure.height420sp {
        height: 42vw !important;
    }
    .c-figure.height440sp {
        height: 44vw !important;
    }
    .c-figure.height450sp {
        height: 45vw !important;
    }
    .c-figure.height460sp {
        height: 46vw !important;
    }
    .c-figure.height480sp {
        height: 48vw !important;
    }
    .c-figure.height500sp {
        height: 50vw !important;
    }
    .c-figure.height540sp {
        height: 54vw !important;
    }
    .c-figure.height600sp {
        height: 60vw !important;
    }
    .c-figure.height640sp {
        height: 64vw !important;
    }
    .c-dl dt,
    .c-dl dd {
        padding-left: 10px;
        padding-right: 10px;
    }
    .c-collapsible:not(:last-child) {
        margin-bottom: 50px;
    }
    .c-products.col1sp,
    .c-news.col1sp {
        --col: 1;
    }
    .c-products.col2sp,
    .c-news.col2sp {
        --col: 2;
    }
    .c-products.col3sp,
    .c-news.col3sp {
        --col: 3;
    }
    .c-products.col4sp,
    .c-news.col4sp {
        --col: 4;
    }
    .c-products.col5sp,
    .c-news.col5sp {
        --col: 5;
    }
    .c-products.col6sp,
    .c-news.col6sp {
        --col: 6;
    }
    .c-products.space0sp,
    .c-news.space0sp {
        --gap: 0px;
    }
    .c-products.space10sp,
    .c-news.space10sp {
        --gap: 10px;
    }
    .c-products.space15sp,
    .c-news.space15sp {
        --gap: 15px;
    }
    .c-products.space20sp,
    .c-news.space20sp {
        --gap: 20px;
    }
    .c-products.space30sp,
    .c-news.space30sp {
        --gap: 30px;
    }
    .c-products.space40sp,
    .c-news.space40sp {
        --gap: 40px;
    }
    .c-products.space50sp,
    .c-news.space50sp {
        --gap: 50px;
    }
    .c-products.space60sp,
    .c-news.space60sp {
        --gap: 60px;
    }
    .c-products.space70sp,
    .c-news.space70sp {
        --gap: 70px;
    }
    .c-imgs.col1sp {
        --col: 1;
    }
    .c-imgs.col2sp {
        --col: 2;
    }
    .c-imgs.col3sp {
        --col: 3;
    }
    .c-imgs.col4sp {
        --col: 4;
    }
    .c-imgs.col5sp {
        --col: 5;
    }
    .c-imgs.col6sp {
        --col: 6;
    }
    .c-imgs.gap0sp {
        --gap: 0px;
    }
    .c-imgs.gap10sp {
        --gap: 10px;
    }
    .c-imgs.gap20sp {
        --gap: 20px;
    }
    .c-imgs.gap30sp {
        --gap: 30px;
    }
    .c-imgs.gap40sp {
        --gap: 40px;
    }
    .c-imgs.gap50sp {
        --gap: 50px;
    }
    .c-imgs.gap60sp {
        --gap: 60px;
    }
    .c-imgs.gap70sp {
        --gap: 70px;
    }
    .c-instagram .left {
        width: 100%;
    }
    .c-instagram .right {
        width: 100%;
        padding: 20px 0 0 0;
    }
    .c-contacts {
        flex-direction: column;
    }
    .c-contacts .left,
    .c-contacts .right {
        width: 100%;
        max-width: 400px;
        min-height: auto;
    }
    .c-contacts .left {
        margin-bottom: 20px;
        padding-bottom: 30px;
        border-right: 0 !important;
        border-bottom: 1px solid !important;
    }
    .c-contacts .right .item .c-icon {
        width: 24px;
        height: 24px;
    }
    .c-contacts .c-button {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .c-contacts .c-button.min-width-330 {
        min-width: auto !important;
    }
    .c-info-footers .c-banner {
        height: 280px;
    }
    .l-table {
        overflow: auto;
        padding-bottom: 20px;
        /* width */
        /* Track */
        /* Handle */
        /* Handle on hover */
    }
    .l-table table {
        min-width: 680px;
    }
    .l-table::-webkit-scrollbar {
        height: 10px;
    }
    .l-table::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    .l-table::-webkit-scrollbar-thumb {
        background: #888;
    }
    .l-table::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
}
@media screen and (max-width: 580px) {
    .c-header {
        height: 70px;
    }
    .c-header__logo {
        width: calc(100% - 100px);
        height: 35px;
    }
    .c-header__logo h1 {
        font-size: 1.8rem;
    }
    .c-header__action {
        display: none;
    }
    .c-header.fixed + .clear {
        margin-top: 70px;
    }
    .menu-toggle {
        width: 70px;
        padding: 10px;
    }
    .menu-toggle span {
        margin: 3px 0;
    }
    .menu-toggle p {
        margin-top: 0;
        letter-spacing: 0;
        line-height: 1.5;
    }
    .menu-toggle.change span:nth-of-type(1) {
        width: 27px;
        transform: rotate(-45deg) translate(0, 7px);
    }
    .menu-toggle.change span:nth-of-type(3) {
        width: 27px;
        transform: rotate(45deg) translate(-3px, -10px);
    }
    .c-menu {
        padding-top: 70px;
    }
    .c-footer {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .c-footer__logo h2 {
        font-size: 2.4rem;
    }
    .c-footer__logo h3 {
        font-size: 1.8rem;
    }
    .c-footer__logo img {
        height: 35px;
    }
    .c-footer__about {
        margin-bottom: 40px;
    }
    .c-footer__about p {
        font-size: 1.5rem;
    }
    .c-footer__address {
        margin-bottom: 20px;
    }
    .c-footer__address p {
        font-size: 1.5rem;
    }
    .c-footer__contacts .item a {
        font-size: 1.5rem;
    }
    .c-footer__contacts .item strong {
        font-size: 1.5rem;
    }
    .c-footer__contacts .item small {
        font-size: 1.3rem;
    }
    .c-footer__bottom {
        margin-top: 0;
    }
    .c-footer__bottom .c-copyright {
        font-size: 1rem;
    }
    .c-mainvisual {
        height: calc(100vh - 70px);
    }
    .c-mainvisual__cnt {
        left: 20px;
        padding-left: 18px;
    }
    .c-mainvisual__cnt h2 {
        font-size: 4.6rem;
    }
    .c-mainvisual__cnt h2 small {
        font-size: 2.4rem;
    }
    .c-mainvisual__cnt span {
        margin-top: 10px;
        font-size: 1.6rem;
    }
    .c-mainvisual__cnt::before {
        max-height: 100px;
    }
    .c-title.text10xs {
        --title-strong: 1rem;
        --title-small: 0.8rem;
    }
    .c-title.text12xs {
        --title-strong: 1.2rem;
        --title-small: 1rem;
    }
    .c-title.text13xs {
        --title-strong: 1.3rem;
        --title-small: 1rem;
    }
    .c-title.text14xs {
        --title-strong: 1.4rem;
        --title-small: 1rem;
    }
    .c-title.text15xs {
        --title-strong: 1.5rem;
        --title-small: 1rem;
    }
    .c-title.text16xs {
        --title-strong: 1.6rem;
        --title-small: 1rem;
    }
    .c-title.text18xs {
        --title-strong: 1.8rem;
        --title-small: 1rem;
    }
    .c-title.text20xs {
        --title-strong: 2rem;
        --title-small: 1rem;
    }
    .c-title.text22xs {
        --title-strong: 2.2rem;
        --title-small: 1.2rem;
    }
    .c-title.text24xs {
        --title-strong: 2.4rem;
        --title-small: 1.4rem;
    }
    .c-title.text26xs {
        --title-strong: 2.6rem;
        --title-small: 1.6rem;
    }
    .c-title.text28xs {
        --title-strong: 2.8rem;
        --title-small: 1.8rem;
    }
    .c-title.text30xs {
        --title-strong: 3rem;
        --title-small: 2rem;
    }
    .c-title.text32xs {
        --title-strong: 3.2rem;
        --title-small: 2.2rem;
    }
    .c-title.text34xs {
        --title-strong: 3.4rem;
        --title-small: 2.4rem;
    }
    .c-title.text36xs {
        --title-strong: 3.6rem;
        --title-small: 2.6rem;
    }
    .c-title.text38xs {
        --title-strong: 3.8rem;
        --title-small: 2.8rem;
    }
    .c-title.text40xs {
        --title-strong: 4rem;
        --title-small: 3rem;
    }
    .c-title.text42xs {
        --title-strong: 4.2rem;
        --title-small: 3.2rem;
    }
    .c-title.text44xs {
        --title-strong: 4.4rem;
        --title-small: 3.4rem;
    }
    .c-title.text46xs {
        --title-strong: 4.6rem;
        --title-small: 3.6rem;
    }
    .c-title.text48xs {
        --title-strong: 4.8rem;
        --title-small: 3.8rem;
    }
    .c-title.text50xs {
        --title-strong: 5rem;
        --title-small: 4rem;
    }
    .c-title.text52xs {
        --title-strong: 5.2rem;
        --title-small: 4.2rem;
    }
    .c-title.text54xs {
        --title-strong: 5.4rem;
        --title-small: 4.4rem;
    }
    .c-title.text58xs {
        --title-strong: 5.8rem;
        --title-small: 4.8rem;
    }
    .c-title.text60xs {
        --title-strong: 6rem;
        --title-small: 5rem;
    }
    .c-title.text64xs {
        --title-strong: 6.4rem;
        --title-small: 5.4rem;
    }
    .c-title.text72xs {
        --title-strong: 7.2rem;
        --title-small: 5.2rem;
    }
    .c-title.text82xs {
        --title-strong: 8.2rem;
        --title-small: 6.2rem;
    }
    .c-title.text96xs {
        --title-strong: 9.6rem;
        --title-small: 7.6rem;
    }
    .c-description {
        font-size: 1.4rem;
    }
    .c-figure.height150xs {
        height: 15vw !important;
    }
    .c-figure.height180xs {
        height: 18vw !important;
    }
    .c-figure.height200xs {
        height: 20vw !important;
    }
    .c-figure.height220xs {
        height: 22vw !important;
    }
    .c-figure.height210xs {
        height: 21vw !important;
    }
    .c-figure.height240xs {
        height: 24vw !important;
    }
    .c-figure.height250xs {
        height: 25vw !important;
    }
    .c-figure.height280xs {
        height: 28vw !important;
    }
    .c-figure.height300xs {
        height: 30vw !important;
    }
    .c-figure.height320xs {
        height: 32vw !important;
    }
    .c-figure.height330xs {
        height: 33vw !important;
    }
    .c-figure.height340xs {
        height: 34vw !important;
    }
    .c-figure.height350xs {
        height: 35vw !important;
    }
    .c-figure.height360xs {
        height: 36vw !important;
    }
    .c-figure.height380xs {
        height: 36vw !important;
    }
    .c-figure.height400xs {
        height: 40vw !important;
    }
    .c-figure.height420xs {
        height: 42vw !important;
    }
    .c-figure.height440xs {
        height: 44vw !important;
    }
    .c-figure.height450xs {
        height: 45vw !important;
    }
    .c-figure.height460xs {
        height: 46vw !important;
    }
    .c-figure.height480xs {
        height: 48vw !important;
    }
    .c-figure.height500xs {
        height: 50vw !important;
    }
    .c-figure.height540xs {
        height: 54vw !important;
    }
    .c-figure.height600xs {
        height: 60vw !important;
    }
    .c-figure.height640xs {
        height: 64vw !important;
    }
    .c-tabs-list li {
        width: calc((100% - 20px) / 2);
    }
    .c-tabs-list li:not(:nth-of-type(4n)) {
        margin-right: 0;
    }
    .c-tabs-list li:not(:nth-of-type(2n)) {
        margin-right: 20px;
    }
    .c-tabs-child .item {
        width: calc((100% - 20px) / 2);
    }
    .c-tabs-child .item:not(:nth-of-type(5n)) {
        margin-right: 0;
    }
    .c-tabs-child .item:not(:nth-of-type(2n)) {
        margin-right: 20px;
    }
    .c-dl:not(.dl-gray) {
        --dt-width: 100%;
    }
    .c-dl:not(.dl-gray) dt {
        max-width: unset;
        padding-bottom: 0;
        border-bottom: 0;
        text-align: left;
    }
    .c-dl:not(.dl-gray) dd {
        width: 100%;
        padding-top: 10px;
    }
    .c-products.col1xs,
    .c-news.col1xs {
        --col: 1;
    }
    .c-products.col2xs,
    .c-news.col2xs {
        --col: 2;
    }
    .c-products.col3xs,
    .c-news.col3xs {
        --col: 3;
    }
    .c-products.col4xs,
    .c-news.col4xs {
        --col: 4;
    }
    .c-products.col5xs,
    .c-news.col5xs {
        --col: 5;
    }
    .c-products.col6xs,
    .c-news.col6xs {
        --col: 6;
    }
    .c-products.space0xs,
    .c-news.space0xs {
        --gap: 0px;
    }
    .c-products.space10xs,
    .c-news.space10xs {
        --gap: 10px;
    }
    .c-products.space15xs,
    .c-news.space15xs {
        --gap: 15px;
    }
    .c-products.space20xs,
    .c-news.space20xs {
        --gap: 20px;
    }
    .c-products.space30xs,
    .c-news.space30xs {
        --gap: 30px;
    }
    .c-products.space40xs,
    .c-news.space40xs {
        --gap: 40px;
    }
    .c-products.space50xs,
    .c-news.space50xs {
        --gap: 50px;
    }
    .c-products.space60xs,
    .c-news.space60xs {
        --gap: 60px;
    }
    .c-products.space70xs,
    .c-news.space70xs {
        --gap: 70px;
    }
    .c-products.sliders .swiper-slide .c-figure.height210,
    .c-news.sliders .swiper-slide .c-figure.height210 {
        height: 59vw !important;
    }
    .c-products.sliders .swiper-slide .c-figure.height240,
    .c-news.sliders .swiper-slide .c-figure.height240 {
        height: 59vw !important;
    }
    .c-imgs.col1xs {
        --col: 1;
    }
    .c-imgs.col2xs {
        --col: 2;
    }
    .c-imgs.col3xs {
        --col: 3;
    }
    .c-imgs.col4xs {
        --col: 4;
    }
    .c-imgs.col5xs {
        --col: 5;
    }
    .c-imgs.col6xs {
        --col: 6;
    }
    .c-imgs.gap0xs {
        --gap: 0px;
    }
    .c-imgs.gap10xs {
        --gap: 10px;
    }
    .c-imgs.gap20xs {
        --gap: 20px;
    }
    .c-imgs.gap30xs {
        --gap: 30px;
    }
    .c-imgs.gap40xs {
        --gap: 40px;
    }
    .c-imgs.gap50xs {
        --gap: 50px;
    }
    .c-imgs.gap60xs {
        --gap: 60px;
    }
    .c-imgs.gap70xs {
        --gap: 70px;
    }
    .c-banner {
        height: 240px;
    }
    .c-info-footers .c-banner {
        height: 180px;
    }
}
@media screen and (max-width: 480px) {
    .c-header {
        height: 50px;
    }
    .c-header__logo {
        width: calc(100% - 60px);
        height: 25px;
        line-height: 1.4;
    }
    .c-header__logo span {
        font-size: 1rem;
    }
    .c-header__logo h1 {
        font-size: 1.4rem;
    }
    .c-header__logo .ml-3 {
        margin-top: -7px;
    }
    .c-header.fixed + .clear {
        margin-top: 50px;
    }
    .menu-toggle {
        width: 50px;
    }
    .menu-toggle p {
        font-size: 1rem;
    }
    .c-menu {
        padding-top: 50px;
    }
    .c-mainvisual {
        height: calc(100vh - 50px);
    }
    .c-mainvisual__cnt {
        padding-left: 15px;
    }
    .c-mainvisual__cnt h2 {
        font-size: 3rem;
    }
    .c-mainvisual__cnt h2 small {
        font-size: 1.8rem;
    }
    .c-mainvisual__cnt span {
        font-size: 1.3rem;
    }
    .c-mainvisual__cnt::before {
        max-height: 70px;
        top: -2.5px;
    }
}
/*** end responsive ***/
