/*#region var*/
:root {
    --pxunit: 1.1rem;
    --fontB: 'Noto Sans JP';
    --fontT: 'Noto Serif JP';
    --fontR: 'Roboto';
    --fontS: 'Source Serif 4';
    /* Base font */
    --headerH: 16rem;
    --bg-black-color: #000000;
    --bg-font-color: #454947;
    --bg-white-color: #FFFFFF;
    --bg-yellow-color: #F2941B;
    --bg-darkblue-color: #0F172B;
    --bg-green-color: #06C755;
    --bg-red-color: #E7000B;
    --font-size14: 1.4rem;
    --font-size16: 1.6rem;
    --font-size18: 1.8rem;
    --font-size20: 2rem;
    --font-size22: 2.2rem;
    --font-size24: 2.4rem;
    --font-size26: 2.6rem;
    --font-size28: 2.8rem;
    --font-size30: 3rem;
    --font-size32: 3.2rem;
    --font-size36: 3.6rem;
    --font-size38: 3.8rem;
    --font-size40: 4rem;
    --gap-unit: .8rem;
    --margin: 14rem;
    --border-radius: .8rem;
}

* {
    box-sizing: border-box;

}

html {
    font-size: .625vw;
}

@media (max-width: 768px) {
    html {
        font-size: 2.5vw;
    }
}

body {
    margin: 0;
    padding: 0;
    font-size: var(--font-size16);
    font-family: var(--fontB);
    font-weight: 400;
    color: var(--bg-font-color);
    line-height: 1.6;
}

.hx1 {
    content: "";
    height: var(--pxunit);
}

.hx2 {
    content: "";
    height: calc(var(--pxunit)*2);
}

.hx3 {
    content: "";
    height: calc(var(--pxunit)*3);
}

.hx4 {
    content: "";
    height: calc(var(--pxunit)*4);
}

.hx5 {
    content: "";
    height: calc(var(--pxunit)*5);
}

.hx6 {
    content: "";
    height: calc(var(--pxunit)*6);
}

.hx7 {
    content: "";
    height: calc(var(--pxunit)*7);
}

.hx8 {
    content: "";
    height: calc(var(--pxunit)*8);
}

.hx9 {
    content: "";
    height: calc(var(--pxunit)*9);
}

.hx10 {
    content: "";
    height: calc(var(--pxunit)*10);
}

.hx11 {
    content: "";
    height: calc(var(--pxunit)*11);
}

.hx12 {
    content: "";
    height: calc(var(--pxunit)*12);
}

.hx13 {
    content: "";
    height: calc(var(--pxunit)*13);
}

.hx14 {
    content: "";
    height: calc(var(--pxunit)*14);
}

.hx15 {
    content: "";
    height: calc(var(--pxunit)*15);
}

.hx16 {
    content: "";
    height: calc(var(--pxunit)*16);
}

.hx17 {
    content: "";
    height: calc(var(--pxunit)*17);
}

.hx18 {
    content: "";
    height: calc(var(--pxunit)*18);
}

.hx19 {
    content: "";
    height: calc(var(--pxunit)*19);
}

.hx20 {
    content: "";
    height: calc(var(--pxunit)*20);
}

/*#endregion var*/

/*#region RESET*/
html,
body {
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0px;
    padding: 0px;
    font-weight: normal;
}

p {
    margin: 0px;
    padding: 0px;
}

a {
    text-decoration: none;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

a:hover,
a:focus,
a:active {
    outline: none;
    text-decoration: none;
}

input {
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

input:hover,
input:focus,
input:active {
    outline: none;
}

input::-webkit-input-placeholder {
    color: #333333;
}

input::-moz-placeholder {
    color: #333333;
}

input:-ms-input-placeholder {
    color: #333333;
}

input:-moz-placeholder {
    color: #333333;
}

textarea::-webkit-input-placeholder {
    color: #333333;
}

textarea::-moz-placeholder {
    color: #333333;
}

textarea:-ms-input-placeholder {
    color: #333333;
}

textarea:-moz-placeholder {
    color: #333333;
}

button:focus {
    outline: 0;
}

ul {
    margin: 0px;
    padding: 0px;
}

strong {
    font-weight: bold;
}

ul li {
    list-style-type: none;
}

img {
    border: 0px;
    pointer-events: auto;
    user-drag: none;
    -webkit-user-drag: none;
}

.clearfix {
    clear: both;
    overflow: hidden;
}

/*#endregion RESET*/

/*#region pspander*/
.pspander_header {
    cursor: pointer;
}

.pspander_opened {
    display: block;
}

.pspander_closed {
    display: none;
}

.pspander.pst_show .pspander_opened {
    display: none;
}

.pspander.pst_show .pspander_closed {
    display: block;
}

.pspander_collapse {
    display: none;
}

/*#endregion pspander*/
/*#region ANIMATION*/
/*#region opacity animation*/
.js_opac {
    opacity: 0;
    transition: all .6s;
    transition-delay: .3s;
}

.js_opac.on {
    opacity: 1;
}

/*#endregion opacity animation*/
/*#region spin animation*/
/* spin1 */
@keyframes spin1 {
    0% {
        transform: rotate(0deg)translate3d(7px, 0, 0);
    }

    100% {
        transform: rotate(360deg)translate3d(7px, 0, 0);
    }
}

/* spin2 */
@keyframes spin2 {
    0% {
        transform: rotate(0deg)translate3d(5px, 0, 0);
    }

    100% {
        transform: rotate(360deg)translate3d(5px, 0, 0);
    }
}

/* spin3 */
@keyframes spin3 {
    0% {
        transform: rotate(0deg)translate3d(6px, 0, 0);
    }

    100% {
        transform: rotate(360deg)translate3d(6px, 0, 0);
    }
}

/* spin4 */
@keyframes spin4 {
    0% {
        transform: rotate(0deg)translate3d(3px, 0, 0);
    }

    100% {
        transform: rotate(-360deg)translate3d(3px, 0, 0);
    }
}

/* spin5 */
@keyframes spin5 {
    0% {
        transform: rotate(0deg)translate3d(2px, 0, 0);
    }

    100% {
        transform: rotate(-360deg)translate3d(2px, 0, 0);
    }
}

.circleWrap {
    position: relative;
    width: 100%;
    height: 100%;
}

.circle {
    position: absolute;
    border-radius: 50%;
    width: 100%;
    height: 100%;
}

.c_pos01 {
    top: 0;
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.9);
    -webkit-animation: spin1 5s linear infinite;
    -moz-animation: spin1 5s linear infinite;
    -ms-animation: spin1 5s linear infinite;
    -o-animation: spin1 5s linear infinite;
    animation: spin1 5s linear infinite;
    /*  	animation: bo-co1 10s infinite;
        -webkit-animation: bo-co1 10s infinite; */
}

.c_pos02 {
    top: 0;
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.9);
    -webkit-animation: spin2 4s linear infinite;
    -moz-animation: spi2 4s linear infinite;
    -ms-animation: spin2 4s linear infinite;
    -o-animation: spin2 4s linear infinite;
    animation: spin2 4s linear infinite;
    /* 	animation: bo-co2 9s infinite;
        -webkit-animation: bo-co2 9s infinite; */
}

.c_pos03 {
    top: 0;
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.9);
    -webkit-animation: spin3 7s linear infinite;
    -moz-animation: spi3 7s linear infinite;
    -ms-animation: spin3 7s linear infinite;
    -o-animation: spin3 7s linear infinite;
    animation: spin3 7s linear infinite;
    /* 	animation: bo-co3 11s infinite;
        -webkit-animation: bo-co3 11s infinite; */
}

.c_pos04 {
    top: 0;
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.9);
    -webkit-animation: spin4 7s linear infinite;
    -moz-animation: spi4 7s linear infinite;
    -ms-animation: spin4 7s linear infinite;
    -o-animation: spin4 7s linear infinite;
    animation: spin4 7s linear infinite;
    /* 	animation: bo-co1 12s infinite;
        -webkit-animation: bo-co1 12s infinite; */
}

.c_pos05 {
    top: 0;
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.9);
    -webkit-animation: spin5 8s linear infinite;
    -moz-animation: spi5 8s linear infinite;
    -ms-animation: spin5 8s linear infinite;
    -o-animation: spin5 8s linear infinite;
    animation: spin5 8s linear infinite;
    /* 	animation: bo-co2 10s infinite;
        -webkit-animation: bo-co2 10s infinite; */
}

/*#endregion spn animation*/
/*#region rotate animation*/
.rot360 {
    transform: rotate(0deg);
    animation: anim_rotate360 10s linear infinite;
}

@keyframes anim_rotate360 {
    0% {
        transform: rotate(0deg);
    }

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

/*#endregion rotate animation*/
/*#region clip-left-right animation*/
.panir3 {
    display: inline-block;
    clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
    transition: all 1s cubic-bezier(0.5, 1, 0.89, 1);
    vertical-align: middle;
}

.panir3.on {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
}

.panil3 {
    display: inline-block;
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0 100%);
    transition: all 1s cubic-bezier(0.5, 1, 0.89, 1);
    vertical-align: middle;
}

.panil3.on {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0 100%);
}

/*#endregion clip-left-right animation*/
/*#region pani text rising animation*/
.pani4 {
    display: flex;
    overflow: hidden;
}

.pani4 span {
    display: block;
    transform: translateY(100%);
    transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    color: transparent;
}

.pani4.on span {
    color: #222;
    transform: translateY(0);
}

.pani4 span:nth-child(0) {
    transition-delay: 0ms;
}

.pani4 span:nth-child(1) {
    transition-delay: 80ms;
}

.pani4 span:nth-child(2) {
    transition-delay: 160ms;
}

.pani4 span:nth-child(3) {
    transition-delay: 240ms;
}

.pani4 span:nth-child(4) {
    transition-delay: 320ms;
}

.pani4 span:nth-child(5) {
    transition-delay: 400ms;
}

.pani4 span:nth-child(6) {
    transition-delay: 480ms;
}

.pani4 span:nth-child(7) {
    transition-delay: 560ms;
}

.pani4 span:nth-child(8) {
    transition-delay: 640ms;
}

.pani4 span:nth-child(9) {
    transition-delay: 720ms;
}

.pani4 span:nth-child(10) {
    transition-delay: 800ms;
}

.pani4 span:nth-child(11) {
    transition-delay: 880ms;
}

.pani4 span:nth-child(12) {
    transition-delay: 960ms;
}

.pani4 span:nth-child(13) {
    transition-delay: 1040ms;
}

.pani4 span:nth-child(14) {
    transition-delay: 1120ms;
}

.pani4 span:nth-child(15) {
    transition-delay: 1200ms;
}

.pani4 span:nth-child(16) {
    transition-delay: 1280ms;
}

.pani4 span:nth-child(17) {
    transition-delay: 1360ms;
}

.pani4 span:nth-child(18) {
    transition-delay: 1440ms;
}

.pani4 span:nth-child(19) {
    transition-delay: 1520ms;
}

.pani4 span:nth-child(19) {
    transition-delay: 1600ms;
}

/*endregion pani text rising animation*/
/*#region evelit animaiton*/
.initani {
    overflow: hidden;
    position: relative;
}

.initani::before,
.initani::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.initani_bw::before {
    background-color: #2b3f6c;
}

.initani_bw::after {
    background-color: #fff;
}

.initani.initani_ww::before {
    background-color: #fff;
}

.initani.initani_ww::after {
    background-color: #fff;
}

.initani.initani_wb::before {
    background-color: #fff;
}

.initani.initani_wb::after {
    background-color: #2b3f6c;
}

.initani.initani_wbk::before {
    background-color: #fff;
}

.initani.initani_wbk::after {
    background-color: #1A1A1A;
}

.initani.initani_bkw::before {
    background-color: #1A1A1A;
}

.initani.initani_bkw::after {
    background-color: #fff;
}

.initani.initani_bg::before {
    background-color: #2b3f6c;
}

.initani.initani_bg::after {
    background-color: #DEE9EC;
}

.initani.initani_bc::before {
    background-color: #2b3f6c;
}

.initani.initani_bc::after {
    background-color: #E9F9FA;
}

.initani.initani_wg::before {
    background-color: #fff;
}

.initani.initani_wg::after {
    background-color: #A9CD36;
}

.initani.initani_wy::before {
    background-color: #fff;
}

.initani.initani_wy::after {
    background-color: #A9CD36;
}

.initani.initani_wc::before {
    background-color: #fff;
}

.initani.initani_wc::after {
    background-color: #E9F9FA;
}

.initani.initani_tw::before {
    background-color: transparent;
}

.initani.initani_tw::after {
    background-color: #fff;
}

.initani.initani_tb::before {
    background-color: transparent;
}

.initani.initani_tb::after {
    background-color: #2b3f6c;
}

.initani::before {
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53), -webkit-transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

.initani::after {
    -webkit-transform-origin: left;
    -ms-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0) translateX(0);
    -ms-transform: scaleX(0) translateX(0);
    transform: scaleX(0) translateX(0);
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: -webkit-transform 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition: transform 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53), -webkit-transform 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

.anistart::before {
    -webkit-transform: translateX(101%);
    -ms-transform: translateX(101%);
    transform: translateX(101%);
}

.anistart::after {
    -webkit-transform: scaleX(1) translateX(101%);
    -ms-transform: scaleX(1) translateX(101%);
    transform: scaleX(1) translateX(101%);
}

/*#endregion evelit animaiton*/
/*region coiran animation*/
@keyframes slideShow {
    0% {
        opacity: 0;
        transform: scale(1);
        -ms-transform: scale(1);
    }

    5% {
        opacity: 1
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 0;
        transform: scale(1.1);
        -ms-transform: scale(1.1);
    }

    100% {
        opacity: 0;
        transform: scale(1);
        -ms-transformm: scale(1);
    }
}

@-o-keyframes slideShow {
    0% {
        opacity: 0;
        -o-transform: scale(1);
    }

    5% {
        opacity: 1
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 0;
        -o-transform: scale(1.1);
    }

    100% {
        opacity: 0;
        -o-transformm: scale(1);
    }
}

@-moz-keyframes slideShow {
    0% {
        opacity: 0;
        -moz-transform: scale(1);
    }

    5% {
        opacity: 1
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 0;
        -moz-transform: scale(1.1);
    }

    100% {
        opacity: 0;
        -moz-transformm: scale(1);
    }
}

@-webkit-keyframes slideShow {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
    }

    5% {
        opacity: 1
    }

    25% {
        opacity: 1;
    }

    30% {
        opacity: 0;
        -webkit-transform: scale(1.1);
    }

    100% {
        opacity: 0;
        -webkit-transformm: scale(1);
    }
}

/*endregion coiran animation*/
/*#region io animation*/
.pioup {
    -webkit-transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, -webkit-transform 1.0s ease 0s;
    transition: color 0.4s ease 0s, background-color 0.4s ease 0s, opacity 1.0s ease 0s, transform 1.0s ease 0s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: opacity, transform;
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
}

.pioup.on {
    opacity: 1 !important;
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg) !important;
}

/*#endregion io animation*/
/*#endregion ANIMATION*/

/*#region COMMON*/
.pmh_anchor {
    transform: translateY(-100px);
    content: "";
    width: 100%;
    height: 0;
}

.jp_wbr {
    word-break: keep-all;
}

.disb_sp {
    display: none !important;
}

.disb_pc {
    display: block !important;
}

/*#endregion COMMON*/

/*#region HEADER*/

.header {
    margin: 0px;
    width: 100%;
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    z-index: 111;
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    box-shadow: 0px calc(var(--gap-unit)*.5) calc(var(--gap-unit)*.6) 0px #00000040;
    background-color: #FFFFFF;
    background: #FFFFFFE5;
}

.header__deadline {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*4);
    padding: 0 calc(var(--gap-unit)*3.5);
    background-color: var(--bg-font-color);
    font-family: var(--fontT);
    color: var(--bg-white-color);
    height: 5rem;
}

.header__deadline-compamny {
    font-size: var(--font-size24);
    font-family: var(--fontT);
    font-weight: bold;
}

.header__deadline-site {
    font-size: var(--font-size20);
    font-family: var(--fontT);
    font-weight: bold;
}

.header__contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--gap-unit)*6);
    padding: 0 calc(var(--gap-unit)*5.5);
    height: var(--headerH);
}

.header__left {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20rem;
}

.header__logo img {
    width: 100%;
}

.mobile__menu {
    display: none;
}

.header__menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*5);
}

.headmenu__a {
    position: relative;
    height: var(--headerH);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transition: all .1s;
    opacity: 1;
    cursor: pointer;
}

.headmenu__cap {
    position: relative;
    font-size: var(--font-size18);
    font-weight: 500;
    color: var(--bg-font-color);
}

.headmenu__cap::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--bg-yellow-color);
    transition: .3s;
}

.headmenu__a:hover .headmenu__cap::before {
    width: 100%;
}

.header__btns {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.3);
}

.header__btns--drawer {
    display: none;
}

.header__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*.75);
    font-size: var(--font-size18);
    font-weight: bold;
    padding: calc(var(--gap-unit)*1.2) calc(var(--gap-unit)*3.5);
    background-color: var(--bg-font-color);
    color: var(--bg-white-color);
    border-radius: 9999px;
    font-weight: bold;
    cursor: pointer;
    transition:
        background-color 0.35s ease,
        box-shadow 0.35s ease,
        filter 0.35s ease,
        transform 0.35s ease;
    opacity: 1;
    line-height: 1;
}

.header__btn:not(.header__btn--free):hover {
    filter: brightness(1.12);
    box-shadow: 0 0.4rem 1.2rem rgba(69, 73, 71, 0.38);
    transform: translateY(-2px);
}

.header__btn:not(.header__btn--free):active {
    filter: brightness(1.02);
    box-shadow: 0 0.15rem 0.5rem rgba(69, 73, 71, 0.22);
    transform: translateY(0);
}

.header__btn--free {
    background-color: var(--bg-yellow-color);
}

.header__btn--free:hover {
    filter: brightness(1.08);
    box-shadow: 0 0.45rem 1.35rem rgba(242, 148, 27, 0.5);
    transform: translateY(-2px);
}

.header__btn--free:active {
    filter: brightness(0.97);
    box-shadow: 0 0.2rem 0.65rem rgba(242, 148, 27, 0.35);
    transform: translateY(0);
}

.header__btn:focus-visible {
    outline: 2px solid var(--bg-yellow-color);
    outline-offset: 3px;
}

.header__btn-icon {
    display: flex;
    width: 2rem;
}

.header__btn-icon svg {
    width: 100%;
}

.hamburger__set {
    display: none;
    text-align: center;
    font-size: 10px;
    position: relative;
    z-index: 130;
}

.header__submenu {
    position: fixed;
    top: calc(var(--headerH) + 5rem);
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*5.5);
    background-color: var(--bg-white-color);
    z-index: 112;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    box-shadow: 0 calc(var(--gap-unit) * 1.5) calc(var(--gap-unit) * 3) rgba(0, 0, 0, 0.08);
}

.header__submenu.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.header__submenu.is-visible.is-about .submenu__item--sale,
.header__submenu.is-visible.is-sale .submenu__item--about {
    display: none !important;
}

.submenu__item {
    position: relative;
    display: flex;
    justify-content: center;
    gap: calc(var(--gap-unit)*10);
}

.submenu__line {
    width: 1px;
    height: 100%;
    background-color: var(--bg-font-color);
}

.submenu__link {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit));
}

.submenu__img {
    display: flex;
    width: 16rem;
    aspect-ratio: 3/2;
    transition: transform 0.3s ease;
    overflow: hidden;
}

.submenu__link:hover .submenu__img img {
    transform: scale(1.05);
}

.submenu__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.submenu__txt {
    font-size: var(--font-size18);
    font-weight: 500;
    color: var(--bg-font-color);
    text-align: center;
    line-height: 1;
}


.hamburger__set a {
    color: #000;
}

.hamburger__btn {
    position: relative;
    margin: 0;
    vertical-align: middle;
    display: inline-block;
    padding: 0px;
    width: 32px;
    height: 15px;
    cursor: pointer;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
    z-index: 120;
}

.hamburger__btn span {
    background-color: #000;
    display: block;
    width: 30px;
    height: 2px;
    border-radius: 0px;
    margin: 0px 1px 4px 1px;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
}

.pst_blackheader .hamburger__btn span {
    background: #000;
}

.hamburger__btn span:last-child {
    margin-bottom: 0px;
}

.hamburger__btn span:nth-child(2) {
    width: 23px;
}

.hamburger__btn span:nth-child(3) {
    width: 15px;
}

.hamburger__btn.pst_open span:nth-child(1),
.hamburger__btn.pst_open span:nth-child(3) {
    transform: translate(0px, 7px) rotate(-45deg) scalex(1);
    margin-bottom: 0px;
}

.hamburger__btn.pst_open span:nth-child(2) {
    height: 0;
    margin-bottom: 0px;
    width: 0px;
}

.hamburger__btn.pst_open span:nth-child(3) {
    transform: translate(0px, 5px) rotate(45deg) scalex(1);
    width: 30px;
}

.pst_blackheader {
    top: 0;
    background-color: var(--bg-white-color);
}

.hide-scroll {
    overflow: hidden !important;
}

/*#endregion HEADER*/


/* -----------img animation---------- */
.animated__overlay {
    position: relative;
    overflow: hidden;
}

.animated__overlay:hover::before,
.animated__overlay:hover::after {
    translate: 0% 0%;
}

.animated__overlay::before {
    background: rgba(255, 255, 255, .3);
    content: "";
    height: 100%;
    right: 0;
    position: absolute;
    top: 0;
    transition: all .4s cubic-bezier(0.46, 0.16, 0.24, 0.77);
    width: 101%;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    left: 0;
    top: 0;
    translate: 100% -100%;
    z-index: 99;
}

.animated__overlay::after {
    background: rgba(255, 255, 255, .3);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: all .4s cubic-bezier(0.46, 0.16, 0.24, 0.77);
    width: 101%;
    bottom: 0;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    right: 0;
    translate: -100% 100%;
    z-index: 99;
}

/* -----------brush animation---------- */
.brush.on {
    animation: brush01 2.4s 0.2s steps(22) forwards;
}

.brush {
    -webkit-mask: url("../img/brush.png");
    mask: url("../img/brush.png");
    -webkit-mask-size: 2500% 100%;
    mask-size: 2500% 100%;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
}

@keyframes brush01 {
    0% {
        -webkit-mask-position: 0 0;
        mask-position: 0 0;
    }

    100% {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0;
    }
}

/* -------fade up animation----- */
.fade_y.on {
    opacity: 1;
    transform: translateY(0%);
}

.fade_y {
    transform: translateY(30%);
    opacity: 0;
    transition: 0.8s;
}

/* -------clip path animation----- */
.clip_path {
    clip-path: inset(0% 100% 0% 0%);
    transition: clip-path 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.clip_path.on {
    clip-path: inset(0% 0% 0% 0%);
}

/* -------inview animation------ */
[data-inview] {
    mask-image: linear-gradient(270deg, transparent 35%, #000 60%, #000);
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
    -webkit-mask-size: 250% 100%;
    mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    opacity: 0
}

[data-inview].inview,
[data-inview] * {
    transition: opacity 2.5s, -webkit-mask-position 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 2.5s, mask-position 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 2.5s, mask-position 2.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-mask-position 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    opacity: 1;
}

[data-fade="up"] {
    transform: translateY(50px);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}

[data-fade="up"].fade-up {
    transform: translateY(0);
    opacity: 1;
}

/* --------txt blur animation------ */
.animation_txt span {
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    font-weight: inherit;
    color: var(--color-white);
}

.animation_txt>span {
    display: block;
    color: var(--color-white) !important;
}

/* -------rich fade animation------ */
.rich-fade {
    -webkit-mask: url(../img/mask.webp);
    mask: url(../img/mask.webp);
    -webkit-mask-size: 500% 100%;
    mask-size: 500% 100%;
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
}

.rich-fade.on {
    animation: richFade 3.5s cubic-bezier(0.1, 1, 0.25, 1) .6s forwards;
}

@keyframes richFade {
    0% {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0;
    }

    100% {
        -webkit-mask-position: 0 0;
        mask-position: 0 0;
    }
}

/* --------txtin animation------- */
.anim-txtin {
    transform: translateY(clamp(0px, 7%, 300px)) scaleY(0.95);
    opacity: 0;
    filter: blur(10px);
}

.anim-txtin.on {
    opacity: 1;
    transform: translateY(0) scaleY(1);
    filter: blur(0);
    transition: transform 0.26s ease-out, opacity 0.26s ease-out, filter 0.26s ease-out;
}

/* ------js_bg animation----- */
.js_bg {
    position: relative;
    background-color: #E6E6E6
}

.js_bg::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: var(--bg-url);
    -webkit-background-size: cover !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: 50% 50% !important;
    opacity: 0;
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-transition: opacity 0.6s, -webkit-transform 1.2s cubic-bezier(0, 0.54, 0, 1);
    transition: opacity 0.6s, -webkit-transform 1.2s cubic-bezier(0, 0.54, 0, 1);
    -o-transition: opacity 0.6s, transform 1.2s cubic-bezier(0, 0.54, 0, 1);
    transition: opacity 0.6s, transform 1.2s cubic-bezier(0, 0.54, 0, 1);
    transition: opacity 0.6s, transform 1.2s cubic-bezier(0, 0.54, 0, 1), -webkit-transform 1.2s cubic-bezier(0, 0.54, 0, 1);
    transition-delay: .2s;
}

.js_bg.on::before {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.js_bg img {
    opacity: 0;
    visibility: hidden;
}


/*#region pg specials*/
.display-flex {
    display: flex;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.justify-content-between {
    display: flex;
    justify-content: space-between;
}

.justify-content-end {
    display: flex;
    justify-content: flex-end;
}

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

.justify-content-start {
    display: flex;
    justify-content: flex-start;
}

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

.align-items-baseline {
    align-items: baseline;
}

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

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

.flex-nowrap {
    flex-wrap: nowrap;
}

.justify-flex-end {
    display: flex;
    justify-content: flex-end;
}

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

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

.row_reverse {
    flex-direction: row-reverse;
}

/* -----theme block start------- */
.w_50 {
    width: 50%;
}

.w_45 {
    width: 45%;
}

.w_48 {
    width: 48%;
}

.w_60 {
    width: 60%;
}

.w_35 {
    width: 35%;
}

.w_25 {
    width: 25%;
}

.w_100 {
    width: 100%;
}

.w_70 {
    width: 70%;
}

img {
    object-fit: cover;
    margin: 0;
    padding: 0;
}

.blue-color {
    color: var(--bg-blue-color);
    font-weight: 700;
}

.sp_break {
    display: none;
}

.tb_hide {
    display: block;
}

.bolder {
    font-weight: bold;
}

@media (max-width: 768px) {
    .tb_hide {
        display: none;
    }
}

@media (max-width: 450px) {
    .sp_hide {
        display: none;
    }

    .sp_break {
        display: block;
    }
}

/* ------block title------- */



/* -----------page common style---------- */
.wrapper {
    opacity: 0;
    padding-top: calc(var(--headerH) + 5rem);
}

#page__top .wrapper {
    padding-top: 0;
    opacity: 1;
}

.container {
    width: 100%;
    padding: 0 var(--margin);
}

.page__heading {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
    padding: 14rem var(--margin) 10rem;
}

.page__title {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: fit-content;
}

.page__title-en {
    font-size: 8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    margin-top: -2.5rem;
    padding-right: 2rem;
}

.page__title-en span {
    font-size: 10rem;
}

.page__title-jp {
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
}

.page__lead {
    font-size: var(--font-size22);
    font-weight: 500;
    line-height: 1.7;
}

.sec__heading {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2.5);
    text-align: center;
}

.sec__title {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: fit-content;
    text-align: right;
}

.sec__title-en {
    font-size: 8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.3;
}

.sec__title-en span {
    font-size: 10rem;
}

.sec__title-jp {
    font-size: var(--font-size32);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    margin-bottom: -3rem;
    margin-right: -2rem;
}

.js-title .sec__title-en,
.js-title .sec__title-jp {
    overflow: hidden;
    backface-visibility: hidden;
}

.more__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*7.5);
    padding: calc(var(--gap-unit)*1.3) calc(var(--gap-unit)*6.5);
    font-size: var(--font-size26);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    color: var(--bg-font-color);
    margin-top: calc(var(--gap-unit)*5);
    border-radius: 9999px;
    border: 2px solid var(--bg-font-color);
    width: fit-content;
    margin: 0 auto;
    background-color: var(--bg-white-color);
    text-decoration: none;
    cursor: pointer;
    transition:
        color 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.more__btn:hover,
.more__btn:focus-visible {
    background-color: var(--bg-font-color);
    color: var(--bg-white-color);
    border-color: var(--bg-font-color);
    box-shadow: 0 0.4rem 1.6rem rgba(69, 73, 71, 0.22);
}

.more__btn:focus-visible {
    outline: 2px solid var(--bg-yellow-color);
    outline-offset: 3px;
}

.more__btn-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6rem;
    height: 6rem;
    border: 1px solid var(--bg-font-color);
    border-radius: 50%;
    padding: calc(var(--gap-unit)*1);
    transition:
        border-color 0.35s ease,
        background-color 0.35s ease,
        transform 0.35s ease;
}

.more__btn:hover .more__btn-arrow,
.more__btn:focus-visible .more__btn-arrow {
    border-color: var(--bg-white-color);
    transform: translateX(0.35rem);
}

.more__btn-arrow svg {
    width: 1.2rem;
}

.more__btn-arrow svg path {
    transition: fill 0.35s ease;
}

.more__btn:hover .more__btn-arrow svg path,
.more__btn:focus-visible .more__btn-arrow svg path {
    fill: var(--bg-white-color);
}

@media (max-width: 768px) {
    .page__heading {
        padding: 7rem var(--margin) 5rem;
    }

    .page__title-en {
        font-size: 3rem;
        margin-top: -1.5rem;
        padding-right: 1rem;
    }

    .page__title-en span {
        font-size: 4rem;
    }

    .page__title-jp {
        font-size: 1.5rem;
    }

    .page__lead {
        font-size: var(--font-size18);
    }

    .more__btn {
        font-size: var(--font-size20);
        gap: calc(var(--gap-unit)*6);
        padding: calc(var(--gap-unit)*1.3) calc(var(--gap-unit)*5);
    }

    .more__btn-arrow {
        width: 2.5rem;
        height: 2.5rem;
    }

    .more__btn-arrow svg {
        width: .5rem;
    }
}

@media (max-width: 450px) {
    .page__heading {
        padding: 10rem var(--margin) 9rem;
    }

    .page__title-en {
        font-size: 4.5rem;
        margin-top: -1rem;
        padding-right: 2rem;
    }

    .page__title-en span {
        font-size: 6rem;
    }

    .page__title-jp {
        font-size: 2.5rem;
    }

    .page__lead {
        font-size: var(--font-size16);
    }

    .more__btn {
        font-size: var(--font-size18);
        gap: calc(var(--gap-unit)*5);
        padding: calc(var(--gap-unit)*1.2) calc(var(--gap-unit)*4);
        margin-top: 0;
    }

    .more__btn-arrow {
        width: 4rem;
        height: 4rem;
    }

    .more__btn-arrow svg {
        width: .8rem;
    }
}




/* --------------page home-------------- */
.banner {
    position: relative;
    display: flex;
    width: 100%;
    height: 100vh;
}

.banner__inner {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
}

.banner__video {
    display: flex;
    width: 100%;
    height: 100%;
}

.banner__video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.banner__title {
    position: absolute;
    top: 50%;
    right: 9%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 6rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.2;
    color: var(--bg-white-color);
}

.banner__title span {
    font-size: 8.9rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .banner__title {
        font-size: 2.2rem;
        top: 30%;
        right: 8%;
        transform: translateY(-50%);
    }

    .banner__title span {
        font-size: 3.5rem;
    }
}






.solution__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*7.5);
}

.solution__title {
    font-size: 4.2rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

.solution__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.solution__main {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--gap-unit)*5);
    padding: calc(var(--gap-unit)*6);
    background-color: #D9D9D991;
    border-radius: calc(var(--border-radius));
    z-index: 1;
}

.solution__main::before {
    content: '';
    position: absolute;
    bottom: -4rem;
    left: 50%;
    transform: translateX(-50%);
    width: 6rem;
    height: 4rem;
    background-color: #D9D9D991;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.solution__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: calc(var(--gap-unit)*1);
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2);
    background-color: var(--bg-white-color);
    border-radius: calc(var(--border-radius));
    border: 1px solid #454947;
}

.solution__shape {
    display: flex;
    width: 4rem;
}

.solution__shape svg {
    width: 100%;
}

.solution__txt {
    font-size: 2.1rem;
    text-align: center;
    margin: auto 0;
}

.solution__txt span {
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: .2em;
    text-decoration-thickness: .1em;
    text-decoration-color: var(--bg-yellow-color);
}

.solution__lead {
    font-size: 4.2rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    text-align: center;
}

@media (max-width: 768px) {
    .solution__title {
        font-size: 1.8rem;
    }

    .solution__main {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--gap-unit)*3);
        padding: calc(var(--gap-unit)*6) calc(var(--gap-unit)*4);
    }

    .solution__shape {
        width: 2.5rem;
    }

    .solution__txt {
        font-size: 1rem;
    }

    .solution__lead {
        font-size: 1.5rem;
    }

    .solution__main::before {
        width: 3rem;
        height: 2rem;
        bottom: -2rem;
    }
}

@media (max-width: 450px) {
    .solution__title {
        font-size: 3rem;
        line-height: 1.5;
    }

    .solution__main {
        grid-template-columns: 100%;
        gap: calc(var(--gap-unit)*2.5);
        padding: calc(var(--gap-unit)*5) calc(var(--gap-unit)*3);
    }

    .solution__item {
        aspect-ratio: 260/120;
    }

    .solution__shape {
        width: 3.5rem;
    }

    .solution__txt {
        font-size: var(--font-size18);
    }

    .solution__lead {
        font-size: 2.5rem;
        line-height: 1.6;
    }
}




.free__appraisal {
    position: relative;
    background-color: #EAEAEA;
}

.free__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
    padding: calc(var(--gap-unit)*15) var(--margin) calc(var(--gap-unit)*15);
}

.free__heading {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.5);
    z-index: 3;
}

.free__title {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.5);
    font-family: var(--fontT);
    color: var(--bg-white-color);
}

.free__title-en {
    font-size: var(--font-size28);
    font-weight: 600;
    line-height: 1;
}

.free__title-jp {
    font-size: 7.2rem;
    line-height: 1.2;
    font-weight: bold;
}

.free__lead {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 600;
    line-height: 1;
    color: var(--bg-white-color);
}

.free__bg {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    aspect-ratio: 164/51;
}

.free__bg img {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.free__bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(93.34deg, rgba(0, 0, 0, 0.64) 28.23%, rgba(69, 73, 71, 0.3) 99.12%);
}

.free__bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: #EAEAEA;
    transform-origin: right center;
    pointer-events: none;
}


.free__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
    padding: calc(var(--gap-unit)*8) calc(var(--gap-unit)*12) calc(var(--gap-unit)*12);
    background-color: var(--bg-white-color);
    z-index: 4;
}

.free__txt {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 600;
    line-height: 1;
    color: var(--bg-black-color);
    text-align: center;
}

.free__txt span {
    font-size: 5rem;
}

.free__form {
    padding-top: calc(var(--gap-unit)*9);
    border-top: 1px solid var(--bg-font-color);
}

.free__form-inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
}

.free__field {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.3);
}

.free__label {
    display: flex;
    gap: calc(var(--gap-unit)*1.5);
    font-size: var(--font-size22);
    font-weight: 500;
    line-height: 1.3;
}

.free__required {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size18);
    color: var(--bg-white-color);
    padding: calc(var(--gap-unit)*0.5) calc(var(--gap-unit)*1.5);
    background-color: var(--bg-yellow-color);
}

.free__input {
    display: flex;
    width: 100%;
}

.free__input input {
    font-size: var(--font-size22);
    font-weight: 500;
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*3);
    width: 100%;
    line-height: 1;
    color: #AEAEAE;
    border: 1px solid var(--bg-font-color);
    border-radius: calc(var(--border-radius));
    outline: none;
}

.free__input input:focus {
    border-color: var(--bg-yellow-color);
}

.free__input input::placeholder {
    color: #AEAEAE;
}

.free__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*12);
    font-size: var(--font-size32);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.3;
    width: 100%;
    padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*3);
    background-color: var(--bg-yellow-color);
    border: 2px solid var(--bg-yellow-color);
    outline: none;
    cursor: pointer;
    transition:
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        filter 0.35s ease,
        transform 0.35s ease;
    color: var(--bg-white-color);
}

.free__btn:hover {
    filter: brightness(1.08);
    box-shadow: 0 0.45rem 1.4rem rgba(242, 148, 27, 0.5);
    transform: translateY(-2px);
}

.free__btn:active {
    filter: brightness(0.97);
    box-shadow: 0 0.2rem 0.65rem rgba(242, 148, 27, 0.35);
    transform: translateY(0);
}

.free__btn:focus-visible {
    outline: 2px solid var(--bg-white-color);
    outline-offset: 3px;
}

.free__btn-arrow {
    display: flex;
    width: 6rem;
}

.free__btn-arrow svg {
    width: 100%;
}

.free__warning {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*1.5);
    font-size: var(--font-size24);
    line-height: 1;
}

.free__warning-icon {
    display: flex;
    width: 3.2rem;
}

.free__warning-icon svg {
    width: 100%;
}

@media (max-width: 768px) {
    .free__title-jp {
        font-size: 3rem;
    }

    .free__txt span {
        font-size: 2.8rem;
    }

    .free__txt {
        font-size: var(--font-size24);
    }

    .free__bg {
        height: 20rem;
    }

    .free__bg img {
        height: 100%;
        object-fit: cover;
        object-position: top;
    }

    .free__content {
        padding: calc(var(--gap-unit)*8) calc(var(--gap-unit)*6) calc(var(--gap-unit)*6);
    }

    .free__label {
        font-size: var(--font-size18);
    }

    .free__required {
        font-size: var(--font-size14);
    }

    .free__input {
        gap: calc(var(--gap-unit)*10);
    }

    .free__input input[type='text'],
    .free__input input[type='email'],
    .free__input input[type='tel'],
    .free__input textarea {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*2.2) calc(var(--gap-unit)*3);
    }

    .free__btn {
        gap: calc(var(--gap-unit)*6);
        font-size: var(--font-size30);
    }

    .free__btn-arrow {
        width: 2.5rem;
    }

    .free__warning {
        font-size: var(--font-size18);
    }

    .free__warning-icon {
        width: 1.5rem;
    }
}

@media (max-width: 450px) {
    .free__inner {
        gap: calc(var(--gap-unit)*6);
        padding: calc(var(--gap-unit)*10) var(--margin);
    }

    .free__title-en,
    .free__lead {
        font-size: var(--font-size20);
    }

    .free__title-jp {
        font-size: 4rem;
    }

    .free__txt span {
        font-size: 4rem;
    }

    .free__txt {
        font-size: var(--font-size24);
        line-height: 1.6;
    }

    .free__bg {
        height: 30rem;
    }

    .free__content {
        padding: calc(var(--gap-unit)*7) calc(var(--gap-unit)*2.5) calc(var(--gap-unit)*5);
        gap: calc(var(--gap-unit)*3);
    }

    .free__form {
        padding-top: calc(var(--gap-unit)*7);
    }

    .free__form-inner {
        gap: calc(var(--gap-unit)*6);
    }

    .free__label {
        font-size: 1.7rem;
    }

    .free__required {
        font-size: 1.3rem;
    }

    .free__input {
        gap: calc(var(--gap-unit)*10);
    }

    .free__input input[type='text'],
    .free__input input[type='email'],
    .free__input input[type='tel'],
    .free__input textarea {
        font-size: var(--font-size18);
    }

    .free__btn {
        gap: calc(var(--gap-unit)*3);
        font-size: var(--font-size20);
    }

    .free__btn-arrow {
        width: 3rem;
    }

    .free__warning {
        font-size: var(--font-size14);
        text-align: center;
        line-height: 1.6;
    }

    .free__warning-icon {
        display: none;
    }
}



.strength__pickup {
    position: relative;
}

.pickup__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
    padding: 18rem var(--margin) 26rem;
    z-index: 1;
}

.pickup__content {
    display: flex;
    align-items: flex-start;
}

.pickup__img {
    position: relative;
    display: flex;
    width: 50%;
    overflow: hidden;
    border-top-left-radius: 8rem;
}

.pickup__img img {
    position: relative;
    z-index: 0;
    width: 100%;
}

.pickup__img-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: #EAEAEA;
    transform-origin: right center;
    pointer-events: none;
}

.pickup__main {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
    width: 56%;
    margin-left: -9%;
    background: linear-gradient(293.21deg, #F4F0E5 56.77%, #FFFFFF 120.13%);
    box-shadow: 0px 4px 20px 0px #00000066;
    padding: calc(var(--gap-unit)*6);
    margin-top: 14rem;
}

.pickup__title {
    font-size: 4.5rem;
    font-family: var(--fontT);
    font-weight: bold;
    color: var(--bg-yellow-color);
    line-height: 1;
    padding-bottom: calc(var(--gap-unit)*3);
    border-bottom: 1px solid var(--bg-yellow-color);
    text-align: center;
}

.pickup__txt {
    font-size: 1.9rem;
}

.pickup__txt span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.pickup__summary {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
    width: 83%;
    background: linear-gradient(293.21deg, #F4F0E5 56.77%, #FFFFFF 120.13%);
    margin: 0 auto;
    box-shadow: 0px 4px 20px 0px #00000066;
    padding: calc(var(--gap-unit)*6);
    padding-bottom: calc(var(--gap-unit)*5);
    overflow: hidden;
    backface-visibility: hidden;
}

.pickup__summary-txt {
    font-size: var(--font-size20);
}

.pickup__summary-txt span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.pickup__link {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size22);
    font-family: var(--fontT);
    font-weight: bold;
    gap: calc(var(--gap-unit)*2);
    padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*5.5);
    color: var(--bg-white-color);
    background-color: #D67B06;
    border-radius: 9999px;
    margin-left: auto;
    border: 2px solid #D67B06;
    line-height: 1;
}

.pickup__link-arrow {
    display: flex;
    width: 1.2rem;
}

.pickup__link-arrow svg {
    width: 100%;
}

.pickup__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.pickup__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.strength__content {
    position: relative;
    padding-bottom: 15rem;
}

.strength__title {
    position: absolute;
    top: -16rem;
    left: var(--margin);
    display: flex;
    flex-direction: column;
    font-size: 9rem;
    font-family: var(--fontT);
    font-weight: bold;
    z-index: 1;
}

.strength__title-line {
    display: flex;
    overflow: hidden;
}

.strength__title-line02 {
    font-size: 7.5rem;
    margin-left: 5rem;
    margin-top: -5rem;
}

.strength__title-char {
    display: inline-block;
    overflow: hidden;
    transform: translateY(110%);
    transition: transform .5s cubic-bezier(.85, 0, .15, 1);
}

.show .strength__title-char {
    transform: translateY(0);
}

.strength__title-line01 .strength__title-char:nth-child(1) {
    transition-delay: .1s;
}

.strength__title-line01 .strength__title-char:nth-child(2) {
    transition-delay: .15s;
}

.strength__title-line01 .strength__title-char:nth-child(3) {
    transition-delay: .2s;
}

.strength__title-line02 .strength__title-char:nth-child(1) {
    transition-delay: .25s;
}

.strength__title-line02 .strength__title-char:nth-child(2) {
    transition-delay: .3s;
}

.strength__title-line02 .strength__title-char:nth-child(3) {
    transition-delay: .35s;
}

.strength__title-line02 .strength__title-char:nth-child(4) {
    transition-delay: .4s;
}

.strength__title-line02 .strength__title-char:nth-child(5) {
    transition-delay: .45s;
}

.strength__title-line02 .strength__title-char:nth-child(6) {
    transition-delay: .5s;
}

.strength__title-line02 .strength__title-char:nth-child(7) {
    transition-delay: .55s;
}

.strength__title-line02 .strength__title-char:nth-child(8) {
    transition-delay: .6s;
}

.strength__title-line02 .strength__title-char:nth-child(9) {
    transition-delay: .65s;
}

.strength__title-line02 .strength__title-char:nth-child(10) {
    transition-delay: .7s;
}

.strength__title-line02 .strength__title-char:nth-child(11) {
    transition-delay: .7s;
}

.strength__title-line02 .strength__title-char:nth-child(12) {
    transition-delay: .75s;
}

.strength__title-line02 .strength__title-char:nth-child(13) {
    transition-delay: .8s;
}

.strength__title-line02 .strength__title-char:nth-child(14) {
    transition-delay: .85s;
}

.strength__title-line02 .strength__title-char:nth-child(15) {
    transition-delay: .9s;
}

.strength__title-line02 .strength__title-char:nth-child(16) {
    transition-delay: .95s;
}

.strength__title-line02 .strength__title-char:nth-child(17) {
    transition-delay: 1s;
}

.strength__title-line02 .strength__title-char:nth-child(18) {
    transition-delay: 1.05s;
}

.strength__title-line02 .strength__title-char:nth-child(19) {
    transition-delay: 1.1s;
}

.strength__title-line02 .strength__title-char:nth-child(20) {
    transition-delay: 1.15s;
}

.strength__list {
    display: flex;
    flex-direction: column;
}

.strength__layer {
    position: relative;
    display: flex;
    justify-content: center;
    gap: calc(var(--gap-unit)*6);
    padding: calc(var(--gap-unit)*10) var(--margin);
    background-image: linear-gradient(180deg, #EAEAEA 16.35%, rgba(255, 255, 255, 0) 100%);
}

.strength__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.5);
}

.strength__img {
    display: flex;
    width: 100%;
}

.strength__img img {
    width: 100%;
}

.strength__main {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
}

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

.strength__num {
    font-size: 8rem;
    font-family: var(--fontT);
    font-weight: 300;
    line-height: 1;
    color: #CECECE;
}

.strength__subtitle {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-left: -2rem;
}

.strength__subtitle-jp {
    font-size: var(--font-size20);
    font-weight: bold;
    line-height: 1.3;
}

.strength__subtitle-en {
    font-size: var(--font-size18);
    font-family: var(--fontT);
    line-height: 1;
}

.strength__txt {
    font-size: var(--font-size18);
    padding-top: calc(var(--gap-unit)*1.5);
    border-top: 1px solid var(--bg-font-color);
}

@media (max-width: 768px) {
    .pickup__inner {
        padding: 7rem var(--margin) 10rem;
    }

    .pickup__content {
        flex-direction: column;
    }

    .pickup__main {
        width: 100%;
        margin: 0;
        padding: calc(var(--gap-unit)*5);
    }

    .pickup__img {
        width: 100%;
    }

    .pickup__title {
        font-size: 2.3rem;
    }

    .pickup__txt,
    .pickup__summary-txt {
        font-size: var(--font-size18);
        line-height: 1.8;
    }

    .pickup__summary {
        width: 90%;
        padding: calc(var(--gap-unit)*4);
        padding-bottom: calc(var(--gap-unit)*3);
    }

    .pickup__link {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*1.6) calc(var(--gap-unit)*4);
    }

    .pickup__link-arrow {
        width: .5rem;
    }

    .strength__content {
        padding-bottom: 8rem;
    }

    .strength__title {
        top: -6.5rem;
        font-size: 4rem;
    }

    .strength__title-line02 {
        font-size: 3rem;
        margin-left: 3rem;
        margin-top: -2.5rem;
    }

    .strength__layer {
        gap: calc(var(--gap-unit)*3);
    }

    .strength__num {
        font-size: 3rem;
    }

    .strength__subtitle-jp {
        font-size: var(--font-size16);
    }

    .strength__txt {
        font-size: var(--font-size16);
    }
}

@media (max-width: 450px) {
    .pickup__inner {
        padding: 10rem var(--margin) 15rem;
    }

    .pickup__main {
        padding: calc(var(--gap-unit)*3);
    }

    .pickup__title {
        font-size: 3rem;
    }

    .pickup__txt,
    .pickup__summary-txt {
        font-size: var(--font-size16);
    }

    .pickup__summary {
        width: 100%;
        padding: calc(var(--gap-unit)*3);
    }

    .pickup__link {
        font-size: var(--font-size18);
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*4);
    }

    .pickup__link-arrow {
        width: 1rem;
    }

    .strength__title {
        top: -10rem;
        font-size: 6rem;
    }

    .strength__title-line02 {
        font-size: 5rem;
        margin-left: 5rem;
        margin-top: -3.5rem;
    }

    .strength__layer {
        flex-direction: column;
        gap: calc(var(--gap-unit)*5);
    }

    .strength__main {
        gap: calc(var(--gap-unit)*2);
    }

    .strength__num {
        font-size: 8rem;
    }

    .strength__subtitle-jp {
        font-size: var(--font-size18);
        line-height: 1.6;
    }

    .strength__txt {
        font-size: var(--font-size16);
    }
}




.story__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*12);
}

.story__content {
    display: flex;
    gap: calc(var(--gap-unit)*10);
    width: 100%;
}

.story__line {
    position: relative;
    width: 1px;
    background-color: var(--bg-black-color);
}

.story__line::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4rem;
    height: 1px;
    background-color: var(--bg-black-color);
}

.story__line::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4rem;
    height: 1px;
    background-color: var(--bg-black-color);
}

.story__list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
}

.story__item {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--gap-unit)*8);
}

.story__item::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(var(--gap-unit)*-10 - 2rem);
    width: 4rem;
    height: 1px;
    background-color: var(--bg-black-color);
}

.story__item:nth-child(even) {
    flex-direction: row-reverse;
}

.story__img {
    display: flex;
    width: 48%;
    overflow: hidden;
}

.story__img img {
    width: 100%;
}

.story__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
}

.story__meta {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.story__num {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 500;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: .1em;
}

.story__title {
    font-size: var(--font-size36);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.4;
}

.story__txt {
    font-size: var(--font-size20);
}

@media (max-width: 768px) {
    .story__inner {
        gap: calc(var(--gap-unit)*8);
    }

    .story__content {
        gap: calc(var(--gap-unit)*6);
    }

    .story__main {
        gap: calc(var(--gap-unit)*2);
    }

    .story__item {
        gap: calc(var(--gap-unit)*4);
    }

    .story__num {
        font-size: var(--font-size22);
    }

    .story__title {
        font-size: var(--font-size22);
    }

    .story__txt {
        font-size: var(--font-size16);
    }

    .story__item::before {
        width: 2rem;
        left: calc(var(--gap-unit)*-6 - 1rem);
    }

    .story__line::after,
    .story__line::before {
        width: 2rem;
    }
}

@media (max-width: 450px) {
    .story__content {
        gap: calc(var(--gap-unit)*4);
    }

    .story__main {
        gap: calc(var(--gap-unit)*1.5);
    }

    .story__item,
    .story__item:nth-child(even) {
        flex-direction: column;
        gap: calc(var(--gap-unit)*1.5);
    }

    .story__meta {
        gap: calc(var(--gap-unit)*1.5);
    }

    .story__img {
        width: 100%;
    }

    .story__num {
        font-size: var(--font-size20);
    }

    .story__title {
        font-size: var(--font-size20);
    }

    .story__txt {
        font-size: var(--font-size14);
    }

    .story__item::before {
        width: 2rem;
        left: calc(var(--gap-unit)*-4 - 1rem);
    }
}


.intro__video {
    display: flex;
    width: 100%;
}

.intro__video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home__success {
    background-color: #FFF8EE;
}

.success__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.success__heading {
    padding: 0 var(--margin);
}

.success__title {
    margin-left: auto;
}

.success__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.success__slider {
    display: flex;
    align-items: flex-start;
    animation-name: scrollGallery;
    animation-duration: 70s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.success__slider-item {
    display: flex;
    margin: 0 calc(var(--gap-unit)*3);
}

@keyframes scrollGallery {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-25%);
    }
}

.success__slider-img {
    display: flex;
    width: 100%;
}

.success__slider-img img {
    width: 100%;
}

.success__slider-item01 {
    width: 47rem;
    padding-bottom: 6.7rem;
}

.success__slider-item02 {
    width: 52rem;
    padding-top: 4rem;
}

.success__slider-item03 {
    width: 47rem;
    padding-top: 2.3rem;
    padding-bottom: 4.5rem;
}

@media (max-width: 768px) {
    .success__slider-item {
        margin: 0 calc(var(--gap-unit)*2);
    }

    .success__slider-item01 {
        width: 16rem;
        padding-bottom: 2.3rem;
    }

    .success__slider-item02 {
        width: 18rem;
        padding-top: 1.5rem;
    }

    .success__slider-item03 {
        width: 16rem;
        padding-top: .8rem;
        padding-bottom: 1.5rem;
    }
}

@media (max-width: 450px) {
    .success__slider-item {
        margin: 0 calc(var(--gap-unit)*1.5);
    }

    .success__slider-item01 {
        width: 24rem;
        padding-bottom: 3.5rem;
    }

    .success__slider-item02 {
        width: 27rem;
        padding-top: 2.3rem;
    }

    .success__slider-item03 {
        width: 24rem;
        padding-top: 1.2rem;
        padding-bottom: 2.3rem;
    }

    .success__heading {
        padding-right: 3rem;
    }
}





.option__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
}

.option__title {
    display: flex;
    flex-direction: column;
    font-family: var(--fontT);
    font-weight: bold;
}

.option__title-jp {
    font-size: var(--font-size36);
    line-height: 1;
    padding-left: 9rem;
    margin-bottom: -6rem;
}

.option__title-en {
    font-size: 8rem;
    line-height: 1.1;
}

.option__title-en span {
    font-size: 14rem;
}

.option__content {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.option__img {
    position: relative;
    display: flex;
    width: 54%;
    aspect-ratio: 22/23;
    background-color: var(--bg-white-color);
    z-index: 1;
    overflow: hidden;
}

.option__img img,
.option__img canvas {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.option__main {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
    padding: 19rem calc(var(--gap-unit)*5) calc(var(--gap-unit)*12) 14rem;
    z-index: 1;
}

.option__item {
    position: relative;
    display: flex;
    flex-direction: column;
}

.option__item::before {
    content: '';
    position: absolute;
    top: 2.5rem;
    left: -10rem;
    width: 9rem;
    height: 2px;
    background-color: var(--bg-font-color);
}

.option__subtitle {
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.3;
}

.option__txt {
    font-size: var(--font-size18);
    line-height: 1.8;
    margin-top: calc(var(--gap-unit)*2);
    margin-bottom: calc(var(--gap-unit)*3);
}

.option__list {
    margin-bottom: calc(var(--gap-unit)*6);
}

.option__list li {
    display: flex;
    align-items: center;
    font-size: var(--font-size20);
    line-height: 1.8;
}

.option__list li::before {
    content: '';
    display: flex;
    width: .8rem;
    height: .8rem;
    background-color: var(--bg-font-color);
    margin-right: 1rem;
}

.option__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    font-size: var(--font-size20);
    font-family: var(--fontT);
    font-weight: bold;
    padding: calc(var(--gap-unit)) calc(var(--gap-unit)*4) calc(var(--gap-unit)) calc(var(--gap-unit)*5);
    background-color: var(--bg-white-color);
    border: 2px solid var(--bg-font-color);
    border-radius: 999px;
    color: var(--bg-font-color);
    width: fit-content;
    margin-left: auto;
}

.option__btn-arrow {
    display: flex;
    width: 1rem;
}

.option__btn-arrow svg {
    width: 100%;
}

.option__bg {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 68%;
    height: calc(100% - 8rem);
    background-color: #EAEAEA;
}

@media (max-width: 768px) {
    .option__title-jp {
        margin-bottom: -2rem;
        font-size: var(--font-size32);
        padding-left: 3rem;
    }

    .option__title-en {
        font-size: 3rem;
    }

    .option__title-en span {
        font-size: 5rem;
    }

    .option__inner {
        gap: calc(var(--gap-unit)*8);
    }

    .option__content {
        flex-direction: column;
        background-color: #EAEAEA;
    }

    .option__bg {
        display: none;
    }

    .option__img {
        width: 100%;
        aspect-ratio: 3/2;
        overflow: hidden;
    }

    .option__img img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .option__main {
        padding: calc(var(--gap-unit)*4) calc(var(--gap-unit)*4) calc(var(--gap-unit)*5) 7rem;
    }

    .option__subtitle {
        font-size: 1.7rem;
    }

    .option__btn-arrow {
        width: .6rem;
    }

    .option__list li::before {
        width: .5rem;
        height: .5rem;
        margin-right: calc(var(--gap-unit)*1);
    }

    .option__item::before {
        left: -5rem;
        width: 4rem;
        height: 1px;
        top: 1.2rem;
    }

    .option__list {
        margin-bottom: calc(var(--gap-unit)*4);
    }
}

@media (max-width: 450px) {
    .option__title-jp {
        margin-bottom: -2rem;
        font-size: var(--font-size24);
        padding-left: 4rem;
    }

    .option__title-en {
        font-size: 3.3rem;
    }

    .option__title-en span {
        font-size: 6rem;
    }

    .option__img {
        aspect-ratio: 1/1;
    }

    .option__main {
        padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2.5);
    }

    .option__subtitle {
        display: flex;
        align-items: center;
        gap: calc(var(--gap-unit)*1);
        font-size: 2.5rem;
    }

    .option__subtitle::after {
        flex: 1;
        content: '';
        display: flex;
        height: 1px;
        background-color: var(--bg-font-color);
    }

    .option__txt,
    .option__list li {
        font-size: var(--font-size16);
    }

    .option__txt {
        margin-bottom: calc(var(--gap-unit)*2);
        margin-top: calc(var(--gap-unit)*1.5);
    }

    .option__list {
        margin-bottom: calc(var(--gap-unit)*3);
    }

    .option__list li::before {
        width: .8rem;
        height: .8rem;
        margin-right: calc(var(--gap-unit)*1);
    }

    .option__btn {
        font-size: var(--font-size16);
    }

    .option__item::before {
        display: none;
    }

    .option__btn-arrow {
        width: 1rem;
    }
}





.about__inner {
    display: flex;
    justify-content: center;
    gap: calc(var(--gap-unit)*4);
    padding: calc(var(--gap-unit)*9) calc(var(--gap-unit)*5);
}

.about__item {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 43/50;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.about__item:hover,
.about__item:focus-visible {
    transform: translateY(-0.6rem);
    box-shadow: 0 1.2rem 3.2rem rgba(69, 73, 71, 0.28);
}

.about__item:focus-visible {
    outline: 2px solid var(--bg-yellow-color);
    outline-offset: 4px;
}

.about__img {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.about__img img {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.55s ease;
}

.about__item:hover .about__img img,
.about__item:focus-visible .about__img img {
    transform: scale(1.07);
}

.about__label {
    position: absolute;
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    color: var(--bg-white-color);
    text-shadow: 5px 5px 4px #45494733;
    z-index: 2;
    transition: transform 0.45s ease, text-shadow 0.45s ease;
    pointer-events: none;
}

.about__img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #45494766;
    transition: background-color 0.45s ease, opacity 0.45s ease;
}

.about__item:hover .about__img::before,
.about__item:focus-visible .about__img::before {
    background-color: rgba(69, 73, 71, 0.42);
    opacity: 0;
}

@media (max-width: 768px) {
    .about__inner {
        justify-content: flex-start;
        gap: calc(var(--gap-unit)*1);
        padding: calc(var(--gap-unit)*4) calc(var(--gap-unit)*2);
        padding-top: 0;
    }

    .about__label {
        font-size: 1.5rem;
    }
}

@media (max-width: 450px) {
    .about__inner {
        flex-direction: column;
        padding: calc(var(--gap-unit)*6) var(--margin);
    }

    .about__label {
        font-size: 3rem;
    }
}




.home__support,
.company__support {
    position: relative;
}

.home__support::before,
.company__support::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/gray_bg.png);
    background-size: cover;
    background-position: top;
    background-repeat: repeat-y;
    z-index: 1;
}

.home__support::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 36/10;
    background: linear-gradient(359.73deg, rgba(255, 255, 255, 0) 15.76%, #FFFFFF 99.76%);
    z-index: 2;
}


.support__inner {
    display: flex;
    flex-direction: column;
    gap: 16rem;
    padding: 23rem var(--margin);
}

.support__area,
.support__type {
    position: relative;
    z-index: 1;
}

.area__inner {
    position: relative;
    display: flex;
    background-color: var(--bg-white-color);
    box-shadow: 0px 0px 26.3px 0px #0000004D;
    padding: 10rem 6rem 20rem 9rem;
}

.area__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.area__title {
    display: flex;
    flex-direction: column;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
}

.area__title-jp {
    font-size: var(--font-size36);
    margin-bottom: -3rem;
    padding-left: 6rem;
}

.area__title-en {
    font-size: 10rem;
}

.area__main {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--gap-unit)*3.5) calc(var(--gap-unit)*4.5);
    z-index: 1;
}

.area__item {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size24);
    font-weight: 500;
    color: var(--bg-black-color);
    line-height: 1;
    width: 22rem;
    padding: calc(var(--gap-unit)*2.5);
    background-color: var(--bg-white-color);
    border: 2px solid #FF8228;
}

.area__map {
    position: absolute;
    bottom: 0;
    right: 6rem;
    display: flex;
    width: 54rem;
}

.area__map img {
    width: 100%;
}

@media (max-width: 768px) {
    .area__inner {
        flex-direction: column;
        padding: 5rem 2.5rem;
    }

    .area__map {
        top: 10%;
        height: 90%;
        right: 1rem;
        width: auto;
        margin-left: auto;
    }

    .area__map img {
        width: auto;
        height: 100%;
    }

    .area__content {
        gap: calc(var(--gap-unit)*8);
    }

    .area__item {
        width: auto;
    }

    .area__title-en {
        font-size: 4rem;
    }

    .area__title-jp {
        margin-bottom: -1rem;
        padding-left: 3rem;
    }

    .area__main {
        gap: calc(var(--gap-unit)*2);
    }

    .area__item {
        font-size: var(--font-size20);
    }
}

@media (max-width: 450px) {
    .area__inner {
        flex-direction: column;
        padding: 8rem 2rem 4rem;
    }

    .area__map {
        top: 15%;
        height: auto;
        right: 0;
        width: 80%;
    }

    .area__map img {
        width: 100%;
        height: auto;
    }

    .area__content {
        gap: calc(var(--gap-unit)*7);
    }

    .area__title-en {
        font-size: 6rem;
    }

    .area__title-jp {
        font-size: var(--font-size20);
        margin-bottom: -1rem;
        padding-left: 3rem;
    }

    .area__main {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--gap-unit)*2);
    }

    .area__item {
        font-size: var(--font-size18);
    }
}

.type__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: calc(var(--gap-unit)*7);
}

.type__title {
    display: flex;
    flex-direction: column;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    margin: 0 auto;
}

.type__title-jp {
    font-size: var(--font-size36);
    margin-bottom: -3rem;
    padding-left: 9rem;
}

.type__title-en {
    font-size: 8rem;
}

.type__title-en span {
    font-size: 10rem;
}

.type__lead {
    font-size: var(--font-size24);
    font-weight: 500;
    line-height: 1;
    text-align: center;
    margin-top: calc(var(--gap-unit)*2);
}

.type__content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--gap-unit)*6) calc(var(--gap-unit)*3);
}

.type__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*4);
    padding: calc(var(--gap-unit)*5) calc(var(--gap-unit)*8);
    padding-left: calc(var(--gap-unit)*3);
    background-color: var(--bg-white-color);
    box-shadow: 0px 0px 26.3px 0px #0000004D;
}

.type__number {
    font-size: 9.6rem;
    font-family: var(--fontS);
    font-weight: 400;
    line-height: .5;
    color: var(--bg-yellow-color);
}

.type__line {
    position: relative;
    height: 1px;
    width: 100%;
}

.type__line::before {
    content: '';
    position: absolute;
    top: 0;
    left: -12%;
    width: 85%;
    height: 1px;
    background-color: var(--bg-font-color);
    rotate: -41.28deg;
}

.type__subtitle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*1.5);
    text-align: center;
    color: #303030;
    margin-left: auto;
}

.type__subtitle-jp {
    font-size: var(--font-size36);
    font-weight: bold;
    line-height: 1;
}

.type__subtitle-en {
    font-size: var(--font-size24);
    font-weight: 500;
}

@media (max-width: 768px) {
    .support__inner {
        padding: 10rem var(--margin);
        gap: 6rem;
    }

    .type__inner {
        gap: calc(var(--gap-unit)*6);
    }

    .type__content {
        gap: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2);
    }

    .type__number {
        font-size: 3.5rem;
    }

    .type__item {
        padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*3);
    }

    .type__subtitle-jp {
        font-size: var(--font-size20);
    }

    .type__subtitle-en {
        font-size: var(--font-size14);
    }

    .type__line::before {
        top: -100%;
        left: -20%;
        width: 110%;
    }

    .type__lead {
        font-size: var(--font-size18);
    }

    .area__title-jp {
        font-size: var(--font-size24);
    }

    .type__title-en {
        font-size: 3rem;
    }

    .type__title-en span {
        font-size: 4rem;
    }

    .type__title-jp {
        font-size: var(--font-size26);
        padding-left: 5rem;
        margin-bottom: -1rem;
    }
}

@media (max-width: 450px) {
    .support__inner {
        padding: 10rem var(--margin);
        gap: 8rem;
    }

    .type__inner {
        gap: calc(var(--gap-unit)*5);
    }

    .type__content {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2);
    }

    .type__number {
        font-size: 6rem;
    }

    .type__item {
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*3) calc(var(--gap-unit)*2) calc(var(--gap-unit)*2);
    }

    .type__subtitle {
        gap: calc(var(--gap-unit)*1);
    }

    .type__subtitle-jp {
        font-size: var(--font-size18);
    }

    .type__subtitle-en {
        font-size: var(--font-size14);
    }

    .type__lead {
        font-size: var(--font-size16);
        line-height: 1.6;
    }

    .type__title-en {
        font-size: 5rem;
    }

    .type__title-en span {
        font-size: 6rem;
    }

    .type__title-jp {
        font-size: var(--font-size20);
        padding-left: 5rem;
        margin-bottom: -1rem;
    }
}

.style__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*10);
}

.sec__title--style {
    justify-content: center;
    align-items: center;
}

.sec__title--style .sec__title-jp,
.sec__title--style .sec__title-en {
    font-weight: 600;
    margin: 0;
    line-height: 1.5;
}

.style__content {
    display: flex;
    flex-direction: column;
}

.style__item {
    position: relative;
    display: flex;
    width: 100%;
}

.style__img {
    display: flex;
    width: 100%;
    overflow: hidden;
}

.style__img img {
    width: 100%;
    transform-origin: center center;
}

.style__des {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 42%;
    height: 100%;
    background-color: #000000B2;
    font-size: var(--font-size20);
    color: var(--bg-white-color);
    padding: calc(var(--gap-unit)*5);
    overflow: hidden;
    backface-visibility: hidden;
}

.line01 {
    text-align: left;
}

.line02 {
    text-align: center;
}

.line03 {
    text-align: right;
}

.style__des span {
    font-size: 4.8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.4;
}

.style__item:nth-child(even) .style__des {
    right: 0;
    left: unset;
}

.style__btn {
    margin-top: calc(var(--gap-unit)*5);
}

@media (max-width: 768px) {
    .style__des span {
        font-size: 1.5rem;
    }

    .style__des {
        font-size: var(--font-size16);
        width: 50%;
    }
}

@media (max-width: 450px) {
    .style__content {
        width: 100%;
    }

    .style__item {
        aspect-ratio: 2/1;
    }

    .style__img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .style__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .style__des span {
        font-size: 2.8rem;
    }

    .style__des {
        position: relative;
        font-size: var(--font-size16);
        width: 100%;
        z-index: 1;
        padding: calc(var(--gap-unit)*3);
    }
}


.home__news {
    background-color: #EAEAEA;
}

.news__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.news__title {
    display: flex;
    flex-direction: column;
    font-size: 8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
}

.news__title span {
    font-size: 10rem;
}

.news__title .news__title-mark {
    font-size: 4.5rem;
}

.news__title-line02 {
    margin-left: 20rem;
    margin-top: -5.5rem;
}

.news__btn {
    margin-left: auto;
    margin-top: calc(var(--gap-unit)*3);
}

@media (max-width: 768px) {
    .news__btn {
        margin-top: calc(var(--gap-unit)*5);
    }

    .news__title {
        font-size: 3rem;
    }

    .news__title span {
        font-size: 4rem;
    }

    .news__title-line02 {
        margin-top: -1rem;
        margin-left: 8rem;
    }

    .news__title .news__title-mark {
        font-size: 2rem;
    }

    .news__btn {
        margin-top: 0;
    }
}


@media (max-width: 450px) {
    .news__title {
        font-size: 4.5rem;
    }

    .news__title span {
        font-size: 6rem;
    }

    .news__title-line02 {
        margin-top: -1rem;
        margin-left: 10rem;
    }

    .news__title .news__title-mark {
        font-size: 5rem;
    }
}



















/* ----------page strength--------- */
.feature__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*12);
    padding: 0 var(--margin);
}

.feature__item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*7);
}

.feature__main {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.feature__top {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: calc(var(--gap-unit)*8);
    z-index: 1;
}

.feature__item:nth-child(even) .feature__top {
    flex-direction: row-reverse;
}

.feature__img {
    display: flex;
    width: 50%;
    overflow: hidden;
    backface-visibility: hidden;
}

.feature__img img {
    display: block;
    width: 100%;
}

.feature__des {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*6);
    padding-left: calc(var(--gap-unit)*4);
    z-index: 1;
}

.feature__item:nth-child(even) .feature__main {
    padding-left: 8rem;
}

.feature__des::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 75%;
    background-color: var(--bg-font-color);
}

.feature__meta {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
}

.feature__num {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 500;
    line-height: 1;
}

.feature__title {
    font-size: var(--font-size30);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.4;
}

.feature__title span {
    font-size: var(--font-size26);
}

.feature__txt {
    font-size: var(--font-size20);
    line-height: 1.8;
}

.feature__des .feature__txt {
    padding-left: calc(var(--gap-unit)*4);
    padding-right: calc(var(--gap-unit)*5);
}

.feature__item:nth-child(even) .feature__des .feature__txt {
    padding-right: 0;
}

.feature__txt span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.feature__bg {
    position: absolute;
    background-color: #D9D9D980;
    overflow: hidden;
    z-index: 0;
}

.feature__bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: #EAEAEA;
    transform-origin: right center;
    pointer-events: none;
}

.feature__item:nth-child(even) .feature__bg-overlay {
    transform-origin: left center;
}

.feature__btm {
    position: relative;
    z-index: 1;
}

.feature__item--no1 .feature__img {
    padding-top: 9rem;
}

.feature__item--no1 .feature__btm {
    padding: 0 6rem 2rem 22rem;
}

.feature__item--no1 .feature__bg {
    bottom: 0;
    right: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 12rem);
}

.feature__item--no2 .feature__bg {
    bottom: 0;
    left: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 12rem);
    background-color: #D9D9D980;
}

.feature__item--no2 .feature__btm {
    padding: 0 18rem 3rem 6rem;
}

.feature__item--no3 .feature__des {
    padding-left: calc(var(--gap-unit)*6);
}

.feature__item--no3 .feature__txt {
    padding-left: 0;
}

.feature__item--no3 .feature__btm {
    padding: 0 6rem 2rem 22rem;
}

.feature__item--no3 .feature__bg {
    bottom: 0;
    right: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 11rem);
}

.feature__item--no3 .feature__img {
    padding-top: 8rem;
}

.feature__portals {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.feature__portals-label {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size20);
    font-weight: bold;
    color: var(--bg-yellow-color);
    padding: calc(var(--gap-unit)*.5) calc(var(--gap-unit)*5);
    background-color: var(--bg-white-color);
    border: 2px solid var(--bg-yellow-color);
    border-radius: 999px;
}

.feature__portals-content {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*6);
    width: 100%;
    padding: calc(var(--gap-unit)*5) calc(var(--gap-unit)*3) calc(var(--gap-unit)*5);
    box-shadow: 0px 3px 20px 0px #36558133;
    border-top: calc(var(--gap-unit)*.8) solid var(--bg-yellow-color);
    margin-top: -2.5rem;
}

.feature__portals-item {
    flex: 1;
    display: flex;
}

.feature__portals-item img {
    width: 100%;
}

.feature__portals-txt {
    font-size: var(--font-size24);
    font-weight: 500;
}

.feature__item--no4 .feature__bg {
    top: 13rem;
    left: 0;
    width: calc(100% - 14rem);
    height: 32rem;
}

.feature__item--no4 .feature__img {
    padding-top: 18rem;
}

.feature__item--no5 .feature__img {
    padding-top: 8rem;
}

.feature__item--no5 .feature__bg {
    bottom: 0;
    right: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 11rem);
}

.feature__item--no5 .feature__txt {
    padding-bottom: calc(var(--gap-unit)*5);
    padding-left: 0;
}

.feature__item--no6 .feature__bg {
    bottom: 0;
    left: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 11rem);
}

.feature__item--no6 .feature__img {
    padding-top: 4rem;
}

.feature__item--no6 .feature__btm {
    padding: 0 17rem 3rem 6rem;
}

.feature__item--no7 {
    padding-top: 10rem;
}

.feature__item--no7 .feature__des .feature__txt {
    padding-left: calc(var(--gap-unit)*2);
}

.feature__item--no7 .feature__bg {
    bottom: 0;
    right: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 14rem);
}

.feature__item--no7 .feature__btm {
    padding: 0 3rem 2rem 19rem;
}

.feature__item--no8 .feature__top {
    gap: calc(var(--gap-unit)*4);
}

.feature__item--no8 .feature__img {
    padding-top: 4rem;
}

.feature__item--no8 .feature__des .feature__txt {
    padding-left: 0;
}

.feature__item--no8 .feature__btm {
    padding: 0 20rem 4rem 3rem;
}

.feature__item--no8 .feature__bg {
    bottom: 0;
    left: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 14rem);
}

.feature__item--no9 .feature__des .feature__txt {
    padding-left: 0;
}

.feature__item--no9 .feature__btm {
    padding: 0 3rem 4rem 20rem;
}

.feature__item--no9 .feature__bg {
    bottom: 0;
    right: 0;
    width: calc(100% - 14rem);
    height: calc(100% - 14.5rem);
}

@media (max-width: 768px) {
    .feature__inner {
        padding: 0;
    }

    .feature__item {
        padding: 0 !important;
    }

    .feature__main,
    .feature__item:nth-child(even) .feature__main {
        gap: 0;
        padding: 0;
        padding-bottom: 2rem;
    }

    .feature__top,
    .feature__item:nth-child(even) .feature__top {
        flex-direction: column;
        gap: calc(var(--gap-unit)*4);
    }

    .feature__img {
        width: 100%;
    }

    .feature__meta {
        gap: calc(var(--gap-unit)*2);
    }

    .feature__des {
        padding: 0 var(--margin) !important;
        gap: calc(var(--gap-unit)*3);
    }

    .feature__txt {
        font-size: var(--font-size18);
        line-height: 2;
        padding: 0 !important;
    }

    .feature__des .feature__txt {
        padding: 0;
    }

    .strength__feature .feature__item .feature__img {
        padding: 0;
    }

    .strength__feature .feature__item .feature__btm {
        padding: 0 var(--margin);
    }

    .strength__feature .feature__item:nth-child(odd) .feature__bg {
        top: unset;
        bottom: 0;
        right: 0;
        left: unset;
        width: calc(100% - 8rem);
        height: calc(100% - 8rem);
    }

    .strength__feature .feature__item:nth-child(even) .feature__bg {
        top: unset;
        bottom: 0;
        left: 0;
        right: unset;
        width: calc(100% - 8rem);
        height: calc(100% - 8rem);
    }

    .feature__portals {
        padding: 0 var(--margin) !important;
    }

    .feature__portals-content {
        gap: calc(var(--gap-unit)*3);
        margin-top: -1rem;
    }

    .feature__portals-txt {
        font-size: var(--font-size20);
    }
}

@media (max-width: 450px) {

    .feature__top,
    .feature__item:nth-child(even) .feature__top {
        gap: calc(var(--gap-unit)*2.5);
    }

    .feature__num {
        font-size: var(--font-size28);
    }

    .feature__title {
        font-size: var(--font-size24);
    }

    .feature__title span {
        font-size: var(--font-size20);
    }

    .feature__txt {
        font-size: var(--font-size16);
    }

    .feature__main,
    .feature__item:nth-child(even) .feature__main {
        padding-bottom: 2rem;
    }

    .feature__meta {
        gap: calc(var(--gap-unit)*1.5);
    }

    .feature__des {
        gap: calc(var(--gap-unit)*2);
    }

    .strength__feature .feature__item:nth-child(odd) .feature__bg {
        width: calc(100% - 6rem);
        height: calc(100% - 6rem);
    }

    .strength__feature .feature__item:nth-child(even) .feature__bg {
        width: calc(100% - 6rem);
        height: calc(100% - 6rem);
    }

    .feature__portals-label {
        font-size: var(--font-size14);
        padding: calc(var(--gap-unit) * .5) calc(var(--gap-unit) * 2.5);
    }

    .feature__portals-content {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: calc(var(--gap-unit)*1.5);
        margin-top: -2rem;
        padding: calc(var(--gap-unit)*4) calc(var(--gap-unit)*3) calc(var(--gap-unit)*3);
    }

    .feature__portals-item {
        width: 45%;
        flex: none;
    }

    .feature__portals-txt {
        font-size: var(--font-size18);
        width: 100%;
        text-align: center;
    }
}


.strength__story-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*10);
    padding: 15rem var(--margin) 20rem;
    background-color: #FFF7EE;
}

.strength__story-border {
    position: absolute;
    left: 0;
    display: flex;
    width: 100%;
    height: 2.5rem;
}

.strength__story-border--top {
    top: 0;
}

.strength__story-border--bottom {
    bottom: 0;
}

.strength__story-border img {
    width: 100%;
}

.strength__story-content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
}

.strength__story-item {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*8);
    padding: calc(var(--gap-unit)*6) calc(var(--gap-unit)*4);
    background-color: var(--bg-white-color);
    box-shadow: 0px 0px 20px 0px #F2941B99;
}

.strength__story-item:nth-child(even) {
    flex-direction: row-reverse;
}

.strength__story-img {
    display: flex;
    width: 46%;
    overflow: hidden;
}

.strength__story-img img {
    width: 100%;
}

.strength__story-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.strength__story-meta {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
}

.strength__story-num {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 500;
    line-height: 1;
    text-decoration: underline;
    text-underline-offset: .1em;
}

.strength__story-title {
    font-size: var(--font-size36);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.4;
}

.strength__story-txt {
    font-size: var(--font-size20);
    line-height: 1.8;
}

@media (max-width: 768px) {
    .strength__story-inner {
        gap: calc(var(--gap-unit)*6);
        padding: 8rem var(--margin) 10rem;
    }

    .strength__story-border {
        height: 1.5rem;
    }

    .sec__title-jp {
        font-size: var(--font-size26);
        margin-bottom: -1.1rem;
        margin-right: -.8rem;
    }

    .sec__title-en {
        font-size: 3rem;
    }

    .sec__title-en span {
        font-size: 3.8rem;
    }

    .strength__story-item,
    .strength__story-item:nth-child(even) {
        flex-direction: column;
        gap: calc(var(--gap-unit)*3);
        padding: calc(var(--gap-unit)*4);
    }

    .strength__story-img {
        width: 100%;
    }

    .strength__story-title {
        font-size: var(--font-size32);
    }

    .strength__story-num {
        font-size: var(--font-size24);
    }

    .strength__story-txt {
        font-size: var(--font-size18);
    }
}

@media (max-width: 450px) {
    .strength__story-inner {
        gap: calc(var(--gap-unit)*6);
        padding: 10rem var(--margin);
    }

    .sec__title-jp {
        font-size: var(--font-size22);
        margin-right: -2rem;
        margin-bottom: -2.5rem;
    }

    .sec__title-en {
        font-size: 4.5rem;
    }

    .sec__title-en span {
        font-size: 6.5rem;
    }

    .strength__story-item,
    .strength__story-item:nth-child(even) {
        flex-direction: column;
        gap: calc(var(--gap-unit)*3);
        padding: calc(var(--gap-unit)*4) calc(var(--gap-unit)*2.5);
    }

    .strength__story-title {
        font-size: var(--font-size24);
    }

    .strength__story-num {
        font-size: var(--font-size18);
    }

    .strength__story-txt {
        font-size: 1.5rem;
    }
}






















/* ----------page success--------- */
.works__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*12);
}

.works__item {
    display: flex;
    padding: calc(var(--gap-unit)*8) var(--margin);
    width: 100%;
    background-color: #EBEBEB;
}

.works__item-wrap {
    display: flex;
    background-color: var(--bg-white-color);
    border-radius: calc(var(--border-radius)*2);
    overflow: hidden;
}

.works__gallery {
    display: flex;
    width: 42%;
    position: relative;
}

.works__gallery-item,
.works__gallery-img {
    display: flex;
    width: 100%;
    aspect-ratio: 5/4;
    overflow: hidden;
}

.works__gallery-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.works__gallery-slider.swiper {
    --swiper-navigation-size: 32px;
    --swiper-navigation-color: #454947;
    --swiper-pagination-color: #454947;
    --swiper-pagination-bullet-size: 8px;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.works__gallery-overlay {
    position: absolute;
    inset: 0;
    z-index: 6;
    background-color: #EAEAEA;
    pointer-events: none;
    transform-origin: right center;
}

.works__gallery-slider .swiper-slide {
    height: auto;
}

.works__gallery-slider .swiper-pagination {
    bottom: 10px;
}

.works__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*5);
}

.works__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    text-align: center;
    padding-bottom: calc(var(--gap-unit)*2);
    border-bottom: 1px solid var(--bg-font-color);
    width: 100%;
}

.works__title {
    font-size: var(--font-size30);
    font-weight: bold;
    color: var(--bg-yellow-color);
    line-height: 1;
}

.works__time {
    font-size: var(--font-size24);
    line-height: 1;
}

.works__des {
    font-size: 1.9rem;
}

.works__item .swiper-button-prev,
.works__item .swiper-button-next {
    color: var(--bg-white-color);
}

@media (max-width: 768px) {
    .works__item-wrap {
        flex-direction: column;
    }

    .works__gallery {
        width: 100%;
    }

    .works__des {
        font-size: var(--font-size20);
    }
}

@media (max-width: 450px) {
    .works__item-wrap {
        flex-direction: column;
    }

    .works__gallery {
        width: 100%;
    }

    .works__main {
        padding: calc(var(--gap-unit)*3);
    }

    .works__title {
        font-size: var(--font-size24);
        line-height: 1.6;
    }

    .works__time {
        font-size: var(--font-size20);
    }

    .works__des {
        font-size: var(--font-size16);
    }
}









/* ----------page sale--------- */
.page__title--sale {
    display: flex;
    flex-direction: row-reverse;
}

.page__title--sale .page__title-jp {
    margin-bottom: 1rem;
}

.page__lead span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.sale__step {
    background-color: #EBEBEB;
}

.sale__item {
    display: flex;
    padding-top: calc(var(--gap-unit)*8);
    background-color: var(--bg-white-color);
    margin-top: calc(var(--gap-unit)*12);
}

.sale__item:first-child {
    margin: 0;
}

.sale__img {
    display: flex;
    width: 48%;
    overflow: hidden;
    aspect-ratio: 57/61;
    border-top-left-radius: 14rem;
}

.sale__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    backface-visibility: hidden;
}

.sale__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3.5);
    padding: calc(var(--gap-unit)*6);
    padding-top: 0;
}

.sale__meta {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
    padding-bottom: calc(var(--gap-unit)*3);
    border-bottom: 1px solid var(--bg-font-color);
    padding-left: calc(var(--gap-unit)*2);
}

.sale__order {
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
}

.sale__title {
    font-size: var(--font-size32);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.3;
    color: var(--bg-yellow-color);
}

.sale__title span {
    font-size: var(--font-size26);
}

.sale__main {
    display: flex;
    flex-direction: column;
    padding-left: calc(var(--gap-unit)*2);
}

.sale__txt {
    font-size: var(--font-size20);
    font-weight: 500;
}

.sale__txt span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.sale__important {
    font-size: var(--font-size18);
    font-weight: 500;
}

.sale__important span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.sale__value {
    display: flex;
    gap: calc(var(--gap-unit)*2);
}

.sale__value-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*1);
    gap: calc(var(--gap-unit)*2);
    text-align: center;
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius)*1.5);
}

.sale__value-icon {
    display: flex;
    width: 11rem;
}

.sale__value-item:first-child .sale__value-icon {
    width: 12rem;
}

.sale__value-item:nth-child(2) .sale__value-icon {
    width: 9.5rem;
}

.sale__value-item:nth-child(3) .sale__value-icon {
    width: 10.5rem;
}

.sale__value-icon img {
    width: 100%;
}

.sale__value-main {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sale__value-title {
    font-size: var(--font-size20);
    font-weight: bold;
}

.sale__item--value .sale__main {
    gap: calc(var(--gap-unit)*3);
}

.sale__item--method .sale__main {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*7.5);
    padding-right: 4rem;
}

.sale__method {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
    width: fit-content;
    margin: 0 auto;
}

.sale__method-item {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    font-size: var(--font-size24);
    font-weight: bold;
}

.sale__method-label {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 5.2rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*4);
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius)*1.5);
}

.sale__item--prepare .sale__main {
    gap: calc(var(--gap-unit)*7.5);
    padding-right: 4rem;
}

.sale__prepare {
    display: flex;
    gap: calc(var(--gap-unit)*3);
}

.sale__prepare-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius)*1.5);
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*1.5);
    text-align: center;
    font-size: var(--font-size20);
    font-weight: bold;
}

.sale__prepare-icon {
    display: flex;
    width: 11rem;
}

.sale__prepare-item:first-child .sale__prepare-icon {
    width: 12rem;
}

.sale__prepare-item:nth-child(2) .sale__prepare-icon {
    width: 14rem;
}

.sale__prepare-item:nth-child(3) .sale__prepare-icon {
    width: 13rem;
}

.sale__prepare-icon img {
    width: 100%;
}

.sale__item--activity .sale__main {
    gap: calc(var(--gap-unit)*4);
    padding-right: 3rem;
}

.sale__activity {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.sale__activity-item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*2.5);
    font-size: var(--font-size20);
    font-weight: bold;
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius)*1.5);
    box-shadow: 4px 4px 0px 0px #F2941B;
    padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*2);
    height: 7.5rem;
}

.sale__activity-icon {
    display: flex;
}

.sale__activity-item:first-child .sale__activity-icon {
    width: 5rem;
}

.sale__activity-item:last-child .sale__activity-icon {
    width: 7.5rem;
}

.sale__activity-icon svg {
    width: 100%;
}

.sale__portals {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: calc(var(--gap-unit)*8);
}

.sale__portals-label {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size20);
    font-weight: bold;
    color: var(--bg-yellow-color);
    padding: calc(var(--gap-unit)*.5) calc(var(--gap-unit)*5);
    background-color: var(--bg-white-color);
    border: 2px solid var(--bg-yellow-color);
    border-radius: 999px;
}

.sale__portals-content {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*6);
    width: 100%;
    padding: calc(var(--gap-unit)*5) calc(var(--gap-unit)*3) calc(var(--gap-unit)*5);
    box-shadow: 0px 3px 20px 0px #36558133;
    border-top: calc(var(--gap-unit)*.8) solid var(--bg-yellow-color);
    margin-top: -2.5rem;
    background-color: var(--bg-white-color);
}

.sale__portals-item {
    flex: 1;
    display: flex;
}

.sale__portals-item img {
    width: 100%;
}

.sale__portals-txt {
    font-size: var(--font-size24);
    font-weight: 500;
}

.sale__item--sign .sale__main {
    padding-right: 4rem;
}

.sale__sign {
    display: flex;
    gap: calc(var(--gap-unit)*3);
    margin: calc(var(--gap-unit)*7.5) 0;
}

.sale__sign-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius)*1.5);
    padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*1);
    text-align: center;
    font-size: var(--font-size20);
    font-weight: bold;
}

.sale__sign-txt {
    font-size: var(--font-size16);
    font-weight: bold;
}

.sale__sign-icon {
    display: flex;
    width: 12rem;
}

.sale__sign-item:first-child {
    gap: calc(var(--gap-unit)*2);
}

.sale__sign-item:nth-child(2) .sale__sign-icon {
    width: 8rem;
}

.sale__sign-item:nth-child(3) .sale__sign-icon {
    width: 8rem;
}

.sale__sign-icon img {
    width: 100%;
}

.sale__item--purchase .sale__main {
    padding-right: 4rem;
}

.sale__purchase {
    display: flex;
    width: 43rem;
    margin: calc(var(--gap-unit)*7.5) auto;
}

.sale__purchase img {
    width: 100%;
}

.sale__item--delivery .sale__main {
    gap: calc(var(--gap-unit)*9);
}

.sale__delivery {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.sale__delivery-item {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
}

.sale__delivery-icon {
    display: flex;
    width: 5rem;
}

.sale__delivery-icon svg {
    width: 100%;
}

.sale__delivery-txt {
    font-size: 4rem;
    font-weight: bold;
    text-decoration: underline;
    text-decoration-color: var(--bg-yellow-color);
    text-underline-offset: 0.1em;
    line-height: 1;
}

@media (max-width: 768px) {
    .page__title--sale .page__title-jp {
        margin-bottom: 0.5rem;
    }

    .sale__item {
        flex-direction: column-reverse;
        padding: 0;
    }

    .sale__img {
        border-radius: 0;
        width: 100%;
        aspect-ratio: 2/1;
    }

    .sale__content {
        padding: calc(var(--gap-unit)*5);
    }

    .sale__meta {
        padding-left: 0;
        padding-bottom: calc(var(--gap-unit)*1.5);
    }

    .sale__main {
        padding: 0 !important;
    }

    .sale__order {
        font-size: 1.8rem;
    }

    .sale__value-item:first-child .sale__value-icon {
        width: 4rem;
    }

    .sale__value-item:nth-child(2) .sale__value-icon {
        width: 3.2rem;
    }

    .sale__value-item:nth-child(3) .sale__value-icon {
        width: 3.5rem;
    }

    .sale__method-label {
        font-size: 2rem;
    }

    .sale__method-item {
        font-size: var(--font-size20);
    }

    .sale__item--method .sale__main {
        gap: calc(var(--gap-unit)*5);
    }

    .sale__prepare-item:first-child .sale__prepare-icon {
        width: 4rem;
    }

    .sale__prepare-item:nth-child(2) .sale__prepare-icon {
        width: 4.7rem;
    }

    .sale__prepare-item:nth-child(3) .sale__prepare-icon {
        width: 4.3rem;
    }

    .sale__activity-item {
        height: 4rem;
    }

    .sale__activity-item:first-child .sale__activity-icon {
        width: 3rem;
    }

    .sale__activity-item:last-child .sale__activity-icon {
        width: 2.5rem;
    }

    .sale__portals-content {
        margin-top: -1.2rem;
        gap: calc(var(--gap-unit)*3);
    }

    .sale__portals-txt {
        font-size: var(--font-size18);
    }

    .sale__purchase {
        width: 60%;
        margin: calc(var(--gap-unit)*5) auto;
    }

    .sale__sign {
        margin: calc(var(--gap-unit)*5) 0;
    }

    .sale__sign-icon {
        width: 4rem;
    }

    .sale__sign-item:nth-child(2) .sale__sign-icon,
    .sale__sign-item:nth-child(3) .sale__sign-icon {
        width: 3rem;
    }

    .sale__item--delivery .sale__main {
        gap: calc(var(--gap-unit)*6);
    }

    .sale__delivery-icon {
        width: 2rem;
    }

    .sale__delivery-txt {
        font-size: 1.5rem;
    }
}

@media (max-width: 450px) {
    .sale__img {
        aspect-ratio: 1/1;
    }

    .sale__content {
        padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2.5);
    }

    .sale__order {
        font-size: 2.2rem;
    }

    .sale__title {
        font-size: var(--font-size26);
    }

    .sale__title span {
        font-size: var(--font-size24);
    }

    .sale__txt {
        font-size: var(--font-size16);
    }

    .sale__important {
        font-size: var(--font-size16);
    }

    .sale__value {
        gap: calc(var(--gap-unit));
    }

    .sale__value-title {
        font-size: var(--font-size16);
    }

    .sale__value-txt {
        font-size: var(--font-size14);
    }

    .sale__value-item:first-child .sale__value-icon {
        width: 6rem;
    }

    .sale__value-item:nth-child(2) .sale__value-icon {
        width: 4.5rem;
    }

    .sale__value-item:nth-child(3) .sale__value-icon {
        width: 5rem;
    }

    .sale__method-label {
        font-size: 3rem;
        padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*3);
        border-radius: var(--border-radius);
    }

    .sale__method-item {
        font-size: var(--font-size16);
    }

    .sale__item--prepare .sale__main {
        gap: calc(var(--gap-unit)*5);
    }

    .sale__prepare {
        gap: calc(var(--gap-unit)*1);
    }

    .sale__prepare-item {
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*1.5);
    }

    .sale__prepare-txt {
        font-size: var(--font-size14);
    }

    .sale__prepare-item:first-child .sale__prepare-icon {
        width: 7rem;
    }

    .sale__prepare-item:nth-child(2) .sale__prepare-icon {
        width: 8rem;
    }

    .sale__prepare-item:nth-child(3) .sale__prepare-icon {
        width: 7rem;
    }

    .sale__activity-item {
        height: 8rem;
        font-size: var(--font-size18);
        gap: calc(var(--gap-unit)*2);
        text-align: center;
    }

    .sale__activity-item:first-child .sale__activity-icon {
        width: 4rem;
    }

    .sale__activity-item:last-child .sale__activity-icon {
        width: 5rem;
    }

    .sale__portals-label {
        font-size: var(--font-size14);
        padding: calc(var(--gap-unit) * .5) calc(var(--gap-unit) * 2.5);
    }

    .sale__portals-content {
        margin-top: -2rem;
        gap: calc(var(--gap-unit)*2);
        flex-wrap: wrap;
        justify-content: space-between;
        padding: calc(var(--gap-unit)*4) calc(var(--gap-unit)*3) calc(var(--gap-unit)*4);
    }

    .sale__portals-item {
        flex: none;
        width: 45%;
    }

    .sale__portals-txt {
        font-size: var(--font-size18);
        width: 100%;
        text-align: center;
    }

    .sale__purchase {
        width: 80%;
    }

    .sale__sign {
        gap: calc(var(--gap-unit)*1);
    }

    .sale__sign-icon {
        width: 6rem;
    }

    .sale__sign-txt {
        font-size: 1.2rem;
    }

    .sale__sign-item:nth-child(2) .sale__sign-icon,
    .sale__sign-item:nth-child(3) .sale__sign-icon {
        width: 5rem;
    }

    .sale__item--delivery .sale__main {
        gap: calc(var(--gap-unit)*4);
    }

    .sale__delivery-item {
        gap: calc(var(--gap-unit)*1.5);
    }

    .sale__delivery-icon {
        width: 3rem;
    }

    .sale__delivery-txt {
        font-size: 2.2rem;
    }
}





.guide__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.guide__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--gap-unit)*8);
}

.guide__item {
    flex: 1;
    display: flex;
    gap: calc(var(--gap-unit)*12);
    align-items: center;
}

.guide__title {
    font-size: 4.8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    writing-mode: vertical-lr;
}

.guide__flow {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2.5);
}

.guide__flow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 7rem;
    width: 0;
    height: 95%;
    border: 1px dashed var(--bg-font-color);
}

.guide__flow-item {
    display: flex;
    align-items: flex-start;
    gap: calc(var(--gap-unit)*3);
}

.guide__flow-order {
    position: relative;
    font-size: var(--font-size30);
    font-family: var(--fontR);
    font-weight: 500;
    line-height: 1;
    padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*3);
    background-color: #FFE6C5;
    border-radius: calc(var(--border-radius));
    z-index: 1;
}

.guide__flow-txt {
    font-size: var(--font-size32);
    font-weight: 500;
}

.guide__point {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
}

.guide__point-item {
    position: relative;
    display: flex;
    align-items: center;
    font-size: var(--font-size30);
    font-weight: 500;
    line-height: 1;
    padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*3.5) calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*8);
    background-color: #FFE6C5;
    border-radius: var(--border-radius);
    width: fit-content;

}

.guide__point-icon {
    position: absolute;
    top: -1rem;
    left: 1.8rem;
    display: flex;
    width: 4.2rem;
}

.guide__point-icon svg {
    width: 100%;
}

.guide__lead {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    text-align: center;
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 600;
    line-height: 1;
}

.guide__lead-slash {
    display: flex;
    width: 5rem;
}

.guide__lead-slash svg {
    width: 100%;
}

.guide__lead-txt {
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1.5;
}

.guide__lead-txt span {
    font-size: 5rem;
    color: var(--bg-yellow-color);
}

@media (max-width: 768px) {
    .guide__content {
        gap: calc(var(--gap-unit)*5);
        align-items: flex-start;
    }

    .guide__item {
        flex-direction: column;
        width: 100%;
        gap: calc(var(--gap-unit)*5);
    }

    .guide__title {
        font-size: 1.6rem;
        writing-mode: horizontal-tb;
    }

    .guide__flow-item {
        gap: calc(var(--gap-unit)*3);
    }

    .guide__flow-txt {
        font-size: var(--font-size20);
    }

    .guide__flow-order {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*1) calc(var(--gap-unit)*2);
    }

    .guide__flow::before {
        left: 2.2rem;
    }

    .guide__point-item {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*2.5) calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*6);
    }

    .guide__point-icon {
        width: 1.8rem;
        left: .5rem;
        top: -.3rem;
    }

    .guide__point {
        gap: calc(var(--gap-unit)*6);
    }

    .guide__lead-txt {
        font-size: 1.2rem;
    }

    .guide__lead-txt span {
        font-size: 1.5rem;
    }

    .guide__lead-slash {
        width: 2rem;
    }
}

@media (max-width: 450px) {
    .guide__inner {
        gap: calc(var(--gap-unit)*8);
    }

    .guide__content {
        flex-direction: column;
        gap: calc(var(--gap-unit)*7);
        align-items: flex-start;
    }

    .guide__item {
        flex-direction: column;
        width: 100%;
        gap: calc(var(--gap-unit)*5);
    }

    .guide__title {
        font-size: 3rem;
        writing-mode: horizontal-tb;
    }

    .guide__flow-item {
        gap: calc(var(--gap-unit)*5);
    }

    .guide__flow::before {
        left: 4.5rem;
    }

    .guide__point-item {
        font-size: var(--font-size20);
        width: 100%;
        padding: calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*2.5) calc(var(--gap-unit)*1.5) calc(var(--gap-unit)*6);
    }

    .guide__point-icon {
        width: 3.5rem;
        left: 1rem;
        top: -.3rem;
    }

    .guide__point {
        gap: calc(var(--gap-unit)*3);
    }

    .guide__lead-txt {
        font-size: 1.9rem;
    }

    .guide__lead-txt span {
        font-size: 2.5rem;
    }

    .guide__lead-slash {
        width: 2rem;
    }
}









/* ----------page purchase--------- */
.page__lead--purchase span {
    color: #00993B;
}

.purchase__step {
    background-color: #EBEBEB;
}

.purchase__step .sale__title {
    color: #00993B;
}

.purchase__step .sale__txt span {
    color: #00993B;
}

.purchase__step .sale__value-item {
    background-color: #D5EBDE;
}

.purchase__step .sale__important span {
    color: #00993B;
}

.purchase__step .sale__method-label {
    background-color: #D5EBDE;
}

.sale__check {
    display: flex;
    gap: calc(var(--gap-unit)*3);
    margin: calc(var(--gap-unit)*7.5) 0;
}

.sale__check-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*2);
    background-color: #D5EBDE;
    border-radius: calc(var(--border-radius)*1.5);
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*1.5);
    text-align: center;
    font-size: var(--font-size20);
    font-weight: bold;
}

.sale__check-icon {
    display: flex;
    width: 11rem;
}

.sale__check-item:first-child .sale__check-icon {
    width: 12rem;
}

.sale__check-item:nth-child(2) .sale__check-icon {
    width: 14rem;
}

.sale__check-item:nth-child(3) .sale__check-icon {
    width: 13rem;
}

.sale__check-icon img {
    width: 100%;
}

.purchase__step .sale__delivery-txt {
    text-decoration-color: #00993B;
}

.purchase__guide .guide__flow-order {
    background-color: #D5EBDE;
}

.purchase__guide .guide__point-item {
    background-color: #D5EBDE;
}

.purchase__guide .guide__lead-txt span {
    color: #00993B;
}

@media (max-width: 768px) {
    .sale__check {
        margin: calc(var(--gap-unit)*5) 0;
        gap: calc(var(--gap-unit)*1);
    }

    .sale__check-item {
        font-size: var(--font-size18);
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*1.5);
    }

    .sale__check-icon {
        width: 4rem;
    }

    .sale__check-item:first-child .sale__check-icon {
        width: 4rem;
    }

    .sale__check-item:nth-child(2) .sale__check-icon {
        width: 4.7rem;
    }

    .sale__check-item:nth-child(3) .sale__check-icon {
        width: 4.3rem;
    }
}

@media (max-width: 450px) {
    .sale__check-item {
        font-size: var(--font-size14);
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*1.5);
    }

    .sale__check-item:first-child .sale__check-icon {
        width: 7rem;
    }

    .sale__check-item:nth-child(2) .sale__check-icon {
        width: 7rem;
    }

    .sale__check-item:nth-child(3) .sale__check-icon {
        width: 7rem;
    }
}







/* ----------page company style--------- */
.company__profile {
    position: relative;
}

.profile__table {
    display: flex;
    flex-direction: column;
    width: 70%;
    margin: 0 auto;
}

.profile__dl {
    display: flex;
    justify-content: center;
    gap: calc(var(--gap-unit)*5);
    padding: calc(var(--gap-unit)*3);
    border-bottom: 1px solid var(--bg-yellow-color);
    font-size: var(--font-size20);
    line-height: 2;
}

.profile__dl:first-child {
    padding-top: 0;
}

.profile__dt {
    width: 35%;
    text-align: right;
}

.profile__dd {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
    font-weight: bold;
}

@media (max-width: 768px) {
    .profile__table {
        width: 100%;
    }

    .profile__dl {
        font-size: var(--font-size18);
        padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*2);
    }

    .profile__dt {
        text-align: left;
    }
}

@media (max-width: 450px) {
    .profile__dl {
        flex-direction: column;
        font-size: var(--font-size16);
        padding: calc(var(--gap-unit)*2.5) calc(var(--gap-unit)*1);
        gap: calc(var(--gap-unit)*.5);
        line-height: 1.8;
    }

    .profile__dt {
        font-size: var(--font-size18);
        width: 100%;
    }

    .profile__dd {
        gap: calc(var(--gap-unit)*.5);
    }
}






.company__vision {
    position: relative;
    background: radial-gradient(132.73% 41.07% at 50% 50%, #FFFFFF 0%, #EBEBEB 100%)
        /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */
    ;
}

.vision__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*12);
    padding: 8rem var(--margin) 10rem;
}

.vision__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.vision__title {
    font-size: 8rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    text-align: right;
}

.vision__title-large {
    font-size: 10rem;
}

.vision__title-jp {
    font-size: 4rem;
}

.vision__paint {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    width: 43rem;
}

.vision__paint img {
    width: 100%;
}

.vision__content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10rem;
}

.vision__history {
    position: absolute;
    bottom: 15rem;
    left: -8rem;
    display: flex;
    width: 80rem;
    z-index: 2;
}

.history__img {
    display: flex;
    width: 100%;
}

.history__img img {
    width: 100%;
}

.history__content {
    display: none;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--gap-unit)*2);
    width: 100%;
}

.history__item {
    display: flex;
    flex-direction: column;
}

.history__year {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size18);
    line-height: 1.5;
    font-weight: bold;
    color: var(--bg-white-color);
    padding: calc(var(--gap-unit)*1) calc(var(--gap-unit)*1.5);
    background: linear-gradient(92.43deg, #FE8833 0.83%, #D6620A 96.96%);
    width: 10rem;
}

.history__txt {
    font-size: var(--font-size16);
    padding: calc(var(--gap-unit)*2);
    background-color: var(--bg-white-color);
}

.vision__philosophy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--gap-unit)*7);
    width: fit-content;
}

.philosophy__lead {
    font-size: var(--font-size32);
    font-weight: bold;
    background-color: var(--bg-white-color);
    text-align: center;
    width: fit-content;
    padding: calc(var(--gap-unit)*2.5) calc(var(--gap-unit)*5);
}

.philosophy__content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: calc(var(--gap-unit)*5);
}

.philosophy__item {
    font-size: var(--font-size22);
    line-height: 1.8;
}

.philosophy__item:first-child {
    width: 70rem;
}

.philosophy__item:nth-child(2) {
    width: 60rem;
}

.philosophy__item:nth-child(3) {
    width: 50rem;
}

.vision__office {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: calc(var(--gap-unit)*4);
}

.office__txt {
    font-size: var(--font-size24);
    text-align: center;
    font-weight: bold;
    padding-right: 4rem;
}

.office__txt span {
    font-size: var(--font-size28);
    background-color: #FFE6C5;
    padding: calc(var(--gap-unit)*.5) calc(var(--gap-unit)*2);
    display: inline-flex;
}

.office__img {
    display: flex;
    width: 100rem;
}

.office__img picture {
    display: flex;
}

.office__img img {
    width: 100%;
}

@media (max-width: 768px) {
    .vision__inner {
        padding: 6rem var(--margin);
        gap: calc(var(--gap-unit)*9);
    }

    .vision__content {
        gap: calc(var(--gap-unit)*6);
    }

    .vision__title {
        font-size: 3rem;
    }

    .vision__title-large {
        font-size: 4rem;
    }

    .vision__title-jp {
        font-size: 2rem;
    }

    .vision__paint {
        display: none;
    }

    .history__img {
        display: none;
    }

    .vision__philosophy {
        gap: calc(var(--gap-unit)*3);
    }

    .philosophy__lead {
        font-size: var(--font-size28);
    }

    .philosophy__content {
        gap: calc(var(--gap-unit)*3);
    }

    .philosophy__item {
        font-size: var(--font-size18);
        width: 100% !important;
    }

    .vision__history {
        position: static;
        width: 100%;
    }

    .vision__office {
        gap: calc(var(--gap-unit)*3);
        align-items: center;
    }

    .office__img {
        width: 100%;
    }

    .office__txt {
        padding-right: 0;
    }

    .office__txt {
        font-size: var(--font-size22);
    }

    .office__txt span {
        font-size: var(--font-size26);
        padding: calc(var(--gap-unit)*.5) calc(var(--gap-unit)*1);
    }

    .history__content {
        display: grid;
    }
}

@media (max-width: 450px) {
    .vision__title {
        font-size: 4rem;
    }

    .vision__title-large {
        font-size: 5rem;
    }

    .history__content {
        grid-template-columns: 1fr;
    }

    .history__year {
        width: 100%;
        padding: calc(var(--gap-unit)*1) calc(var(--gap-unit)*1);
    }

    .history__txt {
        font-size: 1.7rem;
    }

    .philosophy__lead {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*1);
    }

    .philosophy__content {
        gap: calc(var(--gap-unit)*2);
    }

    .philosophy__item {
        font-size: var(--font-size16);
    }

    .office__txt span {
        font-size: var(--font-size22);
    }

    .office__txt {
        font-size: var(--font-size18);
    }
}


.company__access {
    position: relative;
}

.access__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.access__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
}

.access__top {
    display: flex;
    gap: calc(var(--gap-unit)*4);
}

.access__map {
    display: flex;
    width: 65%;
    aspect-ratio: 76/50;
}

.access__map iframe {
    width: 100%;
    height: 100%;
}

.access__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5.5);
}

.access__txt {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
    font-size: var(--font-size22);
    line-height: 1.8;
    font-weight: 500;
}

.access__way {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
}

.access__way-item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
}

.access__label {
    display: flex;
    align-items: flex-end;
    font-size: var(--font-size22);
    font-weight: 500;
    line-height: 1.8;
}

.access__label-txt {
    padding-left: calc(var(--gap-unit)*1.5);
    border-bottom: 1px solid var(--bg-font-color);
}

.access__way-item:first-child .access__label-icon {
    display: flex;
    width: 3rem;
}

.access__way-item:nth-child(2) .access__label-icon {
    display: flex;
    width: 3.5rem;
}

.access__label-icon svg {
    width: 100%;
}

.access__way-txt {
    font-size: var(--font-size20);
    font-weight: 500;
    line-height: 1.8;
    padding-left: 4rem;
}

.access__gallery {
    display: flex;
    gap: calc(var(--gap-unit)*1);
}

.access__img {
    flex: 1;
    display: flex;
}

.access__img img {
    width: 100%;
}

@media (max-width: 768px) {
    .access__top {
        flex-direction: column;
        gap: calc(var(--gap-unit)*2);
    }

    .access__main {
        gap: calc(var(--gap-unit)*3);
    }

    .access__map {
        width: 100%;
        aspect-ratio: 2/1;
    }

    .access__txt {
        flex-direction: row;
        font-size: var(--font-size18);
        gap: calc(var(--gap-unit)*2);
    }

    .access__txt p {
        flex: 1;
    }

    .access__label {
        font-size: var(--font-size18);
    }

    .access__way-item:first-child .access__label-icon {
        width: 1.5rem;
    }

    .access__way-item:nth-child(2) .access__label-icon {
        width: 1.7rem;
    }

    .access__way-txt {
        font-size: var(--font-size18);
        padding-left: 2rem;
    }
}

@media (max-width: 450px) {
    .access__inner {
        gap: calc(var(--gap-unit)*8);
    }
    .access__top {
        gap: calc(var(--gap-unit)*2);
    }

    .access__main {
        flex-direction: column;
    }

    .access__map {
        aspect-ratio: 3/2;
    }

    .access__txt {
        flex-direction: column;
        font-size: var(--font-size16);
        gap: calc(var(--gap-unit)*1);
    }

    .access__txt p {
        flex: 1;
    }

    .access__label {
        font-size: var(--font-size16);
    }

    .access__way {
        gap: calc(var(--gap-unit)*1.5);
    }

    .access__way-item:first-child .access__label-icon {
        width: 2rem;
    }

    .access__way-item:nth-child(2) .access__label-icon {
        width: 2.5rem;
    }

    .access__way-txt {
        font-size: var(--font-size16);
        padding-left: 3.5rem;
        line-height: 1.6;
    }

    .access__gallery {
        flex-direction: column;
    }
}



/* ----------page service style--------- */
.page__title--service {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}

.page__title--service .page__title-jp {
    margin-left: 7rem;
    line-height: 1.3;
}

.service__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*12);
}

.service__item {
    display: flex;
    background-color: #EBEBEB;
}

.service__item:nth-child(even) {
    flex-direction: row-reverse;
}

.service__left {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: calc(var(--gap-unit)*5);
}

.service__txt {
    font-size: var(--font-size22);
    font-weight: 500;
    line-height: 2.2;
}

.service__txt span {
    font-weight: bold;
    color: var(--bg-yellow-color);
}

.service__right {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
    width: 48%;
    margin-bottom: calc(var(--gap-unit)*5);
    background-color: var(--bg-white-color);
}

.service__img {
    display: flex;
    width: 100%;
    overflow: hidden;
}

.service__item:nth-child(odd) .service__img {
    border-bottom-left-radius: 15rem;
}

.service__item:nth-child(even) .service__img {
    border-bottom-right-radius: 15rem;
}

.service__img img {
    width: 100%;
}

.service__meta {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*1.5);
    padding-bottom: calc(var(--gap-unit)*3);
    padding-left: calc(var(--gap-unit)*5);
}

.service__order span {
    font-size: var(--font-size24);
    line-height: 1.2;
}

.service__order {
    display: flex;
    flex-direction: column;
    text-align: center;
    font-size: 6.5rem;
    font-family: var(--fontR);
    font-weight: 500;
    line-height: .8;
}

.service__title {
    font-size: var(--font-size32);
    font-family: var(--fontT);
    font-weight: bold;
    color: var(--bg-yellow-color);
    line-height: 1.3;
}

.service__item--no1 .service__left {
    padding-top: calc(var(--gap-unit)*7.5);
}

@media (max-width: 768px) {
    .page__title--service .page__title-jp {
        margin-left: 3rem;
    }

    .service__item,
    .service__item:nth-child(even) {
        flex-direction: column-reverse;
    }

    .service__right {
        width: 100%;
        margin: 0;
        background-color: transparent;
        gap: calc(var(--gap-unit)*4);
    }

    .service__item:nth-child(even) .service__img,
    .service__item:nth-child(odd) .service__img {
        border-radius: 0;
    }

    .service__order {
        font-size: 3rem;
    }

    .service__meta {
        padding: 0 calc(var(--gap-unit)*3);
    }

    .service__left,
    .service__item--no1 .service__left {
        padding: calc(var(--gap-unit)*3);
    }

    .service__txt {
        font-size: var(--font-size18);
        line-height: 1.8;
    }
}

@media (max-width: 450px) {
    .page__title--service .page__title-en {
        font-size: 4.5rem;
    }

    .page__title--service .page__title-jp {
        margin-left: 3rem;
    }

    .page__title--service .page__title-en span {
        font-size: 6rem;
    }

    .page__title--service .page__title-jp {
        font-size: 2.3rem;
        line-height: 1.6;
    }

    .service__item,
    .service__item:nth-child(even) {
        flex-direction: column-reverse;
    }

    .service__right {
        gap: calc(var(--gap-unit)*2.5);
    }

    .service__item:nth-child(even) .service__img,
    .service__item:nth-child(odd) .service__img {
        border-radius: 0;
    }

    .service__order span {
        font-size: var(--font-size18);
    }

    .service__order {
        font-size: 4.5rem;
    }

    .service__title {
        font-size: var(--font-size26);
    }

    .service__meta {
        padding: 0 calc(var(--gap-unit)*2.5);
        flex-direction: column;
        align-items: flex-start;
    }

    .service__left,
    .service__item--no1 .service__left {
        padding: calc(var(--gap-unit)*2.5);
    }

    .service__txt {
        font-size: var(--font-size16);
    }
}















/* ----------page blog--------- */
.post__list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*6);
}

.post__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--gap-unit)*4);
    padding: calc(var(--gap-unit)*4);
    background-color: var(--bg-white-color);
    box-shadow: 0px 0px calc(var(--gap-unit)*2) 0px #00000080;
    text-decoration: none;
    color: inherit;
    transition:
        transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        box-shadow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.post__item:hover {
    transform: translateY(-6px);
    box-shadow:
        0 calc(var(--gap-unit) * 1.5) calc(var(--gap-unit) * 4) rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(242, 148, 27, 0.15);
}

.post__item:focus-visible {
    transform: translateY(-6px);
    box-shadow:
        0 calc(var(--gap-unit) * 1.5) calc(var(--gap-unit) * 4) rgba(0, 0, 0, 0.12),
        0 0 0 2px var(--bg-yellow-color);
    outline: none;
}

.post__img {
    width: 30%;
    aspect-ratio: 36/26;
    background-color: #D9D9D9;
    overflow: hidden;
    flex-shrink: 0;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden;
}

.post__img img {
    width: 100%;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.post__item:hover .post__img img,
.post__item:focus-visible .post__img img {
    transform: scale(1.05);
}

.post__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1);
}

.post__date {
    font-size: var(--font-size18);
    color: var(--bg-yellow-color);
}

.post__title {
    font-size: var(--font-size32);
    font-weight: bold;
    color: var(--bg-font-color);
    transition: color 0.3s ease;
}

.post__item:hover .post__title,
.post__item:focus-visible .post__title {
    color: var(--bg-yellow-color);
}

.post__txt {
    font-size: var(--font-size20);
    color: var(--bg-font-color);
}

@media (prefers-reduced-motion: reduce) {
    .post__item,
    .post__img,
    .post__title {
        transition: none;
    }

    .post__item:hover,
    .post__item:focus-visible {
        transform: none;
    }

    .post__item:hover .post__img,
    .post__item:focus-visible .post__img {
        transform: none;
    }
}

@media (max-width: 768px) {
    .post__item {
        display: flex;
        gap: calc(var(--gap-unit)*3);
        padding: calc(var(--gap-unit)*3);
    }

    .post__date {
        font-size: var(--font-size14);
    }

    .post__title {
        font-size: var(--font-size24);
        line-height: 1.4;
    }

    .post__txt {
        font-size: var(--font-size16);
    }
}


@media (max-width: 450px) {
    .post__item {
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    .post__img {
        width: 100%;
        aspect-ratio: 2/1;
    }

    .post__main {
        padding: calc(var(--gap-unit)*2.5);
        gap: calc(var(--gap-unit)*1);
    }

    .post__date {
        font-size: var(--font-size14);
    }

    .post__title {
        font-size: var(--font-size24);
        line-height: 1.4;
    }

    .post__txt {
        font-size: var(--font-size16);
    }
}



















/* ----------page contact--------- */
.page__contact {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*6);
    background-color: #EAEAEA;
}

.contact__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
    padding: calc(var(--gap-unit)*13) var(--margin) calc(var(--gap-unit)*20);
}

.contact__heading {
    position: relative;
    display: flex;
    flex-direction: column;
    font-family: var(--fontT);
    color: var(--bg-white-color);
    line-height: 1.3;
    z-index: 2;
}

.contact__title {
    display: flex;
    flex-direction: column;
    font-size: var(--font-size28);
    font-weight: 600;
}

.contact__title-jp {
    font-size: 7.2rem;
    font-weight: bold;
    line-height: 1.6;
}

.contact__lead {
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: 600;
    color: var(--bg-white-color);
    line-height: 1;
}

.contact__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*8);
    padding: calc(var(--gap-unit)*12) calc(var(--gap-unit)*11) calc(var(--gap-unit)*10);
    background-color: var(--bg-white-color);
    z-index: 2;
}

.contact__form-inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*6);
}

.contact__field {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*1.5);
}

.contact__field--multi {
    gap: calc(var(--gap-unit)*3);
}

.contact__label {
    display: flex;
    gap: calc(var(--gap-unit)*1.5);
    font-size: var(--font-size22);
    font-weight: 500;
    line-height: 1.3;
}

.contact__required {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size18);
    color: var(--bg-white-color);
    padding: calc(var(--gap-unit)*0.5) calc(var(--gap-unit)*1.5);
    background-color: var(--bg-yellow-color);
}

.contact__input {
    display: flex;
    width: 100%;
    gap: calc(var(--gap-unit)*11.5);
}

.contact__input textarea {
    height: 30rem;
}

.radio__btn {
    font-size: var(--font-size20);
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: var(--gap-unit);
    width: fit-content;
    line-height: 1;
}

.radio__btn input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkbox {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.2rem;
    width: 2.2rem;
    background-color: var(--bg-white-color);
    border-radius: 3px;
    border: 1px solid var(--bg-font-color);
}

.radio__btn input:checked~.checkbox {
    background-color: transparent;
}

.checkbox:after {
    content: "";
    display: none;
}

.radio__btn input:checked~.checkbox:after {
    display: block;
}

.radio__btn .checkbox:after {
    width: 1.1rem;
    height: 1.1rem;
    background-color: var(--bg-font-color);
    border-radius: 2px;
}

.contact__input input[type='text'],
.contact__input input[type='email'],
.contact__input input[type='tel'],
.contact__input textarea {
    font-size: var(--font-size22);
    font-weight: 500;
    padding: calc(var(--gap-unit)*3) calc(var(--gap-unit)*3);
    width: 100%;
    line-height: 1;
    color: var(--bg-black-color);
    border: 1px solid var(--bg-font-color);
    border-radius: calc(var(--border-radius));
    outline: none;
}

.contact__input input:focus {
    border-color: var(--bg-yellow-color);
}

.contact__input input::placeholder {
    color: #AEAEAE;
}

.contact__submit {
    display: flex;
    justify-content: center;
}

.contact__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size28);
    font-family: var(--fontT);
    font-weight: bold;
    padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*15);
    background-color: var(--bg-yellow-color);
    border: 2px solid var(--bg-yellow-color);
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--bg-white-color);
    border-radius: calc(var(--border-radius));
}

.contact__btn:hover {
    background-color: var(--bg-white-color);
    color: var(--bg-yellow-color);
    border: 2px solid var(--bg-yellow-color);
}

.contact__warning {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*1.5);
    font-size: var(--font-size24);
    line-height: 1;
}

.contact__warning-icon {
    display: flex;
    width: 3.2rem;
}

.contact__warning-icon svg {
    width: 100%;
}

.contact__warning-txt {
    font-size: var(--font-size22);
    line-height: 1;
}

.contact__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
}

.contact__bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(93.34deg, rgba(0, 0, 0, 0.64) 28.23%, rgba(69, 73, 71, 0.3) 99.12%);
    z-index: 1;
}

.contact__bg img {
    width: 100%;
}

@media (max-width: 768px) {
    .contact__title-jp {
        font-size: 3rem;
    }

    .contact__bg {
        height: 20rem;
    }

    .contact__bg img {
        height: 100%;
        object-fit: cover;
        object-position: top;
    }

    .contact__content {
        padding: calc(var(--gap-unit)*8) calc(var(--gap-unit)*6) calc(var(--gap-unit)*6);
    }

    .contact__label {
        font-size: var(--font-size18);
    }

    .contact__required {
        font-size: var(--font-size14);
    }

    .contact__input {
        gap: calc(var(--gap-unit)*10);
    }

    .contact__input input[type='text'],
    .contact__input input[type='email'],
    .contact__input input[type='tel'],
    .contact__input textarea {
        font-size: var(--font-size20);
        padding: calc(var(--gap-unit)*2.2) calc(var(--gap-unit)*3);
    }

    .radio__btn {
        font-size: var(--font-size18);
    }

    .checkbox {
        width: 1.2rem;
        height: 1.2rem;
    }

    .radio__btn input:checked~.checkbox:after {
        width: .6rem;
        height: .6rem;
    }

    .contact__input textarea {
        height: 13rem;
    }

    .contact__btn {
        font-size: var(--font-size24);
        width: 100%;
    }

    .contact__warning-txt {
        font-size: var(--font-size18);
    }

    .contact__warning-icon {
        width: 2rem;
    }
}

@media (max-width: 450px) {
    .contact__inner {
        gap: calc(var(--gap-unit)*6);
    }

    .contact__heading {
        gap: calc(var(--gap-unit)*1);
    }

    .contact__title {
        gap: calc(var(--gap-unit)*1);
    }

    .contact__title-jp {
        font-size: 4.5rem;
    }

    .contact__title-en,
    .contact__lead {
        font-size: var(--font-size20);
    }

    .contact__bg {
        height: 40rem;
    }

    .contact__bg img {
        height: 100%;
        object-fit: cover;
        object-position: top;
    }

    .contact__content {
        padding: calc(var(--gap-unit)*7) calc(var(--gap-unit)*2) calc(var(--gap-unit)*5);
        gap: calc(var(--gap-unit)*7);
    }

    .contact__label {
        font-size: var(--font-size18);
    }

    .contact__required {
        font-size: var(--font-size14);
    }

    .contact__input {
        justify-content: space-between;
        gap: calc(var(--gap-unit)*3);
    }

    .contact__input input[type='text'],
    .contact__input input[type='email'],
    .contact__input input[type='tel'],
    .contact__input textarea {
        font-size: var(--font-size18);
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*2.5);
    }

    .radio__btn {
        font-size: var(--font-size16);
    }

    .checkbox {
        width: 2rem;
        height: 2rem;
    }

    .radio__btn input:checked~.checkbox:after {
        width: 1rem;
        height: 1rem;
    }

    .contact__input textarea {
        height: 20rem;
    }

    .contact__btn {
        font-size: var(--font-size22);
    }

    .contact__warning-txt {
        font-size: var(--font-size16);
        line-height: 1.6;
        text-align: center;
    }

    .contact__warning-icon {
        display: none;
    }
}































.footer {
    background-color: var(--bg-font-color);
}

.footer__inner {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5.5);
    padding: calc(var(--gap-unit)*12) var(--margin) calc(var(--gap-unit)*5);
}

.footer__main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(var(--gap-unit)*5);
}

.footer__left {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*10);
}

.footer__logo {
    font-size: 4rem;
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    color: var(--bg-white-color);
}

.footer__info {
    display: flex;
    flex-direction: column;
    font-size: var(--font-size22);
    color: var(--bg-white-color);
}

.footer__contact {
    display: flex;
    align-items: center;
    gap: calc(var(--gap-unit)*1.8);
}

.footer__contact-link {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--font-size20);
    font-weight: bold;
    line-height: 1.8;
    padding: 1px calc(var(--gap-unit)*2.5);
    background-color: var(--bg-white-color);
    border-radius: 999px;
    color: var(--bg-font-color);
    line-height: 1.7;
    transition:
        background-color 0.35s ease,
        color 0.35s ease,
        box-shadow 0.35s ease;
}

.footer__contact-link:hover {
    background-color: var(--bg-yellow-color);
    color: var(--bg-white-color);
    box-shadow: 0 0.25rem 0.9rem rgba(242, 148, 27, 0.45);
}

.footer__right {
    display: flex;
    justify-content: space-between;
    gap: calc(var(--gap-unit)*15);
}

.footer__item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
}

.footer__menu {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*5);
}

.footer__menu-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*3);
}

.footer__menu-label {
    font-size: var(--font-size26);
    font-family: var(--fontT);
    font-weight: bold;
    line-height: 1;
    color: var(--bg-white-color);
}

.footer__menu-link {
    position: relative;
    display: flex;
    font-size: var(--font-size18);
    font-weight: 500;
    color: var(--bg-white-color);
    line-height: 1;
    transition: color 0.3s ease;
}

.footer__menu-link::after {
    content: '';
    position: absolute;
    bottom: -3px;
    width: 0;
    height: 1px;
    background-color: var(--bg-white-color);
    transition: .3s;
}

.footer__menu-link:hover::after {
    width: 100%;
}

.footer__btns {
    display: flex;
    flex-direction: column;
    gap: calc(var(--gap-unit)*2);
}

.footer__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*1);
    font-size: var(--font-size18);
    font-weight: bold;
    color: var(--bg-font-color);
    padding: calc(var(--gap-unit)*.8) calc(var(--gap-unit)*4);
    background-color: var(--bg-white-color);
    border-radius: 9999px;
    border: 2px solid var(--bg-white-color);
    line-height: 1.3;
    cursor: pointer;
    transition:
        color 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        filter 0.35s ease;
}

.footer__btn--contact:hover,
.footer__btn--tel:hover {
    background-color: var(--bg-yellow-color);
    color: var(--bg-white-color);
    border-color: var(--bg-yellow-color);
    box-shadow: 0 0.4rem 1.6rem rgba(69, 73, 71, 0.22);
}

.footer__btn--contact:hover .footer__btn-icon svg path,
.footer__btn--tel:hover .footer__btn-icon svg path {
    fill: var(--bg-white-color);
}

.footer__btn--free {
    background-color: var(--bg-yellow-color);
    border: 2px solid var(--bg-yellow-color);
    color: var(--bg-white-color);
}

.footer__btn--free:hover {
    filter: brightness(1.08);
    box-shadow: 0 0.35rem 1.2rem rgba(242, 148, 27, 0.5);
}

.footer__btn-icon {
    display: flex;
    width: 2rem;
}

.footer__btn-icon svg {
    width: 100%;
}

.scroll__top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--gap-unit)*1.8);
    font-size: var(--font-size20);
    font-family: var(--fontT);
    font-weight: bold;
    color: var(--bg-white-color);
    padding: calc(var(--gap-unit)*.8) calc(var(--gap-unit)*4);
    cursor: pointer;
    transition: color 0.3s ease;
}

.scroll__top:hover {
    color: var(--bg-yellow-color);
}

.scroll__top:hover .scroll__top-icon svg path {
    stroke: var(--bg-yellow-color);
}

.scroll__top-icon {
    display: flex;
    width: 1rem;
}

.scroll__top-icon svg {
    width: 100%;
}

.footer__copy {
    padding-top: calc(var(--gap-unit)*6);
    text-align: center;
    color: var(--bg-white-color);
    border-top: 1px solid var(--bg-white-color);
}

@media (max-width: 768px) {
    .footer__logo {
        font-size: 1.8rem;
    }

    .footer__main {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(var(--gap-unit)*10);
    }

    .footer__info {
        display: none;
    }

    .footer__right {
        flex-direction: column;
        gap: calc(var(--gap-unit)*10);
    }

    .footer__menu-label {
        display: flex;
        align-items: center;
        gap: calc(var(--gap-unit)*1.5);
    }

    .footer__menu-label::after {
        content: '';
        display: flex;
        flex: 1;
        height: 1px;
        background-color: var(--bg-white-color);
    }

    .footer__menu-list {
        flex-direction: row;
    }

    .footer__btns {
        gap: calc(var(--gap-unit)*3);
    }

    .footer__btn {
        gap: calc(var(--gap-unit)*2);
    }

    .footer__btn-icon {
        width: 1.5rem;
    }

    .scroll__top-icon {
        width: .6rem;
    }
}

@media (max-width: 450px) {
    .footer__inner {
        gap: calc(var(--gap-unit)*5);
    }

    .footer__logo {
        font-size: 2.6rem;
    }

    .footer__main {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(var(--gap-unit)*8);
    }

    .footer__right {
        width: 100%;
        gap: calc(var(--gap-unit)*6);
    }

    .footer__menu-label {
        font-size: var(--font-size24);
    }

    .footer__menu-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .footer__menu-link {
        font-size: 1.5rem;
    }

    .footer__menu-label {
        display: flex;
        align-items: center;
        gap: calc(var(--gap-unit)*1.5);
    }

    .footer__menu-label::after {
        content: '';
        display: flex;
        flex: 1;
        height: 1px;
        background-color: var(--bg-white-color);
    }

    .footer__menu-list {
        flex-direction: row;
    }

    .footer__btns {
        gap: calc(var(--gap-unit)*2);
    }

    .footer__btn {
        padding: calc(var(--gap-unit)*1) calc(var(--gap-unit)*2);
    }

    .footer__btn-icon {
        width: 2.5rem;
    }

    .scroll__top-icon {
        width: 1rem;
    }

    .scroll__top {
        padding: calc(var(--gap-unit)*2) calc(var(--gap-unit)*2);
    }

    .footer__copy {
        font-size: var(--font-size14);
        padding-top: calc(var(--gap-unit)*4);
    }
}





/* ----------loading style--------- */
.loading {
    height: 120%;
    left: -10%;
    position: fixed;
    top: -10%;
    width: 120%;
    will-change: transform;
    z-index: 99999;
}

.loading:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    background-color: var(--bg-white-color);
}

.loading__wrap {
    height: 100%;
    width: 100%
}

.loading__inner,
.loading__wrap {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    position: relative
}

.loading__inner {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    width: 260px
}

.loading__image {
    display: flex;
    margin: 0 0 0 12px;
    position: relative;
    width: 260px
}

.loading__image img {
    width: 100%;
}

@media only screen and (max-width: 780px)and (max-width:480px) {
    .loading__image {
        margin: 0 0 0 14px;
        width: 200px
    }
}

/* ----------page single style-------- */
.pgsingle {
    background-color: #efebe4;
    padding: 40px 0;
}

.pgsingle .content {
    max-width: 900px;
    margin: 0 auto;
}

.pgsingle .breadcrumb {
    width: 100%;
}

.pgsingle .breadcrumb ul {
    display: flex;
    align-items: center;
}

.pgsingle .breadcrumb ul li:last-child {
    opacity: .75;
}

.pgsingle .breadcrumb a {
    display: flex;
    align-items: center;
    gap: 3px;
    color: var(--bg-black-color);
}

.pgsingle .breadcrumb a span {
    font-size: 13px;
    line-height: 1;
}

.pgsingle .breadcrumb svg {
    width: 18px;
    height: 18px;
}

.pgsingle .breadcrumb ul>span {
    display: flex;
    line-height: 1;
    height: 6px;
    opacity: 0.75;
    transform: rotate(45deg);
    width: 6px;
    border-right: 1px solid;
    border-top: 1px solid;
    margin: 0 9px 0 7px;
    margin-top: 2px;
}

.pgsingle .article {
    background-color: #FFF;
    padding: 30px;
    margin: 40px 0;
    border-radius: 10px;
}

.article .article_header {
    display: flex;
    align-items: center;
}

.article .article_header time {
    display: flex;
    flex-direction: column;
    padding-right: 30px;
    border-right: 2px solid #030303;
    text-align: center;
}

.article_header time>span {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}

.article_header time div {
    white-space: nowrap;
}

.article_header time div span {
    font-size: 24px;
    font-weight: 600;
}

.article .article_header h1 {
    font-weight: 600;
    font-size: 26px;
    margin-left: 30px;
}

.article .article_meta {
    display: flex;
    align-items: center;
}

.article .article_meta a {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    color: var(--bg-black-color);
}

.article .article_meta span {
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.article .article_image {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}

.article .article_image img {
    width: 100%;
}

.article main strong {
    font-weight: 700;
}

.article main h1 {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    padding-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 6px solid #5ebc35;
    display: inline-block;
}

.article main h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    padding-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 6px solid #5ebc35;
    display: inline-block;
}

.article main h3 {
    font-size: 21px;
    padding-left: 20px;
    font-weight: 700;
    line-height: 1.3;
    display: inline-block;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 5px solid #5ebc35;
}

.article main h4 {
    font-size: 20px;
    font-weight: 700;
    padding-left: 20px;
    line-height: 1.3;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 4px solid #5ebc35;
}

.article main h5 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    padding-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 3px solid #5ebc35;
}

.article main h6 {
    font-size: 14px;
    font-weight: 700;
    padding-left: 20px;
    line-height: 1.5;
    margin-top: 40px;
    margin-bottom: 20px;
    border-left: 3px solid #5ebc35;
}

.article main hr {
    width: 100%;
    margin: 0;
    border-top: 1px solid var(--bg-black-color);
    margin: 20px 0;
    margin-top: 40px;
}

.article main p {
    font-size: 15px;
    line-height: 1.6;
    margin: 20px 0;
}

.article main ul {
    list-style-type: disc;
    padding-left: 20px;
    margin: 20px 0;
}

.article main ul li {
    font-size: 16px;
    line-height: 1.6;
    list-style-type: disc;
}

.article main img {
    width: 100%;
    margin: 0 auto;
    margin: 20px 0;
    border-radius: 10px;
    overflow: hidden;
}

.article main blockquote {
    background-color: #f5f8fa;
    margin: 0;
    padding: 25px 30px;
}

.article main blockquote p {
    margin: 0;
    font-size: 16px;
}

.article main a {
    font-size: 15px;
    text-decoration: underline;
    color: var(--bg-black-color);
}

.article main a:hover {
    color: blue;
}

@media (max-width: 991px) {
    .article main h2.title strong:first-child {
        font-size: 26px;
    }

    .pgsingle .content {
        margin: 0 4vw;
    }

    .pgsingle .article {
        padding: 40px 30px;
    }
}

@media (max-width: 767px) {
    .pgsingle .breadcrumb {
        display: none;
    }

    .article .article_header {
        flex-direction: column;
        align-items: flex-start;
    }

    .article .article_header time {
        flex-direction: row;
        border: none;
        border-bottom: 2px solid #030303;
        width: 100%;
        padding-bottom: 10px;
    }

    .article .article_header h1 {
        margin: 0;
        padding-top: 10px;
    }

    .article_header time>span {
        font-size: 18px;
        font-weight: 600;
    }

    .article_header time div span {
        font-size: 18px;
        line-height: 1.6;
    }

    .article_header span:after {
        content: ".";
        font-size: 18px;
        line-height: 1.6;
        font-weight: 600;
    }

    .article_header time div :nth-child(2) {
        display: none;
    }

    .article main h1 {
        font-size: 30px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main h2 {
        font-size: 26px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main h3 {
        font-size: 20px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main h4 {
        font-size: 19px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main h5 {
        font-size: 17px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main blockquote {
        padding: 20px 30px;
    }
}

@media (max-width: 676px) {
    .pgsingle .article {
        padding: 40px 20px;
    }

    .article .article_header h1 {
        font-size: 24px;
        line-height: 1.3;
    }
}

@media (max-width: 450px) {
    .pgsingle {
        padding-top: 20px;
    }

    .pgsingle .article {
        padding: 30px 20px;
    }

    .article_header time div span,
    .article_header time>span {
        font-size: 15px;
    }

    .article .article_meta {
        margin-top: 20px;
    }

    .article .article_meta span {
        font-size: 16px;
    }

    .pgsingle .content {
        margin: 0 15px;
    }

    .article main figure.post-image {
        width: 100%;
    }

    .article .article_header h1 {
        font-size: 21px;
    }

    .article main h1 {
        font-size: 24px;
    }

    .article main h2 {
        font-size: 22px;
    }

    .article main h3 {
        font-size: 20px;
    }

    .article main h4 {
        font-size: 18px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main h5 {
        font-size: 16px;
        padding-left: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .article main p {
        font-size: 14px;
    }

    .article main ul li {
        font-size: 15px;
        line-height: 2;
    }

    .article main hr {
        margin: 15px 0;
        margin-bottom: 30px;
    }

    .article main blockquote {
        padding: 20px 15px;
    }

    .article main blockquote p {
        font-size: 15px;
    }
}

/* ---------page thanks style---------- */
.thanks {
    background-color: var(--bg-lightblue-color);
}

.page_thanks {
    background-color: var(--bg-lightblue-color);
    min-height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.thanks_content {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.thanks_content h3 {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.3;
}

.thanks_content h2 {
    font-size: 3rem;
    font-weight: 700;

}

.thanks_content a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 0 auto;
    padding: 1.8rem 8rem;
    background-color: var(--bg-black-color);
    font-size: 2rem;
    font-weight: 700;
    color: var(--bg-white-color);
    border-radius: 99999px;
    margin-top: 5rem;
    border: 2px solid var(--bg-black-color);
    transition: all .3s;
}

.thanks_content a:hover {
    background-color: transparent;
    color: var(--bg-black-color);
}

@media (max-width: 768px) {
    .thanks_content {
        gap: 20px;
        padding: 0 20px;
    }

    .thanks_content h2 {
        font-size: 1.5rem;
    }

    .thanks_content h3 {
        font-size: 1.5rem;
    }

    .thanks_content a {
        margin-top: 20px;
        padding: 15px 70px;
        font-size: 16px;
    }
}

@media (max-width: 450px) {
    .thanks_content h2 {
        font-size: 18px;
    }

    .thanks_content h3 {
        font-size: 20px;
    }

    .thanks_content a {
        font-size: 15px;
        padding: 15px 65px;
    }
}