@charset "UTF-8";:root {
    --vw: calc( 100vw / 100 );
    --vh: calc( 100vh / 100 );
    --ww: calc( var( --vw ) * 100 );
    --wh: calc( var( --vh ) * 100 );
    --mqUp-xxxs: 321;
    --mqUp-xxs: 401;
    --mqUp-xs: 431;
    --mqUp-sm: 561;
    --mqUp-md: 768;
    --mqUp-lg: 1024;
    --mqUp-xl: 1281;
    --mqUp-xxl: 1441;
    --mqUp-xxxl: 1681;
    --mqUp-fhd: 1921;
    --mqUp-2k: 2049;
    --mqUp-wqhd: 2561;
    --mqDown-xxxs: 320;
    --mqDown-xxs: 400;
    --mqDown-xs: 430;
    --mqDown-sm: 560;
    --mqDown-md: 767;
    --mqDown-lg: 1023;
    --mqDown-xl: 1280;
    --mqDown-xxl: 1440;
    --mqDown-xxxl: 1680;
    --mqDown-fhd: 1920;
    --mqDown-2k: 2048;
    --mqDown-wqhd: 2560
}

@supports (height: 100svw) {
    :root {
        --vw:calc( 100svw / 100 )
    }
}

@supports (height: 100svh) {
    :root {
        --vh:calc( 100svh / 100 )
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --min-wh:76.8rem;
        --max-wh: var( --wh )
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    :root {
        --min-wh:76.8rem;
        --max-wh: 102.4rem
    }
}

@media screen and (max-width: 560px) {
    :root {
        --min-wh:42rem;
        --max-wh: 89.6rem
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --base-width:1500
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --base-width:400
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --contents-lg:86.66667vw;
        --contents2-lg: 91.13333vw;
        --contents-xxl: 97.33333vw;
        --contents-xxl-outside: 1.33333vw
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --contents-xs:75vw;
        --contents-sm: 80vw;
        --contents-rg: 82.5vw;
        --contents-md: 84vw;
        --contents-md2: 85vw;
        --contents-lg: 86vw;
        --contents-xl: 88.75vw;
        --contents-xxl: 91vw;
        --contents-xxl2: 90vw;
        --contents-xxxl: 92.5vw
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --loading-size:3rem
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --loading-size:2.5rem
    }
}

:root {
    --anchor-padding: 0.2rem
}

:root {
    --pallet-transp: rgba(0,0,0,0);
    --filter-white: brightness(0) invert(1);
    --pallet-purple: #7162cf;
    --pallet-purple2: #b2a4e4;
    --pallet-purple3: #7162cf;
    --pallet-purple4: #767eff;
    --pallet-purple5: #4e6ca6;
    --pallet-pink: #ff9dab;
    --pallet-pink2: #eebbd4;
    --pallet-pink3: #ff664e;
    --pallet-pink4: #ff8783;
    --pallet-pink5: #ff9dab;
    --pallet-pink6: #e24b5c;
    --pallet-pink7: #ff6289;
    --pallet-pink8: #c57070;
    --pallet-orange: #ffb202;
    --pallet-orange2: #fac000;
    --pallet-orange3: #ffb100;
    --pallet-orange4: #ff6702;
    --pallet-orange5: #ff6534;
    --pallet-orange6: #bf6623;
    --pallet-orange7: #c3af5f;
    --pallet-aqua: #00c5c0;
    --pallet-aqua2: #00d1e1;
    --pallet-aqua3: #007ae3;
    --pallet-aqua4: #00c5c0;
    --pallet-aqua5: #288ca1;
    --pallet-green: #00ae8d;
    --pallet-green2: #117d76;
    --pallet-green3: #00956a;
    --pallet-green4: #78a143;
    --pallet-green5: #02806b;
    --pallet-yellow-green: #60c102;
    --pallet-blue: #4a62cf;
    --color-main: #007d3e;
    --color-main2: #006c00;
    --color-main3: #006444;
    --color-main4: #6c988a;
    --color-main5: #007167;
    --color-main6: #0e6e37;
    --color-main7: #00b298;
    --color-main8: #317f63;
    --color-main9: #208f7c;
    --color-main10: #07706a;
    --color-hover: #007d3e;
    --color-hover2: #00c591;
    --color-hover3: #004e3c;
    --hover-opacity: 0.6;
    --hover-scale: scale(1.1);
    --hover-scale2: scale(1.05);
    --hover-scale3: scale(0.8);
    --hover-scale4: scale(0.985);
    --hover-scale5: scale(1.01);
    --hover-blur: blur(8px);
    --color-bg: #f8f8f8;
    --color-bg2: #ffffff;
    --color-bg3: #000000;
    --color-bg4: #ededed;
    --color-bg5: rgba(255, 255, 255, 0.2);
    --color-bg6: #fdf3ee;
    --color-bg7: #f0f0f0;
    --color-bg8: #dce7ef;
    --color-bg9: #bdd2e1;
    --color-bg10: #f6f9fb;
    --color-bg11: #385b8a;
    --color-bg12: #eacaa9;
    --color-bg13: #ffeadf;
    --color-bg14: #e7f1f9;
    --color-bg15: #ebf4e9;
    --color-bg16: #a5806d;
    --color-bg17: #f5ede1;
    --color-bg18: #cfc8b6;
    --color-bg19: #3e3e3e;
    --color-bg20: #fefefe;
    --color-bg21: #262626;
    --color-bg22: #feefd8;
    --color-bg23: #f87e00;
    --color-bg24: #f2f2f2;
    --color-bg25: #fff8e0;
    --color-bg26: #e3efe3;
    --color-bg27: rgba(255, 255, 255, 0.6);
    --color-bg28: #ceb485;
    --color-bg29: #ce0000;
    --color-bg30: #e2d8b1;
    --color-bg31: #eeeeee;
    --color-bg32: #026d7a;
    --color-bg33: #76b18c;
    --color-bg34: #f3f3f3;
    --color-blend: #000000;
    --color-overlay: rgba(0,0,0,.15);
    --color-overlay2: rgba(0, 33, 28, 0.7);
    --overlay-blur: blur(2px);
    --color-shadow: rgba(0, 0, 0, 0.2);
    --color-shadow2: rgba(0, 0, 0, 0.3);
    --color-shadow3: rgba(0, 0, 0, 0.225);
    --color-shadow4: #d7d7d7;
    --color-shadow5: rgba(0, 0, 0, 0.4);
    --color-shadow6: rgba(0, 0, 0, 0.1);
    --color-shadow7: #e6e6e6;
    --color-shadow8: #fff;
    --color-shadow9: rgba(0, 0, 0, 0.15);
    --color-txt: #000000;
    --color-txt2: #ffffff;
    --color-txt3: #646464;
    --color-txt4: #6b6b6b;
    --color-txt5: #f67d61;
    --color-txt6: #505050;
    --color-txt7: #333333;
    --color-txt8: #3574a5;
    --color-txt9: #eacaa9;
    --color-txt10: #385b8a;
    --color-txt11: #e75612;
    --color-txt12: #0f56d4;
    --color-txt13: #4aae4b;
    --color-txt14: #a5806d;
    --color-txt15: #00758f;
    --color-txt16: #fa862e;
    --color-txt17: #6d6d6d;
    --color-txt18: #828282;
    --color-txt19: #ffff00;
    --color-txt20: #cfc8b6;
    --color-txt21: #3e3e3e;
    --color-txt22: #777777;
    --color-txt23: #efefef;
    --color-txt24: #808080;
    --color-txt25: #9a6696;
    --color-txt26: #ffd400;
    --color-txt27: #e1e1e1;
    --color-txt28: #32324c;
    --color-txt29: #ceb485;
    --color-txt30: #12efce;
    --color-txt31: #c5c5c5;
    --color-txt32: #666666;
    --color-txt33: #696969;
    --color-txt34: #8c8c8c;
    --color-marker: #00b298;
    --color-marker_1: linear-gradient(to bottom, transparent 1px, var(--color-marker) 1px);
    --color-marker2: #fff287;
    --color-marker3: #ceff00;
    --color-line: #8e8e8e;
    --color-line2: #aaaaaa;
    --color-line3: rgba(170, 170, 170, 0.5);
    --color-line4: #bebebe;
    --color-line5: rgba(255, 255, 255, 0.5);
    --color-line6: #e5e5e5;
    --color-line7: rgba(0, 0, 0, 0.5);
    --color-line8: #d1d1d1;
    --color-line9: #a5806d;
    --color-line10: #5c5c5c;
    --color-line11: #cfc8b6;
    --color-line12: #c8cbc6;
    --color-line13: #c8c8c8;
    --color-line14: #c4c4c4;
    --color-line15: #9a6696;
    --color-line16: #ffffff;
    --color-line17: #b1b1b1;
    --color-icon: #808080;
    --color-icon2: #c3c3c3;
    --color-icon3: #ffff00;
    --color-new: #ff5d5c;
    --color-play: #e82a00;
    --color-list: #117d76;
    --color-list2: #58914b;
    --color-list3: #c9b322;
    --color-list4: #c07c28;
    --color-list5: #bf6623;
    --color-list6: #9a6696;
    --color-list7: #3574a5;
    --color-list8: #7d7d7d;
    --color-list9: #005b4e;
    --color-list10: #009a91;
    --color-rank1: #a09212;
    --color-rank2: #949791;
    --color-rank3: #996b41;
    --color-rank4: #339073;
    --color-rank5: #005b4e;
    --color-why1: #fcbcb8;
    --color-why2: #a9e4bd;
    --color-why3: #b1d8e8;
    --color-why4: #f7dfac;
    --color-why5: #e6d0e9;
    --color-why6: #d6efbf;
    --color-sugoroku1: #1bcadf;
    --color-sugoroku2: #2eafee;
    --color-sugoroku3: #30acef;
    --color-sugoroku4: #3aa0f6;
    --color-sugoroku5: #5b8dff;
    --color-sugoroku6: #718aff;
    --color-sugoroku7: #8f85ff;
    --color-sugoroku8: #ba7fff;
    --color-sugoroku9: #c17eff;
    --color-gradation: linear-gradient(45deg,#004d40 0%,#004d40 28%,#4b755a 54%,#4a755a 100%);
    --color-gradation2: linear-gradient(45deg, #004d40 13.4%, #5c8d73 56.4%, #6c988a 100%);
    --color-gradation3: linear-gradient(0deg,rgba(0,0,0,0.15) 0%, rgba(255,255,255,0.15) 100%);
    --color-gradation4: linear-gradient(0deg, #ffffff, #e8e8e8);
    --color-gradation5: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 98.2%);
    --color-gradation6-pc: linear-gradient(62deg, rgba(0,0,0,0.50) 0%, rgba(0,0,0,0.18) 85%);
    --color-gradation6-sp: linear-gradient(0deg, rgba(0,0,0,0.64) 0%, rgba(0,0,0,0.14) 85%);
    --color-gradation7: linear-gradient(180deg, #03eecb 0%, #4590ff 52%, #c17eff 100%);
    --color-gradation8: linear-gradient(45deg, #00443d 24%, #00685f 77%);
    --color-gradation9: linear-gradient(45deg, #006e5b 25.5%, #008d7a 80%);
    --color-gradation10: linear-gradient(45deg, #00885a 26.9%, #00a472 77.5%);
    --color-circle: radial-gradient(circle, #ffffff 29%, #faaf3b 34%);
    --color-scrollbar-bg: #dcdcdc;
    --color-scrollbar-track: #006c00;
    --color-scrollbar2-bg: #000000;
    --color-scrollbar2-track: #ffff00;
    --color-scrollbar3-bg: #d3d3d3;
    --color-scrollbar3-track: #006444;
    --color-scrollmotion-bg: #d7c7be;
    --color-scrollmotion-active: #a5806d;
    --color-scrollmotion2-bg: #c4ddc4;
    --color-scrollmotion2-active: #006c00;
    --color-scrollmotion3-bg: #d7c7be;
    --color-scrollmotion3-active: #9a6696;
    --color-input-bg: #ffffff;
    --color-input-bg-focus: #f0f0f0;
    --color-input-bg-hover: #f0f0f0;
    --color-input-bg-done: #ffffff;
    --color-input-border: #aaaaaa;
    --color-input-placeholder: #cfc8b6;
    --color-any: #ff5d5c;
    --color-sns-instagram: #7162cf;
    --color-sns-x: #4b4b4b;
    --color-sns-facebook: #4a62cf;
    --color-sns2-x: #939393;
    --color-sns2-facebook: #5d73d5;
    --color-sns2-line: #47ac7e
}

.theme-purple {
    --theme-color: var( --pallet-purple )
}

.theme-purple2 {
    --theme-color: var( --pallet-purple2 )
}

.theme-purple3 {
    --theme-color: var( --pallet-purple3 )
}

.theme-purple4 {
    --theme-color: var( --pallet-purple4 )
}

.theme-purple5 {
    --theme-color: var( --pallet-purple5 )
}

.theme-pink {
    --theme-color: var( --pallet-pink )
}

.theme-pink2 {
    --theme-color: var( --pallet-pink2 )
}

.theme-pink3 {
    --theme-color: var( --pallet-pink3 )
}

.theme-pink4 {
    --theme-color: var( --pallet-pink4 )
}

.theme-pink5 {
    --theme-color: var( --pallet-pink5 )
}

.theme-pink6 {
    --theme-color: var( --pallet-pink6 )
}

.theme-pink7 {
    --theme-color: var( --pallet-pink7 )
}

.theme-pink8 {
    --theme-color: var( --pallet-pink8 )
}

.theme-orange {
    --theme-color: var( --pallet-orange )
}

.theme-orange2 {
    --theme-color: var( --pallet-orange2 )
}

.theme-orange3 {
    --theme-color: var( --pallet-orange3 )
}

.theme-orange4 {
    --theme-color: var( --pallet-orange4 )
}

.theme-orange5 {
    --theme-color: var( --pallet-orange5 )
}

.theme-orange6 {
    --theme-color: var( --pallet-orange6 )
}

.theme-orange7 {
    --theme-color: var( --pallet-orange7 )
}

.theme-aqua {
    --theme-color: var( --pallet-aqua )
}

.theme-aqua2 {
    --theme-color: var( --pallet-aqua2 )
}

.theme-aqua3 {
    --theme-color: var( --pallet-aqua3 )
}

.theme-aqua4 {
    --theme-color: var( --pallet-aqua4 )
}

.theme-aqua5 {
    --theme-color: var( --pallet-aqua5 )
}

.theme-green {
    --theme-color: var( --pallet-green )
}

.theme-green2 {
    --theme-color: var( --pallet-green2 )
}

.theme-green3 {
    --theme-color: var( --pallet-green3 )
}

.theme-green4 {
    --theme-color: var( --pallet-green4 )
}

.theme-green5 {
    --theme-color: var( --pallet-green5 )
}

.theme-yellow-green {
    --theme-color: var( --pallet-yellow-green )
}

.theme-blue {
    --theme-color: var( --pallet-blue )
}

.theme-main {
    --theme-color: var( --color-main )
}

.theme-main5 {
    --theme-color: var( --color-main5 )
}

.theme-black3 {
    --theme-color: var( --color-txt7 )
}

.theme-rank1 {
    --theme-color: var( --color-rank1 )
}

.theme-rank2 {
    --theme-color: var( --color-rank2 )
}

.theme-rank3 {
    --theme-color: var( --color-rank3 )
}

.theme-rank4 {
    --theme-color: var( --color-rank4 )
}

.theme-rank5 {
    --theme-color: var( --color-rank5 )
}

:root {
    --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
    --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
    --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95 );
    --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53 );
    --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94 );
    --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19 );
    --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
    --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
    --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22 );
    --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
    --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
    --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06 );
    --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
    --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
    --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
    --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
    --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
    --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86 );
    --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
    --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55 )
}

:root {
    --font-gothic: 'Noto Sans JP',sans-serif;
    --font-gothic2: 'Zen Kaku Gothic Antique',sans-serif;
    --font-gothic3: YakuHanJP,'Noto Sans JP',sans-serif;
    --font-gothic4: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Noto Sans JP',sans-serif;
    --font-sans-serif: 'Albert Sans',sans-serif;
    --font-sans-serif2: 'Red Hat Display',sans-serif;
    --font-sans-serif3: 'Arvo',serif
}

:root {
    --font-size1: 1px;
    --font-size2: 2px;
    --font-size3: 3px;
    --font-size4: 4px;
    --font-size5: 5px;
    --font-size6: 6px;
    --font-size7: 7px;
    --font-size8: 8px;
    --font-size9: 9px;
    --font-size10: 10px;
    --font-size11: 11px;
    --font-size12: 12px;
    --font-size13: max(1.3rem,12px);
    --font-size14: max(1.4rem,12px);
    --font-size15: max(1.5rem,13px);
    --font-size16: max(1.6rem,14px);
    --font-size17: max(1.7rem,14px);
    --font-size18: max(1.8rem,15px);
    --font-size19: max(1.9rem,16px);
    --font-size20: max(2.0rem,17px);
    --font-size21: max(2.1rem,17px);
    --font-size22: max(2.2rem,17px);
    --font-size23: max(2.3rem,19px);
    --font-size24: max(2.4rem,19px);
    --font-size25: max(2.5rem,20px);
    --font-size26: max(2.6rem,21px);
    --font-size27: max(2.7rem,21px);
    --font-size28: max(2.8rem,23px);
    --font-size29: max(2.9rem,24px);
    --font-size30: max(3.0rem,25px);
    --font-size31: max(3.1rem,25px);
    --font-size32: max(3.2rem,25px);
    --font-size33: max(3.3rem,26px);
    --font-size34: max(3.4rem,26px);
    --font-size35: max(3.5rem,29px);
    --font-size36: max(3.6rem,29px);
    --font-size37: max(3.7rem,30px);
    --font-size38: max(3.8rem,31px);
    --font-size39: max(3.9rem,31px);
    --font-size40: 4.0rem;
    --font-size41: 4.1rem;
    --font-size42: 4.2rem;
    --font-size43: 4.3rem;
    --font-size44: 4.4rem;
    --font-size45: 4.5rem;
    --font-size46: 4.6rem;
    --font-size47: 4.7rem;
    --font-size48: 4.8rem;
    --font-size49: 4.9rem;
    --font-size50: 5.0rem;
    --font-size51: 5.1rem;
    --font-size52: 5.2rem;
    --font-size53: 5.3rem;
    --font-size54: 5.4rem;
    --font-size55: 5.5rem;
    --font-size56: 5.6rem;
    --font-size57: 5.7rem;
    --font-size58: 5.8rem;
    --font-size59: 5.9rem;
    --font-size60: 6.0rem;
    --font-size61: 6.1rem;
    --font-size62: 6.2rem;
    --font-size63: 6.3rem;
    --font-size64: 6.4rem;
    --font-size65: 6.5rem;
    --font-size66: 6.6rem;
    --font-size67: 6.7rem;
    --font-size68: 6.8rem;
    --font-size69: 6.9rem;
    --font-size70: 7.0rem;
    --font-size71: 7.1rem;
    --font-size72: 7.2rem;
    --font-size73: 7.3rem;
    --font-size74: 7.4rem;
    --font-size75: 7.5rem;
    --font-size76: 7.6rem;
    --font-size77: 7.7rem;
    --font-size78: 7.8rem;
    --font-size79: 7.9rem;
    --font-size80: 8.0rem;
    --font-size81: 8.1rem;
    --font-size82: 8.2rem;
    --font-size83: 8.3rem;
    --font-size84: 8.4rem;
    --font-size85: 8.5rem;
    --font-size86: 8.6rem;
    --font-size87: 8.7rem;
    --font-size88: 8.8rem;
    --font-size89: 8.9rem;
    --font-size90: 9.0rem;
    --font-size91: 9.1rem;
    --font-size92: 9.2rem;
    --font-size93: 9.3rem;
    --font-size94: 9.4rem;
    --font-size95: 9.5rem;
    --font-size96: 9.6rem;
    --font-size97: 9.7rem;
    --font-size98: 9.8rem;
    --font-size99: 9.9rem;
    --font-size100: 10.0rem;
    --font-size101: 10.1rem;
    --font-size102: 10.2rem;
    --font-size103: 10.3rem;
    --font-size104: 10.4rem;
    --font-size105: 10.5rem;
    --font-size106: 10.6rem;
    --font-size107: 10.7rem;
    --font-size108: 10.8rem;
    --font-size109: 10.9rem;
    --font-size110: 11.0rem;
    --font-size111: 11.1rem;
    --font-size112: 11.2rem;
    --font-size113: 11.3rem;
    --font-size114: 11.4rem;
    --font-size115: 11.5rem;
    --font-size116: 11.6rem;
    --font-size117: 11.7rem;
    --font-size118: 11.8rem;
    --font-size119: 11.9rem;
    --font-size120: 12.0rem;
    --font-size121: 12.1rem;
    --font-size122: 12.2rem;
    --font-size123: 12.3rem;
    --font-size124: 12.4rem;
    --font-size125: 12.5rem;
    --font-size126: 12.6rem;
    --font-size127: 12.7rem;
    --font-size128: 12.8rem;
    --font-size129: 12.9rem;
    --font-size130: 13.0rem;
    --font-size131: 13.1rem;
    --font-size132: 13.2rem;
    --font-size133: 13.3rem;
    --font-size134: 13.4rem;
    --font-size135: 13.5rem;
    --font-size136: 13.6rem;
    --font-size137: 13.7rem;
    --font-size138: 13.8rem;
    --font-size139: 13.9rem;
    --font-size140: 14.0rem;
    --font-size141: 14.1rem;
    --font-size142: 14.2rem;
    --font-size143: 14.3rem;
    --font-size144: 14.4rem;
    --font-size145: 14.5rem;
    --font-size146: 14.6rem;
    --font-size147: 14.7rem;
    --font-size148: 14.8rem;
    --font-size149: 14.9rem;
    --font-size150: 15.0rem;
    --font-size151: 15.1rem;
    --font-size152: 15.2rem;
    --font-size153: 15.3rem;
    --font-size154: 15.4rem;
    --font-size155: 15.5rem;
    --font-size156: 15.6rem;
    --font-size157: 15.7rem;
    --font-size158: 15.8rem;
    --font-size159: 15.9rem;
    --font-size160: 16.0rem;
    --font-size161: 16.1rem;
    --font-size162: 16.2rem;
    --font-size163: 16.3rem;
    --font-size164: 16.4rem;
    --font-size165: 16.5rem;
    --font-size166: 16.6rem;
    --font-size167: 16.7rem;
    --font-size168: 16.8rem;
    --font-size169: 16.9rem;
    --font-size170: 17.0rem;
    --font-size171: 17.1rem;
    --font-size172: 17.2rem;
    --font-size173: 17.3rem;
    --font-size174: 17.4rem;
    --font-size175: 17.5rem;
    --font-size176: 17.6rem;
    --font-size177: 17.7rem;
    --font-size178: 17.8rem;
    --font-size179: 17.9rem;
    --font-size180: 18.0rem;
    --font-size181: 18.1rem;
    --font-size182: 18.2rem;
    --font-size183: 18.3rem;
    --font-size184: 18.4rem;
    --font-size185: 18.5rem;
    --font-size186: 18.6rem;
    --font-size187: 18.7rem;
    --font-size188: 18.8rem;
    --font-size189: 18.9rem;
    --font-size190: 19.0rem;
    --font-size191: 19.1rem;
    --font-size192: 19.2rem;
    --font-size193: 19.3rem;
    --font-size194: 19.4rem;
    --font-size195: 19.5rem;
    --font-size196: 19.6rem;
    --font-size197: 19.7rem;
    --font-size198: 19.8rem;
    --font-size199: 19.9rem;
    --font-size200: 20.0rem;
    --font-size220: 22.0rem;
    --font-size253: 25.3rem;
    --font-sans-serif-top: -0.13em;
    --font-sans-serif-bottom: -0.15em;
    --font-sans-serif2-top: -0.141em;
    --font-sans-serif2-bottom: -0.131em;
    --font-sans-serif3-top: -0.089em;
    --font-sans-serif3-bottom: -0.1345em
}

:root {
    --border-width: 1px;
    --solid-main: solid 1px var( --color-main );
    --solid-main2: solid 1px var( --color-main2 );
    --solid: solid 1px;
    --solid1: solid 1px var( --color-line );
    --solid2: solid 1px var( --color-line2 );
    --solid3: solid 1px var( --color-line3 );
    --solid4: solid 1px var( --color-line4 );
    --solid5: solid 1px var( --color-line5 );
    --solid6: solid 1px var( --color-line6 );
    --solid7: solid 1px var( --color-line7 );
    --solid8: solid 1px var( --color-line8 );
    --solid9: solid 1px var( --color-line9 );
    --solid10: solid 1px var( --color-line10 );
    --solid11: solid 1px var( --color-line11 );
    --solid12: solid 1px var( --color-line12 );
    --solid13: solid 1px var( --color-line13 );
    --solid14: solid 1px var( --color-line14 );
    --solid15: solid 1px var( --color-line15 );
    --solid16: solid 1px var( --color-line16 );
    --solid17: solid 1px var( --color-line17 )
}

@media screen and (min-width: 1024px) {
    :root {
        --solid-bold:solid 5px var( --color-txt )
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --solid-bold:solid 3px var( --color-txt )
    }
}

:root {
    --radius-xxs-fixed: 1rem;
    --radius-xs-fixed: 1.4rem;
    --radius-xs-fixed2: 1.8rem;
    --radius-sm-fixed2: 3rem;
    --radius-max: 100rem
}

@media screen and (min-width: 1024px) {
    :root {
        --radius-xxs:0.7rem;
        --radius-xxs2: 0.8rem;
        --radius-xxs3: 0.5rem;
        --radius-xs: 1rem;
        --radius-xs2: 1.6rem;
        --radius-xs3: 1.3rem;
        --radius-xs4: 1rem;
        --radius-xs5: 1.7rem;
        --radius-xs6: 1.5rem;
        --radius-sm: 2rem;
        --radius-sm2: 2.3rem;
        --radius-sm3: 2rem;
        --radius-sm4: 3rem;
        --radius-sm5: 3rem;
        --radius-sm6: 3.2rem;
        --radius-sm7: 3.5rem;
        --radius-sm8: 3rem;
        --radius-rg: 4.4rem;
        --radius-rg2: 4.2rem;
        --radius-rg3: 4rem;
        --radius-rg4: 4.6rem;
        --radius-rg5: 4rem;
        --radius-rg6: 4rem;
        --radius-rg7: 4rem;
        --radius-md: 6rem;
        --radius-md2: 7rem;
        --radius-md3: 7rem;
        --radius-md4: 7rem;
        --radius-md5: 6rem;
        --radius-md6: 7rem;
        --radius-md7: 5rem;
        --radius-md8: 5rem;
        --radius-md9: 6rem;
        --radius-md10: 5rem;
        --radius-md11: 7rem;
        --radius-md12: 5.2rem;
        --radius-md13: 6.7rem;
        --radius-lg: 10rem;
        --radius-lg2: 10rem;
        --radius-lg3: 10rem;
        --radius-lg4: 10rem;
        --radius-lg5: 10rem;
        --radius-xl: 14rem;
        --radius-xl2: 15rem;
        --radius-xl3: 15rem
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --radius-xxs:0.5rem;
        --radius-xxs2: 0.6rem;
        --radius-xxs3: 0.3rem;
        --radius-xs: 0.5rem;
        --radius-xs2: 1.3rem;
        --radius-xs3: 1rem;
        --radius-xs4: 0.8rem;
        --radius-xs5: 1rem;
        --radius-xs6: 1rem;
        --radius-sm: 1.5rem;
        --radius-sm2: 1.3rem;
        --radius-sm3: 1rem;
        --radius-sm4: 1.3rem;
        --radius-sm5: 2.2rem;
        --radius-sm6: 2.6rem;
        --radius-sm7: 1.5rem;
        --radius-sm8: 2rem;
        --radius-rg: 2.2rem;
        --radius-rg2: 2.5rem;
        --radius-rg3: 2rem;
        --radius-rg4: 3.4rem;
        --radius-rg5: 2.5rem;
        --radius-rg6: 1rem;
        --radius-rg7: 1.5rem;
        --radius-md: 3.5rem;
        --radius-md2: 3rem;
        --radius-md3: 4.6rem;
        --radius-md4: 4rem;
        --radius-md5: 4rem;
        --radius-md6: 3.3rem;
        --radius-md7: 5.8rem;
        --radius-md8: 2rem;
        --radius-md9: 2rem;
        --radius-md10: 2.8rem;
        --radius-md11: 3.5rem;
        --radius-md12: 2.3rem;
        --radius-md13: 2rem;
        --radius-lg: 4rem;
        --radius-lg2: 4.8rem;
        --radius-lg3: 5rem;
        --radius-lg4: 2.4rem;
        --radius-lg5: 1.5rem;
        --radius-xl2: 4rem;
        --radius-xl3: 7.6rem
    }
}

:root {
    --ease-level1: var( --easeOutCubic );
    --ease-level2: var( --easeOutQuint );
    --ease-heavy1: var( --easeInOutQuart );
    --ease-heavy2: var( --easeInOutCirc );
    --ease-bound1: var( --easeOutBack );
    --transition-hover: 400ms var( --ease-level1 );
    --transition-hover-fast: 200ms ease;
    --transition-hover-slow: 800ms var( --ease-level1 );
    --transition-scroll-gnav: 500ms var( --ease-level1 );
    --transition-scroll-change: 1800ms var( --ease-level1 );
    --transition-sitemap: 880ms var( --ease-level1 );
    --transition-button: 880ms var( --ease-level2 );
    --transition-slider: 1800ms var( --ease-level1 );
    --transition-slider-dots: 1000ms var( --ease-level1 );
    --animation-slider-zoom: 10000ms linear;
    --transition-carousel: var( --ease-heavy1 );
    --transition-carousel-slide: 600ms var( --ease-level1 );
    --transition-accordion: 500ms var( --ease-heavy1 );
    --transition-accordion2: 600ms var( --ease-level1 );
    --transition-icon-show: 200ms var( --ease-level1 );
    --transition-modal: 500ms var( --ease-level1 );
    --transition-input: 200ms var( --ease-level1 );
    --transition-tab: 400ms var( --ease-level1 );
    --transition-fade: 2000ms var( --ease-level1 );
    --transition-fade2: 1500ms var( --ease-level1 );
    --transition-fade3: 800ms var( --ease-level1 );
    --transition-fade-bg: 20000ms var( --ease-level1 );
    --transition-fadeup: 1300ms var( --ease-level2 );
    --transition-fadedown: 1300ms var( --ease-level2 );
    --transition-slideline: 1200ms var( --ease-heavy1 );
    --transition-slidetxt: 1500ms var( --ease-heavy1 );
    --transition-slidetxt2: 1200ms var( --ease-level2 );
    --transition-slidecross: 1300ms var( --ease-level2 );
    --transition-scale: 1000ms var( --ease-level2 );
    --transition-slidedaiagonal: 1000ms var( --ease-level2 );
    --transition-splittext: 80ms var( --ease-level1 );
    --transition-mountain: 10000ms var( --ease-level2 );
    --transition-graph-bar: 1800ms var( --ease-heavy2 );
    --transition-graph-fade: 1300ms var( --ease-level2 );
    --transition-graph-pie: 700ms var( --ease-bound1 );
    --transition-border: 500ms var( --ease-level1 );
    --animation-scrolltxt: 3000ms var( --ease-heavy1 ) infinite;
    --animation-scrollmotion: 3000ms var( --ease-heavy1 ) infinite;
    --animation-translate: 1500ms var( --ease-level2 ) forwards;
    --animation-rotate360: 50000ms linear infinite;
    --animation-step-foot: 3000ms steps(2) 2;
    --animation-step-hand: 2000ms steps(2) infinite;
    --animation-step-move: 4000ms steps(6) forwards;
    --animation-step-entrance: 8000ms steps(15) forwards
}

:root {
    --z-index-: -1;
    --z-index-l-main: 0;
    --z-index-l-footer: 10;
    --z-index-l-header__bar: 100;
    --z-index-l-gnav__overlay: 1000;
    --z-index-l-gnav__bg: 10000;
    --z-index-l-gnav__main: 100000;
    --z-index-l-header__logo: 1000000;
    --z-index-l-sitemap: 10000000;
    --z-index-l-gnav__sub: 100000000;
    --z-index-js-modal: 1000000000;
    --z-index-l-loading: 1000000010
}

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: 0 0
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section {
    display: block
}

body {
    line-height: 1
}

address,caption,cite,code,dfn,em,strong,th,var {
    font-style: normal;
    font-weight: 400
}

ol,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote::after,blockquote::before,q::after,q::before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img,picture {
    max-width: 100%
}

picture {
    display: block
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    padding: 0
}

a img {
    border: none
}

a {
    background: 0 0;
    vertical-align: baseline;
    font-size: 100%;
    text-decoration: none;
    cursor: pointer
}

a:hover,a:hover img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

a,button,small,span,time {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit
}

template {
    display: none
}

button,input,select,textarea {
    margin: 0;
    padding: 0;
    background: 0 0;
    border: none;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    cursor: pointer
}

textarea {
    resize: vertical;
    overflow: auto
}

[type=file] {
    line-height: 1!important
}

select::-ms-expand {
    display: none
}

select::-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #fff
}

input:-webkit-autofill,option:-webkit-autofill,select:-webkit-autofill {
    -webkit-text-fill-color: #000!important;
    -webkit-box-shadow: 0 0 0 1000px #fff inset
}

*,::after,::before {
    box-sizing: border-box
}

html {
    height: 100vh;
    font-size: 62.5%
}

@media screen and (max-width: 1440px) and (min-width:1024px) {
    html {
        font-size:.69444vw
    }
}

@media screen and (max-width: 400px) {
    html {
        font-size:2.5vw
    }
}

body {
    background-color: var(--color-bg);
    color: var(--color-txt);
    font-family: var(--font-gothic);
    font-weight: 500;
    font-size: 1rem;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-rendering: geometricPrecision;
    text-decoration-thickness: 1px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: rgba(0,0,0,.2);
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-scroll-chaining: none;
    overscroll-behavior: none
}

h1,h2,h3,h4,h5,h6 {
    font-weight: 500
}

address,dd,dt,li,td,th {
    font-size: inherit;
    line-height: inherit
}

ol,ul {
    list-style-position: inside
}

button,input,select,textarea {
    font-family: inherit
}

svg {
    fill: currentColor
}

body.ua-chrome img {
    image-rendering: -webkit-optimize-contrast
}

[id^=area-] {
    -webkit-transform: translateY(-12rem);
    transform: translateY(-12rem)
}

@media screen and (min-width: 1024px) {
    [id^=area2-],[id^=comment-] {
        margin-top:-20rem;
        padding-top: 20rem
    }
}

@media screen and (max-width: 1023px) {
    [id^=area2-],[id^=comment-] {
        margin-top:-14rem;
        padding-top: 14rem
    }
}

[id^=area3-] {
    -webkit-transform: translateY(-20rem);
    transform: translateY(-20rem)
}

@-webkit-keyframes loopslider-x {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(calc(var(--original-width) * -1),0,0);
        transform: translate3d(calc(var(--original-width) * -1),0,0)
    }
}

@keyframes loopslider-x {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(calc(var(--original-width) * -1),0,0);
        transform: translate3d(calc(var(--original-width) * -1),0,0)
    }
}

@-webkit-keyframes loopslider-y {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -1),0);
        transform: translate3d(0,calc(var(--original-height) * -1),0)
    }
}

@keyframes loopslider-y {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -1),0);
        transform: translate3d(0,calc(var(--original-height) * -1),0)
    }
}

@-webkit-keyframes loopslider-y2 {
    0% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -2),0);
        transform: translate3d(0,calc(var(--original-height) * -2),0)
    }

    100% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -1),0);
        transform: translate3d(0,calc(var(--original-height) * -1),0)
    }
}

@keyframes loopslider-y2 {
    0% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -2),0);
        transform: translate3d(0,calc(var(--original-height) * -2),0)
    }

    100% {
        -webkit-transform: translate3d(0,calc(var(--original-height) * -1),0);
        transform: translate3d(0,calc(var(--original-height) * -1),0)
    }
}

@-webkit-keyframes random_rising {
    0% {
        bottom: 0;
        opacity: 0
    }

    5% {
        opacity: 1
    }

    95% {
        opacity: 1
    }

    100% {
        bottom: 96%;
        opacity: 0
    }
}

@keyframes random_rising {
    0% {
        bottom: 0;
        opacity: 0
    }

    5% {
        opacity: 1
    }

    95% {
        opacity: 1
    }

    100% {
        bottom: 96%;
        opacity: 0
    }
}

@-webkit-keyframes rotate360 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@keyframes rotate360 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@-webkit-keyframes scrollmotion-bar {
    0% {
        width: 0;
        opacity: 0
    }

    20% {
        width: 0
    }

    20%,80% {
        opacity: 1
    }

    80% {
        width: 100%
    }

    100% {
        width: 100%;
        opacity: 0
    }
}

@keyframes scrollmotion-bar {
    0% {
        width: 0;
        opacity: 0
    }

    20% {
        width: 0
    }

    20%,80% {
        opacity: 1
    }

    80% {
        width: 100%
    }

    100% {
        width: 100%;
        opacity: 0
    }
}

@-webkit-keyframes scrollmotion-icon {
    0% {
        left: 0;
        opacity: 0
    }

    20% {
        left: 0
    }

    20%,80% {
        opacity: 1
    }

    80% {
        left: 100%
    }

    100% {
        left: 100%;
        opacity: 0
    }
}

@keyframes scrollmotion-icon {
    0% {
        left: 0;
        opacity: 0
    }

    20% {
        left: 0
    }

    20%,80% {
        opacity: 1
    }

    80% {
        left: 100%
    }

    100% {
        left: 100%;
        opacity: 0
    }
}

@-webkit-keyframes scrolltxt {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,-80%,0);
        transform: translate3d(0,-80%,0)
    }

    40%,60% {
        opacity: 1
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0,calc(var(--scroll-line-height) - 50%),0);
        transform: translate3d(0,calc(var(--scroll-line-height) - 50%),0)
    }
}

@keyframes scrolltxt {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0,-80%,0);
        transform: translate3d(0,-80%,0)
    }

    40%,60% {
        opacity: 1
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0,calc(var(--scroll-line-height) - 50%),0);
        transform: translate3d(0,calc(var(--scroll-line-height) - 50%),0)
    }
}

@-webkit-keyframes slideZoom {
    0% {
        -webkit-transform: scale(1) rotate(.01deg);
        transform: scale(1) rotate(.01deg)
    }

    100% {
        -webkit-transform: scale(1.1) rotate(.01deg);
        transform: scale(1.1) rotate(.01deg)
    }
}

@keyframes slideZoom {
    0% {
        -webkit-transform: scale(1) rotate(.01deg);
        transform: scale(1) rotate(.01deg)
    }

    100% {
        -webkit-transform: scale(1.1) rotate(.01deg);
        transform: scale(1.1) rotate(.01deg)
    }
}

@-webkit-keyframes step-right-foot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    50% {
        -webkit-transform: rotate(40deg);
        transform: rotate(40deg)
    }
}

@keyframes step-right-foot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    50% {
        -webkit-transform: rotate(40deg);
        transform: rotate(40deg)
    }
}

@-webkit-keyframes step-left-foot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    50% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
}

@keyframes step-left-foot {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    50% {
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg)
    }
}

@-webkit-keyframes step-left-right {
    0% {
        -webkit-transform: translate3d(-80%,0,0);
        transform: translate3d(-80%,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@keyframes step-left-right {
    0% {
        -webkit-transform: translate3d(-80%,0,0);
        transform: translate3d(-80%,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@-webkit-keyframes step-left-right2 {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(80%,0,0);
        transform: translate3d(80%,0,0);
        opacity: 0
    }
}

@keyframes step-left-right2 {
    0% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }

    100% {
        -webkit-transform: translate3d(80%,0,0);
        transform: translate3d(80%,0,0);
        opacity: 0
    }
}

@-webkit-keyframes step-right-left {
    0% {
        -webkit-transform: translate3d(80%,0,0);
        transform: translate3d(80%,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@keyframes step-right-left {
    0% {
        -webkit-transform: translate3d(80%,0,0);
        transform: translate3d(80%,0,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@-webkit-keyframes step-left-hand {
    0% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    50% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg)
    }
}

@keyframes step-left-hand {
    0% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg)
    }

    50% {
        -webkit-transform: rotate(-20deg);
        transform: rotate(-20deg)
    }
}

@-webkit-keyframes step-right-hand {
    0% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    50% {
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg)
    }
}

@keyframes step-right-hand {
    0% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg)
    }

    50% {
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg)
    }
}

@-webkit-keyframes step-entrance {
    0% {
        -webkit-transform: translateY(-80vh);
        transform: translateY(-80vh);
        opacity: 0
    }

    30% {
        opacity: 1
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes step-entrance {
    0% {
        -webkit-transform: translateY(-80vh);
        transform: translateY(-80vh);
        opacity: 0
    }

    30% {
        opacity: 1
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes step-entrance-shadow {
    0% {
        -webkit-transform: scale(.6,.2);
        transform: scale(.6,.2);
        opacity: 0
    }

    60% {
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1)
    }
}

@keyframes step-entrance-shadow {
    0% {
        -webkit-transform: scale(.6,.2);
        transform: scale(.6,.2);
        opacity: 0
    }

    60% {
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1,1);
        transform: scale(1,1)
    }
}

@-webkit-keyframes translateY {
    0%,10% {
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@keyframes translateY {
    0%,10% {
        -webkit-transform: translate3d(0,100%,0);
        transform: translate3d(0,100%,0)
    }

    100% {
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0)
    }
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 0;
    display: flex;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-wrapper {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: height,-webkit-transform;
    transition-property: transform,height;
    transition-property: transform,height,-webkit-transform
}

.swiper-backface-hidden .swiper-slide {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-horizontal>.swiper-wrapper: :before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-vertical>.swiper-wrapper: :before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev {
    display: none!important
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(.33);
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity,.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity,1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform,.2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    -webkit-animation: swiper-preloader-spin 1s infinite linear;
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@-webkit-keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    -webkit-filter: blur(50px);
    filter: blur(50px)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: opacity,height,-webkit-transform;
    transition-property: transform,opacity,height;
    transition-property: transform,opacity,height,-webkit-transform
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.swiper-wrapper {
    transition-timing-function: var(--transiiton-carousel)!important
}

.c-anchor-lineIn {
    background-repeat: no-repeat;
    background-image: linear-gradient(180deg,currentColor,currentColor);
    transition: background-size var(--transition-hover);
    background-size: 0 1px;
    background-position: 100% 100%
}

@media (hover: hover) {
    .c-anchor-lineIn:hover,a:hover .c-anchor-lineIn {
        background-size:100% 1px;
        background-position: 0 100%
    }
}

.-type-current.is-current .c-anchor-lineIn,.c-anchor-lineIn.-type-current.is-current {
    background-size: 100% 1px;
    background-position: 0 100%
}

.c-anchor-lineOut {
    background-repeat: no-repeat;
    background-image: linear-gradient(180deg,currentColor,currentColor);
    transition: background-size var(--transition-hover);
    background-size: 100% 1px;
    background-position: 0 100%
}

@media (hover: hover) {
    .c-anchor-lineOut:hover,a:hover .c-anchor-lineOut {
        background-size:0 1px;
        background-position: 100% 100%
    }
}

.c-bg {
    width: 100%;
    height: 100%;
    position: absolute!important;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden
}

.c-bg img {
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg);
    transition: opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    will-change: transform
}

@media (hover: hover) {
    .c-bg-outer:hover .c-bg img,a:hover .c-bg img {
        -webkit-transform:var(--hover-scale2) rotate(.00001deg);
        transform: var(--hover-scale2) rotate(.00001deg)
    }
}

.c-bg0 {
    width: 100%;
    height: 100%;
    position: absolute!important;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden
}

.c-bg2 {
    position: relative;
    overflow: hidden
}

.c-bg2 img {
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg);
    transition: opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important
}

@media (hover: hover) {
    a:hover .c-bg2 img {
        -webkit-transform:var(--hover-scale2) rotate(.00001deg);
        transform: var(--hover-scale2) rotate(.00001deg)
    }
}

.c-bg3 {
    position: relative;
    overflow: hidden;
    transition: -webkit-transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow), -webkit-transform var(--transition-hover-slow)
}

@media (hover: hover) {
    a:hover .c-bg3 {
        -webkit-transform:var(--hover-scale4) rotate(.00001deg);
        transform: var(--hover-scale4) rotate(.00001deg)
    }

    a:hover .c-bg3 img {
        -webkit-transform: var(--hover-scale) rotate(.00001deg);
        transform: var(--hover-scale) rotate(.00001deg)
    }
}

.c-bg3 img {
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg);
    transition: opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important
}

.c-bg-dot {
    background-image: url(../img/common/bg_dot.webp);
    background-size: 3.6rem 3.6rem;
    background-position: center;
    background-repeat: repeat;
    background-blend-mode: soft-light
}

.c-blend {
    position: relative
}

.c-blend::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: var(--color-blend);
    pointer-events: none;
    transition: opacity var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-blend::before {
        opacity:.15
    }
}

.c-blend.-opacity3::before {
    opacity: .3
}

.c-blend.-opacity4::before {
    opacity: .4
}

.c-blend.-opacity4-6::before {
    opacity: .4
}

@media (hover: hover) {
    a:hover .c-blend.-opacity4-6::before {
        opacity:.6
    }
}

.c-cinema {
    position: relative;
    z-index: 0
}

.c-cinema::after,.c-cinema::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    z-index: 10;
    width: 100%;
    height: var(--radius);
    border-radius: var(--radius) var(--radius) 0 0;
    background-color: var(--color-bg)
}

.c-cinema::before {
    top: 0;
    -webkit-transform: scale(1,-1);
    transform: scale(1,-1)
}

.c-cinema::after {
    bottom: 0
}

.c-cinema.-medium {
    --radius: var( --radius-md9 )
}

@media screen and (min-width: 1024px) {
    .c-cinema.-medium {
        height:71.5rem
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    .c-cinema.-medium {
        height:52rem
    }
}

@media screen and (max-width: 560px) {
    .c-cinema.-medium {
        height:34.2rem
    }
}

.c-cinema.-medium2 {
    --radius: var( --radius-md9 )
}

@media screen and (min-width: 1024px) {
    .c-cinema.-medium2 {
        height:71.5rem
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    .c-cinema.-medium2 {
        height:52rem
    }
}

@media screen and (max-width: 560px) {
    .c-cinema.-medium2 {
        height:28.6rem
    }
}

.c-cinema.-medium3 {
    --radius: var( --radius-md9 )
}

@media screen and (min-width: 1024px) {
    .c-cinema.-medium3 {
        height:87.9rem
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    .c-cinema.-medium3 {
        height:72rem
    }
}

@media screen and (max-width: 560px) {
    .c-cinema.-medium3 {
        height:31.5rem
    }
}

.c-cinema.-large {
    --radius: var( --radius-lg2 )
}

@media screen and (min-width: 1024px) {
    .c-cinema.-large {
        height:99rem
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    .c-cinema.-large {
        height:60rem
    }
}

@media screen and (max-width: 560px) {
    .c-cinema.-large {
        height:40rem
    }
}

.c-cinema__en,.c-cinema__en2,.c-cinema__en3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 10;
    color: var(--color-txt2);
    font-family: var(--font-sans-serif)
}

.c-cinema__en {
    justify-content: center;
    font-weight: 600;
    letter-spacing: calc(-40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-cinema__en {
        font-size:var(--font-size43)
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__en {
        font-size:var(--font-size20)
    }
}

.c-cinema__en2 {
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-cinema__en2 {
        padding:0 calc((174 / var(--base-width)) * 100%);
        font-size: var(--font-size28);
        --line-height: calc( 38 / 28 )
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__en2 {
        padding:0 calc((30 / var(--base-width)) * 100%);
        font-size: var(--font-size17);
        --line-height: calc( 23 / 17 )
    }
}

.c-cinema__en3 {
    justify-content: flex-end;
    font-weight: 300
}

@media screen and (min-width: 1024px) {
    .c-cinema__en3 {
        padding:4.5rem calc((174 / var(--base-width)) * 100%) 0;
        font-size: var(--font-size25)
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__en3 {
        padding:1.3rem calc((30 / var(--base-width)) * 100%) 0;
        font-size: var(--font-size12)
    }
}

.c-cinema__contents {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 10;
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents {
        justify-content:center;
        padding: .9rem calc((100 / var(--base-width)) * 100%) 0
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents {
        justify-content:flex-end;
        padding: 0 calc((32 / var(--base-width)) * 100%) 5rem
    }
}

.c-cinema__contents__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.c-cinema__contents__en::after,.c-cinema__contents__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-cinema__contents__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-cinema__contents__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__en {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__en {
        font-size:var(--font-size9)
    }
}

.c-cinema__contents__ja2 {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__ja2 {
        font-size:var(--font-size14);
        margin-top: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__ja2 {
        font-size:var(--font-size9);
        margin-top: 1.4rem
    }
}

.c-cinema__contents__ja {
    display: flex;
    align-items: baseline
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__en+.c-cinema__contents__ja {
        margin-top:2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__en+.c-cinema__contents__ja {
        margin-top:1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__ja2+.c-cinema__contents__ja {
        margin-top:1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__ja2+.c-cinema__contents__ja {
        margin-top:.6rem
    }
}

.c-cinema__contents__ja span {
    display: block;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__ja__main {
        font-size:var(--font-size30)
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__ja__main {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__ja__sub {
        font-size:var(--font-size20);
        margin-left: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__ja__sub {
        font-size:var(--font-size10);
        margin-left: .6rem
    }
}

.c-cinema__contents__fin {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.c-cinema__contents__fin::after,.c-cinema__contents__fin::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-cinema__contents__fin::before {
    margin-top: var(--font-sans-serif-top)
}

.c-cinema__contents__fin::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-cinema__contents__fin {
        font-size:var(--font-size44);
        margin-top: 4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-cinema__contents__fin {
        font-size:var(--font-size22);
        margin-top: 1.6rem
    }
}

.c-cinema__bg.-top-right img {
    -o-object-position: 75% 75%;
    object-position: 75% 75%
}

.c-cinema__bg.-left img {
    -o-object-position: 25% 50%;
    object-position: 25% 50%
}

.c-cinema__bg.-right img {
    -o-object-position: 75% 50%;
    object-position: 75% 50%
}

.c-column {
    display: grid
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-2-lg {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-col-2-lg {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 768px) {
    [class*=c-column].-col-2-md {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (max-width: 767px) {
    [class*=c-column].-col-2-md {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-3-lg {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-col-3-lg {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 768px) {
    [class*=c-column].-col-3-md {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (max-width: 767px) {
    [class*=c-column].-col-3-md {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 768px) {
    [class*=c-column].-col-3-md2 {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (max-width: 767px) {
    [class*=c-column].-col-3-md2 {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-3-lg-sm {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    [class*=c-column].-col-3-lg-sm {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (max-width: 560px) {
    [class*=c-column].-col-3-lg-sm {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-4-lg {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-col-4-lg {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (min-width: 768px) {
    [class*=c-column].-col-4-md {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
}

@media screen and (max-width: 767px) {
    [class*=c-column].-col-4-md {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-4-lg-md {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    [class*=c-column].-col-4-lg-md {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media screen and (max-width: 560px) {
    [class*=c-column].-col-4-lg-md {
        grid-template-columns:repeat(1,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-col-5-lg {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-col-5-lg {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

[class*=c-column].-gap-17 {
    gap: 1.7rem
}

[class*=c-column].-gap-c-12 {
    -webkit-column-gap: 1.2rem;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-13 {
        -webkit-column-gap:1.3rem;
        -moz-column-gap: 1.3rem;
        column-gap: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-13 {
        -webkit-column-gap:1.8rem;
        -moz-column-gap: 1.8rem;
        column-gap: 1.8rem
    }
}

[class*=c-column].-gap-c-28 {
    -webkit-column-gap: 2.8rem;
    -moz-column-gap: 2.8rem;
    column-gap: 2.8rem
}

[class*=c-column].-gap-c-31 {
    -webkit-column-gap: 3.1rem;
    -moz-column-gap: 3.1rem;
    column-gap: 3.1rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-33 {
        -webkit-column-gap:3.3rem;
        -moz-column-gap: 3.3rem;
        column-gap: 3.3rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-33 {
        -webkit-column-gap:.3rem;
        -moz-column-gap: .3rem;
        column-gap: .3rem
    }
}

[class*=c-column].-gap-c-37 {
    -webkit-column-gap: 3.7rem;
    -moz-column-gap: 3.7rem;
    column-gap: 3.7rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-41 {
        -webkit-column-gap:4.1rem;
        -moz-column-gap: 4.1rem;
        column-gap: 4.1rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-41 {
        -webkit-column-gap:1.4rem;
        -moz-column-gap: 1.4rem;
        column-gap: 1.4rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-44 {
        -webkit-column-gap:4.4rem;
        -moz-column-gap: 4.4rem;
        column-gap: 4.4rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-44 {
        -webkit-column-gap:2rem;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-59 {
        -webkit-column-gap:5.9rem;
        -moz-column-gap: 5.9rem;
        column-gap: 5.9rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-59 {
        -webkit-column-gap:3rem;
        -moz-column-gap: 3rem;
        column-gap: 3rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-67 {
        -webkit-column-gap:6.7rem;
        -moz-column-gap: 6.7rem;
        column-gap: 6.7rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-67 {
        -webkit-column-gap:2rem;
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-71 {
        -webkit-column-gap:7.1rem;
        -moz-column-gap: 7.1rem;
        column-gap: 7.1rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-71 {
        -webkit-column-gap:3rem;
        -moz-column-gap: 3rem;
        column-gap: 3rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-80 {
        -webkit-column-gap:8rem;
        -moz-column-gap: 8rem;
        column-gap: 8rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-80 {
        -webkit-column-gap:3rem;
        -moz-column-gap: 3rem;
        column-gap: 3rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-102 {
        -webkit-column-gap:10.2rem;
        -moz-column-gap: 10.2rem;
        column-gap: 10.2rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-102 {
        -webkit-column-gap:3rem;
        -moz-column-gap: 3rem;
        column-gap: 3rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-c-130 {
        -webkit-column-gap:13rem;
        -moz-column-gap: 13rem;
        column-gap: 13rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-c-130 {
        -webkit-column-gap:5rem;
        -moz-column-gap: 5rem;
        column-gap: 5rem
    }
}

[class*=c-column].-gap-r-11 {
    row-gap: 1.1rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-21 {
        row-gap:2.1rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-21 {
        row-gap:1.4rem
    }
}

[class*=c-column].-gap-r-25 {
    row-gap: 2.5rem
}

[class*=c-column].-gap-r-32 {
    row-gap: 3.2rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-35 {
        row-gap:3.5rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-35 {
        row-gap:2.8rem
    }
}

[class*=c-column].-gap-r-36 {
    row-gap: 3.6rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-38 {
        row-gap:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-38 {
        row-gap:2.8rem
    }
}

[class*=c-column].-gap-r-40 {
    row-gap: 4rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-45 {
        row-gap:4.5rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-45 {
        row-gap:2.7rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-51 {
        row-gap:5.1rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-51 {
        row-gap:1.4rem
    }
}

[class*=c-column].-gap-r-70 {
    row-gap: 7rem
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-100 {
        row-gap:10rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-100 {
        row-gap:9rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-91 {
        row-gap:9.1rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-91 {
        row-gap:5.5rem
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-column].-gap-r-104 {
        row-gap:10.4rem
    }
}

@media screen and (max-width: 1023px) {
    [class*=c-column].-gap-r-104 {
        row-gap:7.5rem
    }
}

.c-figure {
    position: relative;
    border-radius: var(--border-radius);
    box-shadow: 0 var(--shadow-y,0) 0 var(--color-shadow);
    margin-bottom: var(--shadow-y,0)
}

@media (hover: hover) {
    a:hover .c-figure>:first-child {
        -webkit-transform:translateY(calc(var(--shadow-y) * .6));
        transform: translateY(calc(var(--shadow-y) * .6))
    }

    a:hover .c-figure>:first-child::before {
        opacity: .1
    }

    a:hover .c-figure .c-arrow {
        -webkit-transform: translateY(calc(var(--shadow-y) * .6));
        transform: translateY(calc(var(--shadow-y) * .6))
    }
}

.c-figure>:first-child {
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-figure>:first-child::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: var(--color-bg2);
    opacity: 0;
    transition: opacity var(--transition-hover)
}

.c-figure .c-arrow {
    position: absolute;
    z-index: 10;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

@media screen and (max-width: 1023px) {
    .c-figure .c-arrow {
        display:none
    }
}

.c-figure.-sm6 {
    --border-radius: var( --radius-sm6 )
}

@media screen and (min-width: 1024px) {
    .c-figure.-sm6 {
        --shadow-y:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure.-sm6 {
        --shadow-y:0.7rem
    }
}

.c-figure.-md {
    --border-radius: var( --radius-md );
    --shadow-y: 0.7rem
}

.c-figure.-md2 {
    --border-radius: var( --radius-md2 )
}

@media screen and (min-width: 1024px) {
    .c-figure.-md2 {
        --shadow-y:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure.-md2 {
        --shadow-y:0.5rem
    }
}

.c-figure.-md5 {
    --border-radius: var( --radius-md5 )
}

@media screen and (min-width: 1024px) {
    .c-figure.-md5 {
        --shadow-y:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure.-md5 {
        --shadow-y:1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-figure.-md5 .c-arrow {
        right:2.4rem;
        bottom: 2.2rem
    }
}

.c-figure2 {
    position: relative;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-size,0) var(--shadow-size,0) 0 var(--shadow-color);
    margin-bottom: var(--shadow-size,0)
}

@media (hover: hover) {
    a:hover .c-figure2>:first-child,button:hover .c-figure2>:first-child {
        -webkit-transform:translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25));
        transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25))
    }

    a:hover .c-figure2 .c-chapter,a:hover .c-figure2 .c-play,button:hover .c-figure2 .c-chapter,button:hover .c-figure2 .c-play {
        -webkit-transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25));
        transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25))
    }
}

.c-figure2>:first-child {
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-figure2 .c-chapter,.c-figure2 .c-play {
    position: absolute;
    z-index: 10;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-figure2.-xxs2 {
    --border-radius: var( --radius-xxs2 );
    --shadow-color: var( --color-shadow )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xxs2 {
        --shadow-size:2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xxs2 {
        --shadow-size:1.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xxs2 .c-play {
        right:2rem;
        bottom: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xxs2 .c-play {
        right:1.7rem;
        bottom: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xxs2 .c-chapter {
        top:-2rem;
        right: -2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xxs2 .c-chapter {
        top:-1.7rem;
        right: -1.7rem
    }
}

.c-figure2.-xxs3 {
    --border-radius: var( --radius-xxs3 );
    --shadow-color: var( --color-shadow )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xxs3 {
        --shadow-size:1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xxs3 {
        --shadow-size:1rem
    }
}

.c-figure2.-xs4 {
    --border-radius: var( --radius-xs4 );
    --shadow-color: var( --color-shadow5 )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xs4 {
        --shadow-size:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xs4 {
        --shadow-size:1rem
    }
}

.c-figure2.-xs5 {
    --border-radius: var( --radius-xs5 );
    --shadow-color: var( --color-shadow5 )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xs5 {
        --shadow-size:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xs5 {
        --shadow-size:1rem
    }
}

.c-figure2.-xs6 {
    --border-radius: var( --radius-xs6 );
    --shadow-color: var( --color-shadow5 )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-xs6 {
        --shadow-size:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-xs6 {
        --shadow-size:1rem
    }
}

.c-figure2.-sm3 {
    --border-radius: var( --radius-sm3 );
    --shadow-color: var( --color-shadow5 )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-sm3 {
        --shadow-size:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-sm3 {
        --shadow-size:1rem
    }
}

.c-figure2.-sm4 {
    --border-radius: var( --radius-sm4 );
    --shadow-color: var( --color-shadow5 )
}

@media screen and (min-width: 1024px) {
    .c-figure2.-sm4 {
        --shadow-size:4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure2.-sm4 {
        --shadow-size:2rem
    }
}

.c-figure3 {
    position: relative;
    z-index: 0;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-size,0) var(--shadow-size,0) 0 var(--color-shadow2);
    margin-bottom: var(--shadow-size,0)
}

@media (hover: hover) {
    a:hover .c-figure3>*,button:hover .c-figure3>* {
        -webkit-transform:translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25));
        transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25))
    }
}

a:has(.c-figure3) {
    pointer-events: none
}

a:has(.c-figure3) .c-figure3 {
    pointer-events: auto
}

.c-figure3>* {
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-figure3.-md8 {
    --border-radius: var( --radius-md8 )
}

@media screen and (min-width: 1024px) {
    .c-figure3.-md8 {
        --shadow-size:3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-figure3.-md8 {
        --shadow-size:1.5rem
    }
}

.c-hr {
    display: flex;
    align-items: center;
    gap: var(--gap)
}

.c-hr::before {
    content: '';
    display: block;
    width: var(--oval-size);
    height: var(--oval-size);
    background-color: var(--oval-color);
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.c-hr::after {
    content: '';
    display: block;
    flex: 1;
    height: 0;
    border-top: var(--solid)
}

@media screen and (min-width: 1024px) {
    .c-hr.-medium {
        --oval-size:0.9rem;
        --gap: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-hr.-medium {
        --oval-size:0.6rem;
        --gap: 1rem
    }
}

.c-hr.-main5 {
    --oval-color: var( --color-main5 )
}

[class*=c-inner] {
    margin-inline:auto}

@media screen and (max-width: 1023px) {
    [class*=c-inner] {
        --base-width:336;
        width: var(--contents-md)
    }

    [class*=c-inner].-contents-sm {
        --base-width: 320;
        width: var(--contents-sm)
    }

    [class*=c-inner].-contents-rg {
        --base-width: 330;
        width: var(--contents-rg)
    }

    [class*=c-inner].-contents-md2 {
        --base-width: 340;
        width: var(--contents-md2)
    }

    [class*=c-inner].-contents-lg {
        --base-width: 344;
        width: var(--contents-lg)
    }

    [class*=c-inner].-contents-xxl {
        --base-width: 364;
        width: var(--contents-xxl)
    }

    [class*=c-inner].-contents-xxl2 {
        --base-width: 360;
        width: var(--contents-xxl2)
    }

    [class*=c-inner].-contents-xxxl {
        --base-width: 370;
        width: var(--contents-xxxl)
    }

    [class*=c-inner].-contents-full {
        --base-width: 400;
        width: var(--ww)
    }
}

@media screen and (max-width: 1023px) and (min-width:561px) {
    [class*=c-inner].-contents-xs-l {
        --base-width:370;
        width: var(--contents-xxxl)
    }
}

@media screen and (max-width: 560px) {
    [class*=c-inner].-contents-xs-l {
        --base-width:300;
        width: var(--contents-xs)
    }
}

@media screen and (min-width: 1024px) {
    [class*=c-inner-] {
        max-width:calc(var(--base-width) * .1rem);
        width: var(--contents2-lg)
    }

    .c-inner-xs {
        --base-width: 800
    }

    .c-inner-sm {
        --base-width: 1000
    }

    .c-inner-sm2 {
        --base-width: 1014
    }

    .c-inner-sm3 {
        --base-width: 1076
    }

    .c-inner-rg {
        --base-width: 1100
    }

    .c-inner-rg2 {
        --base-width: 1150
    }

    .c-inner-rg3 {
        --base-width: 1110
    }

    .c-inner-md {
        --base-width: 1200
    }

    .c-inner-md2 {
        --base-width: 1216
    }

    .c-inner-md3 {
        --base-width: 1224
    }

    .c-inner-md4 {
        --base-width: 1230
    }

    .c-inner-md5 {
        --base-width: 1254
    }

    .c-inner-md6 {
        --base-width: 1280
    }

    .c-inner-md7 {
        --base-width: 1290
    }

    .c-inner-lg {
        --base-width: 1300
    }

    .c-inner-lg2 {
        --base-width: 1310
    }

    .c-inner-lg3 {
        --base-width: 1340
    }

    .c-inner-lg4 {
        --base-width: 1352
    }

    .c-inner-lg5 {
        --base-width: 1360
    }

    .c-inner-lg6 {
        --base-width: 1367
    }

    .c-inner-xl2 {
        --base-width: 1460;
        width: var(--contents-xxl)
    }
}

@media screen and (min-width: 1024px) {
    .c-inner3-lg {
        --base-width:1300;
        min-width: var(--contents-lg);
        width: calc(100% - 20rem)
    }
}

.c-inner-full {
    width: 100%
}

@media screen and (min-width: 1024px) {
    .c-inner-full {
        max-width:calc(var(--base-width) * .1rem);
        --base-width: 1500
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-full {
        --base-width:400
    }
}

.c-inner-max {
    width: 100%;
    margin: 0 auto
}

@media screen and (min-width: 1024px) {
    .c-inner-max {
        max-width:220rem;
        --base-width: 1500
    }
}

@media screen and (max-width: 1023px) {
    .c-inner-max {
        --base-width:400
    }
}

.c-lazy {
    content-visibility: auto
}

.c-list-disc-small li {
    display: flex;
    align-items: baseline
}

.c-list-disc-small li::before {
    content: '\30FB';
    width: .25em;
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .c-list-disc-small li::before {
        margin-right:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-list-disc-small li::before {
        margin-right:.8rem
    }
}

.c-list-disc-small.-gray li::before {
    color: var(--color-icon2)
}

.c-list-disc-small.-space2 li::before {
    margin-right: .6rem
}

.c-list-disc li {
    display: flex;
    align-items: baseline
}

.c-list-disc li::before {
    content: '';
    display: block;
    border-radius: 50%;
    font-size: inherit;
    line-height: inherit;
    position: relative;
    top: -.4em;
    -webkit-transform: translateY(50%);
    transform: translateY(50%)
}

@media screen and (min-width: 1024px) {
    .c-list-disc.-regular li::before {
        min-width:.6rem;
        min-height: .6rem;
        margin-right: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-list-disc.-regular li::before {
        min-width:.5rem;
        min-height: .5rem;
        margin-right: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-list-disc.-medium li::before {
        min-width:.7rem;
        min-height: .7rem;
        margin-left: .6rem;
        margin-right: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-list-disc.-medium li::before {
        min-width:.6rem;
        min-height: .6rem;
        margin-left: .4rem;
        margin-right: .7rem
    }
}

.c-list-disc.-currentColor5 li::before {
    background-color: currentColor;
    opacity: .5
}

.c-list-disc.-beige li::before {
    background-color: var(--color-bg28)
}

.c-list-decimal {
    counter-reset: item
}

.c-list-decimal>li {
    display: flex;
    align-items: baseline
}

.c-list-decimal>li::before {
    counter-increment: item;
    content: counter(item);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--color-bg16);
    color: var(--color-txt2);
    text-align: center;
    font-family: var(--font-sans-serif)
}

@media screen and (min-width: 1024px) {
    .c-list-decimal>li::before {
        min-width:2rem;
        min-height: 2rem;
        font-size: var(--font-size15);
        padding-top: .1rem;
        padding-left: .1rem;
        margin-right: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-list-decimal>li::before {
        min-width:1.6rem;
        min-height: 1.6rem;
        font-size: var(--font-size12);
        padding-top: 0;
        padding-left: 0;
        margin-right: .9rem
    }
}

.c-list-comma-ja {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline
}

.c-list-comma-ja li:not(:last-of-type)::after {
    content: '、'
}

[class*=c-mask] {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    will-change: mask-size
}

.c-mask-bottom {
    -webkit-mask-size: 100% calc(100% - var(--curve-height) + 1px),100% var(--curve-height);
    mask-size: 100% calc(100% - var(--curve-height) + 1px),100% var(--curve-height);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask-bottom {
        -webkit-mask-image:linear-gradient(red 0,red 100%),url(../img/common/mask_bottom-pc.webp);
        mask-image: linear-gradient(red 0,red 100%),url(../img/common/mask_bottom-pc.webp);
        --curve-height: 37.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask-bottom {
        -webkit-mask-image:linear-gradient(red 0,red 100%),url(../img/common/mask_bottom-sp.webp);
        mask-image: linear-gradient(red 0,red 100%),url(../img/common/mask_bottom-sp.webp);
        --curve-height: 10.8rem
    }
}

.c-mask2-top {
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask2-top {
        -webkit-mask-image:url(../img/common/mask2_top-pc.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask2_top-pc.webp),linear-gradient(red 0,red 100%);
        --curve-height: 43rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask2-top {
        -webkit-mask-image:url(../img/common/mask2_top-sp.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask2_top-sp.webp),linear-gradient(red 0,red 100%);
        --curve-height: 14.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-mask3-bottom,.c-mask3-top-bottom {
        --curve-height:37.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask3-bottom,.c-mask3-top-bottom {
        --curve-height:10.9rem
    }
}

.c-mask3-top-bottom {
    min-height: calc(var(--curve-height) * 2);
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) * 2 + 2px),100% var(--curve-height);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) * 2 + 2px),100% var(--curve-height);
    -webkit-mask-position: 0 0,50% 50%,0 100%;
    mask-position: 0 0,50% 50%,0 100%
}

@media screen and (min-width: 1024px) {
    .c-mask3-top-bottom {
        -webkit-mask-image:url(../img/common/mask3_top-pc.webp),linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-pc.webp);
        mask-image: url(../img/common/mask3_top-pc.webp),linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-pc.webp)
    }
}

@media screen and (max-width: 1023px) {
    .c-mask3-top-bottom {
        -webkit-mask-image:url(../img/common/mask3_top-sp.webp),linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-sp.webp);
        mask-image: url(../img/common/mask3_top-sp.webp),linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-sp.webp)
    }
}

.c-mask3-bottom {
    -webkit-mask-size: 100% calc(100% - var(--curve-height) + 1px),100% var(--curve-height);
    mask-size: 100% calc(100% - var(--curve-height) + 1px),100% var(--curve-height);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask3-bottom {
        -webkit-mask-image:linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-pc.webp);
        mask-image: linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-pc.webp)
    }
}

@media screen and (max-width: 1023px) {
    .c-mask3-bottom {
        -webkit-mask-image:linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-sp.webp);
        mask-image: linear-gradient(red 0,red 100%),url(../img/common/mask3_bottom-sp.webp)
    }
}

.c-mask4-top {
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask4-top {
        -webkit-mask-image:url(../img/common/mask4_top-pc.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask4_top-pc.webp),linear-gradient(red 0,red 100%);
        --curve-height: 9.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask4-top {
        -webkit-mask-image:url(../img/common/mask4_top-sp.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask4_top-sp.webp),linear-gradient(red 0,red 100%);
        --curve-height: 1.5rem
    }
}

.c-mask5-top {
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask5-top {
        -webkit-mask-image:url(../img/common/mask5_top-pc.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask5_top-pc.webp),linear-gradient(red 0,red 100%);
        --curve-height: 40rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask5-top {
        -webkit-mask-image:url(../img/common/mask5_top-sp.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask5_top-sp.webp),linear-gradient(red 0,red 100%);
        --curve-height: 8.5rem
    }
}

.c-mask6-top {
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask6-top {
        -webkit-mask-image:url(../img/common/mask6_top-pc.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask6_top-pc.webp),linear-gradient(red 0,red 100%);
        --curve-height: 53.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask6-top {
        -webkit-mask-image:url(../img/common/mask6_top-sp.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask6_top-sp.webp),linear-gradient(red 0,red 100%);
        --curve-height: 19.6rem
    }
}

.c-mask7-top {
    -webkit-mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    mask-size: 100% var(--curve-height),100% calc(100% - var(--curve-height) + 1px);
    -webkit-mask-position: 0 0,50% 100%;
    mask-position: 0 0,50% 100%
}

@media screen and (min-width: 1024px) {
    .c-mask7-top {
        -webkit-mask-image:url(../img/common/mask7_top-pc.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask7_top-pc.webp),linear-gradient(red 0,red 100%);
        --curve-height: 53.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-mask7-top {
        -webkit-mask-image:url(../img/common/mask7_top-sp.webp),linear-gradient(red 0,red 100%);
        mask-image: url(../img/common/mask7_top-sp.webp),linear-gradient(red 0,red 100%);
        --curve-height: 19.6rem
    }
}

.c-objectfit.-cover {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0
}

.c-objectfit.-contain {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0
}

.c-objectfit.-top-center {
    -o-object-position: 50% 10%;
    object-position: 50% 10%
}

[class*=c-object]:not(.c-objectfit) {
    position: absolute;
    z-index: var(--z-index,-1);
    top: var(--position-top);
    right: var(--position-right);
    left: var(--position-left);
    bottom: var(--position-bottom);
    pointer-events: none
}

[class*=c-object]:not(.c-objectfit) img {
    width: 100%
}

.c-object {
    --position-top: calc( var(--top) * 0.1rem );
    --position-bottom: calc( var(--bottom) * 0.1rem );
    --position-right: calc( var(--right) * 0.1rem );
    --position-left: calc( var(--left) * 0.1rem );
    width: calc(var(--width) * .1rem)
}

[class*=c-radius-] {
    position: relative;
    z-index: 0
}

[class*=c-radius-].-hidden {
    overflow: hidden
}

a[class*=c-radius-],button[class*=c-radius-],figure[class*=c-radius-] {
    overflow: hidden
}

.c-radius-xxs-fixed {
    border-radius: var(--radius-xxs-fixed)
}

.c-radius-xs-fixed {
    border-radius: var(--radius-xs-fixed)
}

.c-radius-xs-fixed2 {
    border-radius: var(--radius-xs-fixed2)
}

.c-radius-sm-fixed2 {
    border-radius: var(--radius-sm-fixed2)
}

.c-radius-max {
    border-radius: var(--radius-max)
}

.c-radius-xxs {
    border-radius: var(--radius-xxs)
}

.c-radius-xxs2 {
    border-radius: var(--radius-xxs2)
}

.c-radius-xxs3 {
    border-radius: var(--radius-xxs3)
}

.c-radius-xs {
    border-radius: var(--radius-xs)
}

.c-radius-xs2 {
    border-radius: var(--radius-xs2)
}

.c-radius-xs3 {
    border-radius: var(--radius-xs3)
}

.c-radius-xs4 {
    border-radius: var(--radius-xs4)
}

.c-radius-xs5 {
    border-radius: var(--radius-xs5)
}

.c-radius-xs6 {
    border-radius: var(--radius-xs6)
}

.c-radius-sm {
    border-radius: var(--radius-sm)
}

.c-radius-sm2 {
    border-radius: var(--radius-sm2)
}

.c-radius-sm3 {
    border-radius: var(--radius-sm3)
}

.c-radius-sm4 {
    border-radius: var(--radius-sm4)
}

.c-radius-sm5 {
    border-radius: var(--radius-sm5)
}

.c-radius-sm6 {
    border-radius: var(--radius-sm6)
}

.c-radius-sm7 {
    border-radius: var(--radius-sm7)
}

.c-radius-sm8 {
    border-radius: var(--radius-sm8)
}

.c-radius-rg {
    border-radius: var(--radius-rg)
}

.c-radius-rg2 {
    border-radius: var(--radius-rg2)
}

.c-radius-rg3 {
    border-radius: var(--radius-rg3)
}

.c-radius-rg4 {
    border-radius: var(--radius-rg4)
}

.c-radius-rg5 {
    border-radius: var(--radius-rg5)
}

.c-radius-rg6 {
    border-radius: var(--radius-rg6)
}

.c-radius-rg7 {
    border-radius: var(--radius-rg7)
}

.c-radius-md {
    border-radius: var(--radius-md)
}

.c-radius-md2 {
    border-radius: var(--radius-md2)
}

.c-radius-md3 {
    border-radius: var(--radius-md3)
}

.c-radius-md4 {
    border-radius: var(--radius-md4)
}

.c-radius-md5 {
    border-radius: var(--radius-md5)
}

.c-radius-md6 {
    border-radius: var(--radius-md6)
}

.c-radius-md7 {
    border-radius: var(--radius-md7)
}

.c-radius-md8 {
    border-radius: var(--radius-md8)
}

.c-radius-md9 {
    border-radius: var(--radius-md9)
}

.c-radius-md10 {
    border-radius: var(--radius-md10)
}

.c-radius-md11 {
    border-radius: var(--radius-md11)
}

.c-radius-md12 {
    border-radius: var(--radius-md12)
}

.c-radius-md13 {
    border-radius: var(--radius-md13)
}

.c-radius-lg {
    border-radius: var(--radius-lg)
}

.c-radius-lg2 {
    border-radius: var(--radius-lg2)
}

.c-radius-lg3 {
    border-radius: var(--radius-lg3)
}

.c-radius-lg4 {
    border-radius: var(--radius-lg4)
}

.c-radius-lg5 {
    border-radius: var(--radius-lg5)
}

.c-radius-xl {
    border-radius: var(--radius-xl)
}

.c-radius-xl2 {
    border-radius: var(--radius-xl2)
}

.c-radius-xl3 {
    border-radius: var(--radius-xl3)
}

.c-scrollbar {
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: block!important;
    background-color: var(--bg-color)
}

.c-scrollbar div {
    border-radius: 0;
    background-color: var(--track-color)
}

.c-scrollbar.swiper-scrollbar-lock {
    display: none!important
}

.c-scrollbar.-x {
    width: 100%;
    height: .4rem
}

.c-scrollbar.-x div {
    height: 100%
}

.c-scrollbar.-green {
    --bg-color: var( --color-scrollbar-bg );
    --track-color: var( --color-scrollbar-track )
}

.c-scrollbar.-green2 {
    --bg-color: var( --color-scrollbar3-bg );
    --track-color: var( --color-scrollbar3-track )
}

.c-scrollbar.-yellow {
    --bg-color: var( --color-scrollbar2-bg );
    --track-color: var( --color-scrollbar2-track )
}

.c-scrollbar.-theme {
    --bg-color: var( --color-scrollbar3-bg );
    --track-color: var( --theme-color )
}

@media screen and (max-width: 767px) {
    .c-scrollbar-area {
        overflow-x:auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .c-scrollbar-area::-webkit-scrollbar {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .c-scrollmotion {
        display:none
    }
}

@media screen and (max-width: 767px) {
    .c-scrollmotion {
        position:relative;
        width: 7rem;
        height: 1.2rem
    }

    .c-scrollmotion::after,.c-scrollmotion::before {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .c-scrollmotion::before {
        width: 100%;
        background-color: var(--bg-color);
        z-index: 1
    }

    .c-scrollmotion::after {
        width: 0;
        background-color: var(--active-color);
        z-index: 10;
        -webkit-animation: scrollmotion-bar var(--animation-scrollmotion);
        animation: scrollmotion-bar var(--animation-scrollmotion)
    }

    .c-scrollmotion div {
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        z-index: 11;
        width: 1.2rem;
        height: 1.2rem;
        background-color: var(--active-color);
        -webkit-mask-image: url(../img/common/oval/oval.webp);
        mask-image: url(../img/common/oval/oval.webp);
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-animation: scrollmotion-icon var(--animation-scrollmotion);
        animation: scrollmotion-icon var(--animation-scrollmotion)
    }
}

.c-scrollmotion.-color1 {
    --bg-color: var( --color-scrollmotion-bg );
    --active-color: var( --color-scrollmotion-active )
}

.c-scrollmotion.-color2 {
    --bg-color: var( --color-scrollmotion2-bg );
    --active-color: var( --color-scrollmotion2-active )
}

.c-scrollmotion.-color3 {
    --bg-color: var( --color-scrollmotion3-bg );
    --active-color: var( --color-scrollmotion3-active )
}

@media screen and (max-width: 767px) {
    .c-scrollmotion-area {
        overflow-x:auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .c-scrollmotion-area::-webkit-scrollbar {
        display: none
    }
}

.c-shadow * {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

@media screen and (min-width: 1024px) {
    .c-shadow.-regular {
        -webkit-filter:drop-shadow(3rem 3rem 0 var(--color-shadow6));
        filter: drop-shadow(3rem 3rem 0 var(--color-shadow6))
    }
}

@media screen and (max-width: 1023px) {
    .c-shadow.-regular {
        -webkit-filter:drop-shadow(1.5rem 1.5rem 1px var(--color-shadow6));
        filter: drop-shadow(1.5rem 1.5rem 1px var(--color-shadow6))
    }
}

@media screen and (min-width: 1024px) {
    .c-shadow.-regular2 {
        -webkit-filter:drop-shadow(3rem 3rem 2px var(--color-shadow6));
        filter: drop-shadow(3rem 3rem 2px var(--color-shadow6))
    }
}

@media screen and (max-width: 1023px) {
    .c-shadow.-regular2 {
        -webkit-filter:drop-shadow(1.5rem 1.5rem 1px var(--color-shadow6));
        filter: drop-shadow(1.5rem 1.5rem 1px var(--color-shadow6))
    }
}

@media screen and (min-width: 1024px) {
    .c-sticky {
        position:sticky;
        top: 15rem
    }
}

.c-youtube {
    position: relative
}

.c-youtube::after {
    content: '';
    display: block;
    padding-top: 56.25%
}

.c-youtube>iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.c-youtube2.is-aspect {
    position: relative
}

.c-youtube2.is-aspect::after {
    content: '';
    display: block;
    padding-top: 56.25%
}

.c-youtube2.is-aspect>iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.c-arrow {
    display: flex;
    align-items: center;
    justify-content: center
}

@media (hover: hover) {
    a:hover .c-arrow .c-arrow__svg path {
        stroke:var(--hover-arrow-color)
    }
}

.c-arrow.-type2 {
    --oval-default-scale: scale(.9);
    --oval-hover-scale: scale(1);
    width: var(--icon-size);
    height: var(--icon-size)
}

.c-arrow.-type2 .c-arrow__svg {
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-arrow.-type2 .c-arrow__svg {
        -webkit-transform:var(--hover-scale3);
        transform: var(--hover-scale3)
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-type2-mqUp-lg {
        --oval-default-scale:scale(.9);
        --oval-hover-scale: scale(1);
        width: var(--icon-size);
        height: var(--icon-size)
    }

    .c-arrow.-type2-mqUp-lg .c-arrow__svg {
        transition: -webkit-transform var(--transition-hover);
        transition: transform var(--transition-hover);
        transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
    }
}

@media screen and (min-width: 1024px) and (hover:hover) {
    a:hover .c-arrow.-type2-mqUp-lg .c-arrow__svg {
        -webkit-transform:var(--hover-scale3);
        transform: var(--hover-scale3)
    }
}

.c-arrow.-xsmall {
    --oval-size: 2.3rem;
    --icon-size: 0.6rem
}

@media screen and (min-width: 1024px) {
    .c-arrow.-small {
        --oval-size:2.8rem;
        --icon-size: 0.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-small2 {
        --oval-size:3rem;
        --icon-size: 0.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-small2 {
        --oval-size:1.7rem;
        --icon-size: 0.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-small3 {
        --oval-size:2.9rem;
        --icon-size: 0.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-small3 {
        --oval-size:2.2rem;
        --icon-size: 0.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-small4 {
        --oval-size:3rem;
        --icon-size: 0.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-small4 {
        --oval-size:2.4rem;
        --icon-size: 0.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-small5 {
        --oval-size:3.2rem;
        --icon-size: 0.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-small5 {
        --oval-size:2rem;
        --icon-size: 0.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular {
        --oval-size:3.4rem;
        --icon-size: 0.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular {
        --oval-size:2.8rem;
        --icon-size: 0.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular2 {
        --oval-size:3.4rem;
        --icon-size: 0.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular2 {
        --oval-size:1.8rem;
        --icon-size: 0.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular3 {
        --oval-size:4rem;
        --icon-size: 0.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular3 {
        --oval-size:2.2rem;
        --icon-size: 0.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular4 {
        --oval-size:3.2rem;
        --icon-size: 0.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular4 {
        --oval-size:2.4rem;
        --icon-size: 0.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular5 {
        --oval-size:3.7rem;
        --icon-size: 0.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular5 {
        --oval-size:2.3rem;
        --icon-size: 0.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-regular6 {
        --oval-size:4rem;
        --icon-size: 0.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-regular6 {
        --oval-size:3.8rem;
        --icon-size: 0.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium {
        --oval-size:5.1rem;
        --icon-size: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium {
        --oval-size:3.3rem;
        --icon-size: 0.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium2 {
        --oval-size:4.6rem;
        --icon-size: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium2 {
        --oval-size:2.5rem;
        --icon-size: 0.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium3 {
        --oval-size:4.4rem;
        --icon-size: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium3 {
        --oval-size:2.5rem;
        --icon-size: 0.9rem
    }
}

.c-arrow.-medium4 {
    --oval-size: 3.2rem;
    --icon-size: 1.1rem
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium5 {
        --oval-size:5.1rem;
        --icon-size: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium5 {
        --oval-size:3.1rem;
        --icon-size: 0.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium6 {
        --oval-size:4.2rem;
        --icon-size: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium6 {
        --oval-size:3rem;
        --icon-size: 0.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium7 {
        --oval-size:5.9rem;
        --icon-size: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium7 {
        --oval-size:3.7rem;
        --icon-size: 0.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium8 {
        --oval-size:5.8rem;
        --icon-size: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium8 {
        --oval-size:2.3rem;
        --icon-size: 0.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow.-medium9 {
        --oval-size:min(6rem, 6.31579vh);
        --icon-size: min(1.4rem, 1.47368vh)
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-medium9 {
        --oval-size:min(3.1rem, 4.55882vh);
        --icon-size: min(0.7rem, 1.02941vh)
    }
}

.c-arrow.-border {
    --border-color: currentColor;
    --background-color: var( --pallet-transp );
    --arrow-color: currentColor;
    --hover-border-color: currentColor;
    --hover-background-color: currentColor;
    --hover-arrow-color: var( --theme-color , #ffffff )
}

.c-arrow.-border-white {
    --border-color: var( --color-txt2 );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-txt2 );
    --hover-background-color: var( --color-txt2 );
    --hover-arrow-color: var( --color-txt )
}

.c-arrow.-border-current-main2 {
    --border-color: currentColor;
    --background-color: var( --pallet-transp );
    --arrow-color: currentColor;
    --hover-border-color: var( --color-main2 );
    --hover-background-color: var( --color-main2 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-border-white-main3 {
    --border-color: var( --color-txt2 );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-txt2 );
    --hover-background-color: var( --color-txt2 );
    --hover-arrow-color: var( --color-main3 )
}

.c-arrow.-border-white-main5 {
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-main5 );
    --hover-background-color: var( --color-main5 );
    --hover-arrow-color: var( --color-txt2 )
}

@media screen and (min-width: 1024px) {
    .c-arrow.-border-white-main5 {
        --border-color:var( --color-txt2 );
        --background-color: var( --pallet-transp )
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-border-white-main5 {
        --border-color:var( --color-main5 );
        --background-color: var( --color-main5 )
    }
}

.c-arrow.-border-beige {
    --border-color: var( --color-line11 );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt20 );
    --hover-border-color: var( --color-line11 );
    --hover-background-color: var( --color-txt20 );
    --hover-arrow-color: var( --color-txt21 )
}

.c-arrow.-border2 {
    --border-color: var( --color-line );
    --background-color: var( --color-bg2 );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-hover );
    --hover-background-color: var( --color-hover );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-main5-white {
    --border-color: var( --color-main5 );
    --background-color: var( --color-main5 );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-main5 );
    --hover-background-color: var( --color-main5 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-white-black {
    --border-color: var( --color-bg2 );
    --background-color: var( --color-bg2 );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-txt )
}

.c-arrow.-white6-black {
    --border-color: var( --color-bg27 );
    --background-color: var( --color-bg27 );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-txt )
}

.c-arrow.-white-theme {
    --border-color: var( --color-bg2 );
    --background-color: var( --color-bg2 );
    --arrow-color: var( --theme-color );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --theme-color )
}

.c-arrow.-black-beige {
    --border-color: var( --color-bg3 );
    --background-color: var( --color-bg3 );
    --arrow-color: var( --color-txt20 );
    --hover-border-color: var( --color-bg3 );
    --hover-background-color: var( --color-bg3 );
    --hover-arrow-color: var( --color-txt20 )
}

.c-arrow.-transp-white-black {
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-txt )
}

@media screen and (min-width: 1024px) {
    .c-arrow.-transp-white-black {
        --border-color:var( --pallet-transp );
        --background-color: var( --pallet-transp );
        --arrow-color: var( --color-txt2 )
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow.-transp-white-black {
        width:var(--oval-size);
        height: var(--oval-size);
        --border-color: var( --color-bg2 );
        --background-color: var( --color-bg2 );
        --arrow-color: var( --color-txt )
    }
}

.c-arrow.-transp-black-white {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-bg3 );
    --hover-background-color: var( --color-bg3 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-transp-white-theme {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --theme-color )
}

.c-arrow.-main2-white {
    --border-color: var( --color-main2 );
    --background-color: var( --color-main2 );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-main2 );
    --hover-background-color: var( --color-main2 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-main3-white {
    --border-color: var( --color-main3 );
    --background-color: var( --color-main3 );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-main3 )
}

.c-arrow.-main5-white {
    --border-color: var( --color-main5 );
    --background-color: var( --color-main5 );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-main5 );
    --hover-background-color: var( --color-main5 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-transp-white-purple {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt25 );
    --hover-border-color: var( --color-txt25 );
    --hover-background-color: var( --color-txt25 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-arrow.-reverse .c-arrow__svg {
    -webkit-transform: scale(-1,1);
    transform: scale(-1,1)
}

.c-arrow__svg {
    fill: none;
    width: var(--icon-size);
    height: var(--icon-size)
}

.c-arrow__svg path {
    stroke: var(--arrow-color);
    stroke-width: 1px
}

.c-arrow2 {
    width: var(--width);
    height: var(--height);
    transition: var(--transition-hover);
    transition-property: color,-webkit-transform;
    transition-property: color,transform;
    transition-property: color,transform,-webkit-transform
}

.c-arrow2 svg {
    width: var(--width);
    height: var(--height)
}

.c-arrow2 path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1px;
    transition: stroke var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-arrow2 {
        -webkit-transform:translateX(.3rem);
        transform: translateX(.3rem)
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow2.-small {
        --width:0.4rem;
        --height: 0.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow2.-small {
        --width:0.3rem;
        --height: 0.6rem
    }
}

.c-arrow2.-small2 {
    --width: 0.4rem;
    --height: 0.7rem
}

.c-arrow3 {
    width: var(--size);
    height: var(--size);
    transition: var(--transition-hover);
    transition-property: color,-webkit-transform;
    transition-property: color,transform;
    transition-property: color,transform,-webkit-transform
}

.c-arrow3 svg {
    width: var(--size);
    height: var(--size)
}

.c-arrow3 path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1px;
    transition: stroke var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-arrow3 {
        -webkit-transform:translateX(.3rem);
        transform: translateX(.3rem)
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow3.-small {
        --size:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow3.-small {
        --size:0.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-arrow3.-regular {
        --size:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-arrow3.-regular {
        --size:1.2rem
    }
}

.c-arrow3.-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%
}

@media screen and (min-width: 1024px) {
    .c-arrow3.-circle {
        width:3.5rem;
        height: 3.5rem
    }
}

@media (hover: hover) {
    button:hover .c-arrow3.-circle {
        -webkit-transform:translate(.2rem,.2rem);
        transform: translate(.2rem,.2rem)
    }

    button:hover .c-arrow3.-circle::before {
        -webkit-transform: translate(-.2rem,-.2rem);
        transform: translate(-.2rem,-.2rem)
    }
}

.c-arrow3.-circle::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    position: absolute;
    top: .5rem;
    left: .5rem;
    z-index: 0;
    background-color: var(--color-shadow5);
    transition: var(--transition-hover);
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.c-arrow3.-circle svg {
    position: relative;
    z-index: 1
}

.c-arrow3.-black-beige {
    background-color: var(--color-bg3);
    color: var(--color-txt20)
}

.c-blank {
    width: var(--size);
    height: var(--size);
    transition: var(--transition-hover);
    transition-property: color
}

.c-blank svg {
    width: var(--size);
    height: var(--size);
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-blank path:nth-of-type(1) {
    fill: currentColor
}

.c-blank path:nth-of-type(2) {
    stroke: currentColor;
    fill: none
}

.c-blank.-small {
    --size: 0.9rem
}

.c-blank.-white {
    color: var(--color-txt2)
}

.c-blank.-gray {
    color: var(--color-icon)
}

@media (hover: hover) {
    a:hover .c-blank.-gray {
        color:var(--color-hover)
    }
}

.c-dots {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .c-dots {
        gap:.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-dots {
        gap:.6rem
    }
}

.c-dots button.is-active,.c-dots li.is-active button {
    background-color: var(--current-bg-color)
}

.c-dots button {
    display: flex;
    border-radius: 50%;
    background-color: var(--base-bg-color);
    transition: background-color var(--transition-icon-show)
}

@media screen and (min-width: 1024px) {
    .c-dots button {
        width:1rem;
        height: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-dots button {
        width:.7rem;
        height: .7rem
    }
}

.c-dots.-black-transp {
    --base-bg-color: currentColor;
    --current-bg-color: var( --pallet-transp )
}

.c-dots.-black-transp button {
    border: var(--solid)
}

.c-dots.-black-yellow {
    --base-bg-color: currentColor;
    --current-bg-color: var( --color-icon3 )
}

.c-dots.-main4-transp {
    --base-bg-color: var( --color-main5 );
    --current-bg-color: var( --pallet-transp )
}

.c-dots.-main4-transp button {
    border: var(--solid) var(--color-main5)
}

.c-down {
    width: var(--icon-size);
    height: var(--icon-size);
    --background-color: var( --color-bg3 )
}

@media (hover: hover) {
    a:hover .c-down .c-down__svg path,button:hover .c-down .c-down__svg path {
        stroke:var(--hover-arrow-color)
    }
}

.js-accordion-click.is-open .c-down .c-down__svg {
    -webkit-transform: rotate(180deg)!important;
    transform: rotate(180deg)!important
}

.c-down.-type2 {
    --oval-default-scale: scale(.9);
    --oval-hover-scale: scale(1);
    width: var(--icon-size);
    height: var(--icon-size)
}

.c-down.-type2 .c-down__svg {
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-down.-type2 .c-down__svg,button:hover .c-down.-type2 .c-down__svg {
        -webkit-transform:var(--hover-scale3);
        transform: var(--hover-scale3)
    }
}

@media screen and (min-width: 1024px) {
    .c-down.-small {
        --oval-size:3.3rem;
        --icon-size: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-down.-small {
        --oval-size:2.5rem;
        --icon-size: 0.9rem
    }
}

@media screen and (min-width: 1024px) {
    .c-down.-medium {
        --oval-size:6.2rem;
        --icon-size: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-down.-medium {
        --oval-size:4.3rem;
        --icon-size: 0.8rem
    }
}

.c-down.-medium2 {
    --oval-size: 4.4rem;
    --icon-size: 1.2rem
}

.c-down.-white-main {
    --border-color: var( --color-bg2 );
    --background-color: var( --color-bg2 );
    --arrow-color: var( --color-main );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-main )
}

.c-down.-black-white {
    --border-color: var( --color-bg3 );
    --background-color: var( --color-bg3 );
    --arrow-color: var( --color-txt2 );
    --hover-border-color: var( --color-bg3 );
    --hover-background-color: var( --color-bg3 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-down.-transp-main3-white {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-main3 );
    --hover-background-color: var( --color-main3 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-down.-transp-main5-white {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt );
    --hover-border-color: var( --color-main5 );
    --hover-background-color: var( --color-main5 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-down.-transp-white-theme {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --theme-color );
    --hover-border-color: var( --color-bg2 );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --theme-color )
}

.c-down.-transp-txt8-white {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-txt4 );
    --hover-border-color: var( --color-txt8 );
    --hover-background-color: var( --color-txt8 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-down.-transp-purple-white {
    --border-color: var( --pallet-transp );
    --background-color: var( --pallet-transp );
    --arrow-color: var( --color-bg2 );
    --hover-border-color: var( --pallet-transp );
    --hover-background-color: var( --color-bg2 );
    --hover-arrow-color: var( --color-txt25 )
}

.js-accordion-click.is-open .c-down.-transp-purple-white {
    --arrow-color: var( --color-txt25 );
    --hover-background-color: var( --color-txt25 );
    --hover-arrow-color: var( --color-txt2 )
}

.c-down.-reverse {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.c-down__svg {
    width: var(--icon-size);
    height: var(--icon-size);
    transition: -webkit-transform var(--transition-accordion);
    transition: transform var(--transition-accordion);
    transition: transform var(--transition-accordion), -webkit-transform var(--transition-accordion)
}

.c-down__svg path {
    fill: none;
    stroke: var(--arrow-color);
    transition: stroke var(--transition-hover)
}

.c-download {
    width: var(--width);
    height: var(--height);
    color: var(--icon-color);
    transition: var(--transition-hover);
    transition-property: color
}

.c-download svg {
    width: var(--width);
    height: var(--height);
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.c-download g {
    stroke: currentColor
}

@media (hover: hover) {
    a:hover .c-download {
        color:var(--hover-icon-color)
    }
}

@media screen and (min-width: 1024px) {
    .c-download.-medium {
        --width:1.8rem;
        --height: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-download.-medium {
        --width:1.4rem;
        --height: 1.3rem
    }
}

.c-download.-main {
    --icon-color: var( --color-main );
    --hover-icon-color: var( --color-txt2 )
}

.c-exclamation {
    width: var(--size);
    height: var(--size)
}

.c-exclamation svg {
    width: var(--size);
    height: var(--size)
}

@media screen and (min-width: 1024px) {
    .c-exclamation.-medium {
        --size:5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-exclamation.-medium {
        --size:4.4rem
    }
}

.c-exclamation.-main2 {
    color: var(--color-main2)
}

.c-icon {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0;
    line-height: 0
}

.c-new {
    display: block
}

.c-new span {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--txt-color);
    font-family: var(--font-sans-serif);
    font-style: normal;
    font-weight: 400
}

.c-new.-small {
    --oval-size: 3.1rem
}

.c-new.-small span {
    font-size: .7rem
}

@media screen and (min-width: 1024px) {
    .c-new.-regular {
        --oval-size:4.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-regular {
        --oval-size:3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-new.-regular span {
        font-size:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-regular span {
        font-size:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-new.-medium {
        --oval-size:5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-medium {
        --oval-size:3.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-new.-medium span {
        font-size:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-medium span {
        font-size:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-new.-large {
        --oval-size:7.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-large {
        --oval-size:3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-new.-large span {
        font-size:1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-new.-large span {
        font-size:.8rem
    }
}

.c-new.-red {
    --border-color: var( --color-new );
    --background-color: var( --color-new );
    --txt-color: var( --color-txt2 );
    --hover-border-color: var( --color-new );
    --hover-background-color: var( --color-new );
    --hover-txt-color: var( --color-txt2 )
}

.c-num {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    --oval-hover-scale: scale(1);
    --hover-border-color: var( --border-color );
    --hover-background-color: var( --background-color );
    --hover-color: var( --txt-color )
}

@media (hover: hover) {
    a:hover .c-num .c-num__txt {
        color:var(--hover-color)
    }
}

a.is-anchor-current .c-num.-type-current {
    --border-color: var( --hover-border-color );
    --background-color: var( --hover-background-color );
    --txt-color: var( --hover-color )
}

@media screen and (min-width: 1024px) {
    .c-num.-small {
        --oval-size:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small {
        --oval-size:2.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-small .c-num__txt {
        font-size:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small .c-num__txt {
        font-size:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-small2 {
        --oval-size:4.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small2 {
        --oval-size:2.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-small2 .c-num__txt {
        font-size:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small2 .c-num__txt {
        font-size:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-small3 {
        --oval-size:4.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small3 {
        --oval-size:3.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-small3 .c-num__txt {
        font-size:1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-small3 .c-num__txt {
        font-size:1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular {
        --oval-size:4.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular {
        --oval-size:3.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular .c-num__txt {
        font-size:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular .c-num__txt {
        font-size:1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular2 {
        --oval-size:4.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular2 {
        --oval-size:3.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular2 .c-num__txt {
        font-size:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular2 .c-num__txt {
        font-size:1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular3 {
        --oval-size:4.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular3 {
        --oval-size:3.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-regular3 .c-num__txt {
        font-size:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-regular3 .c-num__txt {
        font-size:1.1rem
    }
}

.c-num.-regular4 {
    --oval-size: 4.6rem
}

.c-num.-regular4 .c-num__txt {
    font-size: 1.4rem
}

@media screen and (min-width: 1024px) {
    .c-num.-medium {
        --oval-size:5.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-medium {
        --oval-size:3.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-medium .c-num__txt {
        font-size:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-medium .c-num__txt {
        font-size:1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-medium2 {
        --oval-size:5.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-medium2 {
        --oval-size:3.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-medium2 .c-num__txt {
        font-size:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-medium2 .c-num__txt {
        font-size:1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-large {
        --oval-size:5.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-large {
        --oval-size:2.6rem
    }
}

.c-num.-large .c-num__txt {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-num.-large .c-num__txt {
        font-size:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-large .c-num__txt {
        font-size:1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-xxlarge {
        --oval-size:8.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-xxlarge {
        --oval-size:4.9rem
    }
}

.c-num.-xxlarge .c-num__txt {
    font-family: var(--font-sans-serif2);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-num.-xxlarge .c-num__txt::after,.c-num.-xxlarge .c-num__txt::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-num.-xxlarge .c-num__txt::before {
    margin-top: var(--font-sans-serif2-top)
}

.c-num.-xxlarge .c-num__txt::after {
    margin-bottom: var(--font-sans-serif2-bottom)
}

@media screen and (min-width: 1024px) {
    .c-num.-xxlarge .c-num__txt {
        font-size:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-xxlarge .c-num__txt {
        font-size:1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-num.-xxlarge .c-num__unit {
        font-size:1rem;
        margin-top: .6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-num.-xxlarge .c-num__unit {
        font-size:.6rem;
        margin-top: .4rem
    }
}

.c-num.-border {
    --border-color: currentColor;
    --background-color: var( --pallet-transp );
    --txt-color: currentColor
}

.c-num.-border2 {
    --border-color: currentColor;
    --background-color: var( --pallet-transp );
    --txt-color: currentColor;
    opacity: .5
}

.c-num.-border-blue {
    --border-color: var( --color-txt8 );
    --background-color: var( --pallet-transp );
    --txt-color: var( --color-txt8 )
}

.c-num.-border-beige {
    --border-color: var( --color-line11 );
    --background-color: var( --pallet-transp );
    --txt-color: var( --color-txt20 );
    --hover-border-color: var( --color-line11 );
    --hover-background-color: var( --color-txt20 );
    --hover-color: var( --color-txt21 )
}

.c-num.-border-purple {
    --border-color: var( --color-txt25 );
    --background-color: var( --pallet-transp );
    --txt-color: var( --color-txt25 )
}

.c-num.-black-white {
    --border-color: var( --color-txt );
    --background-color: var( --color-txt );
    --txt-color: var( --color-txt2 );
    --hover-border-color: var( --color-hover );
    --hover-background-color: var( --color-hover )
}

.c-num.-black-beige {
    --border-color: var( --color-bg3 );
    --background-color: var( --color-bg3 );
    --txt-color: var( --color-txt20 );
    --hover-border-color: var( --color-bg3 );
    --hover-background-color: var( --color-bg3 )
}

.c-num.-white-main3 {
    --border-color: var( --color-bg2 );
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-main3 )
}

.c-num.-white-brown {
    --border-color: var( --color-bg2 );
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-txt14 )
}

.c-num.-yellow-orange {
    --border-color: var( --color-txt26 );
    --background-color: var( --color-txt26 );
    --txt-color: var( --color-bg23 )
}

.c-num__txt {
    display: block;
    color: var(--txt-color);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    transition: color var(--transition-hover)
}

.c-num__txt::after,.c-num__txt::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-num__txt::before {
    margin-top: var(--font-sans-serif-top)
}

.c-num__txt::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-num__unit {
    display: block;
    color: var(--txt-color);
    font-family: var(--font-sans-serif2);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-num__unit::after,.c-num__unit::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-num__unit::before {
    margin-top: var(--font-sans-serif2-top)
}

.c-num__unit::after {
    margin-bottom: var(--font-sans-serif2-bottom)
}

.c-oval {
    position: relative;
    width: var(--oval-size);
    height: var(--oval-size)
}

.c-oval>:not(.c-oval__svg) {
    position: relative;
    z-index: 1
}

@media (hover: hover) {
    a:hover .c-oval .c-oval__svg,button:hover .c-oval .c-oval__svg {
        stroke:var(--hover-border-color,currentColor);
        fill: var(--hover-background-color,currentColor);
        -webkit-transform: translate(-50%,-50%) var(--oval-hover-scale,var(--hover-scale));
        transform: translate(-50%,-50%) var(--oval-hover-scale,var(--hover-scale))
    }
}

a.c-oval {
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none
}

@media (hover: hover) {
    a.c-oval:hover .c-oval__svg {
        stroke:var(--hover-border-color,currentColor);
        fill: var(--hover-background-color,currentColor);
        -webkit-transform: translate(-50%,-50%) var(--oval-hover-scale,var(--hover-scale));
        transform: translate(-50%,-50%) var(--oval-hover-scale,var(--hover-scale))
    }
}

a.c-oval .c-oval__svg {
    pointer-events: auto
}

a.c-oval.-not-scale {
    --oval-hover-scale: scale(1)
}

.c-oval__svg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) var(--oval-default-scale,scale(1));
    transform: translate(-50%,-50%) var(--oval-default-scale,scale(1));
    width: calc(var(--oval-size) - var(--border-width,0px) - var(--border-width,0px));
    height: calc(var(--oval-size) - var(--border-width,0px) - var(--border-width,0px));
    z-index: 0;
    overflow: visible;
    stroke: var(--border-color,currentColor);
    stroke-width: var(--border-width,0);
    fill: var(--background-color,currentColor);
    transition: var(--transition-hover);
    transition-property: stroke,fill,-webkit-transform;
    transition-property: stroke,fill,transform;
    transition-property: stroke,fill,transform,-webkit-transform
}

.c-oval-animation {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity var(--transition-fade)
}

.c-oval-animation.is-init {
    opacity: 1
}

.c-oval-animation.is-init.-opacity-5 {
    opacity: .5
}

.c-oval-animation.is-init.-black {
    opacity: .03
}

.c-oval-animation * {
    pointer-events: none
}

.c-oval-animation div {
    position: absolute;
    z-index: 10;
    opacity: 0
}

.c-oval-animation div:nth-of-type(10n-1) {
    --img-width: 32.5rem
}

.c-oval-animation div:nth-of-type(10n-2) {
    --img-width: 5.2rem
}

.c-oval-animation div:nth-of-type(10n-3) {
    --img-width: 9.8rem
}

.c-oval-animation div:nth-of-type(10n-4) {
    --img-width: 22rem
}

.c-oval-animation div:nth-of-type(10n-5) {
    --img-width: 14rem
}

.c-oval-animation div:nth-of-type(10n-6) {
    --img-width: 12.4rem
}

.c-oval-animation div:nth-of-type(10n-7) {
    --img-width: 21.7rem
}

.c-oval-animation div:nth-of-type(10n-8) {
    --img-width: 7rem
}

.c-oval-animation div:nth-of-type(10n-9) {
    --img-width: 3rem
}

.c-oval-animation div:nth-of-type(10n-10) {
    --img-width: 12rem
}

@media screen and (min-width: 1024px) {
    .c-oval-animation div {
        width:var(--img-width)
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-animation div {
        width:calc(var(--img-width) * .67)
    }
}

.c-oval-animation img {
    width: 100%
}

.c-oval2 {
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: -webkit-transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow), -webkit-transform var(--transition-hover-slow)
}

@media (hover: hover) {
    a:hover .c-oval2 {
        -webkit-transform:var(--hover-scale4) rotate(.00001deg);
        transform: var(--hover-scale4) rotate(.00001deg)
    }

    a:hover .c-oval2 img {
        -webkit-transform: var(--hover-scale) rotate(.00001deg);
        transform: var(--hover-scale) rotate(.00001deg)
    }
}

.c-oval2 img {
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg);
    transition: opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important
}

@media screen and (min-width: 1024px) {
    .c-oval2-mqUp-lg {
        -webkit-mask-image:url(../img/common/oval/oval.webp);
        mask-image: url(../img/common/oval/oval.webp);
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat
    }
}

.c-oval3 {
    position: relative;
    aspect-ratio: 1/1
}

.c-oval3::after,.c-oval3::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.c-oval3::before {
    z-index: 0
}

.c-oval3::after {
    z-index: -1
}

.c-oval3.-shadow::after {
    background-image: url(../img/common/oval/oval_shadow.webp);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

.c-oval4 {
    position: relative
}

.c-oval4::after,.c-oval4::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 1/1;
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.c-oval4::before {
    z-index: -1
}

.c-oval4::after {
    z-index: -2
}

.c-oval5 {
    position: relative
}

.c-oval5::before {
    content: '';
    display: block;
    position: absolute;
    aspect-ratio: 1/1;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

.c-oval5>:first-of-type {
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: -webkit-transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow);
    transition: transform var(--transition-hover-slow), -webkit-transform var(--transition-hover-slow)
}

@media (hover: hover) {
    a:hover .c-oval5>:first-of-type {
        -webkit-transform:var(--hover-scale4) rotate(.00001deg);
        transform: var(--hover-scale4) rotate(.00001deg)
    }

    a:hover .c-oval5>:first-of-type img {
        -webkit-transform: var(--hover-scale) rotate(.00001deg);
        transform: var(--hover-scale) rotate(.00001deg)
    }
}

.c-oval5 img {
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg);
    transition: opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear!important;
    transition: transform var(--transition-hover-slow),opacity .2s linear,-webkit-transform var(--transition-hover-slow)!important
}

.c-oval5.-shadow2::before {
    width: calc((795 / 859) * 100%);
    right: calc((-51 / 859) * 100%);
    bottom: calc((-118 / 859) * 100%);
    background-image: url(../img/common/oval/oval_shadow2.webp)
}

.c-oval5.-shadow3::before {
    width: calc((451 / 454) * 100%);
    right: calc((-66 / 454) * 100%);
    bottom: calc((-123 / 454) * 100%);
    background-image: url(../img/common/oval/oval_shadow3.webp)
}

.c-oval5.-shadow4::before {
    width: calc((349 / 334) * 100%);
    right: calc((-73 / 334) * 100%);
    bottom: calc((-127 / 334) * 100%);
    background-image: url(../img/common/oval/oval_shadow4.webp)
}

.c-oval5.-shadow5::before {
    width: calc((543 / 566) * 100%);
    right: calc((-45 / 566) * 100%);
    bottom: calc((-103 / 566) * 100%);
    background-image: url(../img/common/oval/oval_shadow5.webp)
}

.c-oval5.-shadow6::before {
    width: calc((331 / 311) * 100%);
    right: calc((-64 / 311) * 100%);
    bottom: calc((-98 / 311) * 100%);
    background-image: url(../img/common/oval/oval_shadow6.webp)
}

.c-oval5.-shadow7::before {
    width: calc((283 / 254) * 100%);
    right: calc((-48 / 254) * 100%);
    bottom: calc((-73 / 254) * 100%);
    background-image: url(../img/common/oval/oval_shadow7.webp)
}

.c-oval-title img {
    width: 100%
}

@media screen and (min-width: 1024px) {
    .c-oval-title.-small .c-oval-title__title {
        width:calc((109 / 220) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-title.-small .c-oval-title__title {
        width:calc((87 / 177) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .c-oval-title.-medium .c-oval-title__title {
        width:calc((179 / 334) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-title.-medium .c-oval-title__title {
        width:calc((102 / 160) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .c-oval-title.-large .c-oval-title__title {
        width:calc((424 / 858) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-title.-large .c-oval-title__title {
        width:calc((208 / 405) * 100%);
        top: 46%
    }
}

.c-oval-title__title {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(.00001deg);
    transform: translate(-50%,-50%) rotate(.00001deg);
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .c-oval-title__title {
        --transition-delay:700ms
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-title__title {
        --transition-delay:500ms
    }
}

.c-oval-title__oval {
    position: relative;
    z-index: 0
}

@media screen and (min-width: 1024px) {
    .c-oval-title__oval {
        --transition-delay:500ms
    }
}

@media screen and (max-width: 1023px) {
    .c-oval-title__oval {
        --transition-delay:300ms
    }
}

.c-person {
    width: var(--width);
    height: var(--height)
}

.c-person svg {
    width: var(--width);
    height: var(--height)
}

.c-person g {
    stroke: currentColor
}

@media screen and (min-width: 1024px) {
    .c-person.-small {
        --width:1.4rem;
        --height: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person.-small {
        --width:0.9rem;
        --height: 1rem
    }
}

.c-person2 {
    display: block;
    width: var(--width);
    height: var(--height)
}

.c-person2 svg {
    width: var(--width);
    height: var(--height);
    fill: currentColor
}

@media screen and (min-width: 1024px) {
    .c-person2.-xsmall {
        --width:2.5rem;
        --height: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person2.-xsmall {
        --width:1.7rem;
        --height: 1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-person2.-xsmall2 {
        --width:2.5rem;
        --height: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person2.-xsmall2 {
        --width:1.4rem;
        --height: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-person2.-small {
        --width:3.7rem;
        --height: 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person2.-small {
        --width:2.4rem;
        --height: 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-person2.-small2 {
        --width:3.2rem;
        --height: 2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person2.-small2 {
        --width:2.2rem;
        --height: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-person2.-small3 {
        --width:3rem;
        --height: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-person2.-small3 {
        --width:1.6rem;
        --height: 1rem
    }
}

.c-play {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-play::before {
    content: '';
    position: relative;
    z-index: 10;
    display: block;
    width: var(--icon-width);
    height: var(--icon-height);
    background-color: var(--play-color);
    clip-path: polygon(0 0,0 100%,100% 50%)
}

@media (hover: hover) {
    a:hover .c-play::before {
        background-color:var(--hover-play-color)
    }
}

@media screen and (min-width: 1024px) {
    .c-play.-medium {
        --oval-size:4rem;
        --icon-width: 0.8rem;
        --icon-height: 0.7rem;
        padding-left: .2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-play.-medium {
        --oval-size:3.4rem;
        --icon-width: 0.7rem;
        --icon-height: 0.6rem;
        padding-left: .1rem
    }
}

.c-play.-red {
    --border-color: var( --color-play );
    --background-color: var( --color-play );
    --play-color: var( --color-txt2 );
    --hover-border-color: var( --color-play );
    --hover-background-color: var( --color-play );
    --hover-play-color: var( --color-txt2 )
}

.c-plus {
    position: relative;
    display: block;
    width: var(--circle-size);
    height: var(--circle-size);
    border-radius: 50%;
    background-color: var(--bg-color);
    transition: var(--transition-accordion);
    transition-property: border,background-color
}

.c-plus::after,.c-plus::before {
    content: '';
    display: block;
    background-color: var(--line-color);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(.00001deg);
    transform: translate(-50%,-50%) rotate(.00001deg)
}

.c-plus::before {
    width: var(--line-size);
    height: var(--border-width);
    transition: background-color var(--transition-accordion)
}

.c-plus::after {
    width: var(--border-width);
    height: var(--line-size);
    transition: height var(--transition-accordion)
}

.js-accordion-click-mqDown-lg.is-open .c-plus {
    border-color: var(--open-bg);
    background-color: var(--open-bg)
}

.js-accordion-click-mqDown-lg.is-open .c-plus::before {
    background-color: var(--open-line)
}

.js-accordion-click-mqDown-lg.is-open .c-plus::after {
    height: 0
}

.c-plus.-small {
    --circle-size: 2rem;
    --line-size: 0.8rem
}

.c-plus.-small2 {
    --circle-size: 2rem;
    --line-size: 0.6rem
}

.c-plus.-small3 {
    --circle-size: 2.2rem;
    --line-size: 0.8rem
}

.c-plus.-white-black {
    border: var(--solid2);
    --bg-color: var( --color-bg2 );
    --line-color: var( --color-bg3 );
    --open-bg: var( --color-bg3 );
    --open-line: var( --color-bg2 )
}

.c-plus.-white-border-main {
    border: var(--solid16);
    --bg-color: var( --pallet-transp );
    --line-color: var( --color-txt2 );
    --open-bg: var( --color-bg2 );
    --open-line: var( --color-main )
}

.c-plus.-white-black2 {
    border: var(--solid2);
    --bg-color: var( --color-bg2 );
    --line-color: var( --color-bg3 );
    --open-bg: var( --color-bg2 );
    --open-line: var( --color-bg3 )
}

.c-plus.-black-beige {
    --bg-color: var( --color-bg3 );
    --line-color: var( --color-bg18 );
    --open-bg: var( --color-bg3 );
    --open-line: var( --color-bg18 )
}

.c-plus.-main3-white {
    --bg-color: var( --color-main3 );
    --line-color: var( --color-txt2 );
    --open-bg: var( --color-main3 );
    --open-line: var( --color-txt2 )
}

.c-post {
    width: var(--width);
    height: var(--height);
    transition: var(--transition-hover);
    transition-property: color
}

.c-post svg {
    width: var(--width);
    height: var(--height)
}

.c-post path {
    stroke: currentColor;
    transition: stroke var(--transition-hover)
}

@media screen and (min-width: 1024px) {
    .c-post.-medium {
        --width:1.7rem;
        --height: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-post.-medium {
        --width:1.4rem;
        --height: 1rem
    }
}

.c-post2 {
    width: var(--width);
    height: var(--height);
    transition: var(--transition-hover);
    transition-property: color
}

.c-post2 svg {
    width: var(--width);
    height: var(--height)
}

.c-post2 path {
    stroke: currentColor;
    transition: stroke var(--transition-hover)
}

@media screen and (min-width: 1024px) {
    .c-post2.-medium {
        --width:2rem;
        --height: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-post2.-medium {
        --width:1.6rem;
        --height: 1rem
    }
}

.c-rank {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .c-rank.-medium .c-rank__en {
        font-size:var(--font-size13);
        padding: .7rem 1.35rem
    }
}

@media screen and (max-width: 1023px) {
    .c-rank.-medium .c-rank__en {
        font-size:var(--font-size10);
        padding: .6rem 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-rank.-medium .c-rank__num {
        font-size:var(--font-size60);
        margin-top: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-rank.-medium .c-rank__num {
        font-size:var(--font-size48);
        margin-top: .9rem
    }
}

.c-rank__en {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: var(--theme-color);
    color: var(--color-txt2);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-rank__en::after,.c-rank__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-rank__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-rank__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-rank__num {
    color: var(--theme-color);
    font-family: var(--font-sans-serif2);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

.c-rank__num::after,.c-rank__num::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-rank__num::before {
    margin-top: var(--font-sans-serif2-top)
}

.c-rank__num::after {
    margin-bottom: var(--font-sans-serif2-bottom)
}

.c-snss {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 1024px) {
    .c-snss {
        gap:.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-snss {
        gap:.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-sns {
        --oval-size:6.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-sns {
        --oval-size:5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-sns.-instagram .c-sns__svg {
        width:15px;
        height: 15px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns.-instagram .c-sns__svg {
        width:13px;
        height: 13px
    }
}

@media screen and (min-width: 1024px) {
    .c-sns.-x .c-sns__svg {
        width:14px;
        height: 14px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns.-x .c-sns__svg {
        width:12px;
        height: 12px
    }
}

@media screen and (min-width: 1024px) {
    .c-sns.-facebook .c-sns__svg {
        width:8px;
        height: 16px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns.-facebook .c-sns__svg {
        width:7px;
        height: 13px
    }
}

.c-sns.-black {
    --border-color: var( --color-line2 );
    --background-color: var( --color-bg2 )
}

.c-sns.-black.-instagram {
    --hover-border-color: var( --color-sns-instagram );
    --hover-background-color: var( --color-sns-instagram )
}

.c-sns.-black.-x {
    --hover-border-color: var( --color-sns-x );
    --hover-background-color: var( --color-sns-x )
}

.c-sns.-black.-facebook {
    --hover-border-color: var( --color-sns-facebook );
    --hover-background-color: var( --color-sns-facebook )
}

.c-sns.-black .c-sns__svg {
    fill: var(--color-txt)
}

@media (hover: hover) {
    .c-sns.-black:hover .c-sns__svg {
        fill:var(--color-txt2)
    }
}

.c-sns.-white {
    --border-color: var( --color-txt2 );
    --background-color: var( --pallet-transp );
    --hover-border-color: var( --color-txt2 );
    --hover-background-color: var( --color-txt2 )
}

.c-sns.-white.-instagram {
    --hover-color: var( --color-sns-instagram )
}

.c-sns.-white.-x {
    --hover-color: var( --color-sns-x )
}

.c-sns.-white.-facebook {
    --hover-color: var( --color-sns-facebook )
}

.c-sns.-white .c-sns__svg {
    fill: var(--color-txt2)
}

@media (hover: hover) {
    .c-sns.-white:hover .c-sns__svg {
        fill:var(--hover-color)
    }
}

.c-sns__svg {
    transition: fill var(--transition-hover)
}

@media (hover: hover) {
    a:hover .c-sns2 .c-sns2__svg {
        fill:var(--hover-icon-color)
    }
}

.c-sns2.-x {
    --hover-icon-color: var( --color-sns2-x )
}

@media screen and (min-width: 1024px) {
    .c-sns2.-x {
        --width:14px;
        --height: 14px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns2.-x {
        --width:12px;
        --height: 12px
    }
}

.c-sns2.-facebook {
    --hover-icon-color: var( --color-sns2-facebook )
}

@media screen and (min-width: 1024px) {
    .c-sns2.-facebook {
        --width:8px;
        --height: 16px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns2.-facebook {
        --width:6.5px;
        --height: 13px
    }
}

.c-sns2.-line {
    --hover-icon-color: var( --color-sns2-line )
}

@media screen and (min-width: 1024px) {
    .c-sns2.-line {
        --width:22px;
        --height: 21px
    }
}

@media screen and (max-width: 1023px) {
    .c-sns2.-line {
        --width:18px;
        --height: 17px
    }
}

.c-sns2__svg {
    width: var(--width);
    height: var(--height);
    transition: fill var(--transition-hover)
}

.c-breadcrumb ol {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.c-breadcrumb li {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em);
    overflow: hidden;
    padding: var(--anchor-padding) 0;
    margin: calc(var(--anchor-padding) * -1) 0
}

@media screen and (min-width: 1024px) {
    .c-breadcrumb li {
        font-size:var(--font-size10)
    }
}

@media screen and (max-width: 1023px) {
    .c-breadcrumb li {
        font-size:var(--font-size8)
    }
}

.c-breadcrumb li:not(:last-of-type) {
    flex: none;
    display: flex;
    align-items: center
}

.c-breadcrumb li:not(:last-of-type)::after {
    content: '';
    display: block;
    height: 0;
    border-top: var(--solid);
    opacity: .5
}

@media screen and (min-width: 1024px) {
    .c-breadcrumb li:not(:last-of-type)::after {
        width:3rem;
        margin: 0 .8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breadcrumb li:not(:last-of-type)::after {
        width:1.6rem;
        margin: 0 .5rem
    }
}

.c-breadcrumb li:not(:has(a)) {
    opacity: .5
}

.c-breadcrumb:not(.-last-anchor) li:last-of-type a {
    opacity: .5;
    pointer-events: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: none
}

.c-breadcrumb:not(.-last-anchor) li:last-of-type .c-anchor-lineOut {
    background: 0 0
}

.c-breadcrumb .c-anchor-lineOut {
    display: inline-block;
    padding: var(--anchor-padding) 0;
    margin: calc(var(--anchor-padding) * -1) 0
}

.c-breadcrumb.-white {
    color: var(--color-txt2)
}

.c-breakdown {
    display: grid
}

@media screen and (min-width: 1024px) {
    .c-breakdown {
        row-gap:1.35rem;
        -webkit-column-gap: 2.4rem;
        -moz-column-gap: 2.4rem;
        column-gap: 2.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown {
        row-gap:1rem;
        -webkit-column-gap: 1.8rem;
        -moz-column-gap: 1.8rem;
        column-gap: 1.8rem
    }
}

.c-breakdown li {
    display: flex;
    align-items: flex-start;
    color: var(--color-txt3)
}

@media screen and (min-width: 1024px) {
    .c-breakdown li {
        font-size:1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown li {
        font-size:1.2rem
    }
}

.c-breakdown li::before {
    content: '';
    display: block;
    min-width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background-color: var(--theme-color)
}

@media screen and (min-width: 1024px) {
    .c-breakdown li::before {
        --size:1.4rem;
        margin-top: .1rem;
        margin-right: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown li::before {
        --size:1.2rem;
        margin-top: .1rem;
        margin-right: .6rem
    }
}

.c-breakdown .-small {
    display: inline-block;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px)
}

@media screen and (min-width: 1024px) {
    .c-breakdown .-small {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown .-small {
        font-size:var(--font-size10)
    }
}

.c-breakdown.-color1 li:nth-of-type(1) {
    --theme-color: var( --color-list )
}

.c-breakdown.-color1 li:nth-of-type(2) {
    --theme-color: var( --color-list2 )
}

.c-breakdown.-color1 li:nth-of-type(3) {
    --theme-color: var( --color-list3 )
}

.c-breakdown.-color1 li:nth-of-type(4) {
    --theme-color: var( --color-list4 )
}

.c-breakdown.-color1 li:nth-of-type(5) {
    --theme-color: var( --color-list5 )
}

.c-breakdown.-color1 li:nth-of-type(6) {
    --theme-color: var( --color-list6 )
}

.c-breakdown.-color1 li:nth-of-type(7) {
    --theme-color: var( --color-list7 )
}

.c-breakdown.-color1 li:nth-of-type(8) {
    --theme-color: var( --color-list8 )
}

.c-breakdown.-color2 li:nth-of-type(1) {
    --theme-color: var( --color-list9 )
}

.c-breakdown.-color2 li:nth-of-type(2) {
    --theme-color: var( --color-list10 )
}

.c-breakdown.-vertical {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column
}

@media screen and (min-width: 1024px) {
    .c-breakdown.-vertical {
        height:12.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown.-vertical {
        height:8.4rem
    }
}

.c-breakdown__small {
    display: block
}

@media screen and (min-width: 1024px) {
    .c-breakdown__small {
        font-size:var(--font-size12);
        --line-height: calc( 16 / 12 );
        margin-top: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-breakdown__small {
        font-size:var(--font-size10);
        --line-height: calc( 14 / 10 );
        margin-top: .4rem
    }
}

.c-chapter {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--txt-color);
    --oval-hover-scale: scale(1)
}

@media screen and (min-width: 1024px) {
    .c-chapter.-medium {
        --oval-size:4.8rem;
        padding-left: .2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-chapter.-medium {
        --oval-size:4.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-chapter.-medium .c-chapter__txt {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .c-chapter.-medium .c-chapter__txt {
        font-size:var(--font-size10)
    }
}

.c-chapter.-white-main5 {
    --border-color: var( --color-main5 );
    --background-color: var( --color-bg );
    --txt-color: var( --color-main5 );
    --hover-border-color: var( --color-main5 );
    --hover-background-color: var( --color-bg );
    --hover-color: var( --color-main5 )
}

.c-chapter__txt {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

.c-counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    --border-color: var( --color-line );
    --background-color: var( --color-bg2 )
}

@media screen and (min-width: 1024px) {
    .c-counter {
        --oval-size:6.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-counter {
        --oval-size:4.5rem
    }
}

.c-counter p {
    text-align: center;
    font-family: var(--font-sans-serif);
    font-weight: 300
}

@media screen and (min-width: 1024px) {
    .c-counter p {
        font-size:var(--font-size12);
        font-size: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-counter p {
        font-size:var(--font-size8);
        font-size: .8rem
    }
}

.c-counter__current {
    border-bottom: var(--solid7)
}

@media screen and (min-width: 1024px) {
    .c-counter__current {
        width:2.4rem;
        padding-bottom: .3rem;
        margin-bottom: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-counter__current {
        width:1.6rem;
        padding-bottom: .2rem;
        margin-bottom: .4rem
    }
}

.c-crop {
    display: block;
    line-height: calc(var(--line-height) * 1em);
    padding-top: .1px;
    padding-bottom: .1px
}

.c-crop::after,.c-crop::before {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.c-crop::before {
    margin-top: calc((1 - var(--line-height)) * .5em)
}

.c-crop::after {
    margin-bottom: calc((1 - var(--line-height)) * .5em)
}

.c-crop-v {
    display: block;
    line-height: calc(var(--line-height) * 1em);
    padding-right: .1px;
    padding-left: .1px
}

.c-crop-v::after,.c-crop-v::before {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.c-crop-v::before {
    margin-right: calc((1 - var(--line-height)) * .5em)
}

.c-crop-v::after {
    margin-left: calc((1 - var(--line-height)) * .5em)
}

.c-logo>* {
    display: flex;
    align-items: center
}

.c-logo a {
    transition: var(--transition-hover);
    transition-property: opacity
}

@media (hover: hover) {
    .c-logo a:hover {
        opacity:var(--hover-opacity)
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-xsmall .c-logo__img {
        width:7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-xsmall .c-logo__img {
        width:4.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-xsmall .c-logo__txt {
        height:1.9rem;
        font-size: var(--font-size18);
        padding-left: 1rem;
        margin-left: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-xsmall .c-logo__txt {
        height:1.2rem;
        font-size: var(--font-size12);
        padding-left: .6rem;
        margin-left: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-small .c-logo__img {
        width:10rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-small .c-logo__img {
        width:6.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-small .c-logo__txt {
        height:2.6rem;
        font-size: var(--font-size26);
        padding-left: 1.7rem;
        margin-left: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-small .c-logo__txt {
        height:1.7rem;
        font-size: var(--font-size17);
        padding-left: .9rem;
        margin-left: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-regular .c-logo__img {
        width:10.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-regular .c-logo__img {
        width:5.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-regular .c-logo__txt {
        height:2.9rem;
        font-size: var(--font-size28);
        padding-left: 1.5rem;
        margin-left: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-regular .c-logo__txt {
        height:1.4rem;
        font-size: var(--font-size14);
        padding-left: .8rem;
        margin-left: .9rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-medium .c-logo__img {
        width:11.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-medium .c-logo__img {
        width:6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-medium .c-logo__txt {
        height:3rem;
        font-size: var(--font-size30);
        padding-left: 2.1rem;
        margin-left: 2.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-medium .c-logo__txt {
        height:1.5rem;
        font-size: var(--font-size15);
        padding-left: 1.1rem;
        margin-left: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-large .c-logo__img {
        width:21.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-large .c-logo__img {
        width:11.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-logo.-large .c-logo__txt {
        height:5.8rem;
        font-size: var(--font-size57);
        padding-left: 3.2rem;
        margin-left: 3.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo.-large .c-logo__txt {
        height:3rem;
        font-size: var(--font-size29);
        padding-left: 1.6rem;
        margin-left: 1.8rem
    }
}

.c-logo.-white {
    -webkit-filter: var(--filter-white);
    filter: var(--filter-white)
}

.c-logo__img img {
    width: 100%
}

.c-logo__txt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-sans-serif);
    font-weight: 300;
    overflow: hidden
}

.c-logo__txt::before {
    content: '';
    display: block;
    width: 1px;
    height: 0;
    background-color: currentColor;
    position: absolute;
    top: 0;
    left: 0;
    transition: height var(--transition-slideline)
}

.c-logo__txt span {
    display: block;
    -webkit-transform: translate3d(-150%,0,0);
    transform: translate3d(-150%,0,0);
    transition: -webkit-transform var(--transition-slidetxt);
    transition: transform var(--transition-slidetxt);
    transition: transform var(--transition-slidetxt), -webkit-transform var(--transition-slidetxt)
}

.is-shown .c-logo__txt::before {
    height: 100%
}

.is-shown .c-logo__txt span {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    transition-delay: .3s
}

.c-logo2 {
    display: flex;
    align-items: center
}

.c-logo2.-white .c-logo2__top a {
    border: var(--solid16);
    background-color: var(--pallet-transp);
    color: var(--color-txt2)
}

@media (hover: hover) {
    .c-logo2.-white .c-logo2__top a:hover {
        background-color:var(--color-bg2);
        color: var(--color-main)
    }
}

.c-logo2.-black .c-logo2__top a {
    border: var(--solid2);
    background-color: var(--color-bg2)
}

@media (hover: hover) {
    .c-logo2.-black .c-logo2__top a:hover {
        border-color:var(--color-bg3);
        background-color: var(--color-bg3);
        color: var(--color-txt2)
    }
}

.c-logo2__main {
    display: flex;
    align-items: center
}

.c-logo2__img img {
    width: 100%
}

@media screen and (min-width: 1024px) {
    .c-logo2__img svg {
        width:12.5rem;
        height: 5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo2__img svg {
        width:8.5rem;
        height: 3.4rem
    }
}

.c-logo2__txt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-sans-serif);
    font-weight: 300
}

@media screen and (min-width: 1024px) {
    .c-logo2__txt {
        height:3.3rem;
        font-size: var(--font-size32);
        padding-left: 1.7rem;
        margin-left: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo2__txt {
        height:2.3rem;
        font-size: var(--font-size22);
        padding-left: 1.1rem;
        margin-left: 1.4rem
    }
}

.c-logo2__txt::before {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: currentColor;
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (min-width: 1024px) {
    .c-logo2__top {
        width:6.2rem;
        height: 3.2rem;
        margin-left: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-logo2__top {
        width:5.5rem;
        height: 2.8rem;
        margin-left: .9rem
    }
}

.c-logo2__top a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--color-txt);
    font-family: var(--font-sans-serif);
    font-weight: 300;
    font-size: var(--font-size12);
    transition: var(--transition-hover);
    transition-property: border-color,background-color,color
}

[class*=c-ls] {
    letter-spacing: var(--letter-spacing)
}

.c-ls {
    margin-right: calc(var(--letter-spacing) * -1)
}

.c-ls-v {
    margin-bottom: calc(var(--letter-spacing) * -1)
}

@media screen and (min-width: 1024px) {
    .c-ls-v-h-lg {
        margin-bottom:calc(var(--letter-spacing) * -1)
    }
}

@media screen and (max-width: 1023px) {
    .c-ls-v-h-lg {
        margin-right:calc(var(--letter-spacing) * -1)
    }
}

@media screen and (min-width: 1024px) {
    .c-ls-h-v-lg {
        margin-right:calc(var(--letter-spacing) * -1)
    }
}

@media screen and (max-width: 1023px) {
    .c-ls-h-v-lg {
        margin-bottom:calc(var(--letter-spacing) * -1)
    }
}

.c-marker {
    background: var(--color-marker_1);
    color: var(--color-txt2);
    padding: 0 .2rem;
    margin: 0 .2rem
}

.c-marker2 {
    background: var(--color-marker2);
    color: var(--color-main2);
    padding: 0 .2rem;
    margin: 0 .2rem
}

.c-marker3 {
    background: var(--color-marker3);
    padding: .1rem .2rem;
    margin: 0 .2rem
}

.c-scroll {
    position: relative;
    width: var(--oval-size);
    height: var(--scroll-line-height);
    --border-color: var( --color-bg3 );
    --background-color: var( --color-bg3 )
}

@media screen and (min-width: 1024px) {
    .c-scroll {
        --oval-size:5.0rem
    }
}

@media screen and (max-width: 1023px) {
    .c-scroll {
        --oval-size:35px
    }
}

@media screen and (min-width: 1024px) {
    .c-scroll.-medium {
        --scroll-line-height:11rem
    }
}

@media screen and (max-width: 1023px) {
    .c-scroll.-medium {
        --scroll-line-height:7.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-scroll.-large {
        --scroll-line-height:18rem
    }
}

@media screen and (max-width: 1023px) {
    .c-scroll.-large {
        --scroll-line-height:10rem
    }
}

.c-scroll__txt {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-txt2);
    -webkit-animation: scrolltxt var(--animation-scrolltxt);
    animation: scrolltxt var(--animation-scrolltxt)
}

@media screen and (min-width: 1024px) {
    .c-scroll__txt {
        padding-bottom:.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-scroll__txt {
        padding-bottom:.2rem
    }
}

.c-scroll__txt span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-scroll__txt span::after,.c-scroll__txt span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-scroll__txt span::before {
    margin-top: var(--font-sans-serif-top)
}

.c-scroll__txt span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-scroll__txt span {
        font-size:var(--font-size10)
    }
}

@media screen and (max-width: 1023px) {
    .c-scroll__txt span {
        font-size:var(--font-size7)
    }
}

.c-scroll__line {
    width: 1px;
    height: 100%;
    background-color: var(--color-bg3);
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.c-small {
    display: flex;
    align-items: baseline;
    line-height: inherit
}

.c-small::before {
    content: '※'
}

.c-small small {
    flex: 1
}

.c-stroke {
    position: relative;
    -webkit-text-stroke: calc(var(--stroke-width) * 2) var(--stroke-color)
}

.c-stroke::before {
    content: attr(data-txt);
    font-size: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-text-stroke: 0;
    white-space: nowrap
}

.c-table {
    border-top: var(--solid);
    border-color: var(--border-color)
}

@media screen and (min-width: 1024px) {
    .c-table dl {
        display:flex
    }
}

@media screen and (max-width: 1023px) {
    .c-table dl {
        border-bottom:var(--solid);
        border-color: var(--border-color2)
    }
}

@media screen and (min-width: 1024px) {
    .c-table dd,.c-table dt {
        border-bottom:var(--solid)
    }
}

@media screen and (min-width: 1024px) {
    .c-table dd.-center,.c-table dt.-center {
        display:flex;
        align-items: center
    }
}

.c-table dt {
    border-color: var(--border-color)
}

.c-table dd {
    flex: 1;
    border-color: var(--border-color2)
}

.c-table a.-right {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width: 1023px) {
    .c-table a.-right {
        margin:0 0 0 auto
    }
}

.c-table.-medium {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-table.-medium {
        font-size:var(--font-size16);
        --line-height: calc( 26 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium {
        font-size:var(--font-size13);
        --line-height: calc( 22 / 13 )
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium dl {
        padding:2.4rem 0 2.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium dd,.c-table.-medium dt {
        padding:3.6rem 0
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium dt {
        width:22.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium dd {
        padding-right:9rem;
        padding-left: 4.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium dd {
        margin-top:1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium .-large {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium .-large {
        font-size:var(--font-size15)
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium .-large2 {
        font-size:var(--font-size15)
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium .-space2 {
        margin-top:3.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium .-space2 {
        margin-top:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table.-medium .-space3 {
        margin-top:.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table.-medium .-space3 {
        margin-top:1rem
    }
}

.c-table.-theme {
    --border-color: var( --theme-color );
    --border-color2: var( --color-line8 )
}

.c-table.-theme dt {
    color: var(--theme-color)
}

.c-table.-theme dd {
    color: var(--color-txt7)
}

.c-table2 {
    max-width: var(--table-width,100%);
    width: 100%;
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-table2 dl {
    display: flex
}

.c-table2 dl+dl dd,.c-table2 dl+dl dt {
    border-top: var(--solid)
}

.c-table2 dt {
    border-color: var(--dd-bg-color)!important;
    background-color: var(--dt-bg-color);
    color: var(--dt-txt-color)
}

@media screen and (min-width: 1024px) {
    .c-table2 dt {
        width:var(--dt-width)
    }
}

@media screen and (max-width: 1023px) {
    .c-table2 dt {
        width:50%
    }
}

.c-table2 dd {
    flex: 1;
    border-color: var(--dt-bg-color)!important;
    background-color: var(--dd-bg-color);
    color: var(--dd-txt-color);
    text-align: center
}

@media screen and (min-width: 1024px) {
    .c-table2.-medium {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-table2.-medium {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .c-table2.-medium dd,.c-table2.-medium dt {
        padding:1.2rem 1.7rem 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table2.-medium dd,.c-table2.-medium dt {
        padding:.9rem .9rem 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table2.-size1 {
        --table-width:44.7rem;
        --dt-width: 20.7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table2.-size2 {
        --table-width:44.7rem;
        --dt-width: 17.8rem
    }
}

.c-table2.-brown {
    --dt-bg-color: var( --color-bg16 );
    --dt-txt-color: var( --color-txt2 );
    --dd-bg-color: var( --color-bg2 );
    --dd-txt-color: var( --color-txt7 )
}

.c-table3>dl {
    border-bottom: var(--solid2);
    padding-bottom: var(--padding)
}

@media screen and (min-width: 1024px) {
    .c-table3>dl {
        display:flex;
        align-items: baseline
    }
}

.c-table3>dl+dl {
    padding-top: var(--padding)
}

.c-table3>dl>dt {
    color: var(--dt-color);
    font-weight: 700
}

.c-table3>dl>dd {
    font-weight: 400
}

@media screen and (max-width: 1023px) {
    .c-table3>dl>dd {
        flex:1
    }
}

.c-table3.-medium {
    --padding: 1.8rem
}

@media screen and (min-width: 1024px) {
    .c-table3.-medium {
        font-size:var(--font-size14);
        --line-height: calc( 25 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-table3.-medium {
        font-size:var(--font-size12);
        --line-height: calc( 23 / 12 )
    }
}

@media screen and (min-width: 1024px) {
    .c-table3.-medium>dl>dt {
        min-width:19rem;
        padding: 0 .4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table3.-medium>dl>dd {
        margin-top:1.2rem
    }
}

.c-table3.-main2 {
    --dt-color: var( --color-main2 )
}

.c-table3__table dl {
    display: flex;
    align-items: baseline
}

@media screen and (min-width: 1024px) {
    .c-table3__table dl+dl {
        margin-top:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table3__table dl+dl {
        margin-top:1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-table3__table dt {
        width:7.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table3__table dt {
        width:60px
    }
}

.c-table3__table dd {
    flex: 1
}

@media screen and (min-width: 1024px) {
    .c-table3__table.-size2 dt {
        width:9.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-table3__table.-size2 dt {
        width:74px
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-regular .c-title__ja {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-regular .c-title__ja {
        font-size:var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-regular .c-title__en {
        font-size:var(--font-size49);
        --line-height: calc( 50 / 49 );
        margin-top: 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-regular .c-title__en {
        font-size:var(--font-size22)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-regular.-horizontal-mqDown-lg .c-title__ja {
        margin-left:1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-medium .c-title__ja {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-medium .c-title__ja {
        font-size:var(--font-size11)
    }
}

.c-title.-medium .c-title__en {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title.-medium .c-title__en {
        font-size:var(--font-size53);
        margin-top: 3.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-medium .c-title__en {
        font-size:var(--font-size34);
        margin-top: 2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-large .c-title__ja {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-large .c-title__ja {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-large .c-title__en {
        font-size:var(--font-size70);
        margin-top: 4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-large .c-title__en {
        font-size:var(--font-size42);
        margin-top: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-large.-horizontal-mqDown-lg .c-title__ja {
        margin-top:.6rem;
        margin-left: 1.6rem
    }

    .c-title.-large.-horizontal-mqDown-lg .c-title__en {
        margin-top: 0
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-large2 .c-title__en {
        font-size:var(--font-size70)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-large2 .c-title__en {
        font-size:var(--font-size42)
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-large2 .c-title__ja {
        font-size:var(--font-size16);
        margin-top: 4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-large2 .c-title__ja {
        font-size:var(--font-size11);
        margin-top: 2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title.-xlarge .c-title__ja {
        font-size:var(--font-size20)
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-xlarge .c-title__ja {
        font-size:var(--font-size16)
    }
}

.c-title.-xlarge .c-title__en {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-title.-xlarge .c-title__en {
        font-size:var(--font-size80);
        margin-top: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-xlarge .c-title__en {
        font-size:var(--font-size54);
        margin-top: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-horizontal-mqDown-lg {
        display:flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end
    }
}

@media screen and (max-width: 1023px) {
    .c-title.-right-mqDown-lg {
        text-align:right
    }
}

@media screen and (min-width: 1024px) {
    .c-title__ja {
        margin-left:.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title__ja {
        margin-left:.3rem
    }
}

.c-title__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.c-title__en::after,.c-title__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-title2.-medium .c-title2__ja {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-medium .c-title2__ja {
        font-size:var(--font-size10)
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-medium .c-title2__en {
        font-size:var(--font-size49);
        margin-top: 3.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-medium .c-title2__en {
        font-size:var(--font-size28);
        margin-top: 1.9rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-medium2 .c-title2__ja {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-medium2 .c-title2__ja {
        font-size:var(--font-size12)
    }
}

.c-title2.-medium2 .c-title2__en {
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title2.-medium2 .c-title2__en {
        font-size:var(--font-size54);
        margin-top: 2.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-medium2 .c-title2__en {
        font-size:var(--font-size36);
        margin-top: 1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-large .c-title2__ja {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-large .c-title2__ja {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-large .c-title2__ja::befpre {
        width:1.1rem;
        height: 1.1rem;
        margin-right: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-large .c-title2__ja::befpre {
        width:.8rem;
        height: .8rem;
        margin-right: .7rem
    }
}

.c-title2.-large .c-title2__en {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title2.-large .c-title2__en {
        font-size:var(--font-size76);
        margin-top: 3.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-large .c-title2__en {
        font-size:var(--font-size40);
        margin-top: 2.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-xlarge .c-title2__ja {
        font-size:var(--font-size20);
        margin-left: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-xlarge .c-title2__ja {
        font-size:var(--font-size16);
        margin-left: 1.1rem
    }
}

.c-title2.-xlarge .c-title2__en {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-title2.-xlarge .c-title2__en {
        font-size:var(--font-size80);
        margin-top: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-xlarge .c-title2__en {
        font-size:var(--font-size54);
        margin-top: 1.9rem
    }
}

.c-title2.-opposite-large .c-title2__en {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title2.-opposite-large .c-title2__en {
        font-size:var(--font-size54);
        --line-height: calc( 58 / 54 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-opposite-large .c-title2__en {
        font-size:var(--font-size36);
        --line-height: calc( 39 / 36 )
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-opposite-large .c-title2__ja {
        font-size:var(--font-size16);
        margin-top: 2.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-opposite-large .c-title2__ja {
        font-size:var(--font-size12);
        margin-top: 2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title2.-opposite-large .c-title2__ja::befpre {
        width:1.1rem;
        height: 1.1rem;
        margin-bottom: -.1rem;
        margin-right: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2.-opposite-large .c-title2__ja::befpre {
        width:.8rem;
        height: .8rem;
        margin-right: .7rem
    }
}

.c-title2.-pink .c-title2__ja::before {
    background-color: var(--color-txt5)
}

.c-title2.-pink .c-title2__en {
    color: var(--color-txt5)
}

.c-title2.-yellow .c-title2__ja::before {
    background-color: var(--color-icon3)
}

.c-title2.-center {
    text-align: center
}

.c-title2.-center .c-title2__ja {
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .c-title2.-center-mqUp-lg {
        text-align:center
    }

    .c-title2.-center-mqUp-lg .c-title2__ja {
        justify-content: center
    }
}

.c-title2__ja {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .c-title2__ja {
        margin-left:.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2__ja {
        margin-left:.3rem
    }
}

.c-title2__ja::before {
    content: '';
    display: block;
    background-color: var(--color-main);
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

@media screen and (min-width: 1024px) {
    .c-title2__ja::before {
        width:.9rem;
        height: .9rem;
        margin-bottom: -.1rem;
        margin-right: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title2__ja::before {
        width:.6rem;
        height: .6rem;
        margin-bottom: -.2rem;
        margin-right: .9rem
    }
}

.c-title2__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.c-title2__en::after,.c-title2__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title2__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title2__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title3.-medium {
    --size: 1.1rem;
    --space-right: 1.2rem
}

.c-title3.-medium .c-title3__en span {
    font-weight: 500
}

@media screen and (min-width: 1024px) {
    .c-title3.-medium .c-title3__en span {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-medium .c-title3__en span {
        font-size:var(--font-size12)
    }
}

.c-title3.-medium .c-title3__ja {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title3.-medium .c-title3__ja {
        font-size:var(--font-size20);
        margin-top: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-medium .c-title3__ja {
        font-size:var(--font-size18);
        margin-top: .9rem
    }
}

.c-title3.-medium2 {
    --size: 1.1rem;
    --space-right: 1.2rem
}

.c-title3.-medium2 .c-title3__en span {
    font-weight: 500;
    font-size: var(--font-size14)
}

.c-title3.-medium2 .c-title3__ja {
    font-weight: 400;
    margin-top: 1.4rem
}

@media screen and (min-width: 1024px) {
    .c-title3.-medium2 .c-title3__ja {
        font-size:var(--font-size28)
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-medium2 .c-title3__ja {
        font-size:var(--font-size20)
    }
}

@media screen and (min-width: 1024px) {
    .c-title3.-large {
        --size:2.5rem;
        --space-right: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-large {
        --size:1.9rem;
        --space-right: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title3.-large .c-title3__en span {
        font-size:var(--font-size30)
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-large .c-title3__en span {
        font-size:var(--font-size26)
    }
}

@media screen and (min-width: 1024px) {
    .c-title3.-large .c-title3__ja {
        font-size:var(--font-size16);
        margin-top: 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title3.-large .c-title3__ja {
        font-size:var(--font-size14);
        margin-top: 2rem
    }
}

.c-title3.-space-left .c-title3__ja {
    margin-left: calc(var(--size) + var(--space-right))
}

.c-title3.-main2 .c-title3__ja {
    color: var(--color-main2)
}

.c-title3__en {
    display: flex;
    align-items: center
}

.c-title3__en::before {
    content: '';
    display: block;
    width: var(--size);
    height: var(--size);
    background-color: var(--color-main2);
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    margin-right: var(--space-right);
    margin-bottom: var(--space-bottom)
}

.c-title3__en span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-title3__en span::after,.c-title3__en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title3__en span::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title3__en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title3__ja {
    letter-spacing: calc(60 / 1000 * 1em)
}

.c-title4 {
    display: flex;
    align-items: center
}

.c-title4::before {
    content: '';
    display: block;
    width: var(--size);
    height: var(--size);
    background-color: var(--color-main);
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.c-title4 span {
    display: block
}

.c-title4.-en span {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-title4.-en span::after,.c-title4.-en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title4.-en span::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title4.-en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title4.-en2 span {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-title4.-en2 span::after,.c-title4.-en2 span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title4.-en2 span::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title4.-en2 span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (max-width: 1023px) {
    .c-title4.-en3 {
        flex-direction:column
    }
}

.c-title4.-en3 span {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-title4.-en3 span {
        font-family:var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title4.-en3 span::after,.c-title4.-en3 span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title4.-en3 span::before {
        margin-top: var(--font-sans-serif-top)
    }

    .c-title4.-en3 span::after {
        margin-bottom: var(--font-sans-serif-bottom)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-en3 span {
        -webkit-writing-mode:vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-family: var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title4.-en3 span::after,.c-title4.-en3 span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title4.-en3 span::before {
        margin-right: var(--font-sans-serif-top)
    }

    .c-title4.-en3 span::after {
        margin-left: var(--font-sans-serif-bottom)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-en4 {
        flex-direction:column
    }
}

.c-title4.-en4 span {
    font-weight: 300
}

@media screen and (min-width: 1024px) {
    .c-title4.-en4 span {
        -webkit-writing-mode:vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-family: var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title4.-en4 span::after,.c-title4.-en4 span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title4.-en4 span::before {
        margin-right: var(--font-sans-serif-top)
    }

    .c-title4.-en4 span::after {
        margin-left: var(--font-sans-serif-bottom)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-en4 span {
        font-family:var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title4.-en4 span::after,.c-title4.-en4 span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title4.-en4 span::before {
        margin-top: var(--font-sans-serif-top)
    }

    .c-title4.-en4 span::after {
        margin-bottom: var(--font-sans-serif-bottom)
    }
}

.c-title4.-ja span {
    font-weight: 400;
    letter-spacing: calc(80 / 1000 * 1em)
}

.c-title4.-ja2 span {
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-title4.-ja3 span {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title4.-small::before {
        --size:1.1rem;
        margin-right: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-small::before {
        --size:0.6rem;
        margin-right: .9rem
    }
}

.c-title4.-small span {
    font-weight: 500;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title4.-small span {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-small span {
        font-size:var(--font-size10)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-regular::before {
        --size:1rem;
        margin-right: .9rem;
        margin-bottom: -.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-regular::before {
        --size:0.7rem;
        margin-right: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-regular span {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-regular span {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-regular2::before {
        --size:1rem;
        margin-right: 1.3rem;
        margin-bottom: -.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-regular2::before {
        --size:0.7rem;
        margin-right: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-regular2 span {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-regular2 span {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium::before {
        --size:0.6rem;
        margin-right: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium span {
        font-size:var(--font-size19)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium span {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium2::before {
        --size:1.1rem;
        margin-bottom: -.3rem;
        margin-right: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium2::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: .5rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium2 span {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium2 span {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium3::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium3::before {
        --size:0.6rem;
        margin-right: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium3 span {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium3 span {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium4::before {
        --size:1rem;
        margin-right: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium4::before {
        --size:0.8rem;
        margin-right: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium4 span {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium4 span {
        font-size:var(--font-size14)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium5::before {
        --size:1rem;
        margin-right: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium5::before {
        --size:0.7rem;
        margin-bottom: 1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium5 span {
        font-size:var(--font-size20)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium5 span {
        font-size:var(--font-size18)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium6::before {
        --size:1rem;
        margin-bottom: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium6::before {
        --size:0.7rem;
        margin-right: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium6 span {
        font-size:var(--font-size22)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium6 span {
        font-size:var(--font-size14)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium7::before {
        --size:1rem;
        margin-right: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium7::before {
        --size:0.7rem;
        margin-right: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-medium7 span {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-medium7 span {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-large::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large::before {
        --size:0.6rem;
        margin-right: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-large span {
        font-size:var(--font-size24)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large span {
        font-size:var(--font-size18)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-large2::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large2::before {
        --size:0.6rem;
        margin-right: .8rem
    }
}

.c-title4.-large2 span {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title4.-large2 span {
        font-size:var(--font-size24)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large2 span {
        font-size:var(--font-size16)
    }
}

@media screen and (min-width: 1024px) {
    .c-title4.-large3::before {
        --size:0.9rem;
        margin-bottom: -.1rem;
        margin-right: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large3::before {
        --size:0.6rem;
        margin-right: .7rem
    }
}

.c-title4.-large3 span {
    letter-spacing: calc(-20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title4.-large3 span {
        font-size:var(--font-size24)
    }
}

@media screen and (max-width: 1023px) {
    .c-title4.-large3 span {
        font-size:var(--font-size14)
    }
}

.c-title4.-center {
    justify-content: center
}

@media screen and (max-width: 1023px) {
    .c-title4.-center-mqDown-lg {
        justify-content:center
    }
}

.c-title4.-theme::before {
    background-color: var(--theme-color)
}

.c-title4.-yellow::before {
    background-color: var(--color-icon3)
}

.c-title4.-main5::before {
    background-color: var(--color-main5)
}

.c-title4.-main5 span {
    color: var(--color-main5)
}

.c-title4.-main5-2::before {
    background-color: var(--color-main5)
}

.c-title4.-main7-gary::before {
    background-color: var(--color-main7)
}

.c-title4.-main7-gary span {
    color: var(--color-txt18)
}

.c-title5.-small .c-title5__ja {
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-small .c-title5__ja {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-small .c-title5__ja {
        font-size:var(--font-size20)
    }
}

@media screen and (min-width: 1024px) {
    .c-title5.-small .c-title5__en {
        font-size:var(--font-size12);
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-small .c-title5__en {
        font-size:var(--font-size9);
        margin-top: 1.2rem
    }
}

.c-title5.-regular .c-title5__ja {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular .c-title5__ja {
        font-size:var(--font-size30);
        --line-height: calc( 41 / 30 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular .c-title5__ja {
        font-size:var(--font-size24)
    }
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular .c-title5__en {
        font-size:var(--font-size16);
        margin-top: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular .c-title5__en {
        font-size:var(--font-size12);
        margin-top: 1.7rem
    }
}

.c-title5.-regular2 .c-title5__ja {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular2 .c-title5__ja {
        font-size:var(--font-size32)
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular2 .c-title5__ja {
        font-size:var(--font-size20);
        --line-height: calc( 28.6 / 20 )
    }
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular2 .c-title5__ja__sub {
        font-size:var(--font-size16);
        padding: .4rem 1.4rem .6rem;
        margin-left: .6rem;
        -webkit-transform: translateY(-.2rem);
        transform: translateY(-.2rem)
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular2 .c-title5__ja__sub {
        font-size:var(--font-size12);
        padding: .3rem 1.1rem .5rem;
        margin-left: .8rem;
        -webkit-transform: translateY(-.2rem);
        transform: translateY(-.2rem)
    }
}

.c-title5.-regular2 .c-title5__en {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular2 .c-title5__en {
        font-size:var(--font-size18);
        margin-top: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular2 .c-title5__en {
        font-size:var(--font-size9);
        margin-top: 1.2rem
    }
}

.c-title5.-regular3 .c-title5__ja {
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular3 .c-title5__ja {
        font-size:var(--font-size32);
        --line-height: calc( 52.8 / 32 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular3 .c-title5__ja {
        font-size:var(--font-size20);
        --line-height: calc( 33.7 / 20 )
    }
}

.c-title5.-regular3 .c-title5__en {
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular3 .c-title5__en {
        font-size:var(--font-size20);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular3 .c-title5__en {
        font-size:var(--font-size13);
        margin-top: 2.1rem
    }
}

.c-title5.-regular4 .c-title5__ja {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em);
    --line-height: calc( 32 / 22 )
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular4 .c-title5__ja {
        font-size:var(--font-size32)
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular4 .c-title5__ja {
        font-size:var(--font-size22)
    }
}

.c-title5.-regular4 .c-title5__en {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-regular4 .c-title5__en {
        font-size:var(--font-size18);
        margin-top: 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-regular4 .c-title5__en {
        font-size:var(--font-size10);
        margin-top: 1.5rem
    }
}

.c-title5.-medium .c-title5__ja {
    font-weight: 400;
    letter-spacing: calc(140 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-medium .c-title5__ja {
        font-size:var(--font-size37);
        --line-height: calc( 63 / 37 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-medium .c-title5__ja {
        font-size:var(--font-size26);
        --line-height: calc( 44 / 26 )
    }
}

.c-title5.-medium .c-title5__en {
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-medium .c-title5__en {
        font-size:var(--font-size18);
        --line-height: calc( 37 / 18 );
        margin-top: 5.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-medium .c-title5__en {
        font-size:var(--font-size12);
        --line-height: calc( 23 / 12 );
        margin-top: 3.8rem
    }
}

.c-title5.-medium2 .c-title5__ja {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-medium2 .c-title5__ja {
        font-size:var(--font-size34)
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-medium2 .c-title5__ja {
        font-size:var(--font-size24)
    }
}

.c-title5.-medium2 .c-title5__en {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title5.-medium2 .c-title5__en {
        font-size:var(--font-size18);
        margin-top: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title5.-medium2 .c-title5__en {
        font-size:var(--font-size12);
        margin-top: 1.8rem
    }
}

.c-title5.-main2 .c-title5__en {
    color: var(--color-main2)
}

.c-title5.-main5 .c-title5__en {
    color: var(--color-main5)
}

.c-title5.-main5 .c-title5__ja__sub {
    color: var(--color-main5)
}

.c-title5.-gray .c-title5__en {
    color: var(--color-txt3)
}

.c-title5.-yellow .c-title5__en {
    color: var(--color-txt19)
}

.c-title5__ja__sub {
    display: inline-block;
    vertical-align: middle;
    border-radius: var(--radius-max);
    border: var(--solid);
    letter-spacing: 0;
    font-weight: 400
}

.c-title5__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-title5__en::after,.c-title5__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title5__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title5__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-title6.-medium .c-title6__ja {
        font-size:var(--font-size16);
        margin-left: .3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title6.-medium .c-title6__ja {
        font-size:var(--font-size14)
    }
}

@media screen and (min-width: 1024px) {
    .c-title6.-medium .c-title6__en {
        font-size:var(--font-size70);
        margin-top: 3.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title6.-medium .c-title6__en {
        font-size:var(--font-size42);
        --line-height: calc( 42 / 42 );
        margin-top: 2.3rem
    }
}

.c-title6__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.c-title6__en::after,.c-title6__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title6__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title6__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-title7.-vertical-mqUp-lg {
        display:flex;
        flex-direction: row-reverse
    }

    .c-title7.-vertical-mqUp-lg .c-title7__en {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }

    .c-title7.-vertical-mqUp-lg .c-title7__ja {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: upright
    }
}

.c-title7.-regular .c-title7__en {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title7.-regular .c-title7__en {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-regular .c-title7__en {
        font-size:var(--font-size12)
    }
}

.c-title7.-regular .c-title7__ja {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title7.-regular .c-title7__ja {
        font-size:var(--font-size24);
        margin-top: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-regular .c-title7__ja {
        font-size:var(--font-size16);
        margin-top: 1.3rem
    }
}

.c-title7.-regular2 .c-title7__en {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title7.-regular2 .c-title7__en {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-regular2 .c-title7__en {
        font-size:var(--font-size8)
    }
}

.c-title7.-regular2 .c-title7__ja {
    font-weight: 400;
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title7.-regular2 .c-title7__ja {
        font-size:var(--font-size22);
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-regular2 .c-title7__ja {
        font-size:var(--font-size12);
        margin-top: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title7.-medium .c-title7__en {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-medium .c-title7__en {
        font-size:var(--font-size10)
    }
}

@media screen and (min-width: 1024px) {
    .c-title7.-medium .c-title7__ja {
        font-size:var(--font-size30);
        margin-top: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-medium .c-title7__ja {
        font-size:var(--font-size21);
        margin-top: 1.2rem
    }
}

.c-title7.-large .c-title7__en {
    font-weight: 300
}

@media screen and (min-width: 1024px) {
    .c-title7.-large .c-title7__en {
        font-size:var(--font-size13);
        margin-top: 2.5rem;
        margin-left: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-large .c-title7__en {
        font-size:var(--font-size12)
    }
}

.c-title7.-large .c-title7__ja {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title7.-large .c-title7__ja {
        font-size:var(--font-size33)
    }
}

@media screen and (max-width: 1023px) {
    .c-title7.-large .c-title7__ja {
        font-size:var(--font-size20);
        margin-top: 1.3rem
    }
}

.c-title7.-main5 .c-title7__en {
    color: var(--color-main5)
}

.c-title7.-theme .c-title7__en {
    color: var(--theme-color)
}

.c-title7.-theme .c-title7__ja {
    color: var(--color-txt3)
}

.c-title7__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-title7__en::after,.c-title7__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title7__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title7__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title7__ja {
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title8.-medium .c-title8__ja {
        font-size:var(--font-size30)
    }
}

@media screen and (max-width: 1023px) {
    .c-title8.-medium .c-title8__ja {
        font-size:var(--font-size24)
    }
}

@media screen and (min-width: 1024px) {
    .c-title8.-medium .c-title8__ja::before {
        font-size:var(--font-size37);
        top: -.2rem;
        left: -3.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title8.-medium .c-title8__ja::before {
        font-size:var(--font-size30);
        top: -.2rem;
        left: -3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title8.-medium .c-title8__en {
        font-size:var(--font-size14);
        margin-top: 1.7rem;
        margin-left: .2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title8.-medium .c-title8__en {
        font-size:var(--font-size12);
        margin-top: 1.4rem;
        margin-left: .1rem
    }
}

.c-title8__ja {
    position: relative;
    letter-spacing: calc(60 / 1000 * 1em);
    --line-height: calc( 36 / 30 )
}

.c-title8__ja::before {
    content: '#';
    display: block;
    opacity: .5;
    font-family: var(--font-sans-serif);
    font-weight: 300;
    position: absolute
}

.c-title8__en {
    opacity: .5;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    --line-height: calc( 24 / 14 )
}

.c-title8__en::after,.c-title8__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title8__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title8__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title9 {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .c-title9.-medium .c-title9__ja {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .c-title9.-medium .c-title9__ja {
        font-size:var(--font-size20)
    }
}

@media screen and (min-width: 1024px) {
    .c-title9.-medium .c-title9__en {
        font-size:var(--font-size12);
        margin-left: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title9.-medium .c-title9__en {
        font-size:var(--font-size10);
        margin-left: 1.2rem
    }
}

.c-title9.-theme .c-title9__ja {
    color: var(--theme-color)
}

.c-title9.-theme .c-title9__en {
    color: var(--color-txt3)
}

.c-title9__ja {
    letter-spacing: calc(80 / 1000 * 1em)
}

.c-title9__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-title9__en::after,.c-title9__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title9__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title9__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title10 {
    text-decoration: underline;
    -webkit-text-decoration-color: var(--color-main2);
    text-decoration-color: var(--color-main2);
    text-decoration-thickness: 1px;
    font-family: var(--font-gothic3);
    font-weight: 400;
    white-space: nowrap
}

@media screen and (min-width: 1024px) {
    .c-title10 {
        letter-spacing:calc(140 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-title10 {
        letter-spacing:calc(100 / 1000 * 1em)
    }
}

@media screen and (max-width: 320px) {
    .c-title10 {
        letter-spacing:calc(70 / 1000 * 1em)
    }
}

@media screen and (min-width: 1024px) {
    .c-title10.-medium {
        font-size:var(--font-size34);
        --line-height: calc( 61 / 34 );
        text-underline-offset: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title10.-medium {
        font-size:var(--font-size22);
        font-size: 2.2rem;
        --line-height: calc( 39 / 22 );
        text-underline-offset: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title10.-medium .c-title10__quotes-end::after,.c-title10.-medium .c-title10__quotes-start::before {
        width:3.3rem;
        height: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title10.-medium .c-title10__quotes-end::after,.c-title10.-medium .c-title10__quotes-start::before {
        width:2.2rem;
        height: 1.9rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title10.-medium .c-title10__quotes-start::before {
        top:-.4rem;
        left: -4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title10.-medium .c-title10__quotes-start::before {
        top:-.2rem;
        left: -2.6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title10.-medium .c-title10__quotes-end::after {
        right:-4.6rem;
        bottom: -1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title10.-medium .c-title10__quotes-end::after {
        right:-3rem;
        bottom: -.8rem
    }
}

.c-title10__quotes-end,.c-title10__quotes-start {
    position: relative
}

.c-title10__quotes-end::after,.c-title10__quotes-start::before {
    content: '';
    display: block;
    background-image: url(../img/common/icon/double-quotes-main2.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute
}

.c-title10__quotes-end::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.c-title11 {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .c-title11 {
        flex-direction:column
    }
}

@media screen and (min-width: 1024px) {
    .c-title11.-medium .c-title11__main::before {
        --size:0.9rem;
        margin-bottom: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title11.-medium .c-title11__main::before {
        --size:0.6rem;
        margin-right: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title11.-medium .c-title11__main span {
        font-size:var(--font-size48)
    }
}

@media screen and (max-width: 1023px) {
    .c-title11.-medium .c-title11__main span {
        font-size:var(--font-size31)
    }
}

@media screen and (min-width: 1024px) {
    .c-title11.-medium .c-title11__sub {
        font-size:var(--font-size14);
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title11.-medium .c-title11__sub {
        font-size:var(--font-size12);
        margin-left: .9rem
    }
}

.c-title11__main {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .c-title11__main {
        flex-direction:column
    }
}

.c-title11__main::before {
    content: '';
    display: block;
    width: var(--size);
    height: var(--size);
    background-color: var(--color-main2);
    -webkit-mask-image: url(../img/common/oval/oval.webp);
    mask-image: url(../img/common/oval/oval.webp);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.c-title11__main span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.c-title11__main span::after,.c-title11__main span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title11__main span::before {
    margin-right: var(--font-sans-serif-top)
}

.c-title11__main span::after {
    margin-left: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-title11__main span {
        -webkit-writing-mode:vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-family: var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title11__main span::after,.c-title11__main span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title11__main span::before {
        margin-right: var(--font-sans-serif-top)
    }

    .c-title11__main span::after {
        margin-left: var(--font-sans-serif-bottom)
    }
}

@media screen and (max-width: 1023px) {
    .c-title11__main span {
        font-family:var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title11__main span::after,.c-title11__main span::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title11__main span::before {
        margin-top: var(--font-sans-serif-top)
    }

    .c-title11__main span::after {
        margin-bottom: var(--font-sans-serif-bottom)
    }
}

.c-title11__sub {
    font-weight: 300;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-title11__sub {
        -webkit-writing-mode:vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-family: var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title11__sub::after,.c-title11__sub::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title11__sub::before {
        margin-right: var(--font-sans-serif-top)
    }

    .c-title11__sub::after {
        margin-left: var(--font-sans-serif-bottom)
    }
}

@media screen and (max-width: 1023px) {
    .c-title11__sub {
        font-family:var(--font-sans-serif);
        padding-top: .1px;
        padding-bottom: .1px
    }

    .c-title11__sub::after,.c-title11__sub::before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        font-size: inherit
    }

    .c-title11__sub::before {
        margin-top: var(--font-sans-serif-top)
    }

    .c-title11__sub::after {
        margin-bottom: var(--font-sans-serif-bottom)
    }
}

@media screen and (min-width: 1024px) {
    .c-title12 {
        display:flex;
        align-items: flex-end
    }
}

@media screen and (max-width: 1023px) {
    .c-title12 {
        text-align:center
    }
}

@media screen and (min-width: 1024px) {
    .c-title12.-large .c-title12__en {
        font-size:var(--font-size117)
    }
}

@media screen and (max-width: 1023px) {
    .c-title12.-large .c-title12__en {
        font-size:var(--font-size64)
    }
}

@media screen and (min-width: 1024px) {
    .c-title12.-large .c-title12__ja {
        font-size:var(--font-size27);
        margin-left: 3rem;
        margin-bottom: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title12.-large .c-title12__ja {
        font-size:var(--font-size18);
        margin-top: 1.8rem
    }
}

.c-title12.-main .c-title12__en {
    color: var(--color-main)
}

.c-title12__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.c-title12__en::after,.c-title12__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title12__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title12__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title12__ja {
    letter-spacing: calc(60 / 1000 * 1em)
}

.c-title13 {
    display: flex;
    align-items: baseline;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-bottom: var(--solid)
}

.c-title13.-vertical {
    border-left: var(--solid);
    border-bottom: none
}

.c-title13.-vertical .c-title13__en {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media screen and (min-width: 1024px) {
    .c-title13.-xsmall {
        padding:0 .2rem .8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-xsmall {
        padding:0 .2rem .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-xsmall .c-title13__en {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-xsmall .c-title13__en {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-xsmall.-vertical {
        padding:.2rem 0 .2rem .8rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-xsmall.-vertical {
        padding:.2rem 0 .2rem .6rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-small {
        padding-bottom:1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-small {
        padding-bottom:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-small .c-title13__en {
        font-size:var(--font-size22)
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-small .c-title13__en {
        font-size:var(--font-size18)
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-medium {
        padding-bottom:1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-medium {
        padding-bottom:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-medium .c-title13__en {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-medium .c-title13__en {
        font-size:var(--font-size18)
    }
}

@media screen and (min-width: 1024px) {
    .c-title13.-medium .c-title13__ja {
        font-size:var(--font-size14);
        margin-left: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title13.-medium .c-title13__ja {
        font-size:var(--font-size10);
        margin-left: 1rem
    }
}

.c-title13.-currentColor {
    border-color: currentColor
}

.c-title13__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.c-title13__en::after,.c-title13__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title13__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title13__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title13__ja {
    font-weight: 400
}

.c-title14.-small .c-title14__en {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title14.-small .c-title14__en {
        font-size:var(--font-size44);
        --line-height: calc( 49 / 44 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-small .c-title14__en {
        font-size:var(--font-size30);
        --line-height: calc( 32 / 30 )
    }
}

.c-title14.-small .c-title14__ja {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-title14.-small .c-title14__ja {
        font-size:var(--font-size16);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-small .c-title14__ja {
        font-size:var(--font-size12);
        letter-spacing: calc(140 / 1000 * 1em);
        margin-top: 1.8rem
    }
}

.c-title14.-regular .c-title14__en {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title14.-regular .c-title14__en {
        font-size:var(--font-size60);
        --line-height: calc( 58 / 60 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-regular .c-title14__en {
        font-size:var(--font-size44);
        --line-height: calc( 42 / 44 )
    }
}

@media screen and (min-width: 1024px) {
    .c-title14.-regular .c-title14__ja {
        font-size:var(--font-size18);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-regular .c-title14__ja {
        font-size:var(--font-size14);
        margin-top: 2.2rem
    }
}

.c-title14.-regular2 .c-title14__en {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .c-title14.-regular2 .c-title14__en {
        font-size:var(--font-size54);
        --line-height: calc( 56 / 54 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-regular2 .c-title14__en {
        font-size:var(--font-size44);
        --line-height: calc( 42 / 44 )
    }
}

@media screen and (min-width: 1024px) {
    .c-title14.-regular2 .c-title14__ja {
        font-size:var(--font-size18);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-regular2 .c-title14__ja {
        font-size:var(--font-size14);
        margin-top: 2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title14.-medium .c-title14__en {
        font-size:var(--font-size64)
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-medium .c-title14__en {
        font-size:var(--font-size40);
        --line-height: calc( 42 / 40 )
    }
}

@media screen and (min-width: 1024px) {
    .c-title14.-medium .c-title14__ja {
        font-size:var(--font-size14);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-medium .c-title14__ja {
        font-size:var(--font-size11);
        margin-top: 2.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-title14.-medium2 .c-title14__en {
        font-size:var(--font-size64);
        --line-height: calc( 60 / 64 )
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-medium2 .c-title14__en {
        font-size:var(--font-size40);
        --line-height: calc( 38 / 40 )
    }
}

.c-title14.-medium2 .c-title14__ja {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-title14.-medium2 .c-title14__ja {
        font-size:var(--font-size24);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .c-title14.-medium2 .c-title14__ja {
        font-size:var(--font-size18);
        margin-top: 2.9rem
    }
}

.c-title14.-main5 .c-title14__en {
    color: var(--color-main5)
}

.c-title14.-theme .c-title14__en {
    color: var(--theme-color)
}

.c-title14__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.c-title14__en::after,.c-title14__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title14__en::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title14__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.c-title14__gray {
    color: var(--color-txt31)
}

.c-title14__main9 {
    color: var(--color-main9)
}

.c-title15 {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.c-title15::after,.c-title15::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-title15::before {
    margin-top: var(--font-sans-serif-top)
}

.c-title15::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .c-title15.-regular {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .c-title15.-regular {
        font-size:var(--font-size18)
    }
}

.c-title15.-main5 {
    color: var(--color-main5)
}

.c-title15__gray {
    color: var(--color-txt31)
}

.c-txts>:not(:last-child)::after {
    content: '\A\A';
    display: inline;
    white-space: pre
}

.c-txts2>:not(:last-child)::after {
    content: '\A';
    display: block;
    white-space: pre
}

.c-txt-xxs {
    font-weight: 400;
    font-size: var(--font-size10);
    --line-height: calc( 15.2 / 10 )
}

@media screen and (min-width: 1024px) {
    .c-txt-xxs {
        letter-spacing:calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xxs {
        letter-spacing:calc(15 / 1000 * 1em)
    }
}

.c-txt-xs {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xs {
        font-size:var(--font-size12);
        --line-height: calc( 20.5 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xs {
        font-size:var(--font-size11);
        --line-height: calc( 18.5 / 11 )
    }
}

.c-txt-xs2 {
    color: var(--color-txt3);
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xs2 {
        font-size:var(--font-size12);
        --line-height: calc( 18 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xs2 {
        font-size:var(--font-size10);
        --line-height: calc( 15.2 / 10 )
    }
}

.c-txt-xs3 {
    color: var(--color-txt17);
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xs3 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xs3 {
        font-size:var(--font-size10);
        --line-height: calc( 16.4 / 10 )
    }
}

.c-txt-xs4 {
    color: var(--color-txt17);
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xs4 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xs4 {
        font-size:var(--font-size10);
        --line-height: calc( 16.4 / 10 )
    }
}

.c-txt-xs5 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xs5 {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xs5 {
        font-size:var(--font-size10)
    }
}

.c-txt-xs6 {
    font-weight: 400;
    font-size: var(--font-size12);
    --line-height: calc( 19 / 12 );
    letter-spacing: calc(40 / 1000 * 1em)
}

.c-txt-sm {
    font-weight: 400;
    font-size: var(--font-size13);
    --line-height: calc( 19 / 13 )
}

.c-txt-sm2 {
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-sm2 {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-sm2 {
        font-size:var(--font-size11);
        --line-height: calc( 19 / 11 )
    }
}

.c-txt-sm3 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-sm3 {
        font-size:var(--font-size13);
        --line-height: calc( 22 / 13 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-sm3 {
        font-size:var(--font-size11);
        --line-height: calc( 20 / 11 )
    }
}

.c-txt-rg {
    color: var(--color-txt3);
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg {
        font-size:var(--font-size11);
        --line-height: calc( 19 / 11 )
    }
}

.c-txt-rg2 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg2 {
        font-size:var(--font-size14);
        --line-height: calc( 27 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg2 {
        font-size:var(--font-size12);
        --line-height: calc( 23 / 12 )
    }
}

.c-txt-rg3 {
    color: var(--color-txt4);
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg3 {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg3 {
        font-size:var(--font-size11);
        --line-height: calc( 17 / 11 )
    }
}

.c-txt-rg4 {
    color: var(--color-txt4);
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg4 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg4 {
        font-size:var(--font-size11);
        --line-height: calc( 20 / 11 )
    }
}

.c-txt-rg5 {
    color: var(--color-txt3)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg5 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg5 {
        font-size:var(--font-size12);
        --line-height: calc( 18 / 12 )
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-rg5__small {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg5__small {
        font-size:var(--font-size10)
    }
}

.c-txt-rg6 {
    color: var(--color-txt6);
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg6 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg6 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-rg7 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg7 {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg7 {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 )
    }
}

.c-txt-rg8 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg8 {
        font-size:var(--font-size14);
        --line-height: calc( 23 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg8 {
        font-size:var(--font-size11);
        --line-height: calc( 18 / 11 )
    }
}

.c-txt-rg9 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg9 {
        font-size:var(--font-size14);
        --line-height: calc( 28 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg9 {
        font-size:var(--font-size13);
        --line-height: calc( 28 / 13 )
    }
}

.c-txt-rg10 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg10 {
        font-size:var(--font-size14);
        --line-height: calc( 28 / 14 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg10 {
        font-size:var(--font-size12);
        --line-height: calc( 26 / 12 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-rg11 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg11 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg11 {
        font-size:var(--font-size12);
        --line-height: calc( 22 / 12 )
    }
}

.c-txt-rg12 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg12 {
        font-size:var(--font-size14);
        --line-height: calc( 28 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg12 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 )
    }
}

.c-txt-rg13 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg13 {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg13 {
        font-size:var(--font-size12);
        --line-height: calc( 22 / 12 )
    }
}

.c-txt-rg14 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg14 {
        font-size:var(--font-size14);
        --line-height: calc( 25 / 14 );
        letter-spacing: calc(100 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg14 {
        font-size:var(--font-size15);
        --line-height: calc( 28 / 15 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

.c-txt-rg15 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg15 {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg15 {
        font-size:var(--font-size11);
        --line-height: calc( 18 / 11 );
        letter-spacing: calc(80 / 1000 * 1em)
    }
}

.c-txt-rg16 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg16 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg16 {
        font-size:var(--font-size11);
        --line-height: calc( 19 / 11 )
    }
}

.c-txt-rg17 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg17 {
        font-size:var(--font-size14);
        --line-height: calc( 30 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg17 {
        font-size:var(--font-size12);
        --line-height: calc( 22 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-rg18 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg18 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg18 {
        font-size:var(--font-size12);
        --line-height: calc( 22 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-rg19 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg19 {
        font-size:var(--font-size14);
        --line-height: calc( 23 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg19 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-rg20 {
    color: var(--color-txt7);
    font-weight: 400;
    font-size: var(--font-size14);
    --line-height: calc( 22 / 14 )
}

.c-txt-rg21 {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg21 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg21 {
        font-size:var(--font-size12);
        --line-height: calc( 19 / 12 )
    }
}

.c-txt-rg22 {
    color: var(--color-txt7);
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-rg22 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg22 {
        font-size:var(--font-size13);
        --line-height: calc( 20 / 13 )
    }
}

.c-txt-rg23 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg23 {
        font-size:var(--font-size14);
        --line-height: calc( 25 / 14 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg23 {
        font-size:var(--font-size11);
        --line-height: calc( 19 / 11 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-rg24 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-rg24 {
        font-size:1.4rem;
        --line-height: calc( 22 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-rg24 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-md {
        font-size:var(--font-size15);
        --line-height: calc( 26 / 15 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-md {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-lg {
    color: var(--color-txt3);
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 )
    }
}

.c-txt-lg2 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg2 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg2 {
        font-size:var(--font-size13);
        --line-height: calc( 28 / 13 )
    }
}

.c-txt-lg3 {
    color: var(--color-txt6);
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg3 {
        font-size:var(--font-size16);
        --line-height: calc( 27 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg3 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-lg4 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg4 {
        font-size:var(--font-size16);
        --line-height: calc( 24 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg4 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-lg5 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg5 {
        font-size:var(--font-size16);
        --line-height: calc( 26 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg5 {
        font-size:var(--font-size13);
        --line-height: calc( 22 / 13 )
    }
}

.c-txt-lg6 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg6 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg6 {
        font-size:var(--font-size13);
        --line-height: calc( 28 / 13 )
    }
}

.c-txt-lg7 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg7 {
        font-size:var(--font-size16);
        --line-height: calc( 26 / 16 );
        letter-spacing: calc(80 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg7 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-lg8 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg8 {
        font-size:var(--font-size16);
        --line-height: calc( 26 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg8 {
        font-size:var(--font-size13);
        --line-height: calc( 22 / 13 )
    }
}

.c-txt-lg9 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg9 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg9 {
        font-size:var(--font-size14);
        --line-height: calc( 30 / 14 );
        letter-spacing: calc(10 / 1000 * 1em)
    }
}

.c-txt-lg10 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg10 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg10 {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 )
    }
}

.c-txt-lg11 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg11 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg11 {
        font-size:var(--font-size13);
        --line-height: calc( 26 / 13 )
    }
}

.c-txt-lg12 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg12 {
        font-size:var(--font-size16);
        --line-height: calc( 28 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg12 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-lg13 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg13 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg13 {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-lg14 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg14 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(100 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg14 {
        font-size:var(--font-size15);
        --line-height: calc( 28 / 15 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

.c-txt-lg15 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg15 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg15 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 )
    }
}

.c-txt-lg16 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg16 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg16 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

.c-txt-lg17 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg17 {
        font-size:var(--font-size16);
        --line-height: calc( 35 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg17 {
        font-size:var(--font-size15);
        --line-height: calc( 28 / 15 )
    }
}

.c-txt-lg18 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg18 {
        font-size:var(--font-size16);
        --line-height: calc( 28 / 16 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg18 {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-lg19 {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg19 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg19 {
        font-size:var(--font-size14);
        --line-height: calc( 24.5 / 14 )
    }
}

.c-txt-lg20 {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg20 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg20 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

.c-txt-lg21 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg21 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg21 {
        font-size:var(--font-size14);
        --line-height: calc( 24.5 / 14 )
    }
}

.c-txt-lg22 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg22 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg22 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-lg23 {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg23 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg23 {
        font-size:var(--font-size13);
        --line-height: calc( 28 / 13 )
    }
}

.c-txt-lg24 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg24 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg24 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-lg25 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-lg25 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg25 {
        font-size:var(--font-size14);
        --line-height: calc( 30 / 14 )
    }
}

.c-txt-lg26 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg26 {
        font-size:var(--font-size16);
        --line-height: calc( 29 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg26 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 )
    }
}

.c-txt-lg27 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg27 {
        font-size:var(--font-size16);
        --line-height: calc( 29 / 16 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg27 {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 )
    }
}

.c-txt-lg28 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg28 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg28 {
        font-size:var(--font-size14);
        --line-height: calc( 26 / 14 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-lg29 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg29 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg29 {
        font-size:var(--font-size14);
        --line-height: calc( 22 / 14 )
    }
}

.c-txt-lg30 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg30 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg30 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-lg31 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg31 {
        font-size:var(--font-size16);
        --line-height: calc( 30 / 16 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg31 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-lg32 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg32 {
        font-size:var(--font-size16);
        --line-height: calc( 32 / 16 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg32 {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

.c-txt-lg33 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-lg33 {
        font-size:var(--font-size16);
        --line-height: calc( 34 / 16 );
        letter-spacing: calc(20 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-lg33 {
        font-size:var(--font-size13);
        --line-height: calc( 28 / 13 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

.c-txt-xl {
    font-family: var(--font-gothic2)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl {
        font-size:var(--font-size18);
        --line-height: calc( 51 / 20 );
        letter-spacing: calc(180 / 1000 * 1em)
    }
}

@media screen and (min-width: 1281px) {
    .c-txt-xl {
        font-size:var(--font-size20)
    }
}

@media screen and (min-width: 1024px) and (max-height:1057px) {
    .c-txt-xl {
        font-size:calc(20 / 1057 * var(--wh))
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl {
        font-size:var(--font-size13);
        --line-height: calc( 24 / 13 );
        letter-spacing: calc(120 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) and (max-height:735px) {
    .c-txt-xl {
        font-size:calc(13 / 735 * var(--wh))
    }
}

.c-txt-xl2 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl2 {
        font-size:var(--font-size18);
        --line-height: calc( 32 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl2 {
        font-size:var(--font-size15);
        --line-height: calc( 28 / 15 )
    }
}

.c-txt-xl3 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xl3 {
        font-size:var(--font-size18);
        --line-height: calc( 30 / 18 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl3 {
        font-size:1.1rem;
        --line-height: calc( 17.8 / 11 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

.c-txt-xl4 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl4 {
        font-size:var(--font-size18);
        --line-height: calc( 44 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl4 {
        font-size:var(--font-size14);
        --line-height: calc( 29 / 14 )
    }
}

.c-txt-xl5 {
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl5 {
        font-size:var(--font-size18);
        --line-height: calc( 36 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl5 {
        font-size:var(--font-size16);
        --line-height: calc( 29 / 16 )
    }
}

.c-txt-xl6 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xl6 {
        font-size:var(--font-size18);
        --line-height: calc( 32 / 18 );
        letter-spacing: calc(60 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl6 {
        font-size:var(--font-size14);
        --line-height: calc( 30 / 14 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (min-width: 1024px) {
    .c-txt-xl7 {
        font-size:var(--font-size18);
        --line-height: calc( 35 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl7 {
        font-size:var(--font-size15);
        --line-height: calc( 29 / 15 )
    }
}

.c-txt-xl8 {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl8 {
        font-size:var(--font-size18);
        --line-height: calc( 36 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl8 {
        font-size:var(--font-size12);
        --line-height: calc( 24 / 12 )
    }
}

.c-txt-xl9 {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xl9 {
        font-size:var(--font-size18);
        --line-height: calc( 35 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xl9 {
        font-size:var(--font-size13);
        --line-height: calc( 25 / 13 )
    }
}

.c-txt-xxl {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xxl {
        font-size:var(--font-size20);
        --line-height: calc( 41 / 20 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xxl {
        font-size:var(--font-size15);
        --line-height: calc( 30 / 15 )
    }
}

.c-txt-xxxl {
    font-weight: 400;
    letter-spacing: calc(50 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-txt-xxxl {
        font-size:var(--font-size22);
        --line-height: calc( 45 / 22 )
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xxxl {
        font-size:var(--font-size15);
        --line-height: calc( 30 / 15 )
    }
}

.c-txt-xxxl2 {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .c-txt-xxxl2 {
        font-size:var(--font-size22);
        --line-height: calc( 40 / 22 );
        letter-spacing: calc(40 / 1000 * 1em)
    }
}

@media screen and (max-width: 1023px) {
    .c-txt-xxxl2 {
        font-size:var(--font-size16);
        --line-height: calc( 28 / 16 )
    }
}

.c-voice {
    display: grid;
    align-items: start
}

@media screen and (min-width: 1024px) {
    .c-voice.-horizontal {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (min-width: 1024px) {
    .c-voice.-small {
        gap:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-small {
        gap:1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-voice.-small .c-voice__cell {
        --triangle-size:1.3rem;
        padding: 2.6rem 2.4rem 3.1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-small .c-voice__cell {
        --triangle-size:1rem;
        padding: 1.8rem 2.3rem 1.8rem
    }
}

.c-voice.-small .c-voice__title {
    font-size: var(--font-size12)
}

@media screen and (min-width: 1024px) {
    .c-voice.-small .c-voice__txt {
        margin-top:.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-small .c-voice__txt {
        margin-left:1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-voice.-medium {
        gap:1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-medium {
        gap:1.3rem
    }
}

.c-voice.-medium.-horizontal .c-voice__cell {
    padding: 2.6rem 2.4rem 3.1rem
}

@media screen and (min-width: 1024px) {
    .c-voice.-medium .c-voice__cell {
        --triangle-size:1.3rem;
        padding: 2.4rem 2.8rem 2.9rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-medium .c-voice__cell {
        --triangle-size:1rem;
        padding: 1.8rem 2.3rem 2.3rem
    }
}

.c-voice.-medium .c-voice__title {
    font-size: var(--font-size12)
}

@media screen and (min-width: 1024px) {
    .c-voice.-medium .c-voice__txt {
        margin-top:1rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice.-medium .c-voice__txt {
        margin-left:1.4rem
    }
}

.c-voice__cell {
    position: relative;
    border-radius: var(--radius-xs-fixed);
    background-color: var(--color-bg7)
}

@media screen and (max-width: 1023px) {
    .c-voice__cell {
        display:flex;
        align-items: flex-start
    }
}

.c-voice__cell::before {
    content: '';
    display: block;
    width: var(--triangle-size);
    height: var(--triangle-size);
    background-color: var(--color-bg7);
    clip-path: polygon(0 0,0 100%,100% 0);
    position: absolute;
    top: 100%
}

@media screen and (min-width: 1024px) {
    .c-voice__cell::before {
        left:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .c-voice__cell::before {
        left:2.8rem
    }
}

.c-voice__title {
    color: var(--theme-color);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.c-voice__title::after,.c-voice__title::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.c-voice__title::before {
    margin-top: var(--font-sans-serif-top)
}

.c-voice__title::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (max-width: 1023px) {
    .c-voice__txt {
        flex:1
    }
}

.c-year {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--radius-max);
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .c-year.-small {
        font-size:var(--font-size13);
        padding: .5rem 1.3rem .6rem 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-year.-small {
        font-size:var(--font-size9);
        padding: .3rem 1rem .4rem
    }
}

@media screen and (min-width: 1024px) {
    .c-year.-small2 {
        font-size:var(--font-size13);
        padding: .5rem 1.3rem .6rem 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-year.-small2 {
        font-size:var(--font-size10);
        padding: .4rem 1.2rem .5rem 1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .c-year.-small3 {
        font-size:var(--font-size13);
        padding: .5rem 1.3rem .6rem 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .c-year.-small3 {
        font-size:var(--font-size10);
        padding: .4rem 1rem .4rem
    }
}

.c-year.-main2-white {
    background-color: var(--color-main2);
    color: var(--color-txt2)
}

.c-year.-main7-white {
    background-color: var(--color-main7);
    color: var(--color-txt2)
}

.js-delay-1 {
    transition-delay: calc(var(--transition-delay ,200ms) + 140ms)!important
}

.js-delay-2 {
    transition-delay: calc(var(--transition-delay ,200ms) + 280ms)!important
}

.js-delay-3 {
    transition-delay: calc(var(--transition-delay ,200ms) + 420ms)!important
}

.js-delay-4 {
    transition-delay: calc(var(--transition-delay ,200ms) + 560ms)!important
}

.js-delay-5 {
    transition-delay: calc(var(--transition-delay ,200ms) + 700ms)!important
}

.js-delay-6 {
    transition-delay: calc(var(--transition-delay ,200ms) + 840ms)!important
}

.js-delay-7 {
    transition-delay: calc(var(--transition-delay ,200ms) + 980ms)!important
}

.js-delay-8 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1120ms)!important
}

.js-delay-9 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1260ms)!important
}

.js-delay-10 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1400ms)!important
}

.js-delay-11 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1540ms)!important
}

.js-delay-12 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1680ms)!important
}

.js-delay-13 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1820ms)!important
}

.js-delay-14 {
    transition-delay: calc(var(--transition-delay ,200ms) + 1960ms)!important
}

.js-delay-15 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2100ms)!important
}

.js-delay-16 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2240ms)!important
}

.js-delay-17 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2380ms)!important
}

.js-delay-18 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2520ms)!important
}

.js-delay-19 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2660ms)!important
}

.js-delay-20 {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)!important
}

.js-var-delay-1 {
    --transition-delay: 140ms
}

.js-var-delay-2 {
    --transition-delay: 280ms
}

.js-var-delay-3 {
    --transition-delay: 420ms
}

.js-var-delay-4 {
    --transition-delay: 560ms
}

.js-var-delay-5 {
    --transition-delay: 700ms
}

.js-var-delay-6 {
    --transition-delay: 840ms
}

.js-var-delay-7 {
    --transition-delay: 980ms
}

.js-var-delay-8 {
    --transition-delay: 1120ms
}

.js-var-delay-9 {
    --transition-delay: 1260ms
}

.js-var-delay-10 {
    --transition-delay: 1400ms
}

.js-var-delay-11 {
    --transition-delay: 1540ms
}

.js-var-delay-12 {
    --transition-delay: 1680ms
}

.js-var-delay-13 {
    --transition-delay: 1820ms
}

.js-var-delay-14 {
    --transition-delay: 1960ms
}

.js-var-delay-15 {
    --transition-delay: 2100ms
}

.js-var-delay-16 {
    --transition-delay: 2240ms
}

.js-var-delay-17 {
    --transition-delay: 2380ms
}

.js-var-delay-18 {
    --transition-delay: 2520ms
}

.js-var-delay-19 {
    --transition-delay: 2660ms
}

.js-var-delay-20 {
    --transition-delay: 2800ms
}

.js-lazyload {
    opacity: 0
}

.js-lazyload.is-set {
    opacity: 1;
    transition: opacity .2s linear
}

img.js-svg {
    opacity: 0
}

.js-fade {
    opacity: 0;
    transition: var(--transition-fade);
    transition-property: opacity;
    transition-delay: var(--transition-delay,200ms)
}

.is-shown .js-fade,.js-fade.is-shown {
    opacity: 1
}

.js-fades>* {
    opacity: 0;
    transition: var(--transition-fade);
    transition-property: opacity
}

.js-fades>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,200ms) + 140ms)
}

.js-fades>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,200ms) + 280ms)
}

.js-fades>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,200ms) + 420ms)
}

.js-fades>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,200ms) + 560ms)
}

.js-fades>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,200ms) + 700ms)
}

.js-fades>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,200ms) + 840ms)
}

.js-fades>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,200ms) + 980ms)
}

.js-fades>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1120ms)
}

.js-fades>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1260ms)
}

.js-fades>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1400ms)
}

.js-fades>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1540ms)
}

.js-fades>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1680ms)
}

.js-fades>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1820ms)
}

.js-fades>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1960ms)
}

.js-fades>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2100ms)
}

.js-fades>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2240ms)
}

.js-fades>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2380ms)
}

.js-fades>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2520ms)
}

.js-fades>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2660ms)
}

.js-fades>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)
}

.is-shown .js-fades>*,.js-fades.is-shown>* {
    opacity: 1
}

.js-fades2>* {
    opacity: 0;
    transition: var(--transition-fade2);
    transition-property: opacity
}

.js-fades2>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,100ms) + 80ms)
}

.js-fades2>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,100ms) + 160ms)
}

.js-fades2>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,100ms) + 240ms)
}

.js-fades2>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,100ms) + 320ms)
}

.js-fades2>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,100ms) + 400ms)
}

.js-fades2>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,100ms) + 480ms)
}

.js-fades2>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,100ms) + 560ms)
}

.js-fades2>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,100ms) + 640ms)
}

.js-fades2>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,100ms) + 720ms)
}

.js-fades2>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,100ms) + 800ms)
}

.js-fades2>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,100ms) + 880ms)
}

.js-fades2>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,100ms) + 960ms)
}

.js-fades2>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1040ms)
}

.js-fades2>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1120ms)
}

.js-fades2>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1200ms)
}

.js-fades2>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1280ms)
}

.js-fades2>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1360ms)
}

.js-fades2>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1440ms)
}

.js-fades2>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1520ms)
}

.js-fades2>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,100ms) + 1600ms)
}

.is-shown .js-fades2>*,.js-fades2.is-shown>* {
    opacity: 1
}

.js-fadedown {
    opacity: 0;
    -webkit-transform: translate3d(0,-2rem,0) rotate(.001deg);
    transform: translate3d(0,-2rem,0) rotate(.001deg);
    transition: var(--transition-fadedown);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadedown.is-shown,:not(.js-trigger2).is-shown .js-fadedown {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-fadedowns>* {
    opacity: 0;
    -webkit-transform: translate3d(0,-2rem,0) rotate(.001deg);
    transform: translate3d(0,-2rem,0) rotate(.001deg);
    transition: var(--transition-fadedown);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadedowns>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,200ms) + 140ms)
}

.js-fadedowns>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,200ms) + 280ms)
}

.js-fadedowns>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,200ms) + 420ms)
}

.js-fadedowns>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,200ms) + 560ms)
}

.js-fadedowns>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,200ms) + 700ms)
}

.js-fadedowns>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,200ms) + 840ms)
}

.js-fadedowns>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,200ms) + 980ms)
}

.js-fadedowns>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1120ms)
}

.js-fadedowns>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1260ms)
}

.js-fadedowns>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1400ms)
}

.js-fadedowns>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1540ms)
}

.js-fadedowns>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1680ms)
}

.js-fadedowns>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1820ms)
}

.js-fadedowns>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1960ms)
}

.js-fadedowns>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2100ms)
}

.js-fadedowns>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2240ms)
}

.js-fadedowns>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2380ms)
}

.js-fadedowns>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2520ms)
}

.js-fadedowns>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2660ms)
}

.js-fadedowns>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)
}

.js-fadedowns.is-shown>*,:not(.js-trigger2).is-shown .js-fadedowns>* {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-fadeup {
    opacity: 0;
    -webkit-transform: translate3d(0,2rem,0) rotate(.001deg);
    transform: translate3d(0,2rem,0) rotate(.001deg);
    transition: var(--transition-fadeup);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadeup.is-shown,:not(.js-trigger2).is-shown .js-fadeup {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-fadeups>* {
    opacity: 0;
    -webkit-transform: translate3d(0,2rem,0) rotate(.001deg);
    transform: translate3d(0,2rem,0) rotate(.001deg);
    transition: var(--transition-fadeup);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-fadeups>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,200ms) + 140ms)
}

.js-fadeups>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,200ms) + 280ms)
}

.js-fadeups>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,200ms) + 420ms)
}

.js-fadeups>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,200ms) + 560ms)
}

.js-fadeups>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,200ms) + 700ms)
}

.js-fadeups>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,200ms) + 840ms)
}

.js-fadeups>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,200ms) + 980ms)
}

.js-fadeups>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1120ms)
}

.js-fadeups>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1260ms)
}

.js-fadeups>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1400ms)
}

.js-fadeups>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1540ms)
}

.js-fadeups>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1680ms)
}

.js-fadeups>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1820ms)
}

.js-fadeups>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1960ms)
}

.js-fadeups>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2100ms)
}

.js-fadeups>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2240ms)
}

.js-fadeups>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2380ms)
}

.js-fadeups>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2520ms)
}

.js-fadeups>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2660ms)
}

.js-fadeups>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)
}

.js-fadeups.is-shown>*,:not(.js-trigger2).is-shown .js-fadeups>* {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-parallax-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--color-bg4)
}

.js-parallax-img>:first-child {
    width: 100%;
    height: calc(100% + 6vh);
    position: absolute;
    top: -3vh;
    left: 0;
    opacity: 0;
    will-change: transform
}

body.is-load .js-parallax-img>:first-child {
    opacity: 1;
    transition: opacity var(--transition-fade);
    transition-delay: 450ms
}

body.ua-windows .js-parallax-img>:first-child {
    transition: opacity var(--transition-fade),-webkit-transform .2s ease;
    transition: transform .2s ease,opacity var(--transition-fade);
    transition: transform .2s ease,opacity var(--transition-fade),-webkit-transform .2s ease
}

.js-parallax-img img {
    -webkit-transform: rotate(.0001deg) translate3d(0,0,0);
    transform: rotate(.0001deg) translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.js-parallax-img.-hero>:first-child {
    height: 100%;
    top: 0
}

.js-scale {
    opacity: 0;
    -webkit-transform: scale(0) rotate(.00001deg);
    transform: scale(0) rotate(.00001deg);
    transition: var(--transition-scale);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-scale.is-shown,:not(.js-trigger2).is-shown .js-scale {
    opacity: 1;
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg)
}

.js-scale2 {
    opacity: 0;
    -webkit-transform: scale(.2) rotate(.00001deg);
    transform: scale(.2) rotate(.00001deg);
    transition: var(--transition-scale);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-scale2.is-shown,:not(.js-trigger2).is-shown .js-scale2 {
    opacity: 1;
    -webkit-transform: scale(1) rotate(.00001deg);
    transform: scale(1) rotate(.00001deg)
}

.js-slidecross>* {
    opacity: 0;
    transition: var(--transition-slidecross);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-slidecross>:nth-of-type(2n-1) {
    -webkit-transform: translate3d(-10%,5%,0) rotate(.001deg);
    transform: translate3d(-10%,5%,0) rotate(.001deg)
}

.js-slidecross>:nth-of-type(2n) {
    -webkit-transform: translate3d(10%,-5%,0) rotate(.001deg);
    transform: translate3d(10%,-5%,0) rotate(.001deg)
}

.js-slidecross>:nth-child(1) {
    transition-delay: calc(var(--transition-delay ,200ms) + 140ms)
}

.js-slidecross>:nth-child(2) {
    transition-delay: calc(var(--transition-delay ,200ms) + 280ms)
}

.js-slidecross>:nth-child(3) {
    transition-delay: calc(var(--transition-delay ,200ms) + 420ms)
}

.js-slidecross>:nth-child(4) {
    transition-delay: calc(var(--transition-delay ,200ms) + 560ms)
}

.js-slidecross>:nth-child(5) {
    transition-delay: calc(var(--transition-delay ,200ms) + 700ms)
}

.js-slidecross>:nth-child(6) {
    transition-delay: calc(var(--transition-delay ,200ms) + 840ms)
}

.js-slidecross>:nth-child(7) {
    transition-delay: calc(var(--transition-delay ,200ms) + 980ms)
}

.js-slidecross>:nth-child(8) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1120ms)
}

.js-slidecross>:nth-child(9) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1260ms)
}

.js-slidecross>:nth-child(10) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1400ms)
}

.js-slidecross>:nth-child(11) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1540ms)
}

.js-slidecross>:nth-child(12) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1680ms)
}

.js-slidecross>:nth-child(13) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1820ms)
}

.js-slidecross>:nth-child(14) {
    transition-delay: calc(var(--transition-delay ,200ms) + 1960ms)
}

.js-slidecross>:nth-child(15) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2100ms)
}

.js-slidecross>:nth-child(16) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2240ms)
}

.js-slidecross>:nth-child(17) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2380ms)
}

.js-slidecross>:nth-child(18) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2520ms)
}

.js-slidecross>:nth-child(19) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2660ms)
}

.js-slidecross>:nth-child(20) {
    transition-delay: calc(var(--transition-delay ,200ms) + 2800ms)
}

.js-slidecross.is-shown>*,:not(.js-trigger2).is-shown .js-slidecross>* {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-slidedaiagonal {
    opacity: 0;
    -webkit-transform: translate3d(-15%,50%,0) rotate(.001deg);
    transform: translate3d(-15%,50%,0) rotate(.001deg);
    transition: var(--transition-slidedaiagonal);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-slidedaiagonal.is-shown,:not(.js-trigger2).is-shown .js-slidedaiagonal {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.js-slidedaiagonal2 {
    opacity: 0;
    -webkit-transform: translate3d(-3%,10%,0) rotate(.001deg);
    transform: translate3d(-3%,10%,0) rotate(.001deg);
    transition: var(--transition-slidedaiagonal);
    transition-delay: var(--transition-delay,200ms);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

.js-slidedaiagonal2.is-shown,:not(.js-trigger2).is-shown .js-slidedaiagonal2 {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0) rotate(.001deg);
    transform: translate3d(0,0,0) rotate(.001deg)
}

.is-shown .js-splittext__txt {
    opacity: 1;
    transition-delay: calc(var(--transition-delay) + 200ms)
}

.js-splittext__txt {
    opacity: 0;
    transition: opacity var(--transition-splittext);
    transition-delay: .5s
}

.js-accordion-click.is-first .js-accordion__panel,.js-accordion-hover.is-first .js-accordion__panel {
    height: auto
}

.js-accordion-click .js-accordion__panel,.js-accordion-hover .js-accordion__panel {
    height: 0;
    overflow: hidden;
    transition: height var(--transition-accordion)
}

@media screen and (min-width: 1024px) {
    .js-accordion-click-mqDown-lg .js-accordion__switch,.js-accordion-hover-mqDown-lg .js-accordion__switch {
        cursor:auto;
        pointer-events: none
    }
}

@media screen and (max-width: 1023px) {
    .js-accordion-click-mqDown-lg .js-accordion__panel,.js-accordion-hover-mqDown-lg .js-accordion__panel {
        height:0;
        overflow: hidden;
        transition: height var(--transition-accordion)
    }
}

.js-loopslider {
    overflow: hidden
}

.js-loopslider.is-running .js-loopslider__content {
    -webkit-animation-play-state: running!important;
    animation-play-state: running!important
}

.js-loopslider .js-loopslider__content {
    width: var(--all-width);
    display: flex;
    -webkit-animation: loopslider-x var(--animation-duration-horizontal) linear infinite;
    animation: loopslider-x var(--animation-duration-horizontal) linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform
}

.js-loopslider .js-loopslider__content::after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    visibility: hidden
}

.js-loopslider .js-loopslider__content>* {
    display: flex
}

.js-loopslider.-txt p {
    display: block;
    white-space: nowrap;
    padding-right: .5em
}

@media screen and (min-width: 1024px) {
    .js-loopslider-mqDown-lg .is-clone {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .js-loopslider-mqDown-lg {
        overflow:hidden
    }

    .js-loopslider-mqDown-lg.is-running .js-loopslider__content {
        -webkit-animation-play-state: running!important;
        animation-play-state: running!important
    }

    .js-loopslider-mqDown-lg .js-loopslider__content {
        width: var(--all-width);
        display: flex;
        -webkit-animation: loopslider-x var(--animation-duration-horizontal) linear infinite;
        animation: loopslider-x var(--animation-duration-horizontal) linear infinite;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        will-change: transform
    }

    .js-loopslider-mqDown-lg .js-loopslider__content::after {
        content: ".";
        display: block;
        clear: both;
        height: 0;
        line-height: 0;
        visibility: hidden
    }

    .js-loopslider-mqDown-lg .js-loopslider__content>* {
        display: flex
    }

    .js-loopslider-mqDown-lg.-txt p {
        display: block;
        white-space: nowrap;
        padding-right: .5em
    }
}

.js-loopslider-y .js-loopslider__content {
    -webkit-animation: loopslider-y var(--animation-duration-vertical) linear infinite;
    animation: loopslider-y var(--animation-duration-vertical) linear infinite
}

.js-loopslider-y.-type2 .js-loopslider__content {
    -webkit-animation: loopslider-y2 var(--animation-duration-vertical) linear infinite;
    animation: loopslider-y2 var(--animation-duration-vertical) linear infinite
}

.js-modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-js-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    background-color: var(--color-overlay2);
    -webkit-backdrop-filter: var(--overlay-blur);
    backdrop-filter: var(--overlay-blur);
    transition: var(--transition-modal);
    transition-property: opacity,visibility
}

.js-modal.is-loading,.js-modal.is-visible {
    opacity: 1;
    visibility: visible
}

.js-modal.is-loading {
    pointer-events: none
}

.js-modal.is-loading::after {
    opacity: 1
}

.js-modal::after {
    content: '';
    display: block;
    width: var(--loading-size);
    height: var(--loading-size);
    background-image: url(../img/common/icon/apng-loading.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(.00001deg);
    transform: translate(-50%,-50%) rotate(.00001deg);
    z-index: 10;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transition-icon-show)
}

.js-modal__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: var(--contents-xxl-outside)
}

.js-modal__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.js-modal__figure {
    position: relative;
    z-index: 100;
    max-width: 120rem;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-modal);
    transition-property: opacity,visibility;
    overflow: auto;
    padding: 0 10%;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.js-modal__figure::-webkit-scrollbar {
    display: none
}

@media screen and (min-width: 1024px) {
    .js-modal__figure {
        margin-bottom:6rem
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__figure {
        margin-bottom:3rem
    }
}

.js-modal__figure img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    margin: auto
}

@media screen and (max-width: 560px) {
    .js-modal__figure img {
        min-width:200%;
        width: 200%
    }
}

.js-modal__figure.is-visible {
    opacity: 1;
    visibility: visible
}

.js-modal__figure.is-change {
    opacity: 0;
    visibility: hidden
}

.js-modal__caption {
    display: none
}

.js-modal__youtube {
    position: relative;
    z-index: 10;
    overflow: hidden;
    aspect-ratio: 497/956;
    border-radius: var(--radius-xs2);
    background-color: var(--color-bg3);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-modal);
    transition-property: opacity,visibility
}

@media screen and (min-width: 1024px) {
    .js-modal__youtube {
        height:90svh;
        max-height: 95.6rem
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__youtube {
        height:67svh;
        max-height: 63.5rem
    }
}

.js-modal__youtube.is-visible {
    opacity: 1;
    visibility: visible
}

.js-modal__youtube__iframe {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%) rotate(.00001deg);
    transform: translate(-50%,-50%) rotate(.00001deg)
}

@media screen and (min-width: 1024px) {
    .js-modal__youtube__iframe {
        height:calc(100% - 8.6rem)
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__youtube__iframe {
        height:calc(100% - 6.8rem)
    }
}

.js-modal__youtube__caption {
    display: none
}

@media screen and (max-width: 1023px) {
    .js-modal__flex {
        width:var(--contents-md2);
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 3.5rem
    }
}

.js-modal__contents {
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .js-modal__contents {
        position:absolute;
        top: 50%;
        left: calc((78 / var(--base-width)) * 100%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__contents {
        padding-left:3rem
    }
}

@media screen and (min-width: 1024px) {
    .js-modal__contents__txt {
        margin-top:3.3rem
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__contents__txt {
        margin-top:1.9rem
    }
}

.js-modal__navigation {
    display: none
}

.js-modal__close {
    z-index: 100;
    pointer-events: auto;
    cursor: pointer;
    transition: opacity var(--transition-hover);
    transition: opacity var(--transition-hover)
}

@media (hover: hover) {
    .js-modal__close:hover {
        opacity:var(--hover-opacity)
    }
}

@media screen and (min-width: 1024px) {
    .js-modal__close {
        position:absolute;
        top: 50%;
        right: calc((78 / var(--base-width)) * 100%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

.js-modal__close button {
    position: relative;
    display: block
}

@media screen and (min-width: 1024px) {
    .js-modal__close button {
        width:9.2rem;
        height: 9.2rem
    }
}

@media screen and (max-width: 1023px) {
    .js-modal__close button {
        width:3.8rem;
        height: 3.8rem
    }
}

.js-modal__close span {
    display: block;
    width: 135%;
    height: 1px;
    background-color: var(--color-txt2);
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%
}

.js-modal__close span:nth-of-type(1) {
    -webkit-transform: translate(-50%,-50%) rotate(45deg);
    transform: translate(-50%,-50%) rotate(45deg)
}

.js-modal__close span:nth-of-type(2) {
    -webkit-transform: translate(-50%,-50%) rotate(-45deg);
    transform: translate(-50%,-50%) rotate(-45deg)
}

.js-tab__panel {
    position: relative;
    overflow: hidden
}

.js-tab__panel>* {
    width: 100%;
    z-index: 0;
    transition: var(--transition-tab);
    transition-property: opacity,visibility
}

.js-tab__panel>:not(.is-active) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden
}

@media screen and (min-width: 1024px) {
    .p-accordion+.p-accordion {
        margin-top:.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion+.p-accordion {
        margin-top:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-accordion.is-open .p-accordion__switch {
        box-shadow:0 .6rem 0 var(--color-shadow4)
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion.is-open .p-accordion__switch {
        box-shadow:0 .8rem 0 var(--color-shadow4)
    }
}

.p-accordion.is-open .c-num {
    --background-color: var( --color-txt8 );
    --txt-color: var( --color-txt2 )
}

.p-accordion__en {
    width: 1em;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-accordion__en::after,.p-accordion__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-accordion__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-accordion__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-accordion__en {
        font-size:var(--font-size20)
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__en {
        font-size:var(--font-size14)
    }
}

.p-accordion__switch {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    border-radius: var(--radius-xxs-fixed);
    background-color: var(--color-bg10);
    text-align: left;
    transition: var(--transition-accordion);
    transition-property: box-shadow
}

@media screen and (min-width: 1024px) {
    .p-accordion__switch {
        padding:3rem 5.8rem 3rem 3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__switch {
        padding:2.5rem 2rem 2.5rem 1.5rem
    }
}

.p-accordion__switch .c-num {
    transition: var(--transition-accordion);
    transition-property: background-color,color
}

@media screen and (min-width: 1024px) {
    .p-accordion__switch .c-down {
        margin-left:4.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__switch .c-down {
        margin-left:1.3rem
    }
}

.p-accordion__switch__contents {
    flex: 1;
    display: flex;
    align-items: baseline
}

@media screen and (min-width: 1024px) {
    .p-accordion__switch__contents {
        margin-left:4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__switch__contents {
        margin-left:1.4rem
    }
}

.p-accordion__switch__contents .p-accordion__en {
    color: var(--color-txt8)
}

.p-accordion__switch__title {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .p-accordion__switch__title {
        font-size:var(--font-size18);
        --line-height: calc( 30 / 18 );
        letter-spacing: calc(60 / 1000 * 1em);
        margin-left: 2.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__switch__title {
        font-size:var(--font-size13);
        --line-height: calc( 22 / 13 );
        letter-spacing: calc(20 / 1000 * 1em);
        margin-left: 1.1rem
    }
}

.p-accordion__panel {
    position: relative;
    z-index: 0
}

.p-accordion__panel__inner {
    display: flex;
    align-items: baseline;
    background-color: var(--color-bg4);
    border-radius: 0 0 var(--radius-xxs-fixed) var(--radius-xxs-fixed)
}

@media screen and (min-width: 1024px) {
    .p-accordion__panel__inner {
        padding:5.2rem 10.4rem 5.4rem 12.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__panel__inner {
        padding:3rem 2.6rem 4.2rem 2.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-accordion__panel__txt {
        margin-left:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-accordion__panel__txt {
        margin-left:2.5rem
    }
}

.p-banner {
    min-width: var(--width);
    min-height: var(--height);
    width: var(--width);
    height: var(--height);
    margin-right: var(--shadow-size);
    margin-bottom: var(--shadow-size)
}

@media screen and (min-width: 1024px) {
    .p-banner {
        --shadow-size:2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner {
        --shadow-size:1rem
    }
}

.p-banner a {
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    box-shadow: var(--shadow-size) var(--shadow-size) 0 var(--color-shadow2);
    border-radius: var(--radius);
    background-color: var(--theme-color)
}

@media (hover: hover) {
    .p-banner a:hover .p-banner__figure img {
        -webkit-transform:var(--hover-scale2);
        transform: var(--hover-scale2)
    }
}

.p-banner.-small {
    --radius: var( --radius-rg2 )
}

@media screen and (min-width: 1024px) {
    .p-banner.-small {
        --width:30.4rem;
        --height: 11rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small {
        --width:17.2rem;
        --height: 6.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small a {
        padding-left:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small a {
        padding-left:2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__en {
        margin-top:.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__en {
        margin-top:.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__en span {
        font-size:var(--font-size24);
        padding-top: .2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__en span {
        font-size:var(--font-size14);
        padding-top: .1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__en .c-arrow {
        margin-left:.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__en .c-arrow {
        margin-left:.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__ja {
        font-size:var(--font-size12);
        margin-top: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__ja {
        font-size:var(--font-size7);
        margin-top: .2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__figure.-unique1 {
        width:21.1rem;
        top: -5.2rem;
        right: -6.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__figure.-unique1 {
        width:12.1rem;
        top: -2.8rem;
        right: -3.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__figure.-unique2 {
        width:21.6rem;
        top: -4.9rem;
        right: -6.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__figure.-unique2 {
        width:12.2rem;
        top: -2.7rem;
        right: -3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__figure.-unique3 {
        width:22rem;
        top: -4.7rem;
        right: -7.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__figure.-unique3 {
        width:12.4rem;
        top: -2.6rem;
        right: -4.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-small .p-banner__figure.-unique4 {
        width:21.6rem;
        top: -4.8rem;
        right: -7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-small .p-banner__figure.-unique4 {
        width:12.2rem;
        top: -2.8rem;
        right: -4rem
    }
}

.p-banner.-medium {
    --radius: var( --radius-rg )
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium {
        --width:32.1rem;
        --height: 12.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium {
        --width:16.2rem;
        --height: 6.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium a {
        padding-left:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium a {
        padding-left:2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__en {
        margin-top:.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__en {
        margin-top:.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__en span {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__en span {
        font-size:var(--font-size14);
        margin-bottom: .1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__en .c-arrow {
        margin-left:.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__en .c-arrow {
        margin-left:.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__ja {
        font-size:var(--font-size12);
        margin-top: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__ja {
        font-size:var(--font-size8);
        margin-top: .2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__figure.-unique1 {
        width:21.6rem;
        top: -4rem;
        right: -7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__figure.-unique1 {
        width:11rem;
        top: -1.8rem;
        right: -3.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__figure.-unique2 {
        width:22.4rem;
        top: -4.1rem;
        right: -6.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__figure.-unique2 {
        width:11.3rem;
        top: -2.1rem;
        right: -3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__figure.-unique3 {
        width:21.1rem;
        top: -3rem;
        right: -7.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__figure.-unique3 {
        width:10.6rem;
        top: -1.5rem;
        right: -3.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-medium .p-banner__figure.-unique4 {
        width:22rem;
        top: -3.2rem;
        right: -7.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-medium .p-banner__figure.-unique4 {
        width:11.1rem;
        top: -1.6rem;
        right: -3.8rem
    }
}

.p-banner.-large {
    --radius: var( --radius-sm5 )
}

@media screen and (min-width: 1024px) {
    .p-banner.-large {
        --width:40.6rem;
        --height: 13.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large {
        --width:30rem;
        --height: 10.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large a {
        padding-left:4.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large a {
        padding-left:3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large .p-banner__en span {
        font-size:var(--font-size31)
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large .p-banner__en span {
        font-size:var(--font-size23)
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large .p-banner__en .c-arrow {
        margin-left:1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large .p-banner__en .c-arrow {
        margin-left:.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large .p-banner__ja {
        font-size:var(--font-size14);
        margin-top: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large .p-banner__ja {
        font-size:var(--font-size11);
        margin-top: .9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large .p-banner__figure.-unique1 {
        width:20rem;
        top: -1.3rem;
        right: -4.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large .p-banner__figure.-unique1 {
        width:14.8rem;
        top: -1rem;
        right: -3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner.-large .p-banner__figure.-unique2 {
        width:10rem;
        top: 2.5rem;
        right: 3.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner.-large .p-banner__figure.-unique2 {
        width:7.3rem;
        top: 1.9rem;
        right: 2.7rem
    }
}

.p-banner__contents {
    color: var(--color-txt2)
}

.p-banner__en {
    display: flex;
    align-items: center
}

.p-banner__en span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-banner__en span::after,.p-banner__en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-banner__en span::before {
    margin-top: var(--font-sans-serif-top)
}

.p-banner__en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-banner__ja {
    font-weight: 400
}

.p-banner__figure {
    position: absolute
}

.p-banner__figure img {
    display: block;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.p-banner2 {
    position: relative;
    min-width: var(--width);
    min-height: var(--height);
    width: var(--width);
    height: var(--height);
    margin-right: var(--shadow-size);
    margin-bottom: var(--shadow-size);
    border-radius: var(--radius);
    box-shadow: var(--shadow-size) var(--shadow-size) 0 var(--color-shadow2)
}

@media screen and (min-width: 1024px) {
    .p-banner2 {
        --shadow-size:3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2 {
        --shadow-size:1rem
    }
}

.p-banner2 a {
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: var(--radius);
    background-color: var(--theme-color);
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

@media (hover: hover) {
    .p-banner2 a:hover {
        -webkit-transform:translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25));
        transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25))
    }

    .p-banner2 a:hover+.p-banner2__figure {
        -webkit-transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25));
        transform: translate(calc(var(--shadow-size)*.25),calc(var(--shadow-size)*.25))
    }
}

.p-banner2.-large {
    --radius: var( --radius-md10 )
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large {
        --width:79.8rem;
        --height: 16.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large {
        --width:36rem;
        --height: 14.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large a {
        padding-left:6.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large a {
        padding-left:4.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__ja__txt {
        margin-left:1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__ja__txt {
        margin-left:1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__ja__num {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__ja__num {
        font-size:var(--font-size18)
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__ja__entry {
        font-size:var(--font-size18);
        margin-left: .3rem;
        margin-bottom: .1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__ja__entry {
        font-size:var(--font-size12);
        margin-left: .2rem;
        margin-bottom: .1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__en {
        margin-left:3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__en {
        margin-top:2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__en__sub {
        font-size:var(--font-size13)
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__en__sub {
        font-size:var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__en__main {
        font-size:var(--font-size48);
        margin-top: 1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__en__main {
        font-size:var(--font-size33);
        margin-top: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .c-arrow {
        margin-left:2.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .c-arrow {
        margin-left:1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__figure.-unique1 {
        width:25rem;
        height: 22.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__figure.-unique1 {
        width:16.2rem;
        height: 16rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner2.-large .p-banner2__figure.-unique1 img {
        min-width:30.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner2.-large .p-banner2__figure.-unique1 img {
        min-width:21.8rem
    }
}

.p-banner2__contents {
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .p-banner2__contents {
        display:flex;
        align-items: center
    }
}

.p-banner2__ja {
    display: flex;
    align-items: center
}

.p-banner2__ja__txt {
    display: flex;
    align-items: center
}

.p-banner2__ja__txt span {
    display: block
}

.p-banner2__ja__num {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-banner2__ja__num::after,.p-banner2__ja__num::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-banner2__ja__num::before {
    margin-top: var(--font-sans-serif-top)
}

.p-banner2__ja__num::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-banner2__ja__entry {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

.p-banner2__en {
    display: flex;
    align-items: center
}

.p-banner2__en__main,.p-banner2__en__sub {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-banner2__en__main::after,.p-banner2__en__main::before,.p-banner2__en__sub::after,.p-banner2__en__sub::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-banner2__en__main::before,.p-banner2__en__sub::before {
    margin-top: var(--font-sans-serif-top)
}

.p-banner2__en__main::after,.p-banner2__en__sub::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-banner2__en__sub {
    margin-left: .25em
}

.p-banner2__figure {
    position: absolute;
    right: 0;
    bottom: 0;
    overflow: hidden;
    border-radius: 0 var(--radius) var(--radius) 0;
    pointer-events: none;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.p-banner3 {
    --theme-color: var( --pallet-purple4 );
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-size,0) var(--shadow-size,0) 0 var(--color-shadow2);
    margin-bottom: var(--shadow-size,0)
}

.p-banner3 a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--border-radius);
    background-image: url(../img/common/project/banner_gradation.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--color-txt2);
    overflow: hidden
}

.p-banner3.-medium {
    --border-radius: var( --radius-sm5 )
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium {
        --shadow-size:2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium {
        --shadow-size:1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium a {
        padding:2.4rem 3.2rem 2rem 4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium a {
        padding:1.8rem 2.4rem 1.5rem 3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium .p-banner3__contents {
        padding-bottom:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium .p-banner3__contents {
        padding-bottom:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium .p-banner3__en span {
        font-size:var(--font-size28)
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium .p-banner3__en span {
        font-size:var(--font-size21)
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium .p-banner3__en .c-arrow {
        margin-left:.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium .p-banner3__en .c-arrow {
        margin-left:.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium .p-banner3__ja {
        font-size:var(--font-size12);
        margin-top: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium .p-banner3__ja {
        font-size:var(--font-size9);
        margin-top: .5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-banner3.-medium .p-banner3__logo {
        width:11.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-banner3.-medium .p-banner3__logo {
        width:8.7rem
    }
}

.p-banner3__en {
    display: flex;
    align-items: center
}

.p-banner3__en span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.p-banner3__en span::after,.p-banner3__en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-banner3__en span::before {
    margin-top: var(--font-sans-serif-top)
}

.p-banner3__en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-banner3__ja {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-button a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    border: var(--solid2);
    background-color: var(--color-bg2);
    color: var(--color-txt);
    transition: var(--transition-hover);
    transition-property: background-color,border-color,color
}

@media (hover: hover) {
    .p-button a:hover {
        color:var(--color-txt2)
    }

    .p-button a:hover .p-button__logo {
        color: var(--color-txt2)
    }
}

.p-button .c-blank {
    color: currentColor!important;
    transition: none
}

@media screen and (min-width: 1024px) {
    .p-button.-regular {
        width:26.4rem;
        height: 7.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-regular {
        width:23.8rem;
        height: 6.5rem
    }
}

.p-button.-regular a {
    padding-left: 4rem
}

@media screen and (min-width: 1024px) {
    .p-button.-regular .c-blank {
        margin-left:2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-regular .c-blank {
        margin-left:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button.-regular .p-button__logo svg {
        width:6.5rem;
        height: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-regular .p-button__logo svg {
        width:5.7rem;
        height: 2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button.-regular .p-button__txt {
        font-size:var(--font-size12);
        margin-left: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button.-regular .p-button__txt {
        font-size:var(--font-size10);
        margin-left: 1.3rem
    }
}

@media (hover: hover) {
    .p-button.-black a:hover {
        border-color:var(--color-hover);
        background-color: var(--color-hover)
    }
}

.p-button.-white a {
    border-color: var(--color-txt2)
}

@media (hover: hover) {
    .p-button.-white a:hover {
        border-color:var(--color-hover3);
        background-color: var(--color-hover3)
    }
}

.p-button__logo {
    display: block;
    color: var(--color-main);
    transition: color var(--transition-hover)
}

.p-button__txt {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-button__txt::after,.p-button__txt::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-button__txt::before {
    margin-top: var(--font-sans-serif-top)
}

.p-button__txt::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-button2s {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 1024px) {
    .p-button2s {
        row-gap:1.6rem;
        -webkit-column-gap: 2.7rem;
        -moz-column-gap: 2.7rem;
        column-gap: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button2s {
        gap:2.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button2s.-col1-mqUp-lg {
        flex-direction:column
    }
}

.p-button2 a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    transition: color var(--transition-hover)
}

.p-button2 span {
    display: block;
    font-weight: 400
}

.p-button2.-regular span {
    margin-left: .8rem
}

@media screen and (min-width: 1024px) {
    .p-button2.-regular span {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .p-button2.-regular span {
        font-size:var(--font-size10)
    }
}

.p-button2.-regular .c-arrow2 {
    margin-top: .1rem
}

.p-button2.-regular .c-blank {
    margin-bottom: .1rem
}

@media screen and (min-width: 1024px) {
    .p-button2.-regular .c-blank {
        margin-left:.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button2.-regular .c-blank {
        margin-left:.8rem
    }
}

@media (hover: hover) {
    .p-button2.-black a:hover {
        color:var(--color-hover)
    }
}

.p-button3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.p-button3>* {
    display: flex;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .p-button3.-small .p-button3__txt {
        font-size:var(--font-size12);
        margin-left: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button3.-regular .p-button3__txt2 {
        font-size:var(--font-size16);
        margin-left: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button3.-regular .p-button3__txt2 {
        font-size:var(--font-size13);
        margin-left: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button3.-medium .p-button3__txt {
        font-size:var(--font-size18);
        margin-left: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button3.-medium .p-button3__txt {
        font-size:var(--font-size14);
        margin-left: .9rem
    }
}

@media (hover: hover) {
    .p-button3.-main5 a:hover .p-button3__txt2 {
        color:var(--color-main5)
    }
}

.p-button3__txt {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-button3__txt::after,.p-button3__txt::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-button3__txt::before {
    margin-top: var(--font-sans-serif-top)
}

.p-button3__txt::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-button3__txt2 {
    display: block;
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em);
    transition: color var(--transition-hover)
}

.p-button4 {
    width: 100%
}

.p-button4>* {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (min-width: 1024px) {
    .p-button4.-medium {
        max-width:35rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-medium {
        max-width:31rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button4.-medium>* {
        padding:2.6rem 2.2rem 2.8rem 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-medium>* {
        padding:2.2rem 2.1rem 2.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button4.-medium .p-button4__txt {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-medium .p-button4__txt {
        font-size:var(--font-size15)
    }
}

@media screen and (min-width: 1024px) {
    .p-button4.-medium2 {
        max-width:35rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-medium2 {
        max-width:34rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button4.-medium2>* {
        padding:2.5rem 3rem 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-medium2>* {
        padding:2.5rem 3rem 2.6rem
    }
}

.p-button4.-medium2 .p-button4__txt {
    font-size: var(--font-size16)
}

.p-button4.-center>* {
    justify-content: center
}

.p-button4.-center .c-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width: 1024px) {
    .p-button4.-center .c-arrow {
        right:2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button4.-center .c-arrow {
        right:1.8rem
    }
}

.p-button4.-theme>* {
    background-color: var(--theme-color);
    color: var(--color-txt2)
}

.p-button4.-purple>* {
    border: var(--solid);
    background-color: var(--color-bg2);
    color: var(--color-txt25)
}

.p-button4__txt {
    display: block;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

.p-button5 {
    min-width: var(--width);
    min-height: var(--height);
    width: var(--width);
    height: var(--height);
    margin-right: var(--shadow-size);
    margin-bottom: var(--shadow-size)
}

.p-button5 a {
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    box-shadow: var(--shadow-size) var(--shadow-size) 0 var(--color-shadow2);
    border-radius: var(--radius-max);
    background-color: var(--background-color);
    color: var(--txt-color);
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media (hover: hover) {
    .p-button5 a:hover {
        background-color:var(--color-hover);
        color: var(--color-txt2)
    }
}

.p-button5 .c-download {
    margin-left: auto
}

@media screen and (min-width: 1024px) {
    .p-button5.-medium {
        --width:33.5rem;
        --height: 7.3rem;
        --shadow-size: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button5.-medium {
        --width:23.7rem;
        --height: 6.6rem;
        --shadow-size: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button5.-medium a {
        padding:0 3.7rem 0 3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button5.-medium a {
        padding:0 3rem 0 3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button5.-medium .p-button5__en {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .p-button5.-medium .p-button5__en {
        font-size:var(--font-size14)
    }
}

@media screen and (min-width: 1024px) {
    .p-button5.-medium .p-button5__en span {
        font-size:var(--font-size12);
        margin-left: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button5.-medium .p-button5__en span {
        font-size:var(--font-size9);
        margin-left: .7rem
    }
}

.p-button5.-white-black {
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-txt )
}

.p-button5__en {
    display: flex;
    align-items: center;
    font-family: var(--font-sans-serif);
    font-weight: 400;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.p-button5__en span {
    display: block
}

.p-button6 {
    width: 100%
}

.p-button6 a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: var(--solid) var(--border-color);
    background-color: var(--background-color);
    color: var(--txt-color);
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media (hover: hover) {
    .p-button6 a:hover {
        background-color:var(--hover-background-color);
        color: var(--hover-txt-color)
    }
}

@media screen and (min-width: 1024px) {
    .p-button6.-medium {
        max-width:48.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button6.-medium {
        max-width:27.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button6.-medium a {
        padding:2.8rem 2rem 2.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button6.-medium a {
        padding:2.3rem 1.6rem 2.4rem 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button6.-medium .p-button6__txt {
        font-size:var(--font-size16);
        margin-left: 1.6rem;
        padding-bottom: .2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button6.-medium .p-button6__txt {
        font-size:var(--font-size14);
        margin-left: 1.3rem;
        padding-bottom: .2rem;
        padding-right: 1rem
    }
}

.p-button6.-black-beige {
    --border-color: var( --color-txt20 );
    --background-color: var( --color-bg19 );
    --txt-color: var( --color-txt20 );
    --hover-background-color: var( --color-txt20 );
    --hover-txt-color: var( --color-bg19 )
}

.p-button6__txt {
    display: block;
    font-weight: 400
}

.p-button7 {
    margin-right: var(--shadow-size);
    margin-bottom: var(--shadow-size)
}

.p-button7 a {
    position: relative;
    z-index: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    box-shadow: var(--shadow-size) var(--shadow-size) 0 var(--color-shadow6);
    border-radius: var(--radius-max);
    border: var(--border);
    background-color: var(--background-color);
    color: var(--txt-color);
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media (hover: hover) {
    .p-button7 a:hover {
        background-color:var(--hover-border2);
        background-color: var(--hover-border-color);
        color: var(--color-txt2)
    }

    .p-button7 a:hover .p-button7__logo,.p-button7 a:hover .p-button7__roboti,.p-button7 a:hover .p-button7__suspro {
        color: var(--color-txt2)
    }

    .p-button7 a:hover .p-button7__txt2 {
        border-color: var(--hover-border2-color)
    }

    .p-button7 a:hover .c-blank {
        color: var(--color-txt2)
    }
}

.p-button7 .c-blank {
    color: currentColor
}

@media screen and (min-width: 1024px) {
    .p-button7.-small {
        width:36.9rem;
        height: 8.5rem;
        --shadow-size: 2rem;
        font-size: var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small {
        width:24.2rem;
        height: 5rem;
        --shadow-size: 1rem;
        font-size: var(--font-size9)
    }
}

.p-button7.-small a {
    padding: .01rem
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .p-button7__suspro {
        margin-left:5.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .p-button7__suspro {
        margin-left:3.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .p-button7__suspro svg {
        width:12.4rem;
        height: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .p-button7__suspro svg {
        width:7.7rem;
        height: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .p-button7__roboti {
        margin-left:5.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .p-button7__roboti {
        margin-left:4.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .p-button7__roboti svg {
        width:10.4rem;
        height: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .p-button7__roboti svg {
        width:6.5rem;
        height: 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .p-button7__txt {
        margin-left:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .p-button7__txt {
        margin-left:.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-small .c-blank {
        margin-left:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-small .c-blank {
        margin-left:.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-regular {
        width:40.9rem;
        height: 10.1rem;
        --shadow-size: 2rem;
        font-size: var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-regular {
        width:22.6rem;
        height: 5rem;
        --shadow-size: 1rem;
        font-size: var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-regular a {
        padding:0 0 0 8.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-regular a {
        padding:0 0 0 4.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-regular .p-button7__logo svg {
        width:8.8rem;
        height: 3.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-regular .p-button7__logo svg {
        width:4.4rem;
        height: 1.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-regular .p-button7__txt {
        margin-left:1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-regular .p-button7__txt {
        margin-left:.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-regular .c-blank {
        margin-left:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-regular .c-blank {
        margin-left:.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium {
        width:49.8rem;
        height: 8.5rem;
        --shadow-size: 2rem;
        font-size: var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium {
        width:32.6rem;
        height: 5rem;
        --shadow-size: 1rem;
        font-size: var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium a {
        padding:0 0 0 5.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium a {
        padding:0 0 0 4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium .p-button7__logo svg {
        width:6.9rem;
        height: 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium .p-button7__logo svg {
        width:4.5rem;
        height: 1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium .p-button7__txt {
        margin-left:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium .p-button7__txt {
        margin-left:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium .p-button7__txt2 {
        min-height:2.2rem;
        margin-left: 1.3rem;
        padding-left: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium .p-button7__txt2 {
        min-height:1.4rem;
        margin-left: .9rem;
        padding-left: .9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-button7.-medium .c-blank {
        margin-left:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-button7.-medium .c-blank {
        margin-left:.8rem
    }
}

.p-button7.-white-black-main {
    --border: var( --solid2 );
    --border2: var( --solid17 );
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-txt );
    --hover-border-color: var( --color-main );
    --hover-border2-color: var( --color-txt2 );
    --hover-background-color: var( --color-main );
    --hover-txt-color: var( --color-txt2 )
}

.p-button7.-white-black-main8 {
    --border: var( --solid2 );
    --border2: var( --solid17 );
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-txt );
    --hover-border-color: var( --color-main8 );
    --hover-border2-color: var( --color-txt2 );
    --hover-background-color: var( --color-main8 );
    --hover-txt-color: var( --color-txt2 )
}

.p-button7.-white-black-black3 {
    --border: var( --solid2 );
    --border2: var( --solid17 );
    --background-color: var( --color-bg2 );
    --txt-color: var( --color-txt );
    --hover-border-color: var( --color-txt21 );
    --hover-border2-color: var( --color-txt2 );
    --hover-background-color: var( --color-txt21 );
    --hover-txt-color: var( --color-txt2 )
}

.p-button7__logo,.p-button7__roboti,.p-button7__suspro {
    display: block;
    transition: var(--transition-hover);
    transition-property: color
}

.p-button7__logo.-main {
    color: var(--color-main)
}

.p-button7__suspro {
    color: var(--color-main8)
}

.p-button7__txt2 {
    display: flex;
    align-items: center;
    border-left: var(--border2);
    transition: var(--transition-hover);
    transition-property: border-color
}

@media screen and (min-width: 1024px) {
    .p-card-carousel .p-card.-small {
        width:29.6rem;
        margin: 0 2.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card-carousel .p-card.-small {
        width:23.2rem;
        margin: 0 .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card-carousel .p-card.-medium {
        width:37rem;
        margin: 0 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card-carousel .p-card.-medium {
        width:25.8rem;
        margin: 0 .85rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card-carousel:has(.p-card.-small) .p-card-carousel__dots {
        margin-top:5.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card-carousel:has(.p-card.-small) .p-card-carousel__dots {
        margin-top:3.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card-carousel:has(.p-card.-medium) .p-card-carousel__dots {
        margin-top:4.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card-carousel:has(.p-card.-medium) .p-card-carousel__dots {
        margin-top:2.7rem
    }
}

.p-card a {
    display: block;
    transition: color var(--transition-hover)
}

@media (hover: hover) {
    .p-card a:hover {
        color:var(--color-main)
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-small .p-card__title {
        font-size:var(--font-size20);
        --line-height: calc( 32 / 20 );
        margin-top: 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-small .p-card__title {
        font-size:var(--font-size16);
        --line-height: calc( 26 / 16 );
        margin-top: 1.5rem
    }
}

.p-card.-small .p-card__member-thumbnail {
    gap: .3rem
}

@media screen and (min-width: 1024px) {
    .p-card.-small .p-card__member-thumbnail {
        margin-top:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-small .p-card__member-thumbnail {
        margin-top:1.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-small .p-card__member-thumbnail li {
        width:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-small .p-card__member-thumbnail li {
        width:3.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-small .p-card__member-en {
        font-size:var(--font-size10);
        margin-top: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-small .p-card__member-en {
        font-size:var(--font-size9);
        margin-top: 1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-small .p-card__member-ja {
        font-size:var(--font-size13);
        margin-top: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-small .p-card__member-ja {
        font-size:var(--font-size12);
        margin-top: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-medium .p-card__title {
        font-size:var(--font-size24);
        --line-height: calc( 40 / 24 );
        margin-top: 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-medium .p-card__title {
        font-size:var(--font-size18);
        --line-height: calc( 30 / 18 );
        margin-top: 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-medium .p-card__member-thumbnail {
        gap:.4rem;
        margin-top: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-medium .p-card__member-thumbnail {
        gap:.3rem;
        margin-top: 1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-medium .p-card__member-thumbnail li {
        width:4.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-medium .p-card__member-thumbnail li {
        width:3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-medium .p-card__member-en {
        font-size:var(--font-size12);
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-medium .p-card__member-en {
        font-size:var(--font-size9);
        margin-top: 1.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card.-medium .p-card__member-ja {
        font-size:var(--font-size18);
        margin-top: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card.-medium .p-card__member-ja {
        font-size:var(--font-size14);
        margin-top: .9rem
    }
}

.p-card__title {
    text-align: center;
    font-weight: 400
}

.p-card__member-thumbnail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

.p-card__member-en {
    color: var(--color-main);
    text-align: center;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.p-card__member-en::after,.p-card__member-en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card__member-en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card__member-en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-card__member-ja {
    text-align: center;
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .p-card2-carousel .p-card2.-medium2,.p-card2-carousel2 .p-card2.-medium2 {
        width:28rem;
        margin: 0 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2-carousel .p-card2.-medium2,.p-card2-carousel2 .p-card2.-medium2 {
        width:18rem;
        margin: 0 1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2-carousel .p-card2.-large,.p-card2-carousel2 .p-card2.-large {
        width:25.4rem
    }

    .p-card2-carousel .p-card2.-large:not(:last-of-type),.p-card2-carousel2 .p-card2.-large:not(:last-of-type) {
        margin-right: 4.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2-carousel .p-card2.-large,.p-card2-carousel2 .p-card2.-large {
        width:20.2rem
    }

    .p-card2-carousel .p-card2.-large:not(:last-of-type),.p-card2-carousel2 .p-card2.-large:not(:last-of-type) {
        margin-right: 3.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2-carousel .c-scrollbar,.p-card2-carousel2 .c-scrollbar {
        margin-top:3.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2-carousel .c-scrollbar,.p-card2-carousel2 .c-scrollbar {
        margin-top:3.5rem
    }
}

.p-card2 a {
    display: block;
    transition: color var(--transition-hover)
}

@media (hover: hover) {
    .p-card2 a:hover {
        color:var(--color-hover)
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .p-card2__contents,.p-card2.-medium2 .p-card2__contents {
        margin-top:-4.5rem;
        padding: 0 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__contents,.p-card2.-medium2 .p-card2__contents {
        margin-top:-3.2rem;
        padding: 0 1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .c-num,.p-card2.-medium2 .c-num {
        margin-left:.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .c-num,.p-card2.-medium2 .c-num {
        margin-left:-.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .p-card2__category,.p-card2.-medium2 .p-card2__category {
        min-width:12.8rem;
        height: 2.8rem;
        font-size: var(--font-size13);
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__category,.p-card2.-medium2 .p-card2__category {
        min-width:9.4rem;
        height: 2rem;
        font-size: var(--font-size9);
        margin-top: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .p-card2__title,.p-card2.-medium2 .p-card2__title {
        font-size:var(--font-size20);
        --line-height: calc( 31.5 / 20 );
        margin-top: 1.4rem;
        white-space: nowrap
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__title,.p-card2.-medium2 .p-card2__title {
        margin-top:1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .p-card2__sub,.p-card2.-medium2 .p-card2__sub {
        margin-top:1.7rem;
        gap: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__sub,.p-card2.-medium2 .p-card2__sub {
        margin-top:1.4rem;
        gap: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-medium .p-card2__sub p,.p-card2.-medium2 .p-card2__sub p {
        font-size:var(--font-size12);
        --line-height: calc( 21 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__sub p,.p-card2.-medium2 .p-card2__sub p {
        font-size:var(--font-size8);
        --line-height: calc( 14 / 8 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__title {
        font-size:var(--font-size14);
        --line-height: calc( 23 / 14 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium .p-card2__sub {
        margin-top:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium2 .p-card2__title {
        font-size:var(--font-size13);
        --line-height: calc( 21 / 13 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-medium2 .p-card2__sub {
        margin-top:1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-large .p-card2__contents {
        margin-top:-.9rem;
        padding-left: 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-large .p-card2__contents {
        margin-top:-.7rem;
        padding-left: 2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-large .p-card2__category {
        min-width:14.2rem;
        height: 2.8rem;
        font-size: var(--font-size11)
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-large .p-card2__category {
        min-width:11.3rem;
        height: 2.2rem;
        font-size: var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-large .p-card2__title {
        font-size:var(--font-size16);
        --line-height: calc( 23.5 / 16 );
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-large .p-card2__title {
        width:105%;
        font-size: var(--font-size14);
        --line-height: calc( 23 / 14 );
        margin-top: 1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card2.-large .p-card2__sub {
        margin-top:1.7rem;
        gap: .7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-large .p-card2__sub {
        margin-top:1.6rem;
        gap: .6rem
    }
}

.p-card2.-large .p-card2__sub p {
    color: var(--color-txt22);
    transition: color var(--transition-hover)
}

@media screen and (min-width: 1024px) {
    .p-card2.-large .p-card2__sub p {
        font-size:var(--font-size11);
        --line-height: calc( 18 / 11 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card2.-large .p-card2__sub p {
        font-size:var(--font-size8);
        --line-height: calc( 14 / 8 )
    }
}

@media (hover: hover) {
    .p-card2.-hover-theme a:hover,.p-card2.-hover-theme a:hover .p-card2__sub p {
        color:var(--theme-color)
    }
}

.p-card2__category {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    border: var(--solid);
    background-color: var(--color-bg2);
    font-weight: 400;
    padding: 0 1.3rem
}

.p-card2__title {
    font-family: var(--font-gothic3);
    font-weight: 400
}

.p-card2__sub {
    display: grid
}

.p-card3 a {
    position: relative;
    display: block
}

.p-card3 .c-num {
    position: absolute;
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .c-num {
        top:.3rem;
        right: -.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .c-num {
        top:-.6rem;
        right: -.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .p-card3__figure {
        aspect-ratio:296/203
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .p-card3__figure {
        aspect-ratio:178/122
    }
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .p-card3__contents {
        margin-top:1.5rem;
        padding: 0 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .p-card3__contents {
        margin-top:1.4rem;
        padding: 0 .3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .p-card3__time {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .p-card3__time {
        font-size:var(--font-size10)
    }
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .p-card3__term {
        font-size:var(--font-size12);
        padding: .5rem 1.2rem;
        margin-left: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .p-card3__term {
        font-size:var(--font-size8);
        padding: .35rem .9rem;
        margin-left: .6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card3.-medium .p-card3__title {
        font-size:var(--font-size16);
        --line-height: calc( 27.5 / 16 );
        margin-top: 1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card3.-medium .p-card3__title {
        font-size:var(--font-size12);
        --line-height: calc( 20 / 12 );
        margin-top: 1.3rem
    }
}

.p-card3.-white .p-card3__term {
    background-color: var(--color-bg5)
}

.p-card3__figure {
    position: relative
}

.p-card3__contents {
    position: relative
}

.p-card3__meta {
    display: flex;
    align-items: center;
    justify-content: center
}

.p-card3__time {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-card3__time::after,.p-card3__time::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card3__time::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card3__time::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-card3__term {
    font-weight: 400
}

.p-card3__title {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .p-card4s:has(.p-card4.-type2) {
        direction:rtl
    }
}

.p-card4 {
    position: relative
}

.p-card4 a {
    position: relative;
    display: block;
    direction: ltr;
    text-align: left
}

@media screen and (min-width: 1024px) {
    .p-card4.-small .p-card4__figure .c-arrow {
        right:1.4rem;
        bottom: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-small .p-card4__figure .c-arrow {
        right:1.1rem;
        bottom: 1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-small .p-card4__heading {
        top:-1.5rem;
        left: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-small .p-card4__heading {
        top:-1.2rem;
        left: 2.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-small .p-card4__ja {
        font-size:var(--font-size16);
        --line-height: calc( 21 / 16 );
        padding: .5rem 1.6rem .5rem .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-small .p-card4__ja {
        font-size:var(--font-size13);
        --line-height: calc( 17 / 13 );
        padding: .4rem 1rem .4rem .6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-small .p-card4__en {
        font-size:var(--font-size8);
        margin-top: 1rem;
        margin-left: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-small .p-card4__en {
        font-size:var(--font-size7);
        margin-top: .8rem;
        margin-left: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium.-type1:nth-of-type(2n-1) {
        margin-left:calc((150 / var(--base-width)) * 100%)
    }

    .p-card4.-medium.-type1:nth-of-type(2n) {
        margin-right: calc((150 / var(--base-width)) * 100%)
    }

    .p-card4.-medium.-type1:nth-of-type(2n) {
        margin-top: 21.4rem
    }

    .p-card4.-medium.-type1:nth-of-type(2n):not(:last-of-type) {
        margin-bottom: -21.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium.-type1:nth-of-type(2n-1) .p-card4__figure {
        margin:0 0 0 auto
    }

    .p-card4.-medium.-type1:nth-of-type(2n-1) .p-card4__figure figure {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .p-card4.-medium.-type1:nth-of-type(2n) .p-card4__figure figure {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium.-type2:nth-of-type(2n-1) {
        margin-right:calc((150 / var(--base-width)) * 100%)
    }

    .p-card4.-medium.-type2:nth-of-type(2n) {
        margin-left: calc((150 / var(--base-width)) * 100%)
    }

    .p-card4.-medium.-type2:nth-of-type(2n) {
        margin-top: 18.1rem
    }

    .p-card4.-medium.-type2:nth-of-type(2n):not(:last-of-type) {
        margin-bottom: -18.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium.-type2:nth-of-type(2n-1) .p-card4__figure figure {
        border-top-left-radius:0;
        border-bottom-left-radius: 0
    }

    .p-card4.-medium.-type2:nth-of-type(2n) .p-card4__figure {
        margin: 0 0 0 auto
    }

    .p-card4.-medium.-type2:nth-of-type(2n) .p-card4__figure figure {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__figure {
        width:calc((378 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__figure .c-arrow {
        right:2.6rem;
        bottom: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__figure .c-arrow {
        right:1.4rem;
        bottom: 1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__heading {
        top:-2.8rem;
        left: 5.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__heading {
        top:-2.5rem;
        left: 3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__ja {
        font-size:var(--font-size28);
        --line-height: calc( 36 / 28 );
        padding: .7rem 2.1rem .8rem 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__ja {
        font-size:var(--font-size18);
        --line-height: calc( 23 / 18 );
        padding: .5rem .9rem .6rem .7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__en {
        font-size:var(--font-size14);
        margin-top: 1.6rem;
        margin-left: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__en {
        font-size:var(--font-size10);
        margin-top: 1rem;
        margin-left: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member {
        margin-top:1.2rem;
        padding: 0 5.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member {
        margin-top:1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__title {
        font-size:var(--font-size12);
        --line-height: calc( 14 / 12 )
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__title {
        font-size:var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__thumbnail {
        gap:.4rem;
        margin-left: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__thumbnail {
        gap:.3rem;
        margin-top: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__thumbnail li {
        width:5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__thumbnail li {
        width:3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__team {
        margin-left:.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__team {
        margin-top:.8rem;
        margin-left: 1.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__team__en {
        font-size:var(--font-size10)
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__team__en {
        font-size:var(--font-size9)
    }
}

@media screen and (min-width: 1024px) {
    .p-card4.-medium .p-card4__member__team__ja {
        font-size:var(--font-size14);
        margin-top: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card4.-medium .p-card4__member__team__ja {
        font-size:var(--font-size11);
        margin-top: .7rem
    }
}

.p-card4__figure {
    position: relative
}

.p-card4__figure i {
    position: absolute;
    z-index: 10
}

.p-card4__heading {
    position: absolute;
    z-index: 10
}

.p-card4__ja {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: var(--solid);
    background-color: var(--color-bg2);
    font-weight: 400
}

.p-card4__en {
    color: var(--color-txt2);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.p-card4__en::after,.p-card4__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card4__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card4__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-card4__member {
    display: flex;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .p-card4__member {
        width:var(--contents-rg);
        margin-inline:auto;flex-wrap: wrap
    }
}

.p-card4__member__title {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.p-card4__member__title::after,.p-card4__member__title::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card4__member__title::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card4__member__title::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (max-width: 1023px) {
    .p-card4__member__title {
        width:100%;
        margin-left: .2em
    }
}

.p-card4__member__thumbnail {
    display: flex
}

.p-card4__member__team__en {
    opacity: .5;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.p-card4__member__team__en::after,.p-card4__member__team__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card4__member__team__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card4__member__team__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-card4__member__team__ja {
    font-weight: 400
}

.p-card5 .c-new {
    position: absolute;
    z-index: 1
}

.p-card5.-small .c-new {
    top: -.9rem;
    right: -.9rem
}

.p-card5.-small .p-card5__figure {
    aspect-ratio: 296/203
}

@media screen and (min-width: 1024px) {
    .p-card5.-small .p-card5__contents {
        padding:0 1rem 0 1.1rem;
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-small .p-card5__contents {
        padding:0 .9rem 0 .8rem;
        margin-top: 1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-small .p-card5__day {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-small .p-card5__day {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-small .p-card5__week {
        font-size:var(--font-size10);
        margin-left: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-small .p-card5__week {
        font-size:var(--font-size8);
        margin-left: .4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-small .p-card5__term {
        font-size:var(--font-size10);
        padding: .5rem .75rem .6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-small .p-card5__term {
        font-size:var(--font-size8);
        padding: .4rem .6rem .5rem
    }
}

.p-card5.-small .p-card5__title {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .p-card5.-small .p-card5__title {
        font-size:var(--font-size16);
        --line-height: calc( 27.5 / 16 );
        margin-top: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-small .p-card5__title {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 );
        margin-top: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .c-new {
        top:-1.3rem;
        right: -1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .c-new {
        top:-1.2rem;
        right: -1.2rem
    }
}

.p-card5.-medium .p-card5__figure {
    aspect-ratio: 355/237
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .p-card5__contents {
        padding:0 1.2rem 0 1.2rem;
        margin-top: 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .p-card5__contents {
        padding:0 1.5rem 0 1.5rem;
        margin-top: 1.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .p-card5__day {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .p-card5__day {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .p-card5__week {
        font-size:var(--font-size10);
        margin-left: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .p-card5__week {
        font-size:var(--font-size8);
        margin-left: .4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .p-card5__term {
        font-size:var(--font-size10);
        padding: .5rem .75rem .6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .p-card5__term {
        font-size:var(--font-size8);
        padding: .4rem .6rem .5rem
    }
}

.p-card5.-medium .p-card5__title {
    letter-spacing: 0
}

@media screen and (min-width: 1024px) {
    .p-card5.-medium .p-card5__title {
        font-size:var(--font-size16);
        --line-height: calc( 27.5 / 16 );
        margin-top: 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-medium .p-card5__title {
        font-size:var(--font-size14);
        --line-height: calc( 24 / 14 );
        margin-top: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .c-new {
        top:-1.2rem;
        right: -1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .c-new {
        top:-1rem;
        right: -1rem
    }
}

.p-card5.-large .p-card5__figure {
    aspect-ratio: 555/370
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .p-card5__contents {
        padding:0 .8rem 0 1.6rem;
        margin-top: 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .p-card5__contents {
        padding:0 .5rem 0 .5rem;
        margin-top: 2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .p-card5__day {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .p-card5__day {
        font-size:var(--font-size13)
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .p-card5__week {
        font-size:var(--font-size15);
        margin-left: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .p-card5__week {
        font-size:var(--font-size10);
        margin-left: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .p-card5__term {
        font-size:var(--font-size14);
        padding: .7rem 1.5rem .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .p-card5__term {
        font-size:var(--font-size10);
        padding: .5rem 1.1rem .6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card5.-large .p-card5__title {
        font-size:var(--font-size22);
        --line-height: calc( 35 / 22 );
        margin-top: 2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card5.-large .p-card5__title {
        font-size:var(--font-size18);
        --line-height: calc( 29 / 18 );
        margin-top: 1.4rem
    }
}

.p-card5.-black {
    --term-bg-color: var( --color-bg3 );
    --term-txt-color: var( --color-txt20 );
    --title-txt-color: var( --color-txt )
}

.p-card5.-beige {
    --term-bg-color: var( --color-bg18 );
    --term-txt-color: var( --color-txt21 );
    --title-txt-color: var( --color-txt20 )
}

.p-card5__figure {
    position: relative
}

.p-card5__meta {
    display: flex;
    align-items: center
}

.p-card5__day,.p-card5__week {
    color: var(--color-txt19);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400
}

.p-card5__day::after,.p-card5__day::before,.p-card5__week::after,.p-card5__week::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card5__day::before,.p-card5__week::before {
    margin-top: var(--font-sans-serif-top)
}

.p-card5__day::after,.p-card5__week::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

.p-card5__term {
    margin-left: auto;
    margin-right: 0;
    background-color: var(--term-bg-color);
    color: var(--term-txt-color)
}

.p-card5__title {
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-card6 a {
    display: block;
    transition: color var(--transition-hover)
}

@media (hover: hover) {
    .p-card6 a:hover {
        color:var(--color-hover)
    }

    .p-card6 a:hover .p-card6__sub {
        color: var(--color-hover)
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__flex2,.p-card6.-medium .p-card6__heading,.p-card6.-medium .p-card6__title {
        padding:0 1.3rem 0 2.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__figure {
        width:19.8rem
    }
}

@media screen and (max-width: 767px) and (min-width:561px) {
    .p-card6.-medium .p-card6__figure {
        width:15rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__heading {
        margin-top:-1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__heading {
        padding-bottom:.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__num {
        font-size:var(--font-size80)
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__num {
        font-size:var(--font-size70)
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__category {
        min-width:14.2rem;
        height: 2.8rem;
        font-size: var(--font-size12);
        margin-top: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__category {
        min-width:11.3rem;
        height: 2.2rem;
        font-size: var(--font-size9);
        margin-top: 1.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__title {
        font-size:var(--font-size20);
        --line-height: calc( 31.5 / 20 );
        margin-top: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__title {
        font-size:var(--font-size18);
        --line-height: calc( 30 / 18 );
        margin-top: 1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__flex2 {
        margin-top:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__flex2 {
        margin-top:1.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-card6.-medium .p-card6__sub {
        font-size:var(--font-size12);
        gap: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6.-medium .p-card6__sub {
        font-size:var(--font-size11);
        gap: .8rem;
        margin-top: .3rem;
        margin-left: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-card6__flex {
        position:relative
    }
}

.p-card6__figure {
    margin: 0 0 0 auto
}

.p-card6__heading {
    position: relative;
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .p-card6__heading {
        position:relative
    }
}

@media screen and (max-width: 1023px) {
    .p-card6__heading {
        position:absolute;
        left: 0;
        bottom: 0
    }
}

.p-card6__num {
    color: var(--color-main2);
    font-family: var(--font-sans-serif2);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

.p-card6__num::after,.p-card6__num::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-card6__num::before {
    margin-top: var(--font-sans-serif2-top)
}

.p-card6__num::after {
    margin-bottom: var(--font-sans-serif2-bottom)
}

.p-card6__category {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    border: var(--solid);
    background-color: var(--color-bg2);
    font-weight: 400;
    padding: 0 1.3rem
}

.p-card6__title {
    font-weight: 400;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (max-width: 1023px) {
    .p-card6__flex2 {
        display:flex;
        align-items: flex-start
    }
}

@media screen and (min-width: 1024px) {
    .p-card6__flex2 .c-arrow {
        display:none
    }
}

.p-card6__sub {
    display: grid;
    color: var(--color-txt22);
    font-weight: 400;
    --line-height: calc( 14 / 10 );
    transition: color var(--transition-hover)
}

.p-entry {
    position: relative;
    overflow: hidden
}

.p-entry__ja {
    position: absolute;
    left: 0;
    z-index: 10;
    width: 100%;
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .p-entry__ja {
        top:6.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__ja {
        top:4.7rem
    }
}

.p-entry__ja p {
    display: block!important;
    color: var(--color-txt2);
    font-family: var(--font-gothic2);
    letter-spacing: calc(120 / 1000 * 1em);
    white-space: nowrap;
    padding-bottom: 1em;
    padding-left: 2.71429em
}

@media screen and (min-width: 1024px) {
    .p-entry__ja p {
        font-size:var(--font-size21)
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__ja p {
        font-size:var(--font-size14)
    }
}

.p-entry__en {
    position: absolute;
    left: 0;
    z-index: 10;
    width: 100%;
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .p-entry__en {
        top:6.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__en {
        top:4.7rem
    }
}

.p-entry__en p {
    display: block!important
}

@media screen and (min-width: 1024px) {
    .p-entry__en p {
        font-size:var(--font-size96);
        min-width: 91.6rem;
        width: 91.6rem;
        padding-left: 9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__en p {
        font-size:var(--font-size62);
        min-width: 54.6rem;
        width: 54.6rem;
        padding-left: 3.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-entry__card {
        min-width:80rem;
        width: 80rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card {
        min-width:33.2rem;
        width: 33.2rem
    }
}

.p-entry__card a {
    position: relative;
    display: block;
    overflow: hidden
}

@media (hover: hover) {
    .p-entry__card a:hover .p-entry__card__figure::before {
        opacity:1
    }
}

.p-entry__card__content {
    position: absolute;
    z-index: 10;
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .p-entry__card__content {
        left:6rem;
        bottom: 6.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card__content {
        left:2.9rem;
        bottom: 4rem
    }
}

.p-entry__card__en {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-entry__card__en {
        margin-top:.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card__en {
        margin-top:.3rem
    }
}

.p-entry__card__en span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-entry__card__en span::after,.p-entry__card__en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-entry__card__en span::before {
    margin-top: var(--font-sans-serif-top)
}

.p-entry__card__en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-entry__card__en span {
        font-size:var(--font-size38)
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card__en span {
        font-size:var(--font-size24)
    }
}

@media screen and (min-width: 1024px) {
    .p-entry__card__en .c-arrow {
        margin-left:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card__en .c-arrow {
        margin-left:.9rem
    }
}

.p-entry__card__ja {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .p-entry__card__ja {
        font-size:var(--font-size18);
        margin-top: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-entry__card__ja {
        font-size:var(--font-size11);
        margin-top: .4rem
    }
}

.p-entry__card__figure {
    position: relative
}

.p-entry__card__figure::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: opacity;
    transition: opacity var(--transition-hover-slow)
}

body:not(.ua-safari) .p-entry__card__figure::before {
    background-color: var(--pallet-transp);
    -webkit-backdrop-filter: var(--hover-blur);
    backdrop-filter: var(--hover-blur)
}

body.ua-safari .p-entry__card__figure::before {
    background-color: var(--color-overlay)
}

@media (hover: hover) {
    .p-footer.-black .p-footer__nav__children a:hover {
        color:var(--color-hover)
    }
}

.p-footer.-white .p-footer__nav__parent__en span,.p-footer.-white .p-footer__nav__parent__ja {
    opacity: .5
}

.p-footer.-white .p-footer__nav__item {
    border-color: var(--color-line5)
}

.p-footer__inner {
    position: relative
}

@media screen and (min-width: 1024px) {
    .p-footer__inner {
        display:flex;
        align-items: flex-start;
        justify-content: space-between
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__main .c-logo2 {
        margin-left:1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__main .c-snss {
        margin-top:2.7rem;
        margin-left: .6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__main .c-snss {
        margin-top:2.9rem;
        margin-left: -.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__nav {
        width:calc((739 / var(--base-width)) * 100%);
        max-width: 150rem;
        display: flex;
        gap: 5.2rem;
        margin-top: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav {
        width:var(--contents-xxxl);
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        margin-top: 3.6rem;
        border-bottom: var(--solid3)
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__block {
        flex-basis:100%
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__block {
        border-top:var(--solid3)
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__item {
        padding:0 .8rem 0 1.2rem
    }
}

.p-footer__nav__item+.p-footer__nav__item {
    border-top: var(--solid3)
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__item+.p-footer__nav__item {
        margin-top:3.3rem;
        padding-top: 2.6rem
    }
}

.p-footer__nav__parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__parent {
        padding:1.4rem 1.3rem 1.4rem 1.9rem
    }
}

.p-footer__nav__parent__ja {
    display: block;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__parent__ja {
        font-size:var(--font-size18);
        opacity: .3
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__parent__ja {
        font-size:var(--font-size14);
        opacity: .5
    }
}

.p-footer__nav__parent__en {
    display: flex;
    align-items: center;
    gap: 1.4rem
}

.p-footer__nav__parent__en span {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-footer__nav__parent__en span::after,.p-footer__nav__parent__en span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-footer__nav__parent__en span::before {
    margin-top: var(--font-sans-serif-top)
}

.p-footer__nav__parent__en span::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__parent__en span {
        font-size:var(--font-size12);
        opacity: .3
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__parent__en span {
        font-size:var(--font-size10);
        opacity: .5
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__parent__en .c-plus {
        display:none
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__children {
        margin-top:1.7rem;
        padding-left: .6rem
    }
}

.p-footer__nav__children ul {
    display: grid
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__children ul {
        gap:1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__children ul {
        gap:1.3rem;
        padding: 0 2.2rem 1.8rem
    }
}

.p-footer__nav__children a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    transition: color var(--transition-hover)
}

.p-footer__nav__children .c-arrow2 {
    margin-top: .2rem
}

.p-footer__nav__children span {
    display: block;
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .p-footer__nav__children span {
        font-size:var(--font-size14);
        margin-left: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__nav__children span {
        font-size:var(--font-size13);
        margin-left: .7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__sub {
        position:absolute;
        left: 0;
        bottom: 0;
        z-index: 10
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__sub {
        margin-top:4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__sub .p-button2s {
        margin-top:4.6rem;
        margin-left: 1.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__sub .p-button2s {
        margin-top:3rem;
        margin-left: .3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__sub .p-button {
        margin-top:4.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__sub .p-button {
        margin-top:3rem
    }
}

.p-footer__company {
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-footer__company {
        font-size:var(--font-size16);
        margin-left: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__company {
        font-size:var(--font-size13);
        margin-left: .2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-footer__address {
        margin-top:2rem;
        margin-left: 1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__address {
        margin-top:1.1rem;
        margin-left: .2rem
    }
}

.p-footer__copyright {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-footer__copyright::after,.p-footer__copyright::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-footer__copyright::before {
    margin-top: var(--font-sans-serif-top)
}

.p-footer__copyright::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-footer__copyright {
        font-size:var(--font-size10);
        margin-top: 5rem;
        margin-left: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__copyright {
        font-size:var(--font-size8);
        margin-top: 3.3rem
    }
}

.p-footer__gotop {
    position: absolute;
    z-index: 10
}

@media screen and (min-width: 1024px) {
    .p-footer__gotop {
        right:-4.6rem;
        bottom: -6.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-footer__gotop {
        right:0;
        bottom: -.5rem
    }
}

.p-heading {
    position: relative
}

.p-heading__catch {
    color: var(--color-main2);
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-heading__catch {
        font-size:var(--font-size24);
        margin-top: 6.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-heading__catch {
        font-size:var(--font-size18);
        --line-height: calc( 31.5 / 18 );
        margin-top: 3.9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-heading__txt {
        width:25.7rem;
        margin-top: 2.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-heading__txt {
        width:17.5rem;
        margin-top: 2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-heading__txt2 {
        margin-top:2.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-heading__txt2 {
        width:calc(100% - 11.8rem);
        margin-top: 2rem
    }
}

.p-heading__figure {
    position: absolute;
    z-index: 1
}

@media screen and (min-width: 1024px) {
    .p-heading__figure {
        width:calc((353 / var(--base-width)) * 100%);
        top: -3.8rem;
        right: calc((10 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .p-heading__figure {
        width:15.3rem;
        right: -4.9rem;
        bottom: 0
    }
}

.p-hero {
    position: relative;
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .p-hero.-regular {
        height:60rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-regular {
        height:46.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-medium {
        height:70rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-medium {
        height:48rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-large {
        height:79.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-large {
        height:52.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-xlarge .p-hero__inner2 {
        padding:20rem 0 43.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-xlarge .p-hero__inner2 {
        padding:11.7rem 0 15rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-xlarge2 .p-hero__inner2 {
        padding:18.2rem 0 29.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-xlarge2 .p-hero__inner2 {
        padding:9.5rem 0 17.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-xlarge3 .p-hero__inner2 {
        padding:18.2rem 0 27.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-xlarge3 .p-hero__inner2 {
        padding:9.5rem 0 15.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero.-xlarge4 .p-hero__inner2 {
        padding:18.2rem 0 29.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-xlarge4 .p-hero__inner2 {
        padding:9.5rem 0 16.1rem
    }
}

.p-hero.-black {
    color: var(--color-txt)
}

.p-hero.-gradation .p-hero__inner {
    background: var(--color-gradation)
}

.p-hero.-gradation2 .p-hero__inner {
    background-image: url(../img/common/gradation.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.p-hero.-main5 .p-hero__inner {
    background: var(--color-main5)
}

.p-hero.-shadow::before {
    content: '';
    display: block;
    width: 100%;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0
}

@media screen and (min-width: 1024px) {
    .p-hero.-shadow::before {
        height:133rem;
        background-image: url(../img/common/project/hero_shadow-pc.webp)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero.-shadow::before {
        height:90rem;
        background-image: url(../img/common/project/hero_shadow-sp.webp)
    }
}

.p-hero__inner {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--color-bg2);
    overflow: hidden
}

.p-hero__inner2 {
    background-color: var(--color-bg2)
}

.p-hero__inner2 .p-hero__contents2 {
    width: 100%;
    margin-top: 0
}

.p-hero__contents {
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .p-hero__contents {
        width:calc((1284 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents {
        width:var(--contents-md2)
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents:has(.p-hero__contents__ja) {
        margin-bottom:.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents:has(.p-hero__contents__ja) {
        margin-top:5.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents:has(.p-hero__contents__ja) .c-breadcrumb {
        margin-top:12.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents:has(.p-hero__contents__ja) .c-breadcrumb {
        margin-top:9.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents:has(.p-hero__contents__data) {
        margin-top:-3.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents:has(.p-hero__contents__data) {
        margin-top:2.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents:has(.p-hero__contents__data) .c-breadcrumb {
        margin-top:8.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents:has(.p-hero__contents__data) .c-breadcrumb {
        margin-top:8.8rem
    }
}

.p-hero__contents__ja {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents__ja {
        font-size:var(--font-size34)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents__ja {
        font-size:var(--font-size24);
        --line-height: calc( 37 / 24 )
    }
}

.p-hero__contents__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-hero__contents__en::after,.p-hero__contents__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-hero__contents__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-hero__contents__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents__en {
        font-size:var(--font-size15);
        margin-top: 4.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents__en {
        font-size:var(--font-size12);
        --line-height: calc( 21 / 12 );
        margin-top: 3.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents__data {
        width:57.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents__data {
        width:31.5rem
    }
}

.p-hero__contents__ja2 {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents__ja2 {
        font-size:var(--font-size24);
        margin-top: 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents__ja2 {
        font-size:var(--font-size16);
        margin-top: 2.6rem
    }
}

.p-hero__gradation {
    position: absolute;
    z-index: -1;
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .p-hero__gradation {
        max-width:215.6rem;
        width: calc((2156 / var(--base-width)) * 100%);
        top: -134.3rem;
        right: -78.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__gradation {
        max-width:76.4rem;
        width: calc((764 / var(--base-width)) * 100%);
        top: -42.3rem;
        right: -35.8rem
    }
}

.p-hero__gradation img {
    width: 100%
}

.p-hero__contents2 {
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .p-hero__contents2 {
        width:calc((1284 / var(--base-width)) * 100%);
        margin-top: -27.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2 {
        width:var(--contents-md);
        margin-top: -15.3rem
    }
}

.p-hero__contents2__flex {
    display: flex;
    align-items: flex-end
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__flex .c-num {
        margin-left:3rem;
        margin-bottom: -1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__flex .c-num {
        margin-left:.9rem;
        margin-bottom: -.8rem
    }
}

.p-hero__contents2__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.p-hero__contents2__en::after,.p-hero__contents2__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-hero__contents2__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-hero__contents2__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__en {
        font-size:var(--font-size86);
        margin-left: -.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__en {
        font-size:var(--font-size56);
        --line-height: calc( 51 / 56 )
    }
}

.p-hero__contents2__flex2 {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__flex2 {
        margin-top:3.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__flex2 {
        margin-top:2.9rem
    }
}

.p-hero__contents2__flex2 .c-breadcrumb {
    border-left: var(--solid)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__flex2 .c-breadcrumb {
        margin-left:3rem;
        padding-left: 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__flex2 .c-breadcrumb {
        margin-left:1.5rem;
        padding-left: 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__flex2 .c-breadcrumb ol {
        min-height:2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__flex2 .c-breadcrumb ol {
        min-height:1.6rem
    }
}

.p-hero__contents2__ja {
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents2__ja {
        font-size:var(--font-size24)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents2__ja {
        font-size:var(--font-size16)
    }
}

.p-hero__thumbnail {
    position: absolute;
    width: 100%;
    left: 0;
    z-index: 10;
    padding: 10rem 0;
    margin: -10rem 0;
    -webkit-transform: skewY(-6deg);
    transform: skewY(-6deg);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

@media screen and (min-width: 1024px) {
    .p-hero__thumbnail {
        bottom:15.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__thumbnail {
        bottom:8.4rem
    }
}

.p-hero__thumbnail ul {
    align-items: flex-start
}

.p-hero__thumbnail li {
    -webkit-transform: skewY(6deg);
    transform: skewY(6deg)
}

@media screen and (min-width: 1024px) {
    .p-hero__thumbnail li {
        min-width:9rem;
        margin: 0 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__thumbnail li {
        min-width:4.2rem;
        margin: 0 1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__thumbnail img {
        width:9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__thumbnail img {
        width:4.2rem
    }
}

.p-hero__contents3 {
    position: relative;
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .p-hero__contents3 {
        width:var(--contents-lg);
        margin-top: -9.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents3 {
        width:var(--contents-md);
        margin-top: 2.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents3 .c-breadcrumb {
        margin-top:4.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents3 .c-breadcrumb {
        margin-top:3.7rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents3__title {
        display:flex;
        align-items: baseline
    }
}

.p-hero__contents3__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.p-hero__contents3__en::after,.p-hero__contents3__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-hero__contents3__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-hero__contents3__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents3__en {
        font-size:var(--font-size86)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents3__en {
        font-size:var(--font-size56);
        letter-spacing: calc(-20 / 1000 * 1em)
    }
}

.p-hero__contents3__ja {
    letter-spacing: calc(80 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents3__ja {
        font-size:var(--font-size20);
        margin-left: 2.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents3__ja {
        font-size:var(--font-size14);
        margin-top: 2.1rem
    }
}

.p-hero__catch {
    font-weight: 400;
    letter-spacing: calc(120 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__catch {
        font-size:var(--font-size24);
        --line-height: calc( 60 / 24 );
        position: absolute;
        top: 43%;
        right: calc((86 / var(--base-width)) * 100%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__catch {
        width:var(--contents-md);
        margin-inline:auto;font-size: var(--font-size16);
        --line-height: calc( 41 / 16 );
        margin-top: 7.4rem
    }
}

.p-hero__catch span {
    display: block
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4 {
        display:flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-left: .4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4 .c-breadcrumb {
        margin-top:4.8rem;
        margin-left: .5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4 .c-breadcrumb {
        margin-top:2.8rem
    }

    .p-hero__contents4 .c-breadcrumb ol {
        justify-content: center
    }
}

.p-hero__contents4__main {
    flex: 1
}

.p-hero__contents4__sub {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__sub {
        gap:.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__sub {
        justify-content:center;
        gap: .4rem
    }
}

.p-hero__contents4__sub::after,.p-hero__contents4__sub::before {
    content: '';
    display: block;
    background-image: url(../img/common/icon/parentheses-white.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__sub::after,.p-hero__contents4__sub::before {
        width:1.7rem;
        height: 3.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__sub::after,.p-hero__contents4__sub::before {
        width:1.2rem;
        height: 2.5rem
    }
}

.p-hero__contents4__sub::after {
    -webkit-transform: scale(-1,1);
    transform: scale(-1,1)
}

.p-hero__contents4__sub span {
    display: block;
    font-weight: 400;
    letter-spacing: calc(100 / 1000 * 1em);
    padding-bottom: .1rem;
    margin-right: .1em
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__sub span {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__sub span {
        font-size:var(--font-size13)
    }
}

.p-hero__contents4__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(-20 / 1000 * 1em)
}

.p-hero__contents4__en::after,.p-hero__contents4__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-hero__contents4__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-hero__contents4__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__en {
        font-size:var(--font-size86);
        margin-top: 3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__en {
        text-align:center;
        font-size: var(--font-size46);
        --line-height: calc( 46 / 46 );
        margin-top: 2rem
    }
}

.p-hero__contents4__ja {
    font-size: var(--font-sizeregular);
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__ja {
        font-size:var(--font-size28);
        margin-top: 5.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__ja {
        text-align:center;
        font-size: var(--font-size18);
        margin-top: 2.4rem
    }
}

.p-hero__contents4__catch {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    font-size: var(--font-sizeregular);
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-hero__contents4__catch {
        font-size:var(--font-size16);
        --line-height: calc( 36 / 16 );
        text-underline-offset: .9rem;
        margin-top: 6.6rem;
        margin-right: -.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__contents4__catch {
        display:none
    }
}

.p-hero__gradation2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none
}

.p-hero__gradation2::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/common/bg_texture2.webp);
    background-size: 25rem;
    background-position: center;
    background-repeat: repeat;
    mix-blend-mode: overlay;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}

.p-hero__gradation2 img {
    height: calc(100% + .1rem);
    -o-object-position: top center;
    object-position: top center
}

.p-hero__slider__content li {
    opacity: 0;
    transition: opacity var(--transition-slider)
}

.p-hero__slider__content li.is-active {
    opacity: 1
}

.p-hero__slider__content li:not(:first-of-type) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.p-hero__slider__counter {
    position: absolute;
    z-index: 10;
    color: var(--color-txt)
}

@media screen and (min-width: 1024px) {
    .p-hero__slider__counter {
        top:39.4rem;
        right: calc((111 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .p-hero__slider__counter {
        bottom:3.9rem;
        right: calc((38 / var(--base-width)) * 100%)
    }
}

.p-hero2 {
    position: relative
}

.p-hero2__inner {
    position: relative;
    max-width: 130rem;
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .p-hero2__inner {
        width:var(--contents-lg);
        display: flex;
        align-items: flex-start;
        padding: 22rem 0 0
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__inner {
        width:var(--contents-rg);
        padding: 11rem 0 0
    }
}

@media screen and (min-width: 1024px) {
    .p-hero2__heading .c-breadcrumb {
        margin-top:5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__heading .c-breadcrumb {
        margin-top:4.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero2__txt {
        margin-top:.9rem;
        margin-left: 10.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__txt {
        margin-top:5.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-hero2__oval {
        --width:310;
        --top: -151;
        --left: 114
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__oval {
        --width:141;
        --top: -58;
        --left: 20
    }
}

@media screen and (min-width: 1024px) {
    .p-hero2__oval2 {
        --width:154;
        --left: 384;
        --bottom: -197
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__oval2 {
        --width:78;
        --right: -15;
        --bottom: -35
    }
}

@media screen and (min-width: 1024px) {
    .p-hero2__oval3 {
        --width:637;
        --top: 98;
        --right: -123
    }
}

@media screen and (max-width: 1023px) {
    .p-hero2__oval3 {
        --width:282;
        --top: 28;
        --right: -75
    }
}

@media screen and (max-width: 1023px) and (min-width:768px) {
    .p-hero2__oval3 {
        --right:10
    }
}

.p-localnav {
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .p-localnav {
        width:100%;
        position: absolute;
        left: 0;
        z-index: 10
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular {
        height:calc(100% + 18.3rem - 20.6rem);
        top: -18.3rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .p-localnav__contents {
        min-width:21.6rem;
        width: calc((216 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular a {
        align-items:flex-start;
        padding: 2.4rem 1.2rem 2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-regular a {
        align-items:center;
        padding: 2rem 1.8rem 2rem .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .p-localnav__list__num {
        margin-top:.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-regular .p-localnav__list__num {
        margin-top:.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .p-localnav__list__title {
        display:block;
        margin-left: 2.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-regular .p-localnav__list__title {
        flex:1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-left: 1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .p-localnav__list__ja {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-regular .p-localnav__list__ja {
        font-size:var(--font-size12)
    }
}

.p-localnav.-regular .p-localnav__list__en {
    font-size: var(--font-size10)
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .p-localnav__list__en {
        margin-top:1.2rem;
        margin-left: .2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-regular .c-down {
        position:absolute;
        top: 52%;
        right: 2.6rem;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width: 1440px) and (min-width:1024px) {
    .p-localnav.-regular .c-down {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-regular .c-down {
        margin-left:1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium {
        height:calc(100% + 21.2rem);
        top: -21.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__contents {
        min-width:24.6rem;
        width: calc((246 / var(--base-width)) * 100%)
    }
}

.p-localnav.-medium a {
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium a {
        padding:2.6rem 1.2rem 2.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium a {
        padding:1.9rem .9rem 2.1rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__list__num {
        margin-top:.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .p-localnav__list__num {
        margin-top:.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__list__title {
        margin-left:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .p-localnav__list__title {
        margin-left:1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__list__ja2 {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .p-localnav__list__ja2 {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__list__ja {
        font-size:var(--font-size16);
        font-size: 1.6rem;
        margin-top: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .p-localnav__list__ja {
        font-size:var(--font-size14);
        margin-top: .9rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .p-localnav__list__en {
        font-size:var(--font-size10);
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .p-localnav__list__en {
        font-size:var(--font-size9);
        margin-top: 1.3rem
    }
}

.p-localnav.-medium .c-down {
    position: absolute;
    top: 52%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium .c-down {
        right:2.3rem
    }
}

@media screen and (max-width: 1440px) and (min-width:1024px) {
    .p-localnav.-medium .c-down {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium .c-down {
        right:1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 {
        height:calc(100% + 21.2rem);
        top: -21.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .p-localnav__contents {
        min-width:24.6rem;
        width: calc((246 / var(--base-width)) * 100%)
    }
}

.p-localnav.-medium2 a {
    align-items: center
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 a {
        padding:1.1rem 1.1rem 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 a {
        padding:1.9rem 1.7rem 2rem .9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .p-localnav__list__num {
        margin-top:.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .p-localnav__list__title {
        margin-left:1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .p-localnav__list__title {
        flex:1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-left: 1.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .p-localnav__list__ja2 {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .p-localnav__list__ja2 {
        font-size:var(--font-size11)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .p-localnav__list__ja {
        font-size:var(--font-size14);
        margin-top: 1.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .p-localnav__list__ja {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .p-localnav__list__en {
        font-size:var(--font-size10);
        margin-top: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .p-localnav__list__en {
        font-size:var(--font-size10);
        margin-top: .2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium2 .c-down {
        position:absolute;
        top: 52%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 2.3rem
    }
}

@media screen and (max-width: 1440px) and (min-width:1024px) {
    .p-localnav.-medium2 .c-down {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium2 .c-down {
        margin-left:1.8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 {
        height:calc(100% + 8.4rem);
        top: -8.4rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .p-localnav__contents {
        min-width:28.6rem;
        width: calc((286 / var(--base-width)) * 100%)
    }
}

.p-localnav.-medium3 a {
    align-items: flex-start
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 a {
        padding:2.8rem 4rem 2.8rem 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 a {
        padding:1.8rem 4rem 2rem .8rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .p-localnav__list__num {
        margin-top:.3rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 .p-localnav__list__num {
        margin-top:.2rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .p-localnav__list__title {
        margin-left:1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 .p-localnav__list__title {
        margin-left:1.4rem
    }
}

.p-localnav.-medium3 .p-localnav__list__ja {
    --line-height: calc( 20 / 14 )
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .p-localnav__list__ja {
        font-size:var(--font-size14);
        font-size: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 .p-localnav__list__ja {
        font-size:var(--font-size14)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .p-localnav__list__en {
        font-size:var(--font-size10);
        margin-top: 1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 .p-localnav__list__en {
        font-size:var(--font-size9);
        margin-top: .9rem
    }
}

.p-localnav.-medium3 .c-down {
    position: absolute;
    top: 52%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width: 1024px) {
    .p-localnav.-medium3 .c-down {
        right:2.3rem
    }
}

@media screen and (max-width: 1440px) and (min-width:1024px) {
    .p-localnav.-medium3 .c-down {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav.-medium3 .c-down {
        right:1.8rem
    }
}

.p-localnav__contents {
    pointer-events: auto
}

@media screen and (min-width: 1024px) {
    .p-localnav__contents {
        margin:0 0 0 auto
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav__contents {
        width:var(--contents-md2);
        margin: 0 auto
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav__contents .c-title4 {
        padding:0 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav__contents .c-title4 {
        padding:0 .7rem
    }
}

.p-localnav__list {
    border-top: var(--solid7)
}

@media screen and (min-width: 1024px) {
    .p-localnav__list {
        margin-top:2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav__list {
        margin-top:1.7rem
    }
}

.p-localnav__list li {
    border-bottom: var(--solid7)
}

.p-localnav__list a {
    position: relative;
    display: flex
}

.p-localnav__list__num {
    display: block;
    width: 1em;
    color: var(--color-main5);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-localnav__list__num::after,.p-localnav__list__num::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-localnav__list__num::before {
    margin-top: var(--font-sans-serif-top)
}

.p-localnav__list__num::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-localnav__list__num {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav__list__num {
        font-size:var(--font-size11)
    }
}

.p-localnav__list__ja2 {
    display: block;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-localnav__list__ja2 {
        opacity:.6
    }
}

.p-localnav__list__ja {
    display: block;
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

.p-localnav__list__en {
    display: block;
    color: var(--color-main5);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.p-localnav__list__en::after,.p-localnav__list__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.p-localnav__list__en::before {
    margin-top: var(--font-sans-serif-top)
}

.p-localnav__list__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .p-localnav2 {
        margin-top:10.8rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav2 {
        margin-top:5.2rem
    }
}

.p-localnav2__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .p-localnav2__inner {
        gap:2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav2__inner {
        gap:1.6rem
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav2__inner li {
        max-width:35.3rem;
        width: 48%
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav2__inner li {
        width:calc(50% - .8rem)
    }
}

.p-localnav2__inner a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: var(--solid);
    border-color: var(--theme-color);
    color: var(--theme-color);
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media screen and (min-width: 1024px) {
    .p-localnav2__inner a {
        padding:2.9rem 4.5rem 3.1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav2__inner a {
        padding:1.6rem 2.1rem 1.7rem 1.9rem
    }
}

@media (hover: hover) {
    .p-localnav2__inner a:hover {
        background-color:var(--theme-color);
        color: var(--color-txt2)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav2__inner .c-down {
        display:none
    }
}

.p-localnav2__txt {
    font-weight: 400;
    letter-spacing: calc(60 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-localnav2__txt {
        font-size:var(--font-size18)
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav2__txt {
        font-size:var(--font-size15)
    }
}

@media screen and (min-width: 1024px) {
    .p-localnav3 {
        margin-top:10rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav3 {
        margin-top:4rem
    }
}

.p-localnav3__txt {
    color: var(--color-txt8)
}

@media screen and (min-width: 1024px) {
    .p-localnav3__txt {
        text-align:center
    }
}

.p-localnav3__list {
    position: relative;
    z-index: 0
}

@media screen and (min-width: 1024px) {
    .p-localnav3__list {
        margin-top:3.8rem;
        padding: 4.2rem 8rem 4.6rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav3__list {
        margin-top:2.1rem;
        padding: 3.4rem 0 3.4rem
    }
}

.p-localnav3__list::before {
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    border-radius: inherit;
    background-color: var(--color-bg9)
}

@media screen and (min-width: 1024px) {
    .p-localnav3__list::before {
        width:100%;
        left: 0
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav3__list::before {
        width:var(--ww);
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.p-localnav3__list a {
    display: block;
    background-color: var(--color-bg2);
    color: var(--color-txt8);
    text-align: center;
    letter-spacing: calc(140 / 1000 * 1em);
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media screen and (min-width: 1024px) {
    .p-localnav3__list a {
        font-size:var(--font-size16);
        padding: 1.7rem 0 1.9rem
    }
}

@media screen and (max-width: 1023px) {
    .p-localnav3__list a {
        font-size:var(--font-size12);
        padding: 1.2rem 0 1.3rem
    }
}

@media (hover: hover) {
    .p-localnav3__list a:hover {
        background-color:var(--color-txt8);
        color: var(--color-txt2)
    }
}

@media screen and (min-width: 1024px) {
    .p-pagination {
        margin-top:12rem
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination {
        margin-top:8rem
    }
}

.p-pagination__inner {
    display: flex;
    align-items: center;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .p-pagination__inner {
        gap:.2rem
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination__inner {
        gap:.3rem
    }
}

.p-pagination__inner a {
    pointer-events: none
}

.p-pagination__inner ellipse {
    pointer-events: auto
}

.p-pagination__number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: inherit
}

.p-pagination__ellipsis {
    padding: 1rem
}

@media screen and (min-width: 1024px) {
    .p-pagination__ellipsis {
        font-size:var(--font-size14)
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination__ellipsis {
        font-size:var(--font-size12)
    }
}

@media screen and (max-width: 1023px) {
    .p-pagination__arrow {
        display:none
    }
}

.p-pagination__arrow.-next .c-arrow__svg {
    -webkit-transform: scale(-1,1);
    transform: scale(-1,1)
}

.p-premises__inner {
    display: flex;
    align-items: flex-start;
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .p-premises__inner {
        width:var(--contents-lg)
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__inner {
        width:var(--contents-md)
    }
}

.p-premises__contents {
    flex: 1
}

@media screen and (min-width: 1024px) {
    .p-premises__contents {
        margin-top:.5rem;
        margin-left: 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__contents {
        margin-top:.6rem;
        margin-left: .8rem
    }
}

.p-premises__title {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .p-premises__title {
        font-size:var(--font-size16);
        --line-height: calc( 21.5 / 16 )
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__title {
        font-size:var(--font-size12);
        --line-height: calc( 19 / 12 )
    }
}

@media screen and (min-width: 1024px) {
    .p-premises__txt {
        margin-top:.7rem
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__txt {
        margin-top:.2rem
    }
}

.p-premises__txt a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    color: var(--color-main2)
}

.p-premises__txt span {
    font-weight: 400;
    letter-spacing: calc(20 / 1000 * 1em);
    padding: var(--anchor-padding) 0;
    margin: calc(var(--anchor-padding) * -1) 0
}

@media screen and (min-width: 1024px) {
    .p-premises__txt span {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__txt span {
        font-size:var(--font-size12)
    }
}

@media screen and (min-width: 1024px) {
    .p-premises__txt .c-arrow {
        margin-left:1rem
    }
}

@media screen and (max-width: 1023px) {
    .p-premises__txt .c-arrow {
        margin-left:.5rem
    }
}

.s-editor {
    word-break: break-all;
    word-wrap: break-word;
    font-weight: 400;
    line-height: calc(var(--line-height) * 1em);
    letter-spacing: calc(20 / 1000 * 1em);
    counter-reset: title
}

@media screen and (min-width: 1024px) {
    .s-editor {
        font-size:var(--font-size18);
        --line-height: calc( 36 / 18 )
    }
}

@media screen and (max-width: 1023px) {
    .s-editor {
        font-size:var(--font-size14);
        --line-height: calc( 30 / 14 )
    }
}

@media screen and (min-width: 1024px) {
    .s-editor *+.wp-caption,.s-editor *+blockquote,.s-editor *+figure:not(.s-editor__card__figure),.s-editor *+ol,.s-editor *+p:not(.s-editor__chat__txt):not(.s-editor__card__sub):not(.s-editor__card__main),.s-editor *+pre,.s-editor *+table,.s-editor *+ul:not(.toc_list) {
        margin-top:5.5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor *+.wp-caption,.s-editor *+blockquote,.s-editor *+figure:not(.s-editor__card__figure),.s-editor *+ol,.s-editor *+p:not(.s-editor__chat__txt):not(.s-editor__card__sub):not(.s-editor__card__main),.s-editor *+pre,.s-editor *+table,.s-editor *+ul:not(.toc_list) {
        margin-top:4.6rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor *+#toc_container {
        margin-top:10rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor *+#toc_container {
        margin-top:7.5rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor *+h2 {
        margin-top:17rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor *+h2 {
        margin-top:10.9rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor *+h3 {
        margin-top:8rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor *+h3 {
        margin-top:6.4rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor *+.s-editor__card,.s-editor *+.s-editor__chat {
        margin-top:8.1rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor *+.s-editor__card,.s-editor *+.s-editor__chat {
        margin-top:5.7rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor #toc_container+* {
        margin-top:15.9rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor #toc_container+* {
        margin-top:12.6rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor .s-editor__card+.s-editor__card,.s-editor .s-editor__chat+.s-editor__chat {
        margin-top:2.2rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor .s-editor__card+.s-editor__card,.s-editor .s-editor__chat+.s-editor__chat {
        margin-top:2.3rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor h2+* {
        margin-top:4.5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor h2+* {
        margin-top:4rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor h3+* {
        margin-top:4.3rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor h3+* {
        margin-top:2.8rem
    }
}

.s-editor h2 {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-top: var(--solid);
    border-bottom: var(--solid);
    text-align: center;
    line-height: calc(26 / 18 * 1em)
}

@media screen and (min-width: 1024px) {
    .s-editor h2 {
        width:100rem;
        font-size: var(--font-size30);
        padding: 2.6rem 10rem 2.7rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor h2 {
        width:var(--ww);
        padding: 1.4rem 3.5rem 1.5rem;
        font-size: var(--font-size18)
    }
}

.s-editor h2::before {
    counter-increment: title;
    content: "Chapter." counter(title,decimal-leading-zero);
    position: absolute;
    left: 0;
    bottom: 100%;
    width: 100%;
    text-align: center;
    font-family: var(--font-sans-serif);
    font-weight: 500;
    line-height: 1;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .s-editor h2::before {
        font-size:var(--font-size18);
        margin-bottom: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor h2::before {
        font-size:var(--font-size11);
        margin-bottom: 1rem
    }
}

.s-editor h3 {
    font-weight: 500;
    line-height: calc(var(--line-height) * 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    --line-height: calc( 26 / 18 );
    letter-spacing: calc(40 / 1000 * 1em)
}

.s-editor h3::after,.s-editor h3::before {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.s-editor h3::before {
    margin-top: calc((1 - var(--line-height)) * .5em)
}

.s-editor h3::after {
    margin-bottom: calc((1 - var(--line-height)) * .5em)
}

@media screen and (min-width: 1024px) {
    .s-editor h3 {
        font-size:var(--font-size26)
    }
}

@media screen and (max-width: 1023px) {
    .s-editor h3 {
        font-size:var(--font-size16)
    }
}

.s-editor ol,.s-editor p:not(.toc_title):not(.-border):not(.s-editor__card__sub),.s-editor ul:not(.toc_list) {
    line-height: calc(var(--line-height) * 1em);
    padding-top: .1px;
    padding-bottom: .1px
}

.s-editor ol::after,.s-editor ol::before,.s-editor p:not(.toc_title):not(.-border):not(.s-editor__card__sub)::after,.s-editor p:not(.toc_title):not(.-border):not(.s-editor__card__sub)::before,.s-editor ul:not(.toc_list)::after,.s-editor ul:not(.toc_list)::before {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.s-editor ol::before,.s-editor p:not(.toc_title):not(.-border):not(.s-editor__card__sub)::before,.s-editor ul:not(.toc_list)::before {
    margin-top: calc((1 - var(--line-height)) * .5em)
}

.s-editor ol::after,.s-editor p:not(.toc_title):not(.-border):not(.s-editor__card__sub)::after,.s-editor ul:not(.toc_list)::after {
    margin-bottom: calc((1 - var(--line-height)) * .5em)
}

.s-editor p.-border {
    border: var(--solid7);
    padding: 2em
}

.s-editor a:not(.s-editor__card__anchor):not([href*="#"]) {
    color: var(--color-main2);
    text-decoration: underline;
    transition: var(--transition-hover);
    transition-property: -webkit-text-decoration;
    transition-property: text-decoration;
    transition-property: text-decoration, -webkit-text-decoration
}

@media (hover: hover) {
    .s-editor a:not(.s-editor__card__anchor):not([href*="#"]):hover {
        text-decoration:none
    }

    .s-editor a:not(.s-editor__card__anchor):not([href*="#"]):hover img {
        opacity: .6
    }
}

.s-editor a:not(.s-editor__card__anchor):not([href*="#"]) img {
    transition: var(--transition-hover);
    transition-property: opacity
}

.s-editor b,.s-editor strong {
    font-weight: 700
}

.s-editor em {
    font-style: italic
}

.s-editor i {
    font-style: italic
}

.s-editor ul:not(.toc_list) {
    list-style-type: disc
}

.s-editor ol {
    list-style-type: decimal
}

.s-editor iframe,.s-editor img {
    max-width: 100%
}

.s-editor img+img {
    margin-top: 2rem
}

.s-editor figure+figure {
    margin-top: 2rem
}

.s-editor .c-youtube2+.c-youtube2 {
    margin-top: 2rem
}

.s-editor .wp-caption img,.s-editor a:not(.s-editor__card__anchor) img,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img,.s-editor p img {
    --border-radius: var( --radius-sm3 );
    --shadow-color: var( --color-shadow5 );
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-size,0) var(--shadow-size,0) 0 var(--shadow-color);
    margin-bottom: var(--shadow-size,0)
}

@media screen and (min-width: 1024px) {
    .s-editor .wp-caption img,.s-editor a:not(.s-editor__card__anchor) img,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img,.s-editor p img {
        --shadow-size:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor .wp-caption img,.s-editor a:not(.s-editor__card__anchor) img,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img,.s-editor p img {
        --shadow-size:1rem
    }
}

.s-editor .wp-caption img>:first-child,.s-editor a:not(.s-editor__card__anchor) img>:first-child,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img>:first-child,.s-editor p img>:first-child {
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: -webkit-transform var(--transition-hover);
    transition: transform var(--transition-hover);
    transition: transform var(--transition-hover), -webkit-transform var(--transition-hover)
}

.s-editor .wp-caption img::after,.s-editor .wp-caption img::before,.s-editor a:not(.s-editor__card__anchor) img::after,.s-editor a:not(.s-editor__card__anchor) img::before,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img::after,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img::before,.s-editor p img::after,.s-editor p img::before {
    display: none
}

.s-editor .wp-caption img.aligncenter,.s-editor a:not(.s-editor__card__anchor) img.aligncenter,.s-editor figure:not(.s-editor__chat__figure):not(.s-editor__card__figure) img.aligncenter,.s-editor p img.aligncenter {
    margin-inline:auto}

.s-editor p:has(>img)::after,.s-editor p:has(>img)::before {
    display: none!important
}

.s-editor a:has(>img:nth-child(2)),.s-editor figure:not(.s-editor__chat__figure):has(img:nth-child(2)),.s-editor p:has(>img:nth-child(2)) {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem
}

.s-editor a:has(>img:nth-child(2)) img,.s-editor figure:not(.s-editor__chat__figure):has(img:nth-child(2)) img,.s-editor p:has(>img:nth-child(2)) img {
    width: 10%;
    flex-basis: 100%;
    margin: 0
}

.s-editor .wp-caption {
    max-width: 100%!important
}

.s-editor .wp-video {
    width: auto!important
}

.s-editor video {
    max-width: 100%;
    width: auto!important;
    height: auto!important
}

.s-editor hr {
    border: none;
    height: 1px;
    background-color: var(--color-line)
}

@media screen and (min-width: 1024px) {
    .s-editor hr {
        margin-top:10rem;
        margin-bottom: 10rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor hr {
        margin-top:8rem;
        margin-bottom: 8rem
    }
}

.s-editor blockquote {
    background-color: var(--color-bg17);
    background-color: var(--color-bg5);
    font-style: italic;
    padding: 1.75em
}

.s-editor blockquote p {
    font-size: 90%;
    padding-top: .1px;
    padding-bottom: .1px
}

.s-editor blockquote p::after,.s-editor blockquote p::before {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.s-editor blockquote p::before {
    margin-top: calc((1 - var(--line-height)) * .5em)
}

.s-editor blockquote p::after {
    margin-bottom: calc((1 - var(--line-height)) * .5em)
}

#toc_container {
    border-radius: var(--radius-sm3);
    background-color: var(--color-bg19);
    color: var(--color-txt20)
}

@media screen and (min-width: 1024px) {
    #toc_container {
        padding:6.5rem 5rem 6.2rem
    }
}

@media screen and (max-width: 1023px) {
    #toc_container {
        padding:4.6rem 2rem 4.4rem
    }
}

@media screen and (max-width: 560px) {
    #toc_container {
        width:var(--contents-xxl2);
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.toc_title {
    display: flex;
    align-items: center;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .toc_title {
        font-size:var(--font-size14);
        gap: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .toc_title {
        flex-direction:column;
        gap: 1.3rem;
        font-size: var(--font-size12)
    }
}

.toc_title::before {
    content: 'CONTENTS';
    display: block;
    font-family: var(--font-sans-serif);
    font-weight: 400;
    letter-spacing: 0;
    margin-top: var(--font-sans-serif-top);
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .toc_title::before {
        font-size:var(--font-size24)
    }
}

@media screen and (max-width: 1023px) {
    .toc_title::before {
        font-size:var(--font-size20)
    }
}

.toc_list {
    counter-reset: cell
}

@media screen and (min-width: 1024px) {
    .toc_list {
        margin-top:3rem
    }
}

@media screen and (max-width: 1023px) {
    .toc_list {
        margin-top:2rem
    }
}

.toc_list li {
    border-bottom: var(--solid11)
}

.toc_list a {
    position: relative;
    display: block;
    color: var(--color-txt20);
    text-decoration: none;
    font-weight: 400;
    line-height: calc(22 / 14 * 1em);
    transition: color var(--transition-hover)
}

@media screen and (min-width: 1024px) {
    .toc_list a {
        font-size:var(--font-size18);
        padding: 1.4rem 6rem 1.6rem 5rem
    }
}

@media screen and (max-width: 1023px) {
    .toc_list a {
        font-size:var(--font-size14);
        padding: 1.1rem 1rem 1.3rem 3.8rem
    }
}

@media (hover: hover) {
    .toc_list a:hover {
        color:var(--color-txt19)
    }

    .toc_list a:hover::after {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        opacity: 1
    }
}

.toc_list a::before {
    counter-increment: cell;
    content: counter(cell,decimal-leading-zero);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-txt19);
    font-family: var(--font-sans-serif);
    letter-spacing: calc(120 / 1000 * 1em);
    position: absolute;
    top: 0;
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .toc_list a::before {
        height:5.8rem;
        font-size: var(--font-size12);
        left: 1.7rem
    }
}

@media screen and (max-width: 1023px) {
    .toc_list a::before {
        height:4.6rem;
        font-size: var(--font-size10);
        left: 1rem
    }
}

.toc_list a::after {
    content: '';
    display: block;
    background-image: url(../img/common/icon/down-yellow.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-90%);
    transform: translateY(-90%);
    opacity: 0;
    transition: var(--transition-hover);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform;
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .toc_list a::after {
        width:1.4rem;
        height: 1.4rem;
        right: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .toc_list a::after {
        display:none
    }
}

.s-editor__chat {
    display: flex;
    align-items: flex-start
}

@media screen and (min-width: 1024px) {
    .s-editor__chat {
        gap:2.1rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat {
        gap:1.7rem
    }
}

@media screen and (max-width: 560px) {
    .s-editor__chat {
        width:var(--contents-xxxl);
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.s-editor__chat.-reverse {
    flex-direction: row-reverse
}

.s-editor__chat.-reverse .s-editor__chat__txt {
    background-color: var(--color-bg19);
    color: var(--color-txt2)
}

.s-editor__chat.-reverse .s-editor__chat__txt::before {
    background-image: url(../img/common/icon/chat_balloon-black.svg);
    left: auto
}

@media screen and (min-width: 1024px) {
    .s-editor__chat.-reverse .s-editor__chat__txt::before {
        right:-1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat.-reverse .s-editor__chat__txt::before {
        right:-1.2rem
    }
}

@media screen and (min-width: 1024px) {
    .s-editor__chat__figure {
        min-width:64px;
        width: 64px
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat__figure {
        min-width:50px;
        width: 50px
    }
}

.s-editor__chat__figure img {
    border-radius: 50%
}

.s-editor__chat__figure figcaption {
    text-align: center;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .s-editor__chat__figure figcaption {
        font-size:var(--font-size11);
        margin-top: .8rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat__figure figcaption {
        font-size:var(--font-size10);
        margin-top: .6rem
    }
}

.s-editor__chat__txt {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--radius-sm3);
    background-color: var(--color-bg20)
}

@media screen and (min-width: 1024px) {
    .s-editor__chat__txt {
        max-width:calc(100% - 17rem);
        font-size: var(--font-size16);
        --line-height: calc( 28 / 16 );
        padding: 2.1rem 3.2rem 2.3rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat__txt {
        font-size:var(--font-size13);
        --line-height: calc( 23 / 13 );
        padding: 1.8rem 1.9rem 1.9rem
    }
}

.s-editor__chat__txt::before {
    content: '';
    display: block;
    background-image: url(../img/common/icon/chat_balloon-white.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute
}

@media screen and (min-width: 1024px) {
    .s-editor__chat__txt::before {
        width:2.3rem;
        height: 2rem;
        top: 2rem;
        left: -1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__chat__txt::before {
        width:1.9rem;
        height: 1.6rem;
        top: 1.7rem;
        left: -1.2rem
    }
}

.s-editor__card {
    position: relative;
    overflow: hidden;
    z-index: 0;
    display: flex;
    border-radius: var(--radius-sm3);
    background-color: var(--color-bg2);
    --figure-width: min( 24.0rem , 30% )
}

@media (hover: hover) {
    body:not(.wp-visual-editor) .s-editor__card:hover .s-editor__card__sub {
        background-color:var(--color-main5);
        color: var(--color-txt2)
    }

    body:not(.wp-visual-editor) .s-editor__card:hover .s-editor__card__main {
        color: var(--color-main5)
    }
}

.s-editor__card>p {
    display: none
}

.s-editor__card__figure {
    width: var(--figure-width)
}

@media screen and (min-width: 1024px) {
    .s-editor__card__figure {
        min-height:18rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__card__figure {
        min-height:10.2rem
    }
}

.s-editor__card__figure a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.s-editor__card__anchor__inner {
    position: relative;
    display: block;
    width: var(--figure-width);
    height: 100%;
    overflow: hidden;
    clip-path: inset(0 0 0 0)
}

.s-editor__card__contents {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .s-editor__card__contents {
        padding:3.5rem 3.5rem 5rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__card__contents {
        padding:2.2rem 1.5rem 2.5rem
    }
}

body.wp-visual-editor .s-editor__card__contents {
    position: relative;
    z-index: 1000
}

.s-editor__card__sub {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: var(--radius-max);
    border: var(--solid);
    border-color: var(--color-main5);
    color: var(--color-main5);
    line-height: 1.4;
    transition: var(--transition-hover);
    transition-property: background-color,color
}

@media screen and (min-width: 1024px) {
    .s-editor__card__sub {
        font-size:var(--font-size12);
        padding: .6rem 1.4rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__card__sub {
        font-size:var(--font-size8);
        padding: .2rem 1rem
    }
}

.s-editor__card__main {
    --line-height: 1.8;
    transition: color var(--transition-hover)
}

@media screen and (min-width: 1024px) {
    .s-editor__card__main {
        font-size:var(--font-size16);
        margin-top: 1.8rem
    }
}

@media screen and (max-width: 1023px) {
    .s-editor__card__main {
        font-size:var(--font-size11);
        margin-top: 1rem
    }
}

.l-efooter {
    position: relative;
    color: var(--color-txt2)
}

@media screen and (min-width: 1024px) {
    .l-efooter {
        margin-top:5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter {
        margin-top:2rem
    }
}

@media screen and (min-width: 1024px) and (max-height:1180px) {
    .l-efooter .p-footer {
        margin-top:18rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter .p-footer {
        margin-top:8.8rem
    }
}

.l-efooter__100vh {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    z-index: -1111111111
}

.l-efooter__curve-top {
    position: relative;
    min-height: var(--curve-height)
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top {
        --curve-height:53.8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top {
        --curve-height:19.6rem
    }
}

.l-efooter__curve-top.is-shown .l-efooter__curve-top__left {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.l-efooter__curve-top__inner {
    position: relative;
    z-index: 10
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__inner {
        padding:26rem calc((156 / var(--base-width)) * 100%) 18.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__inner {
        padding:10.8rem calc((30 / var(--base-width)) * 100%) 8.3rem
    }
}

.l-efooter__curve-top__inner .c-logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: 0
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__inner .c-logo {
        margin-top:3.7rem;
        margin-right: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__inner .c-logo {
        margin-top:1.8rem
    }
}

.l-efooter__curve-top__en {
    text-align: right;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    letter-spacing: calc(-33 / 1000 * 1em)
}

.l-efooter__curve-top__en::after,.l-efooter__curve-top__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-efooter__curve-top__en::before {
    margin-top: var(--font-sans-serif-top)
}

.l-efooter__curve-top__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__en {
        font-size:var(--font-size43)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__en {
        font-size:var(--font-size21)
    }
}

.l-efooter__curve-top__illust-1,.l-efooter__curve-top__illust-2 {
    position: absolute;
    z-index: 1;
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__illust-1 {
        width:calc((100 / var(--base-width)) * 100%);
        top: 16.9rem;
        left: calc((295 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__illust-1 {
        width:calc((58 / var(--base-width)) * 100%);
        top: 3.2rem;
        left: calc((83 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__illust-1 img {
        max-width:10rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__illust-1 img {
        max-width:5.8rem
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__illust-2 {
        width:calc((102 / var(--base-width)) * 100%);
        top: 25.4rem;
        left: calc((158 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__illust-2 {
        width:calc((58px / var(--base-width)) * 100%);
        top: 7.2rem;
        left: calc((27 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-top__illust-2 img {
        max-width:10.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-top__illust-2 img {
        max-width:5.8rem
    }
}

.l-efooter__curve-top__left,.l-efooter__curve-top__right {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: 25rem;
    background-position: center;
    background-repeat: repeat
}

.l-efooter__curve-top__right {
    z-index: 2
}

@media screen and (min-width: 561px) {
    .l-efooter__curve-top__right {
        background-image:url(../img/common/bg_texture3.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__curve-top__right {
        background-image:url(../img/common/bg_texture4.webp)
    }
}

.l-efooter__curve-top__left {
    z-index: 0;
    -webkit-transform: translate3d(0,10%,0);
    transform: translate3d(0,10%,0);
    transition: -webkit-transform var(--transition-mountain);
    transition: transform var(--transition-mountain);
    transition: transform var(--transition-mountain), -webkit-transform var(--transition-mountain)
}

@media screen and (min-width: 561px) {
    .l-efooter__curve-top__left {
        background-image:url(../img/common/bg_texture5.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__curve-top__left {
        background-image:url(../img/common/bg_texture6.webp)
    }
}

.l-efooter__inner {
    position: relative;
    background-size: 250px;
    background-position: center;
    background-repeat: repeat
}

@media screen and (min-width: 561px) {
    .l-efooter__inner {
        background-image:url(../img/common/bg_texture3.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__inner {
        background-image:url(../img/common/bg_texture4.webp)
    }
}

.l-efooter__page {
    --area-height: 150vh;
    height: calc(var(--wh) + var(--area-height) * 8 + 30rem)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page {
        --base-vh:1010
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page {
        --base-vh:714
    }
}

.l-efooter__page__screen {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__screen {
        --screen-width:calc( 100vw - 5.0rem );
        --screen-height: calc( 100vh - 6.0rem );
        padding: 3rem 2.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__screen {
        --screen-width:calc( 100vw - 3.0rem );
        --screen-height: calc( 100vh - 3.0rem );
        padding: 1.5rem 1.5rem
    }
}

.l-efooter__page__screen__inner {
    width: 100%;
    height: 100%;
    -webkit-transform-origin: 50% 42%;
    transform-origin: 50% 42%;
    z-index: 15;
    transition: opacity var(--transition-fade3)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__screen__inner {
        --base-width:1448;
        --base-height: 952
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__screen__inner {
        --base-width:370;
        --base-height: 684
    }
}

.l-efooter__page__screen__inner.is-hidden {
    pointer-events: none;
    opacity: 0
}

.l-efooter__page__screen__inner .c-logo {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__screen__inner .c-logo {
        top:3.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__screen__inner .c-logo {
        top:1.5rem
    }
}

.l-efooter__page__nav {
    position: absolute
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__nav {
        display:grid;
        gap: .9rem;
        top: 50%;
        right: 2.6rem;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__nav {
        display:flex;
        gap: .5rem;
        left: 50%;
        bottom: 1.6rem;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.l-efooter__page__nav button {
    border-radius: var(--radius-max);
    border: var(--solid);
    background-color: currentColor;
    transition: var(--transition-fadeup)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__nav button {
        width:1rem;
        height: 1rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__nav button {
        width:.6rem;
        height: .6rem
    }
}

.l-efooter__page__nav button.is-current {
    background-color: var(--pallet-transp)
}

.l-efooter__page__gotop {
    position: absolute;
    z-index: 20
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__gotop {
        right:2.7rem;
        bottom: 3.1rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__gotop {
        right:1.5rem;
        bottom: 1.4rem
    }
}

.l-efooter__page__items {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
    width: 100%;
    height: 100%
}

.l-efooter__page__item {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-lg);
    font-family: var(--font-gothic4);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-fadeup);
    transition-property: opacity,visibility
}

.l-efooter__page__item.is-shown {
    opacity: 1;
    visibility: visible;
    transition-delay: 250ms
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust.-size1 {
    -webkit-animation: step-left-right var(--animation-step-move);
    animation: step-left-right var(--animation-step-move)
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust.-size2 {
    -webkit-animation: step-right-left var(--animation-step-move);
    animation: step-right-left var(--animation-step-move)
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust [src*=page_1_illust_1_3] {
    -webkit-animation: step-right-foot var(--animation-step-foot);
    animation: step-right-foot var(--animation-step-foot)
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust [src*=page_1_illust_1_4] {
    -webkit-animation: step-left-foot var(--animation-step-foot);
    animation: step-left-foot var(--animation-step-foot)
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust [src*=page_1_illust_2_3] {
    -webkit-animation: step-right-foot var(--animation-step-foot);
    animation: step-right-foot var(--animation-step-foot)
}

.l-efooter__page__item.is-shown.-page1 .l-efooter__page__item__block__illust [src*=page_1_illust_2_4] {
    -webkit-animation: step-left-foot var(--animation-step-foot);
    animation: step-left-foot var(--animation-step-foot)
}

.l-efooter__page__item.is-shown.-page3 .l-efooter__page__item__block__illust [src*=page_3_illust_1_3] {
    -webkit-animation: step-right-hand var(--animation-step-hand);
    animation: step-right-hand var(--animation-step-hand)
}

.l-efooter__page__item.is-shown.-page3 .l-efooter__page__item__block__illust [src*=page_3_illust_1_4] {
    -webkit-animation: step-right-foot var(--animation-step-foot);
    animation: step-right-foot var(--animation-step-foot);
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

.l-efooter__page__item.is-shown.-page3 .l-efooter__page__item__block__illust [src*=page_3_illust_1_5] {
    -webkit-animation: step-left-foot var(--animation-step-foot);
    animation: step-left-foot var(--animation-step-foot);
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

.l-efooter__page__item.is-shown.-page7 .l-efooter__page__item__inner::before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.l-efooter__page__item.is-shown.-page7 .l-efooter__page__item__data__illust [src*=page_7_illust_1_1] {
    -webkit-animation: step-entrance var(--animation-step-entrance);
    animation: step-entrance var(--animation-step-entrance)
}

.l-efooter__page__item.is-shown.-page7 .l-efooter__page__item__data__illust [src*=page_7_illust_1_2] {
    -webkit-animation: step-entrance-shadow var(--animation-step-entrance);
    animation: step-entrance-shadow var(--animation-step-entrance)
}

.l-efooter__page__item.-page7 .l-efooter__page__item__inner::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    transition: var(--transition-fade-bg);
    transition-property: opacity,-webkit-transform;
    transition-property: opacity,transform;
    transition-property: opacity,transform,-webkit-transform
}

@media screen and (min-width: 561px) {
    .l-efooter__page__item.-page7 .l-efooter__page__item__inner::before {
        background-image:url(../img/common/layout/efooter/page_7_bg-pc.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__page__item.-page7 .l-efooter__page__item__inner::before {
        background-image:url(../img/common/layout/efooter/page_7_bg-sp.webp)
    }
}

.l-efooter__page__item__inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    overflow: hidden
}

.l-efooter__page__item__inner.-visible {
    overflow: visible
}

.l-efooter__page__item__flex {
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__flex {
        width:min(111rem,116.84211vh);
        display: flex;
        align-items: flex-end;
        margin-top: min(6.3rem,6.63158vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__flex {
        display:flex;
        flex-direction: column-reverse
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__flex .l-efooter__page__item__block {
        width:50%
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__flex .l-efooter__page__item__block+.l-efooter__page__item__block.-medium {
        margin-bottom:min(5.8rem,8.52941vh)
    }

    .l-efooter__page__item__flex .l-efooter__page__item__block+.l-efooter__page__item__block.-medium2 {
        margin-bottom: min(4.1rem,6.02941vh)
    }
}

.l-efooter__page__item__title {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.l-efooter__page__item__title a {
    position: relative;
    display: block
}

.l-efooter__page__item__title .c-arrow {
    position: absolute;
    right: 0
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title .c-arrow {
        top:min(.3rem,.31579vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title .c-arrow {
        top:min(-.2rem,-.29412vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title.-movie .l-efooter__page__item__title__en {
        padding-right:0
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title.-movie .c-arrow {
        right:min(1.3rem,1.91176vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title.-data .c-arrow {
        top:min(1.4rem,1.47368vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title.-data .c-arrow {
        top:min(.5rem,.73529vh)
    }
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en {
    display: flex;
    align-items: flex-end;
    white-space: nowrap
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en::after,.l-efooter__page__item__title.-data .l-efooter__page__item__title__en::before {
    display: none
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo) {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo)::after,.l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo)::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo)::before {
    margin-top: var(--font-sans-serif-top)
}

.l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo)::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo) {
        margin-bottom:min(1.3rem,1.36842vh);
        margin-left: min(2.5rem,2.63158vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title.-data .l-efooter__page__item__title__en span:not(.l-efooter__page__item__title__en__logo) {
        margin-bottom:min(.6rem,.88235vh);
        margin-left: min(1.1rem,1.61765vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title.-data .l-efooter__page__item__title__ja {
        margin-top:min(2.6rem,2.73684vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title.-data .l-efooter__page__item__title__ja {
        margin-top:min(1.2rem,1.76471vh)
    }
}

.l-efooter__page__item__title__en {
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.l-efooter__page__item__title__en::after,.l-efooter__page__item__title__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-efooter__page__item__title__en::before {
    margin-top: var(--font-sans-serif-top)
}

.l-efooter__page__item__title__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title__en {
        font-size:min(6.8rem,7.15789vh);
        --line-height: calc( 78 / 68 );
        padding-right: min(8rem,8.42105vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title__en {
        font-size:min(3.4rem,5vh);
        --line-height: calc( 40 / 34 );
        padding-right: min(3.9rem,5.73529vh)
    }
}

.l-efooter__page__item__title__en__logo {
    -webkit-filter: var(--filter-white);
    filter: var(--filter-white)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title__en__logo {
        width:min(19.8rem,20.84211vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title__en__logo {
        width:min(10.1rem,14.85294vh)
    }
}

.l-efooter__page__item__title__en__logo img {
    width: 100%
}

.l-efooter__page__item__title__ja {
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__title__ja {
        font-size:min(1.8rem,1.89474vh);
        margin-top: min(4.2rem,4.42105vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__title__ja {
        font-size:min(1.1rem,1.61765vh);
        margin-top: min(1.8rem,2.64706vh)
    }
}

.l-efooter__page__item__q {
    display: flex;
    align-items: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: var(--color-bg2);
    color: var(--color-main);
    white-space: nowrap
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__q.-small {
        font-size:min(1.1rem,1.15789vh);
        padding: min(.7rem,.73684vh) min(1.2rem,1.26316vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__q.-medium {
        font-size:min(1.4rem,1.47368vh);
        padding: min(.9rem,.94737vh) min(1.6rem,1.68421vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__q.-medium {
        font-size:min(.8rem,1.17647vh);
        padding: min(.5rem,.73529vh) min(.8rem,1.17647vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__q.-large {
        font-size:min(1.5rem,1.57895vh);
        padding: min(1rem,1.05263vh) min(1.9rem,2vh) min(1.1rem,1.15789vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__q.-large {
        font-size:min(.8rem,1.17647vh);
        padding: min(.6rem,.88235vh) min(1rem,1.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__contents,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__contents {
        margin-top:min(5rem,5.26316vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__contents,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__contents {
        display:flex;
        align-items: flex-start;
        margin-top: min(1.8rem,2.64706vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__q,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__q {
        margin-inline:auto
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__txt,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__txt {
        text-align:center;
        font-size: min(2.4rem,2.52632vh);
        --line-height: calc( 42 / 24 );
        margin-top: min(3.4rem,3.57895vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__txt,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__txt {
        flex:1;
        min-width: 1px;
        font-size: min(1.3rem,1.91176vh);
        --line-height: calc( 23 / 13 );
        margin-top: min(.2rem,.29412vh);
        margin-left: min(1rem,1.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__txt .-emoji,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__txt .-emoji {
        font-size:min(3rem,3.15789vh);
        -webkit-transform: translateY(-.15em);
        transform: translateY(-.15em)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-medium .l-efooter__page__item__block__txt .-emoji,.l-efooter__page__item__block.-medium2 .l-efooter__page__item__block__txt .-emoji {
        font-size:min(1.6rem,2.35294vh);
        -webkit-transform: translateY(-.06em);
        transform: translateY(-.06em)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-medium {
        width:min(24rem,35.29412vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-medium2 {
        width:min(28rem,41.17647vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large {
        display:flex;
        flex-direction: row-reverse;
        align-items: flex-start
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large {
        margin-top:min(-4.6rem,-6.76471vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__block__illust {
        margin-left:min(6rem,6.31579vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__block__contents {
        margin-top:min(6.6rem,6.94737vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__block__contents {
        margin-top:min(2.9rem,4.26471vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__q {
        margin-inline:auto
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__block__txt {
        font-size:min(3rem,3.15789vh);
        --line-height: calc( 70 / 30 );
        margin-top: min(4rem,4.21053vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large .l-efooter__page__item__block__txt {
        text-align:center;
        font-size: min(1.8rem,2.64706vh);
        --line-height: calc( 35 / 18 );
        margin-top: min(1.8rem,2.64706vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large2 {
        display:flex;
        align-items: flex-start;
        margin-left: min(7.2rem,7.57895vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large2 {
        width:min(28.5rem,41.91176vh);
        margin-top: min(-2.8rem,-4.11765vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__block__illust {
        margin-top:min(4.5rem,4.73684vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__block__contents {
        width:min(44.6rem,46.94737vh);
        margin-left: min(8.2rem,8.63158vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__block__contents {
        margin-top:min(2.2rem,3.23529vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__q {
        margin-inline:auto
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__block__txt {
        font-size:min(2.6rem,2.73684vh);
        --line-height: calc( 44 / 26 );
        margin-top: min(2.9rem,3.05263vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block.-large2 .l-efooter__page__item__block__txt {
        font-size:min(1.5rem,2.20588vh);
        --line-height: calc( 26 / 15 );
        margin-top: min(1.6rem,2.35294vh)
    }
}

.l-efooter__page__item__block__illust {
    position: relative;
    margin-inline:auto}

.l-efooter__page__item__block__illust img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.l-efooter__page__item__block__illust img:first-of-type {
    position: relative;
    z-index: 10
}

.l-efooter__page__item__block__illust img:not(:first-of-type) {
    position: absolute;
    z-index: 1
}

.l-efooter__page__item__block__illust img:nth-of-type(2) {
    width: 100%;
    left: 0;
    bottom: 0;
    z-index: 0
}

.l-efooter__page__item__block__illust p {
    position: absolute;
    z-index: 10;
    letter-spacing: calc(40 / 1000 * 1em)
}

.l-efooter__page__item__block__illust [src*=page_1_illust_1_3] {
    width: 42.78846%;
    right: 4.80769%;
    bottom: 5.05837%;
    -webkit-transform-origin: 20% 0;
    transform-origin: 20% 0
}

.l-efooter__page__item__block__illust [src*=page_1_illust_1_4] {
    width: 36.05769%;
    left: 10.57692%;
    bottom: 3.89105%;
    -webkit-transform-origin: 80% 0;
    transform-origin: 80% 0
}

.l-efooter__page__item__block__illust [src*=page_1_illust_2_3] {
    width: 36.05769%;
    right: 10.57692%;
    bottom: 4.08163%;
    -webkit-transform-origin: 20% 0;
    transform-origin: 20% 0
}

.l-efooter__page__item__block__illust [src*=page_1_illust_2_4] {
    width: 42.78846%;
    left: 4.80769%;
    bottom: 5.71429%;
    -webkit-transform-origin: 80% 0;
    transform-origin: 80% 0
}

.l-efooter__page__item__block__illust [src*=page_2_illust_2_3] {
    width: 62.16216%;
    top: 26.33745%;
    left: 0;
    -webkit-transform-origin: 40% 50%;
    transform-origin: 40% 50%;
    -webkit-animation: step-left-hand var(--animation-step-hand);
    animation: step-left-hand var(--animation-step-hand)
}

.l-efooter__page__item__block__illust [src*=page_3_illust_1_3] {
    width: 69%;
    top: 25.9887%;
    right: 0;
    -webkit-transform-origin: 60% 50%;
    transform-origin: 60% 50%
}

.l-efooter__page__item__block__illust [src*=page_3_illust_1_4] {
    width: 42.66667%;
    right: 4.66667%;
    bottom: 5.64972%;
    -webkit-transform-origin: 20% 0;
    transform-origin: 20% 0
}

.l-efooter__page__item__block__illust [src*=page_3_illust_1_5] {
    width: 35.66667%;
    left: 10.66667%;
    bottom: 3.9548%;
    -webkit-transform-origin: 80% 0;
    transform-origin: 80% 0
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size1 {
        width:min(20.8rem,21.89474vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size1 {
        width:min(11.2rem,16.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size2 {
        width:min(20.8rem,21.89474vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size2 {
        width:min(11.2rem,16.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size3 {
        width:min(17.5rem,18.42105vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size3 {
        width:min(9.5rem,13.97059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size4 {
        width:min(18.5rem,19.47368vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size4 {
        width:min(10rem,14.70588vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size5 {
        width:min(30.1rem,31.68421vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size5 {
        width:min(17.2rem,25.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size5 p {
        font-size:min(1.8rem,1.89474vh);
        top: 11.58192%;
        right: -16.21622%
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size5 p {
        font-size:min(1.2rem,1.76471vh);
        top: 11.27451%;
        right: -13.37209%
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size6 {
        width:min(26.6rem,28vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size6 {
        width:min(15.2rem,22.35294vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__block__illust.-size6 p {
        font-size:min(3.2rem,3.36842vh);
        top: 5.36193%;
        left: -17.29323%
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__block__illust.-size6 p {
        font-size:min(1.6rem,2.35294vh);
        top: 14.48598%;
        left: -13.15789%
    }
}

.l-efooter__page__item__block__txt {
    letter-spacing: calc(40 / 1000 * 1em)
}

.l-efooter__page__item__block__txt .-emoji {
    display: inline-block;
    vertical-align: text-top;
    height: 1em
}

.l-efooter__page__item__balloon {
    position: absolute;
    z-index: 10
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon {
        left:min(11.3rem,11.89474vh);
        bottom: min(-1.9rem,-2vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__balloon {
        left:min(4rem,5.88235vh);
        bottom: min(-1.4rem,-2.05882vh)
    }
}

.l-efooter__page__item__balloon.-center {
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon.-center {
        width:100%;
        left: 0;
        gap: min(2.5rem,2.63158vh)
    }

    .l-efooter__page__item__balloon.-center .l-efooter__page__item__balloon__cell {
        width: 50%;
        justify-content: flex-end
    }

    .l-efooter__page__item__balloon.-center .l-efooter__page__item__balloon__cell:first-of-type {
        flex-direction: row
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__balloon.-center {
        left:min(2.3rem,3.38235vh);
        gap: min(1.7rem,2.5vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon__cell {
        display:flex;
        flex-direction: row-reverse;
        align-items: flex-start
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon__contents {
        margin-top:min(1.3rem,1.36842vh);
        margin-left: min(2.1rem,2.21053vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__balloon__contents .l-efooter__page__item__q {
        display:none
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon__txt {
        font-size:min(1.8rem,1.89474vh);
        margin-top: min(1.1rem,1.15789vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__balloon__txt {
        display:flex;
        justify-content: center;
        white-space: nowrap;
        width: min(5.1rem,7.5vh);
        text-align: center;
        font-size: min(1rem,1.47059vh);
        --line-height: calc( 14 / 10 );
        margin-top: min(1.1rem,1.15789vh)
    }
}

.l-efooter__page__item__balloon__txt .-emoji {
    vertical-align: middle
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon__txt .-emoji {
        font-size:min(2.4rem,2.52632vh)
    }
}

.l-efooter__page__item__balloon__illust {
    display: flex;
    align-items: flex-end
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__balloon__illust {
        width:min(8rem,8.42105vh);
        height: min(12rem,12.63158vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__balloon__illust {
        width:min(5.1rem,7.5vh);
        height: min(7.6rem,11.17647vh);
        margin-top: min(.5rem,.73529vh)
    }
}

.l-efooter__page__item__balloon__illust img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.l-efooter__page__item__episode {
    position: relative
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode {
        width:min(119.6rem,125.89474vh);
        padding-bottom: min(4.8rem,5.05263vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode {
        width:min(37rem,54.41176vh);
        padding-bottom: min(7.4rem,10.88235vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode .l-efooter__page__item__title {
        margin-top:min(2.6rem,3.82353vh);
        margin-left: min(3.6rem,5.29412vh)
    }
}

.l-efooter__page__item__episode__figure {
    aspect-ratio: 792/463
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__figure {
        width:min(79.2rem,83.36842vh);
        position: absolute;
        top: min(4.9rem,5.15789vh);
        left: min(20rem,21.05263vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode__figure {
        position:relative;
        width: min(38.8rem,57.05882vh);
        margin-left: min(-.8rem,-1.17647vh)
    }
}

.l-efooter__page__item__episode__figure img {
    position: absolute
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__figure img {
        -webkit-filter:drop-shadow(2rem 2rem 0 var(--color-shadow2));
        filter: drop-shadow(2rem 2rem 0 var(--color-shadow2))
    }
}

.l-efooter__page__item__episode__figure img:nth-of-type(1) {
    width: 46.71717%;
    left: 0;
    bottom: 0;
    z-index: 3
}

.l-efooter__page__item__episode__figure img:nth-of-type(2) {
    width: 33.83838%;
    top: 0;
    left: 33.20707%;
    z-index: 2
}

.l-efooter__page__item__episode__figure img:nth-of-type(3) {
    width: 46.71717%;
    right: 0;
    bottom: 0;
    z-index: 1
}

.l-efooter__page__item__episode__txt {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__txt {
        width:min(24rem,25.26316vh);
        font-size: min(1.4rem,1.47368vh);
        --line-height: calc( 26 / 14 );
        margin-top: min(19.5rem,20.52632vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode__txt {
        width:min(14.3rem,21.02941vh);
        font-size: min(1rem,1.47059vh);
        --line-height: calc( 19 / 10 );
        margin-top: min(3.8rem,5.58824vh);
        margin-left: min(3.6rem,5.29412vh)
    }
}

.l-efooter__page__item__episode__illust {
    position: absolute
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__illust {
        right:min(1.6rem,1.68421vh);
        bottom: max(-17.8rem,-18.73684vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode__illust {
        right:min(2.9rem,4.26471vh);
        bottom: min(4.1rem,6.02941vh)
    }
}

.l-efooter__page__item__episode__illust .l-efooter__page__item__q {
    margin-inline:auto}

.l-efooter__page__item__episode__illust__txt {
    text-align: center;
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__illust__txt {
        font-size:min(3.4rem,3.57895vh);
        margin-top: min(2.8rem,2.94737vh);
        padding-left: min(2rem,2.10526vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode__illust__txt {
        font-size:min(2rem,2.94118vh);
        margin-top: min(1.5rem,2.20588vh);
        padding-left: min(1rem,1.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__episode__illust__img {
        width:min(19.4rem,20.42105vh);
        margin-top: min(5.4rem,5.68421vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__episode__illust__img {
        width:min(13.4rem,19.70588vh);
        margin-top: min(1.3rem,1.91176vh)
    }
}

.l-efooter__page__item__episode__illust__img img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.l-efooter__page__item__movie {
    position: relative
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie {
        width:min(113.8rem,119.78947vh);
        padding-bottom: min(9.9rem,10.42105vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie {
        width:min(37rem,54.41176vh);
        padding-bottom: min(13.1rem,19.26471vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie .l-efooter__page__item__title {
        margin-left:min(2.8rem,4.11765vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie .l-efooter__page__item__q {
        margin-top:min(9.2rem,9.68421vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie .l-efooter__page__item__q {
        margin-top:min(3.2rem,4.70588vh);
        margin-left: min(2.8rem,4.11765vh)
    }
}

.l-efooter__page__item__movie__figure {
    --shadow-color: var( --color-shadow2 );
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    display: flex
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__figure {
        height:calc(100vh - 6rem);
        padding-right: min(3.2rem,3.36842vh);
        --border-radius: min(2rem, 2.10526vh);
        --shadow-size: min(2rem, 2.10526vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__figure {
        height:calc(100vh - 3rem);
        padding-right: min(2.5rem,3.67647vh);
        --border-radius: min(0.8rem, 1.17647vh);
        --shadow-size: min(0.8rem, 1.17647vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__figure__row+.l-efooter__page__item__movie__figure__row {
        margin-left:min(5.9rem,6.21053vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__figure__row+.l-efooter__page__item__movie__figure__row {
        display:none
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__figure__row li {
        width:min(15.5rem,16.31579vh);
        padding-top: min(5.2rem,5.47368vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__figure__row li {
        width:min(6.5rem,9.55882vh);
        padding-top: min(2.1rem,3.08824vh)
    }
}

.l-efooter__page__item__movie__txt {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__txt {
        width:min(21rem,22.10526vh);
        font-size: min(1.4rem,1.47368vh);
        --line-height: calc( 26 / 14 );
        position: absolute;
        left: min(42.8rem,45.05263vh);
        bottom: max(-7rem,-7.36842vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__txt {
        width:min(22.6rem,33.23529vh);
        font-size: min(1rem,1.47059vh);
        --line-height: calc( 19 / 10 );
        margin-top: min(2rem,2.94118vh);
        margin-left: min(2.8rem,4.11765vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__txt2 {
        width:min(38.2rem,40.21053vh);
        font-size: min(1.8rem,1.89474vh);
        --line-height: calc( 34 / 18 );
        letter-spacing: calc(40 / 1000 * 1em);
        margin-top: min(2rem,2.10526vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__txt2 {
        width:min(22.7rem,33.38235vh);
        font-size: min(1.2rem,1.76471vh);
        --line-height: calc( 22 / 12 );
        margin-top: min(1.6rem,2.35294vh);
        margin-left: min(2.8rem,4.11765vh)
    }
}

.l-efooter__page__item__movie__illust {
    position: absolute
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__movie__illust {
        width:min(19.6rem,20.63158vh);
        left: min(41.4rem,43.57895vh);
        bottom: min(9.2rem,9.68421vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__movie__illust {
        width:min(11.4rem,16.76471vh);
        left: min(12.4rem,18.23529vh);
        bottom: max(-3.6rem,-5.29412vh)
    }
}

.l-efooter__page__item__movie__illust img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__data {
        display:flex;
        justify-content: flex-end;
        width: min(93rem,97.89474vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data {
        width:min(37rem,54.41176vh);
        padding-bottom: min(4.1rem,6.02941vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__data .l-efooter__page__item__title {
        margin-top:min(7.5rem,7.89474vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data .l-efooter__page__item__title {
        margin-inline:auto
    }
}

.l-efooter__page__item__data__illust {
    position: relative
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__data__illust {
        width:min(28.6rem,30.10526vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data__illust {
        width:min(12.8rem,18.82353vh);
        margin-inline:auto;margin-top: min(2.4rem,3.52941vh)
    }
}

.l-efooter__page__item__data__illust img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.l-efooter__page__item__data__illust img:first-of-type {
    position: relative;
    z-index: 1
}

.l-efooter__page__item__data__illust img:not(:first-of-type) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0
}

.l-efooter__page__item__data__illust [src*=page_7_illust_1_2] {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__data__contents {
        margin-left:min(9.7rem,10.21053vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data__contents {
        margin-top:min(2rem,2.94118vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data__contents .l-efooter__page__item__q {
        margin-inline:auto
    }
}

.l-efooter__page__item__data__txt {
    letter-spacing: calc(40 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__item__data__txt {
        order:1;
        font-size: min(2rem,2.10526vh);
        --line-height: calc( 40 / 20 );
        margin-top: min(2.8rem,2.94737vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__item__data__txt {
        width:min(28.5rem,41.91176vh);
        margin-inline:auto;font-size: min(1.5rem,2.20588vh);
        --line-height: calc( 26 / 15 );
        margin-top: min(1.8rem,2.64706vh)
    }
}

.l-efooter__page__banner {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%
}

.l-efooter__page__banner__inner {
    position: relative;
    height: 100%;
    margin-inline:auto;display: flex;
    flex-direction: column;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__inner {
        width:min(135.6rem,114.91525vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__inner {
        width:min(40rem,58.82353vh)
    }
}

.l-efooter__page__banner__cell {
    width: var(--width);
    margin-bottom: 0
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 {
        --shadow-size:min(2.4rem, 2.0339vh);
        --radius: min(4.2rem, 3.55932vh);
        --width: min(38.3rem, 32.45763vh);
        --height: min(15.3rem, 12.9661vh);
        margin-left: min(9.8rem,8.30508vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 {
        --shadow-size:min(1.2rem, 1.76471vh);
        --radius: min(2.5rem, 3.67647vh);
        --width: min(20.5rem, 30.14706vh);
        --height: min(8.2rem, 12.05882vh);
        margin-left: min(3.2rem,4.70588vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 a {
        padding-left:min(4.8rem,4.0678vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 a {
        padding-left:min(2.5rem,3.67647vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .c-person2 {
        --width:min(3rem, 2.54237vh);
        --height: min(2rem, 1.69492vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .c-person2 {
        --width:min(1.6rem, 2.35294vh);
        --height: min(1.1rem, 1.61765vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en {
        margin-top:min(.3rem,.25424vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en {
        margin-top:min(.2rem,.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en span {
        font-size:min(3.1rem,2.62712vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en span {
        font-size:min(1.6rem,2.35294vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en .c-arrow {
        --oval-size:min(4.2rem, 3.55932vh);
        --icon-size: min(1rem, 0.84746vh);
        margin-left: min(1rem,.84746vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__en .c-arrow {
        --oval-size:min(2.2rem, 3.23529vh);
        --icon-size: min(0.5rem, 0.73529vh);
        margin-left: min(.5rem,.42373vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__ja {
        font-size:min(1.4rem,1.18644vh);
        margin-top: min(.5rem,.42373vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__ja {
        font-size:min(.7rem,1.02941vh);
        margin-top: min(.3rem,.44118vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__figure {
        width:min(26.2rem,22.20339vh);
        top: max(-4.4rem,-3.72881vh);
        right: max(-8.6rem,-7.28814vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique1 .p-banner__figure {
        width:min(14rem,20.58824vh);
        top: max(-2.3rem,-3.38235vh);
        right: max(-4.6rem,-6.76471vh)
    }
}

.l-efooter__page__banner__cell.-unique2 {
    margin-left: auto
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 {
        --shadow-size:min(2rem, 1.69492vh);
        --radius: min(4.2rem, 3.55932vh);
        --width: min(32.2rem, 27.28814vh);
        --height: min(12.9rem, 10.9322vh);
        margin-top: max(-8.6rem,-7.28814vh);
        margin-right: 0
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 {
        --shadow-size:min(1rem, 1.47059vh);
        --radius: min(2rem, 2.94118vh);
        --width: min(16.8rem, 24.70588vh);
        --height: min(6.7rem, 9.85294vh);
        margin-top: min(3.2rem,4.70588vh);
        margin-right: min(1.5rem,2.20588vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 a {
        padding-left:min(3.9rem,3.30508vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 a {
        padding-left:min(2rem,2.94118vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .c-person2 {
        --width:min(2.5rem, 2.11864vh);
        --height: min(1.7rem, 1.44068vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .c-person2 {
        --width:min(1.3rem, 1.91176vh);
        --height: min(0.9rem, 1.32353vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en {
        margin-top:min(.2rem,.16949vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en {
        margin-top:min(.2rem,.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en span {
        font-size:min(2.6rem,2.20339vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en span {
        font-size:min(1.3rem,1.91176vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en .c-arrow {
        --oval-size:min(3.4rem, 2.88136vh);
        --icon-size: min(0.8rem, 0.67797vh);
        margin-left: min(.9rem,.76271vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__en .c-arrow {
        --oval-size:min(1.8rem, 2.64706vh);
        --icon-size: min(0.4rem, 0.58824vh);
        margin-left: min(.5rem,.73529vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__ja {
        font-size:min(1.2rem,1.01695vh);
        margin-top: min(.4rem,.33898vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__ja {
        font-size:min(.6rem,.88235vh);
        margin-top: min(.2rem,.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__figure {
        width:min(21.1rem,17.88136vh);
        top: max(-4.2rem,-3.55932vh);
        right: max(-6.8rem,-5.76271vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique2 .p-banner__figure {
        width:min(11rem,16.17647vh);
        top: max(-2.1rem,-3.08824vh);
        right: max(-3.5rem,-5.14706vh)
    }
}

.l-efooter__page__banner__cell.-unique3 {
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 {
        --shadow-size:min(2rem, 1.69492vh);
        --radius: min(8rem, 6.77966vh);
        --width: min(53rem, 44.91525vh);
        --height: min(23.4rem, 19.83051vh);
        margin-top: min(7.9rem,6.69492vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 {
        --shadow-size:min(1.1rem, 1.61765vh);
        --radius: min(3.6rem, 5.29412vh);
        --width: min(29.6rem, 43.52941vh);
        --height: min(13rem, 19.11765vh);
        margin-top: min(6.7rem,9.85294vh)
    }
}

.l-efooter__page__banner__cell.-unique3:not(.is-color) a {
    --theme-color: var( --pallet-transp );
    --color-shadow2: var( --pallet-transp )
}

.l-efooter__page__banner__cell.-unique3.is-color .l-efooter__page__banner__cell__border {
    opacity: 0
}

.l-efooter__page__banner__cell.-unique3.is-color .l-efooter__page__banner__cell__txt {
    opacity: 1
}

.l-efooter__page__banner__cell.-unique3 a {
    transition: var(--transition-fade3)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 a {
        padding-left:min(6.3rem,5.33898vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 a {
        padding-left:min(3.6rem,5.29412vh)
    }
}

.l-efooter__page__banner__cell.-unique3 .p-banner__contents {
    opacity: 0;
    -webkit-transform-origin: 200% 200%;
    transform-origin: 200% 200%
}

.l-efooter__page__banner__cell.-unique3 .p-banner__figure {
    opacity: 0;
    -webkit-transform-origin: -100% -100%;
    transform-origin: -100% -100%
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .c-person2 {
        --width:min(3.7rem, 3.13559vh);
        --height: min(2.5rem, 2.11864vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .c-person2 {
        --width:min(2.1rem, 3.08824vh);
        --height: min(1.4rem, 2.05882vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en {
        margin-top:min(.4rem,.33898vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en {
        margin-top:.00441rem
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en span {
        font-size:min(3.8rem,3.22034vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en span {
        font-size:min(2.1rem,3.08824vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en .c-arrow {
        --oval-size:min(5.1rem, 4.32203vh);
        --icon-size: min(1.2rem, 1.01695vh);
        margin-left: min(1.3rem,1.10169vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__en .c-arrow {
        --oval-size:min(2.8rem, 4.11765vh);
        --icon-size: min(0.7rem, 1.02941vh);
        margin-left: min(.7rem,1.02941vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__ja {
        font-size:min(1.7rem,1.44068vh);
        margin-top: min(.7rem,.59322vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__ja {
        font-size:min(1rem,.84746vh);
        margin-top: min(.4rem,.33898vh)
    }
}

.l-efooter__page__banner__cell.-unique3 .p-banner__figure {
    top: 0
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__figure {
        width:min(28rem,23.72881vh);
        right: max(-3.4rem,-2.88136vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .p-banner__figure {
        width:min(15.6rem,22.94118vh);
        right: max(-1.9rem,-2.79412vh)
    }
}

.l-efooter__page__banner__cell.-unique3 .p-banner__figure img {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique3 .l-efooter__page__banner__cell__txt {
        top:max(-4rem,-3.38983vh);
        right: min(2rem,1.69492vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique3 .l-efooter__page__banner__cell__txt {
        top:max(-2.4rem,-3.52941vh);
        right: min(1.4rem,2.05882vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 {
        --shadow-size:min(1.3rem, 1.10169vh);
        --radius: min(3rem, 2.54237vh);
        --width: min(21.9rem, 18.55932vh);
        --height: min(8.8rem, 7.45763vh);
        margin-top: max(-3.6rem,-3.05085vh);
        margin-left: min(5.2rem,4.40678vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 {
        --shadow-size:min(0.8rem, 1.17647vh);
        --radius: min(1.5rem, 2.20588vh);
        --width: min(13.3rem, 19.55882vh);
        --height: min(5.3rem, 7.79412vh);
        margin-top: min(4rem,5.88235vh);
        margin-left: min(3rem,4.41176vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 a {
        padding-left:min(2.7rem,2.28814vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 a {
        padding-left:min(1.6rem,2.35294vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .c-person2 {
        --width:min(1.7rem, 1.44068vh);
        --height: min(1.2rem, 1.01695vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .c-person2 {
        --width:min(1rem, 1.47059vh);
        --height: min(0.7rem, 1.02941vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en {
        margin-top:min(.1rem,.08475vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en {
        margin-top:min(.3rem,.44118vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en span {
        font-size:min(1.8rem,1.52542vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en span {
        font-size:min(1rem,1.47059vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en .c-arrow {
        --oval-size:min(2.3rem, 1.94915vh);
        --icon-size: min(0.6rem, 0.50847vh);
        margin-left: min(.6rem,.50847vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__en .c-arrow {
        --oval-size:min(1.4rem, 2.05882vh);
        --icon-size: min(0.3rem, 0.44118vh);
        margin-left: min(.4rem,.58824vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__ja {
        font-size:min(.8rem,.67797vh);
        margin-top: min(.3rem,.25424vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__ja {
        font-size:min(.5rem,.73529vh);
        margin-top: min(.2rem,.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__figure {
        width:min(14.7rem,12.45763vh);
        top: max(-2.7rem,-2.28814vh);
        right: max(-3.8rem,-3.22034vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique4 .p-banner__figure {
        width:min(8.9rem,13.08824vh);
        top: max(-1.6rem,-2.35294vh);
        right: max(-2.9rem,-4.26471vh)
    }
}

.l-efooter__page__banner__cell.-unique5 {
    margin-left: auto
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 {
        --shadow-size:min(1.8rem, 1.52542vh);
        --radius: min(4rem, 3.38983vh);
        --width: min(29.8rem, 25.25424vh);
        --height: min(11.9rem, 10.08475vh);
        margin-top: max(-4.3rem,-3.64407vh);
        margin-right: min(3.2rem,2.71186vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 {
        --shadow-size:min(1rem, 1.47059vh);
        --radius: min(2rem, 2.94118vh);
        --width: min(16.6rem, 24.41176vh);
        --height: min(6.6rem, 9.70588vh);
        margin-top: max(-.8rem,-1.17647vh);
        margin-right: min(3.8rem,5.58824vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 a {
        padding-left:min(3.7rem,3.13559vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 a {
        padding-left:min(2rem,2.94118vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .c-person2 {
        --width:min(2.3rem, 1.94915vh);
        --height: min(1.5rem, 1.27119vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .c-person2 {
        --width:min(1.3rem, 1.91176vh);
        --height: min(0.8rem, 1.17647vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en {
        margin-top:min(.2rem,.16949vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en {
        margin-top:min(.2rem,.29412vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en span {
        font-size:min(2.4rem,2.0339vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en span {
        font-size:min(1.3rem,1.91176vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en .c-arrow {
        --oval-size:min(3.2rem, 2.71186vh);
        --icon-size: min(0.7rem, 0.59322vh);
        margin-left: min(.8rem,.67797vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__en .c-arrow {
        --oval-size:min(1.8rem, 2.64706vh);
        --icon-size: min(0.4rem, 0.58824vh);
        margin-left: min(.5rem,.73529vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__ja {
        font-size:min(1.1rem,.9322vh);
        margin-top: min(.4rem,.33898vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__ja {
        font-size:min(.6rem,.88235vh);
        margin-top: min(.3rem,.44118vh)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__figure {
        width:min(20.1rem,17.0339vh);
        top: max(-3.6rem,-3.05085vh);
        right: max(-5.7rem,-4.83051vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell.-unique5 .p-banner__figure {
        width:min(11.2rem,16.47059vh);
        top: max(-2rem,-2.94118vh);
        right: max(-3.2rem,-4.70588vh)
    }
}

.l-efooter__page__banner__cell__border {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--screen-width);
    height: var(--screen-height);
    border: var(--solid);
    border-radius: var(--radius-lg);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    transition: border-radius var(--transition-border),opacity var(--transition-fade3)
}

.l-efooter__page__banner__cell__border.is-visible {
    border-radius: var(--radius)
}

.l-efooter__page__banner__cell__inner {
    position: relative;
    margin-bottom: 0
}

.l-efooter__page__banner__cell__txt {
    position: absolute;
    letter-spacing: calc(40 / 1000 * 1em);
    opacity: 0;
    transition: opacity var(--transition-fade3)
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__cell__txt {
        font-size:min(1.4rem,1.18644vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__cell__txt {
        font-size:min(.9rem,1.32353vh)
    }
}

.l-efooter__page__banner__txt {
    font-family: var(--font-gothic2);
    letter-spacing: calc(60 / 1000 * 1em);
    -webkit-transform-origin: 20% 100%;
    transform-origin: 20% 100%
}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__txt {
        font-size:min(2rem,1.69492vh);
        --line-height: calc( 40 / 20 );
        margin-top: min(2.4rem,2.0339vh);
        margin-left: min(41.2rem,34.91525vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__txt {
        font-size:min(1rem,1.47059vh);
        --line-height: calc( 20 / 10 );
        margin-top: min(5rem,7.35294vh);
        margin-left: min(11.7rem,17.20588vh)
    }
}

.l-efooter__page__banner__catch {
    width: 100%;
    margin-inline:auto}

@media screen and (min-width: 1024px) {
    .l-efooter__page__banner__catch {
        max-width:min(120rem,101.69492vh);
        margin-top: min(1.3rem,1.10169vh)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__page__banner__catch {
        max-width:min(36rem,52.94118vh);
        margin-top: min(.5rem,.73529vh)
    }
}

.l-efooter__curve-bottom {
    position: relative
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom {
        margin-top:13.4rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom {
        margin-top:8.2rem
    }
}

.l-efooter__curve-bottom__inner {
    position: relative;
    z-index: 10
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__inner {
        padding:24.6rem calc((90 / var(--base-width)) * 100%) 9.8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__inner {
        padding:15.4rem calc((33 / var(--base-width)) * 100%) 9rem
    }
}

.l-efooter__curve-bottom__inner .c-logo {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: 0
}

.l-efooter__curve-bottom__copyright {
    text-align: right;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300;
    letter-spacing: calc(20 / 1000 * 1em)
}

.l-efooter__curve-bottom__copyright::after,.l-efooter__curve-bottom__copyright::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-efooter__curve-bottom__copyright::before {
    margin-top: var(--font-sans-serif-top)
}

.l-efooter__curve-bottom__copyright::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__copyright {
        font-size:var(--font-size10);
        margin-top: 4.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__copyright {
        font-size:var(--font-size8);
        margin-top: 3.5rem
    }
}

.l-efooter__curve-bottom__illust-1,.l-efooter__curve-bottom__illust-2 {
    position: absolute;
    z-index: 1;
    display: flex;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__illust-1 {
        width:calc((100 / var(--base-width)) * 100%);
        top: 17.2rem;
        left: calc((295 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__illust-1 {
        width:calc((58 / var(--base-width)) * 100%);
        top: 3.2rem;
        left: calc((83 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__illust-1 img {
        max-width:10rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__illust-1 img {
        max-width:5.8rem
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__illust-2 {
        width:calc((109 / var(--base-width)) * 100%);
        top: 23.3rem;
        left: calc((150 / var(--base-width)) * 100%)
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__illust-2 {
        width:calc((64px / var(--base-width)) * 100%);
        top: 6rem;
        left: calc((21 / var(--base-width)) * 100%)
    }
}

@media screen and (min-width: 1024px) {
    .l-efooter__curve-bottom__illust-2 img {
        max-width:10.9rem
    }
}

@media screen and (max-width: 1023px) {
    .l-efooter__curve-bottom__illust-2 img {
        max-width:6.4rem
    }
}

.l-efooter__curve-bottom__left,.l-efooter__curve-bottom__right {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: 25rem;
    background-position: center;
    background-repeat: repeat
}

.l-efooter__curve-bottom__right {
    z-index: 2
}

@media screen and (min-width: 561px) {
    .l-efooter__curve-bottom__right {
        background-image:url(../img/common/bg_texture7.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__curve-bottom__right {
        background-image:url(../img/common/bg_texture8.webp)
    }
}

.l-efooter__curve-bottom__left {
    z-index: 0
}

@media screen and (min-width: 561px) {
    .l-efooter__curve-bottom__left {
        background-image:url(../img/common/bg_texture9.webp)
    }
}

@media screen and (max-width: 560px) {
    .l-efooter__curve-bottom__left {
        background-image:url(../img/common/bg_texture10.webp)
    }
}

.l-footer {
    position: relative;
    background-color: var(--color-bg)
}

@media screen and (min-width: 1024px) {
    .l-footer {
        padding:9.5rem 0 13rem
    }
}

@media screen and (max-width: 1023px) {
    .l-footer {
        padding:6.7rem 0 9.5rem
    }
}

.l-gnav__main {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-l-gnav__main);
    padding-top: 5.2rem;
    padding-bottom: 2rem;
    padding-right: 37rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2.2rem;
    transition: var(--transition-scroll-gnav);
    transition-property: opacity,visibility,-webkit-transform;
    transition-property: transform,opacity,visibility;
    transition-property: transform,opacity,visibility,-webkit-transform
}

@media screen and (max-width: 1023px) {
    .l-gnav__main {
        display:none
    }
}

body.is-header-sticky .l-gnav__main {
    -webkit-transform: translateY(-.4rem);
    transform: translateY(-.4rem)
}

body.is-header-hidden .l-gnav__main {
    opacity: 0!important;
    visibility: hidden!important
}

.l-gnav__main__switch {
    position: relative;
    z-index: 10;
    display: block;
    padding: .8rem 0;
    margin: -.8rem 0;
    transition: var(--transition-hover);
    transition-property: color,background-size
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__switch {
        font-size:var(--font-size14)
    }
}

@media (hover: hover) {
    .l-gnav__main__switch:hover {
        color:var(--color-hover)
    }
}

.-white .l-gnav__main__switch {
    color: var(--color-txt2)
}

@media (hover: hover) {
    .-white .l-gnav__main__switch:hover {
        color:var(--color-txt2)
    }
}

body.is-gnav-open .-white .l-gnav__main__switch,body.is-header-sticky .-white .l-gnav__main__switch {
    color: var(--color-txt)
}

button.l-gnav__main__switch.is-current {
    color: var(--color-hover)!important
}

@media (hover: hover) {
    button.l-gnav__main__switch:hover {
        color:var(--color-hover)!important
    }
}

.l-gnav__main__panel {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-accordion2);
    transition-property: opacity,visibility
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__panel {
        padding:16.7rem 7.3rem 8.2rem
    }
}

.l-gnav__main__panel.is-open {
    opacity: 1;
    visibility: visible
}

.l-gnav__main__title {
    position: absolute
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__title {
        top:12.5rem;
        left: 7.3rem
    }
}

.l-gnav__main__title__en {
    color: var(--color-main);
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 300
}

.l-gnav__main__title__en::after,.l-gnav__main__title__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-gnav__main__title__en::before {
    margin-top: var(--font-sans-serif-top)
}

.l-gnav__main__title__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__title__en {
        font-size:var(--font-size40)
    }
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__title__ja {
        font-size:var(--font-size12);
        margin-top: 1.7rem
    }
}

.l-gnav__main__list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__list {
        gap:2.3rem
    }
}

@media screen and (min-width: 1441px) {
    .l-gnav__main__list {
        gap:4.6rem
    }
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__list li {
        width:18.4rem
    }
}

.l-gnav__main__list a {
    transition: color var(--transition-hover)
}

@media (hover: hover) {
    .l-gnav__main__list a:hover {
        color:var(--color-hover)
    }
}

.l-gnav__main__figure {
    position: relative;
    z-index: 1;
    aspect-ratio: 1/1
}

.l-gnav__main__title2 {
    display: flex;
    align-items: flex-start
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__title2 {
        padding:0 1rem;
        margin-top: 1.5rem
    }
}

.l-gnav__main__title2 p {
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .l-gnav__main__title2 p {
        font-size:var(--font-size14);
        font-size: 1.4rem;
        --line-height: calc( 20.7 / 14 );
        margin-top: .7rem;
        margin-left: .8rem
    }
}

.l-gnav__sub {
    position: fixed;
    display: flex;
    align-items: center;
    z-index: var(--z-index-l-gnav__sub);
    transition: var(--transition-scroll-gnav);
    transition-property: opacity,visibility,-webkit-transform;
    transition-property: transform,opacity,visibility;
    transition-property: transform,opacity,visibility,-webkit-transform
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub {
        --button-height:4.3rem;
        gap: 1.3rem;
        top: 3.7rem;
        right: 4.1rem
    }

    body.is-header-sticky .l-gnav__sub {
        -webkit-transform: translateY(-.3rem);
        transform: translateY(-.3rem)
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub {
        --button-height:2.7rem;
        gap: .4rem;
        top: 1.9rem;
        right: 1.7rem
    }
}

body.is-header-hidden .l-gnav__sub {
    opacity: 0!important;
    visibility: hidden!important
}

.l-gnav__sub__basic {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--button-height);
    border: var(--solid1);
    background-color: var(--color-bg2);
    transition: var(--transition-hover);
    transition-property: border-color,background-color,color
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub__basic {
        width:16.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub__basic {
        width:8.7rem
    }
}

@media (hover: hover) {
    .l-gnav__sub__basic:hover {
        border-color:var(--color-hover2);
        background-color: var(--color-hover2);
        color: var(--color-txt2)
    }
}

.l-gnav__sub__basic__txt {
    display: block;
    font-weight: 400
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub__basic__txt {
        font-size:var(--font-size13);
        font-size: max(1.3rem ,11px);
        margin-left: .9rem
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub__basic__txt {
        font-size:var(--font-size9);
        margin-left: .6rem
    }
}

.l-gnav__sub__toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: var(--button-height);
    background-color: var(--color-bg3)
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub__toggle {
        width:8.4rem
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub__toggle {
        width:4.9rem
    }
}

@media (hover: hover) {
    .l-gnav__sub__toggle:not(.is-open):hover span+span {
        margin-top:.7rem
    }
}

.l-gnav__sub__toggle.is-open span {
    margin-top: 0
}

.l-gnav__sub__toggle.is-open span:nth-of-type(2) {
    opacity: 0
}

.l-gnav__sub__toggle.is-open span:nth-of-type(1) {
    -webkit-transform: translateY(1px) rotate(405deg);
    transform: translateY(1px) rotate(405deg)
}

.l-gnav__sub__toggle.is-open span:nth-of-type(3) {
    -webkit-transform: translateY(-1px) rotate(315deg);
    transform: translateY(-1px) rotate(315deg)
}

.l-gnav__sub__toggle span {
    display: block;
    height: 1px;
    background-color: var(--color-bg2);
    transition: margin var(--transition-hover),opacity var(--transition-button),-webkit-transform var(--transition-button);
    transition: margin var(--transition-hover),transform var(--transition-button),opacity var(--transition-button);
    transition: margin var(--transition-hover),transform var(--transition-button),opacity var(--transition-button),-webkit-transform var(--transition-button)
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub__toggle span {
        width:1.2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub__toggle span {
        width:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .l-gnav__sub__toggle span+span {
        margin-top:.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-gnav__sub__toggle span+span {
        margin-top:.3rem
    }
}

.l-gnav__bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-l-gnav__bg);
    width: 100%;
    background-color: var(--color-bg);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-accordion2);
    transition-property: opacity,visibility
}

body.is-gnav-open .l-gnav__bg {
    opacity: 1;
    visibility: visible
}

.l-gnav__overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-l-gnav__overlay);
    width: 100%;
    height: 100%;
    background-color: var(--color-overlay);
    -webkit-backdrop-filter: var(--overlay-blur);
    backdrop-filter: var(--overlay-blur);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-accordion2);
    transition-property: opacity,visibility
}

body.is-gnav-open .l-gnav__overlay {
    opacity: 1;
    visibility: visible
}

.l-header.-white .c-logo__img {
    -webkit-filter: var(--filter-white);
    filter: var(--filter-white);
    transition: -webkit-filter var(--transition-accordion2);
    transition: filter var(--transition-accordion2);
    transition: filter var(--transition-accordion2), -webkit-filter var(--transition-accordion2)
}

.l-header.-white .c-logo__txt {
    color: var(--color-txt2);
    transition: color var(--transition-accordion2)
}

body.is-gnav-open .l-header.-white .c-logo__img,body.is-header-sticky .l-header.-white .c-logo__img {
    -webkit-filter: none;
    filter: none
}

body.is-gnav-open .l-header.-white .c-logo__txt,body.is-header-sticky .l-header.-white .c-logo__txt {
    color: var(--color-txt)
}

.l-header .c-logo {
    position: fixed;
    z-index: var(--z-index-l-header__logo);
    transition: var(--transition-scroll-gnav);
    transition-property: opacity,visibility,-webkit-transform;
    transition-property: transform,opacity,visibility;
    transition-property: transform,opacity,visibility,-webkit-transform
}

@media screen and (min-width: 1024px) {
    .l-header .c-logo {
        top:3.6rem;
        left: 5.1rem
    }

    body.is-header-sticky .l-header .c-logo {
        -webkit-transform: translateY(-.3rem);
        transform: translateY(-.3rem)
    }
}

@media screen and (max-width: 1023px) {
    .l-header .c-logo {
        top:1.9rem;
        left: 2rem
    }
}

body.is-header-hidden .l-header .c-logo {
    opacity: 0!important;
    visibility: hidden!important
}

.l-header__bar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-l-header__bar);
    width: 100%;
    background-color: var(--color-bg);
    opacity: 0;
    transition: var(--transition-scroll-gnav);
    transition-property: opacity,visibility
}

@media screen and (min-width: 1024px) {
    .l-header__bar {
        height:11rem
    }
}

@media screen and (max-width: 1023px) {
    .l-header__bar {
        height:6.5rem
    }
}

body.is-header-sticky .l-header__bar {
    opacity: 1;
    visibility: visible
}

body.is-header-hidden .l-header__bar {
    opacity: 0!important;
    visibility: hidden!important
}

.l-pages.-not-border .l-pages__inner {
    border-top: none
}

.l-pages.-white {
    color: var(--color-txt2)
}

.l-pages__inner {
    border-top: var(--solid3)
}

@media screen and (min-width: 1024px) {
    .l-pages__inner {
        display:flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 11.5rem 0 14rem
    }
}

@media screen and (max-width: 1023px) {
    .l-pages__inner {
        padding:5.4rem 0 10.1rem
    }
}

@media screen and (min-width: 1024px) {
    .l-pages__header {
        width:43.3rem;
        margin-top: .8rem
    }
}

@media screen and (min-width: 1024px) {
    .l-pages__column {
        flex:1
    }
}

@media screen and (max-width: 1023px) {
    .l-pages__column {
        margin-top:4.6rem
    }
}

.l-pages__card a {
    display: block;
    transition: color var(--transition-hover)
}

@media (hover: hover) {
    .l-pages__card a:hover {
        color:var(--color-hover)
    }
}

.l-pages__card__contents {
    display: flex;
    align-items: flex-start
}

@media screen and (min-width: 1024px) {
    .l-pages__card__contents {
        font-size:var(--font-size16);
        margin-top: 1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-pages__card__contents {
        font-size:var(--font-size11);
        margin-top: 1.1rem
    }
}

.l-pages__card__contents .c-arrow3 {
    display: flex;
    align-items: center;
    height: 1em
}

@media screen and (min-width: 1024px) {
    .l-pages__card__contents .c-arrow3 {
        margin-left:1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-pages__card__contents .c-arrow3 {
        margin-left:.7rem
    }
}

.l-pages__card__title {
    font-weight: 400;
    --line-height: calc( 24 / 16 )
}

.l-sitemap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-index-l-sitemap);
    width: 100%;
    height: 100%;
    background-color: var(--color-bg4);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-sitemap);
    transition-property: opacity,visibility
}

@media screen and (min-width: 1024px) {
    .l-sitemap {
        padding:3.4rem 0 0
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap {
        padding:7rem 0 0
    }
}

.l-sitemap.is-open {
    opacity: 1;
    visibility: visible
}

.l-sitemap .p-entry {
    margin-top: auto
}

@media screen and (min-width: 1024px) {
    .l-sitemap__header .c-logo2 {
        margin-left:4.8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__header .c-logo2 {
        margin-left:3.4rem
    }
}

.l-sitemap__main {
    display: grid
}

@media screen and (min-width: 1024px) {
    .l-sitemap__main {
        margin:3.1rem 5rem 8.5rem;
        grid-template-columns: repeat(2,minmax(0,1fr));
        -webkit-column-gap: 1.3rem;
        -moz-column-gap: 1.3rem;
        column-gap: 1.3rem;
        row-gap: 1.4rem
    }
}

@media screen and (min-width: 1441px) {
    .l-sitemap__main {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__main {
        margin:2rem 1.5rem 5rem;
        gap: .8rem
    }
}

.l-sitemap__cell {
    border: var(--solid2);
    background-color: var(--color-bg2);
    transition: color var(--transiiton-base)
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell {
        display:flex;
        align-items: flex-start;
        justify-content: space-between;
        min-height: 27.8rem;
        box-shadow: 2.5rem 2.5rem 0 var(--color-shadow);
        padding: 4.5rem 3.2rem 5.4rem 4.6rem;
        --transiiton-base: var( --transition-hover )
    }
}

@media screen and (min-width: 1024px) and (hover:hover) {
    .l-sitemap__cell:hover {
        color:var(--color-txt2)
    }

    .l-sitemap__cell:hover .l-sitemap__cell__parent__thumbnail {
        opacity: 0;
        visibility: hidden
    }

    .l-sitemap__cell:hover .l-sitemap__cell__parent__en {
        color: var(--color-txt2)
    }

    .l-sitemap__cell:hover .l-sitemap__cell__children li {
        border-color: var(--color-txt2)
    }

    .l-sitemap__cell:hover .l-sitemap__cell__children .c-arrow2 {
        color: var(--color-txt2)
    }

    .l-sitemap__cell:hover .l-sitemap__cell__bg {
        opacity: 1;
        visibility: visible
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell {
        box-shadow:1rem 1rem 0 var(--color-shadow);
        --transiiton-base: var( --transition-accordion )
    }

    .l-sitemap__cell.is-open {
        color: var(--color-txt2)
    }

    .l-sitemap__cell.is-open .l-sitemap__cell__parent__thumbnail {
        opacity: 0;
        visibility: hidden
    }

    .l-sitemap__cell.is-open .l-sitemap__cell__parent__en {
        color: var(--color-txt2);
        -webkit-transform: translateX(-4rem);
        transform: translateX(-4rem)
    }

    .l-sitemap__cell.is-open .l-sitemap__cell__children li {
        border-color: var(--color-txt2)
    }

    .l-sitemap__cell.is-open .l-sitemap__cell__children .c-arrow2 {
        color: var(--color-txt2)
    }

    .l-sitemap__cell.is-open .l-sitemap__cell__bg {
        opacity: 1;
        visibility: visible
    }
}

.l-sitemap__cell__parent {
    text-align: left
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent {
        display:block;
        min-width: 16.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent {
        display:flex;
        align-items: center;
        width: 100%;
        padding: 1rem 1.9rem 1rem 1.2rem
    }
}

.l-sitemap__cell__parent__thumbnail {
    transition: var(--transiiton-base);
    transition-property: opacity,visibility
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent__thumbnail {
        position:absolute;
        left: 5rem;
        bottom: 3.5rem;
        width: 8.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent__thumbnail {
        position:relative;
        z-index: 0;
        overflow: hidden;
        width: 5rem;
        border-radius: 50%
    }
}

.l-sitemap__cell__parent__en {
    display: block;
    font-family: var(--font-sans-serif);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 400;
    color: var(--color-main);
    transition: var(--transiiton-base);
    transition-property: color,-webkit-transform;
    transition-property: color,transform;
    transition-property: color,transform,-webkit-transform
}

.l-sitemap__cell__parent__en::after,.l-sitemap__cell__parent__en::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size: inherit
}

.l-sitemap__cell__parent__en::before {
    margin-top: var(--font-sans-serif-top)
}

.l-sitemap__cell__parent__en::after {
    margin-bottom: var(--font-sans-serif-bottom)
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent__en {
        font-size:var(--font-size31)
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent__en {
        font-size:var(--font-size22);
        margin-left: 1rem
    }
}

.l-sitemap__cell__parent__ja {
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent__ja {
        margin-top:2rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent__ja {
        margin-left:auto;
        margin-right: 0
    }
}

.l-sitemap__cell__parent__ja span {
    display: block;
    letter-spacing: calc(80 / 1000 * 1em)
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent__ja span {
        font-size:var(--font-size16)
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent__ja span {
        font-size:var(--font-size13);
        margin-top: -.3rem
    }
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__parent__ja .c-plus {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__parent__ja .c-plus {
        margin-left:.9rem
    }
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__children {
        flex:1;
        margin-top: .6rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__children ul {
        padding:.2rem 3.2rem 4.3rem 5rem
    }
}

.l-sitemap__cell__children li {
    transition: border-color var(--transiiton-base)
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__children li:first-of-type {
        margin-top:-1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__children li:first-of-type {
        margin-top:-1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__children li:last-of-type {
        margin-bottom:-1.3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__children li:last-of-type {
        margin-bottom:-1.5rem
    }
}

.l-sitemap__cell__children li+li {
    border-top: var(--solid4)
}

.l-sitemap__cell__children a {
    position: relative;
    display: flex;
    align-items: center
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell__children a {
        padding:1.3rem .8rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell__children a {
        padding:1.5rem .7rem
    }
}

@media (hover: hover) {
    .l-sitemap__cell__children a:hover::before {
        opacity:.1
    }
}

.l-sitemap__cell__children a::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-txt2);
    opacity: 0;
    transition: opacity var(--transiiton-base)
}

.l-sitemap__cell__children a>span {
    display: block;
    font-weight: 400;
    font-size: var(--font-size13);
    font-size: 1.3rem;
    --line-height: calc( 21 / 13 );
    margin-left: 1.2rem
}

.l-sitemap__cell__children .c-arrow2 {
    color: var(--color-main)
}

.l-sitemap__cell__bg {
    opacity: 0;
    visibility: hidden;
    transition: var(--transiiton-base);
    transition-property: opacity,visibility
}

.l-sitemap__cell2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell2 {
        padding-top:1.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell2 {
        padding-top:3.8rem
    }
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell2 .p-button2s {
        margin-top:3rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell2 .p-button2s {
        margin-top:3.2rem
    }
}

@media screen and (min-width: 1024px) {
    .l-sitemap__cell2 .p-button {
        margin-top:3.5rem
    }
}

@media screen and (max-width: 1023px) {
    .l-sitemap__cell2 .p-button {
        margin-top:2.6rem
    }
}

.u-ib {
    display: inline-block
}

.u-inline {
    display: inline
}

.u-block {
    display: block
}

.u-n {
    display: none
}

@media screen and (min-width: 1441px) {
    .u-n-mqUp-xxl {
        display:none
    }
}

@media screen and (min-width: 1281px) {
    .u-n-mqUp-xl {
        display:none
    }
}

@media screen and (min-width: 1024px) {
    .u-n-mqUp-lg {
        display:none
    }
}

@media screen and (min-width: 768px) {
    .u-n-mqUp-md {
        display:none
    }
}

@media screen and (min-width: 561px) {
    .u-n-mqUp-sm {
        display:none
    }
}

@media screen and (min-width: 431px) {
    .u-n-mqUp-xs {
        display:none
    }
}

@media screen and (min-width: 401px) {
    .u-n-mqUp-xxs {
        display:none
    }
}

@media screen and (min-width: 321px) {
    .u-n-mqUp-xxxs {
        display:none
    }
}

@media screen and (max-width: 1440px) {
    .u-n-mqDown-xxl {
        display:none
    }
}

@media screen and (max-width: 1280px) {
    .u-n-mqDown-xl {
        display:none
    }
}

@media screen and (max-width: 1023px) {
    .u-n-mqDown-lg {
        display:none
    }
}

@media screen and (max-width: 767px) {
    .u-n-mqDown-md {
        display:none
    }
}

@media screen and (max-width: 560px) {
    .u-n-mqDown-sm {
        display:none
    }
}

@media screen and (max-width: 430px) {
    .u-n-mqDown-xs {
        display:none
    }
}

@media screen and (max-width: 400px) {
    .u-n-mqDown-xxs {
        display:none
    }
}

.u-font-main5 {
    color: var(--color-main5)
}

.u-pointerevent-none {
    pointer-events: none
}

.u-reverse {
    -webkit-transform: scale(-1,1);
    transform: scale(-1,1)
}

.u-reverse-y {
    -webkit-transform: scale(1,-1);
    transform: scale(1,-1)
}

.u-t-right {
    text-align: right
}

.u-t-left {
    text-align: left
}

.u-t-center {
    text-align: center
}

@media screen and (max-width: 1023px) {
    .u-t-right-mqDown-lg {
        text-align:right
    }

    .u-t-left-mqDown-lg {
        text-align: left
    }

    .u-t-center-mqDown-lg {
        text-align: center
    }

    .u-t-justify-mqDown-lg {
        text-align: justify
    }
}
