@charset "UTF-8";
/*--------------------------------
RESET-----------------------------
----------------------------------*/
html {
    box-sizing: border-box;
    transition: all .2s;
}
*,
::before,
::after {
    box-sizing: inherit;
    transition: inherit;
}
body {
    margin: 0;
}
a {
    color: inherit;
    transition: all .3s;
}
figure,
video,
img {
    max-width: 100%;
    height: auto;
    margin: 0;
    vertical-align: middle;
}
label,
input[type="reset"] {
    cursor: pointer;
    user-select: none;
}
input,
button,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
    max-width: 100%;
}

/* 入力欄 */
textarea {
    width: 100%;
    min-height: 5em;
    padding: 0.5em 1em;
    box-sizing: border-box;
    background-color: #fff;
    border: solid 1px #E2E2E2;
}
input {
    border: solid 1px #E2E2E2;
}
input[type='submit'],
input[type='button'] {
    padding: 0.5em 1em;
    background-color: #E2E2E2;
    color: #fff;
}
input[type="text"],
input[type="number"],
input[type="email"] {
    background: #fff;
    padding: 0.75em 1em;
}
input[type='checkbox'] {
    border: solid 1px;
    width: 0.8em;
    height: 0.8em;
    vertical-align: text-top;
    position: relative;
}
input[type='checkbox']:after {
    content: "";
    position: absolute;
    left: 0.2em;
    top: -0.3em;
    width: 0.5em;
    height: 0.8em;
    border: solid #35AEB2;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}
input[type='checkbox']:checked {
    background-color: #D8F0F2;
}
input[type='checkbox']:checked:after {
    opacity: 1;
}
.select-wrap {
    position: relative;
}
select {
    border: solid 1px #E2E2E2;
    padding: 0.75em 2em 0.75em 1em;
    cursor: pointer;
    position: relative;
    color: inherit;
}
.select-wrap::after {
    content: "▼";
    font-size: 10px;
    display: inline-block;
    transform: translateY(-50%);
    position: absolute;
    right: 1em;
    top: 50%;
    pointer-events: none;
}
input[type='radio']{
    appearance: auto;
}

/* メディアクエリ */
@media (min-width:769px) {
    .sptbonly {
        display: none !important;
    }
    a.tellink{
        pointer-events: none;
    }
}
@media (min-width:426px) {
    .sponly {
        display: none !important;
    }
}
@media (max-width:768px) {
    .pconly {
        display: none !important;
    }
}
@media (max-width:425px) {
    .tbpconly {
        display: none !important;
    }
}
@media (min-width:426px) and (max-width:768px) {
    .tbnone {
        display: none !important;
    }
}

/* スクリーンリーダーを隠す */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}



/*--------------------------------
add RESET-----------------------------
----------------------------------*/
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    line-height: 1.6875;
    font-family: 'ヒラギノ角ゴシック','Hiragino Sans',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic','Avenir','Helvetica Neue','Helvetica','Arial',sans-serif;
}
main {
    flex-grow: 1;
}

/*--------------------------------
common-----------------------------
----------------------------------*/
/* text */
:root{
    --f10px:0.625rem;
    --f12px:0.75rem;
    --f14px:0.875rem;
    --f16px:1rem;
    --f18px:1.125rem;
    --f20px:1.25rem;
    --f22px:1.375rem;
    --f24px:1.5rem;
    --f26px:1.625rem;
    --f28px:1.75rem;
    --f30px:1.875rem;
    --f32px:2rem;
    --f34px:2.125rem;
    --f36px:2.25rem;
    --f38px:2.375rem;
    --f40px:2.5rem;
    --f44px:2.75rem;
    --f46px:2.875rem;
    --f60px:3.75rem;
}
.font_mont{
    font-family: 'Montserrat', sans-serif !important;
}
.font_60px{font-size: var(--f60px);}
.font_44px{font-size: var(--f44px);}
.font_40px{font-size: var(--f40px);}
.font_38px{font-size: var(--f38px);}
.font_36px{font-size: var(--f36px);}
.font_34px{font-size: var(--f34px);}
.font_32px{font-size: var(--f32px);}
.font_30px{font-size: var(--f30px);}
.font_28px{font-size: var(--f28px);}
.font_26px{font-size: var(--f26px);}
.font_24px{font-size: var(--f24px);}
.font_22px{font-size: var(--f22px);}
.font_20px{font-size: var(--f20px);}
.font_18px{font-size: var(--f18px);}
.font_16px{font-size: var(--f16px);}
.font_14px{font-size: var(--f14px);}
.font_12px{font-size: var(--f12px);}
.font_10px{font-size: var(--f10px);}

.font_center{text-align: center !important;}
.font_right{text-align: right !important;}
.font_left{text-align: left !important;}
.font_bold{font-weight: bold;}
.font_normal{font-weight: normal;}
.font_italic{font-style: italic;}

.font_blue{color: #18568F !important;}
.font_sky{color: #3DB4E5 !important;}
.font_yellow{color: #FFF500 !important;}
.font_white{color: #FFF !important;}

.txt_minus{
    text-indent: -1em;
    display: inline-block;
}
.txt_keep{
    word-break: keep-all;
}
span.br{
    display: inline-block;
}

/* marginbottom */
.mar_non{margin: 0 !important;}
.mar0px{margin-bottom: 0 !important;}
.mar10px{margin-bottom: 10px !important;}
.mar20px{margin-bottom: 20px !important;}
.mar30px{margin-bottom: 30px !important;}
.mar40px{margin-bottom: 40px !important;}
.mar50px{margin-bottom: 50px !important;}
.mar60px{margin-bottom: 60px !important;}
.mar70px{margin-bottom: 70px !important;}
.mar80px{margin-bottom: 80px !important;}
.mar90px{margin-bottom: 90px !important;}
.mar100px{margin-bottom: 100px !important;}
.mar110px{margin-bottom: 110px !important;}
.mar120px{margin-bottom: 120px !important;}
.mar130px{margin-bottom: 130px !important;}
.mar140px{margin-bottom: 140px !important;}
.mar160px{margin-bottom: 160px !important;}
.mar170px{margin-bottom: 170px !important;}
.mar200px{margin-bottom: 200px !important;}
.mar220px{margin-bottom: 220px !important;}
.mar340px{margin-bottom: 340px !important;}
.mar1-5em{margin-bottom: 1.5em !important;}
.mar2em{margin-bottom: 2em !important;}



/* laout */
:root{
    --content:min(1020px,94vw);
    --blank:calc(100vw - var(--content));
    --side:calc(var(--blank) / 2);
}
main{
    padding-right: var(--side);
    padding-left: var(--side);
}
.align_defa{
    width:var(--content);
    margin-left: auto;
    margin-right: auto;
}
.align_slim{
    width:min(800px,calc(100vw - 40px));
    margin-left: auto;
    margin-right: auto;
}
.align_full{
    width: 100vw;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
.width80{
    width: min(80px,30%);
    margin-right:auto;
    margin-left:auto;
}
.width235{
    width: min(235px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width250{
    width: min(250px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width300{
    width: min(300px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width320{
    width: min(320px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width360{
    width: min(360px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width400{
    width: min(400px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width450{
    width: min(450px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width470{
    width: min(470px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width550{
    width: min(550px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width600{
    width: min(600px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width620{
    width: min(620px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width650{
    width: min(650px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width700{
    width: min(700px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width720{
    width: min(720px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width760{
    width: min(760px,100%);
    margin-right:auto;
    margin-left:auto;
}
.width800{
    width: min(800px,100%);
    margin-right:auto;
    margin-left:auto;
}

/* clm */
:root{
    --clmgap: 0%;
    --clmnum: 1;
}
.clm{
    display: flex;
    flex-wrap: wrap;
    gap: var(--clmgap);
    --clmspace:calc(99.99% - (var(--clmgap) * (var(--clmnum) - 1)));
}
.clm.clm2{
    --clmnum: 2;
}
.clm.clm3{
    --clmnum: 3;
}
.clm.clm4{
    --clmnum: 4;
}
.clm__item{
    width: calc(var(--clmspace) / var(--clmnum));
}
.clm.gap10{
    --clmgap: min(10px,1vw);
    row-gap: 10px;
}
.clm.gap20{
    --clmgap: min(20px,1vw);
    row-gap: 20px;
}
.clm.gap30{
    --clmgap: min(30px,2vw);
    row-gap: 30px;
}
.clm.gap40{
    --clmgap: min(40px,3.5vw);
    row-gap: 30px;
}
.clm.gap50{
    --clmgap: min(50px,5vw);
    row-gap: 30px;
}
.clm.gap60{
    --clmgap: min(60px,6vw);
    row-gap: 30px;
}
.clm.gap65{
    --clmgap: min(65px,6vw);
    row-gap: 30px;
}
.clm.gap70{
    --clmgap: min(70px,7vw);
    row-gap: 30px;
}
.clm.gap80{
    --clmgap: min(80px,8vw);
    row-gap: 30px;
}

.clm__item > *:first-child{
    margin-top: 0;
}
.clm__item > *:last-child{
    margin-bottom: 0;
}

/* btn */
.btn a{
    text-decoration: none;
}

/*--------------------------------
header-----------------------------
----------------------------------*/
#header {
    position: relative;
    overflow: hidden;
    height: min(70vw,900px);
}
.header__logo {
    position: absolute;
    top: 30px;
    left: 3vw;
    width: min(289px,30vw);
}
.header__txt {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.header__txt__logo {
    width: min(341px,50vw);
}
#header h1 {
    margin: 0 0 1em;
    font-size: var(--f24px);
}
.header__txt::before,
.header__txt::after {
    content: "";
    display: block;
    width: 25vw;
    aspect-ratio: 5/7;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
}
.header__txt::before {
    background-image: url(../../images/harrison/bg01.png);
    background-position: bottom left;
    top: 0;
    left: 55%;
    transform: translateY(-100%);
}
.header__txt::after {
    background-image: url(../../images/harrison/bg02.png);
    background-position: top right;
    bottom: 0;
    right: 55%;
    transform: translateY(100%);
}

.header__img {
    height: 100%;
}
.header__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*--------------------------------
sec01-----------------------------
----------------------------------*/
#sec01{
    position: relative;
    padding: min(110px,8.5vw) 0;
}
#sec01::before {
    content: "";
    display: block;
    background-image: url(../../images/harrison/bg03.png);
    width: 15vw;
    aspect-ratio: 4/7;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-50%);
}
#sec01::after {
    content: "";
    display: block;
    border-style: solid;
    border-width: max(21px,3.2vw) max(17px,2.7vw);
    border-color: #fff transparent transparent transparent;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,99%);
    z-index: 2;
}

#sec01 h2{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5em;
    line-height: 1.35;
    margin: 0 0 1.3em;
}
#sec01 h2::after{
    content: "";
    display: block;
    width: min(200px,50%);
    height: 2px;
    background: rgb(61,180,229);
    background: linear-gradient(90deg, rgba(61,180,229,1) 0%, rgba(24,86,143,1) 100%);
}

/*--------------------------------
sec02-----------------------------
----------------------------------*/
#sec02{
    position: relative;
    background: rgb(61,180,229);
    background: linear-gradient(90deg, rgba(61,180,229,1) 0%, rgba(24,86,143,1) 100%);
    color: #fff;
    padding: min(120px,10vw) 0 min(50px,5vw);
}
#sec02::before{
    content: "";
    display: block;
    width: min(310px,50%);
    aspect-ratio: 1/1;
    background: url(../../images/harrison/bg04.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: var(--side);
    transform: translateY(-20%);
}
#sec02::after{
    content: "";
    display: block;
    width: 16vw;
    aspect-ratio: 2/3;
    background: url(../../images/harrison/bg05.png) no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(50%);
    z-index: 5;
}

#sec02 h2 {
    position: relative;
}
#sec02 .clm.clm4 {
    position: relative;
    z-index: 10;
}
#sec02 .clm__item {
    display: flex;
    flex-direction: column;
}

#sec02 .clm__item .img {
    width: 85%;
    aspect-ratio: 217/179;
    display: flex;
    align-items: flex-end;
    margin: 0 auto;
}
#sec02 .clm__item .txt {
    text-align: center;
    font-weight: bold;
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*--------------------------------
sec03-----------------------------
----------------------------------*/
#sec03{
    position: relative;
    background: rgb(237,241,244);
background: linear-gradient(90deg, rgba(237,241,244,1) 0%, rgba(237,241,244,1) 50%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    padding: min(120px,9.3vw) 0;
}
#sec03::after{
    content: "";
    display: block;
    width: 41vw;
    aspect-ratio: 528/804;
    background: url(../../images/harrison/bg07.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: 0;
}

#sec03 .sec03_desc .clm__item {
    padding-left: min(40px,3vw);
}
#sec03 .sec03_desc .clm__item:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 5vw;
}
#sec03 .logo {
    width: min(397px,77%);
}

.ttl_en{
    position: relative;
    text-align: center;
    font-weight: 400;
    line-height: 1.2;
}
.ttl_en::before {
    content: attr(data-en);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5em;
    width: 100%;
}

#sec03 .sec03_clm{
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    z-index: 10;
}
#sec03 .sec03_clm::after{
    content: "";
    display: block;
    width: min(50px,5vw);
    aspect-ratio: 1/1;
    background: url(../../images/harrison/img08.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
#sec03 .sec03_clm h3{
    min-height: 2.72em;
    line-height: 1.36;
    display: flex;
    align-items: center;
    justify-content: center;
}
#sec03 .sec03_clm .clm__item {
    background: #fff;
    padding: min(80px,6.5vw) min(70px,6vw);
}
#sec03 .sec03_clm .clm__item:nth-child(2) {
    background: #EDF1F4;
    position: relative;
}

/*--------------------------------
sec04-----------------------------
----------------------------------*/
#sec04 .ttl-area{
   background: url(../../images/harrison/bg06.png) no-repeat;
   background-size: cover;
   color: #fff;
   padding: min(210px,15vw) var(--side) min(45px,5vw);
}

.sec04_box {
    padding: min(170px,15vw) var(--side) 0;
    position: relative;
    z-index: 5;
}
.sec04_box:nth-of-type(odd) {
    background: rgb(255,255,255);
    background: linear-gradient(0deg, transparent 0%, transparent 70px, rgba(237,241,244,1) 70px, rgba(237,241,244,1) 100%);
}
.sec04_box:nth-of-type(even) {
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(237,241,244,1) 0%, rgba(237,241,244,1) 70px, transparent 70px, transparent 100%);
}

.sec04_box .clm__item.img {
    width: 30%;
}
.sec04_box .clm__item.txt{
    flex-grow: 1;
    position: relative;
}
.sec04_box .clm__item.txt h3{
    margin: 0 0 10px;
    line-height: 1.5;
}
.sec04_box p.num {
    font-size: min(87px,7vw);
    margin: 0;
    line-height: 1;
}

.sec04_psbox {
    display: flex;
    color: #fff;
}
.sec04_psbox p {
    margin: 0;
}
.sec04_psbox p.font_mont {
    font-weight: 600;
    margin-bottom: 10px;
}
.sec04_psbox__p {
    background: #18568F;
    padding: 30px;
    width: 37%;
    position: relative;
}
.sec04_psbox__p::after {
    content: "";
    display: block;
    border-style: solid;
    border-width: 12px 19px;
    border-color: transparent transparent transparent #18568F;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(100%,-50%);
}
.sec04_psbox__s {
    background: #3DB4E5;
    padding: 30px 30px 30px 60px;
    width: 63%;
}


.sec04_smplbox {
    background: url(../../images/harrison/bg08.png);
    background-size: 1280px;
    padding: min(210px,20vw) 0 min(110px,10vw);
    margin-top: -75px;
    position: relative;
    color: #fff;
}
.sec04_smplbox .clm {
    gap: min(48px,4vw);
}
.sec04_smplbox .clm__item.txt {
    flex-grow: 1;
    flex-basis: 0;
    align-self: flex-end;
}
.sec04_smplbox .clm__item.img {
    width: 54%;
}

.btn.yellow a {
    background: #FFE200;
    color: #18568F;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    line-height: 1;
    font-weight: bold;
}
.btn.yellow a:hover {
    background: #fff;
}

/*--------------------------------
sec05-----------------------------
----------------------------------*/
#sec05 {
    padding: min(200px,15vw) var(--side);
    background: #EDF1F4;
    overflow: hidden;
}
#sec05 .clm.clm3 {
    justify-content: center;
    row-gap: 20px;
}
#sec05 .clm__item{
    height: min(7vw,74px);
}

#sec05 .clm.clm3 img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#sec05 .inner{
    position: relative;
}
#sec05 .inner::before,
#sec05 .inner::after {
    content: "";
    display: block;
    width: min(144px,12vw);
    aspect-ratio: 95/146;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
}
#sec05 .inner::before {
    background-image: url(../../images/harrison/bg01.png);
    background-position: bottom left;
    top: -5vw;
    left: 58%;
    transform: translateY(-100%);
}
#sec05 .inner::after {
    background-image: url(../../images/harrison/bg02.png);
    background-position: top right;
    bottom: -5vw;
    right: 58%;
    transform: translateY(100%);
}

/*--------------------------------
sec06-----------------------------
----------------------------------*/
#sec06 {
    position: relative;
    background: rgb(61,180,229);
    background: linear-gradient(90deg, rgba(61,180,229,1) 0%, rgba(24,86,143,1) 100%);
    padding: min(70px,5.5vw) 0;
}

#sec06 .clm__item .btn {
    height: 100%;
}
#sec06 .clm__item a {
    background: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 3em 1em;
}
#sec06 .clm__item a p {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}
#sec06 .clm__item a:hover {
    background: #FFF500;
}
#sec06 .clm__item p.font_12px {
    width: 100%;
}

/*--------------------------------
footer-----------------------------
----------------------------------*/
footer a{
    text-decoration: none;
}


.footer_links {
    border-bottom: solid 1px #18568F;
    display: flex;
    justify-content: center;
    gap: 2em;
    padding: 1.25em;
    margin-bottom: 30px;
}
.footer_links a{
    font-weight: bold;
    color: #18568F;
}
.footer_links a:hover{
    color: #4682b9;
}




/*--------------------------------------------------------------------------------------------------------------------------------
 Break Point----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------*/
@media (max-width: 1000px) {}

@media (max-width: 768px) {
    /*--------------------------------
    common-----------------------------
    ----------------------------------*/
    /* clm */
    .clm__item{
        width: 100%;
    }
    /* font */
    :root {
        --f20px: 1.125rem;
        --f22px: 1.125rem;
        --f24px: 1.25rem;
        --f26px: 1.25rem;
        --f28px: 1.25rem;
        --f30px: 1.5rem;
        --f32px: 1.5rem;
        --f34px: 1.5rem;
        --f36px: 1.625rem;
        --f38px: 1.625rem;
        --f40px: 1.625rem;
        --f44px: 1.625rem;
        --f46px: 1.625rem;
        --f60px: 2rem;
    }
    /* marginbottom */
    .mar30px{margin-bottom: 20px !important;}
    .mar40px{margin-bottom: 20px !important;}
    .mar50px{margin-bottom: 25px !important;}
    .mar60px{margin-bottom: 25px !important;}
    .mar70px{margin-bottom: 30px !important;}
    .mar80px{margin-bottom: 30px !important;}
    .mar90px{margin-bottom: 40px !important;}
    .mar100px{margin-bottom: 50px !important;}
    .mar110px{margin-bottom: 60px !important;}
    .mar120px{margin-bottom: 60px !important;}
    .mar130px{margin-bottom: 80px !important;}
    .mar140px{margin-bottom: 80px !important;}
    .mar160px{margin-bottom: 90px !important;}
    .mar170px{margin-bottom: 90px !important;}
    .mar200px{margin-bottom: 100px !important;}
    .mar220px{margin-bottom: 100px !important;}
    .mar340px{margin-bottom: 100px !important;}
    /*--------------------------------
    header-----------------------------
    ----------------------------------*/
    #header {
        height: 90vh;
    }
    /*--------------------------------
    main-----------------------------
    ----------------------------------*/
    #sec02 {
        padding-top: min(120px,35vw);
    }
    #sec02 h2 {
        margin-bottom: 2.5em !important;
    }
    #sec02 .clm.clm4 {
        --clmnum: 2;
    }
    #sec02 .clm__item {
        width: calc(var(--clmspace) / var(--clmnum));
    }
    #sec03 .sec03_clm::after {
        content: none;
    }
    #sec03 .sec03_clm .clm__item:nth-child(2)::after {
        content: "";
        display: block;
        width: min(50px,8vw);
        aspect-ratio: 1/1;
        background: url(../../images/harrison/img08.svg) no-repeat;
        background-size: contain;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%,-50%);
    }

    .sec04_box .clm__item.img {
        width: 80%;
        aspect-ratio: 4/3;
        overflow: hidden;
    }
    .sec04_box .clm__item.img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 25%;
    }

    .sec04_box p.num {
        position: absolute;
        top: -20px;
        right: 0;
        transform: translateY(-100%);
        font-size: min(80px,25vw);
    }

    .sec04_smplbox {
        background-size: auto 100%;
    }
    .sec04_smplbox .clm {
        flex-direction: column-reverse;
        align-items: center;
        row-gap: 40px;
    }
    .sec04_smplbox .clm__item.img {
        width: 90%;
    }
    .sec04_smplbox .clm__item.txt {
        text-align: center;
    }

    #sec05 .clm.clm3 {
        gap: 20px;
    }
    #sec05 .clm__item {
        width: 46%;
    }

    #sec06 .clm__item a {
        padding: 1.5em 1em;
    }


}



@media (max-width: 425px) {
    .header__logo {
        top: 3vw;
        width: 50vw;
    }
    
    #sec02::before {
        width: min(310px,80%);
        right: 0;
        transform: translate(0,-20%);
        background-position: 25vw 0;
        background-size: auto 100%;
    }
    #sec02 .clm.clm4 {
        justify-content: center;
    }
    #sec02 .clm__item {
        width: 90%;
    }
    #sec02 .clm__item .img {
        align-items: center;
    }

    .sec04_psbox {
        flex-wrap: wrap;
    }
    .sec04_psbox__p,
    .sec04_psbox__s {
        width: 100%;
        padding: 20px;
    }
    .sec04_psbox__p::after {
        border-color: #18568F transparent transparent transparent;
        top: 100%;
        right: 50%;
        transform: translate(50%,0);
    }
    .sec04_smplbox {
        padding-top: 100px;
    }
    .ttl_en::before {
        font-size: 2em;
    }

    #sec05 p.font_center{
        text-align:left !important;
    }
    #sec05 .clm.clm3 {
        height: auto;
        flex-wrap: wrap;
        gap: 1.5em;
        margin-top: 2.5em;
    }
    #sec05 .clm__item {
        width: 60%;
        height: 3.5em;
    }
    .footer__logo {
        padding: 0 var(--side);
    }
    

}