@charset "UTF-8";
/*
Theme Name: HARERUYApremiumテーマ
Theme URI: https://xeory.jp/extension
Template: xeory_extension
Author: World Utility
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root{
    --color-base:#251e1c;
    --color-gray:#8c8c8c;
    --color-bg:#f5f7ee;

    --font-base: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    --font-mincho: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    --font-poppins: "Poppins", sans-serif;

    --px10: calc(100vw / 1920 * 10);

    --transition:all 0.3s ease;
    --transition-long:all 1.2s ease;
}

.font-mincho{
    font-family:var(--font-mincho);
}
.font-poppins{
    letter-spacing:0.22em;
    font-family:var(--font-poppins);
}

/* RESET*/
p,h1,h2,h3,h4,h5,h6,li,span,small,em,dt,dd,th,td{
    font-size:inherit;
	line-height:2;
	letter-spacing:0.0125em;
	padding:0;
	margin:0;
}
a,a:hover{
    color:var(--color-base);
    text-decoration:none;
}
ul,ol,dl{
  padding:0;
  margin:0;
}
ul{
    list-style:disc;
}
ol{
    list-style:decimal;
}
dl{
    list-style:none;
}

/* COMMON */
.center{
	text-align:center;
}
.right{
	text-align:right;
}

.flex{
	display:flex;
	flex-wrap:wrap;
}
.jc-sb{
	justify-content:space-between;
}
.jc-center{
	justify-content:center;
}
.al-center{
	align-items:center;
}
.al-end{
	align-items:flex-end;
}
.fd-row-r{
	flex-direction:row-reverse;
}
.fd-col-r{
	flex-direction:column-reverse;
}

.ps-re{
	position:relative;
}
.ps-ab{
	position:absolute;
}
.ps-fix{
	position:fixed;
}
.ps-st{
	position:sticky;
}

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

.padding-top{
    padding-top:180px;
}
.padding-tb{
    padding:100px 0;
}

.main-title{
    position:relative;
    padding-top:0px;
    padding-left:30px;
}
.main-title:not(:last-child){
    margin-bottom:50px;
}
.main-title::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:21px;
    height:21px;
    border-radius:50%;
    background:var(--color-gray);
}
.main-title.bigdot::before{
    width:58px;
    height:58px;
    background:var(--color-base);
    top:-84px;
}
.main-title__en{
    display:block;
    position:relative;
    font-size:12px;
    margin-bottom:10px;
}
.main-title__jp{
    font-size:25px;
}

.main-viewmore a{
    display:inline-flex;
    align-items:center;
    gap:50px;
    font-size:17px;
    border-bottom:1px solid var(--color-base);
}
.main-viewmore a span.icon{
    position:relative;
    display:block;
    width:21px;
    height:21px;
    background:no-repeat center/contain url('img/common/icon-circle.svg');
}
.main-viewmore a span.icon::before{
    content:'';
    position:absolute;
    left:-5px;
    top:calc(50% - 3px);
    width:17px;
    height:6px;
    background:no-repeat center/contain url('img/common/icon-arrow.svg');
    transition:var(--transition);
}
.main-viewmore a:hover span.icon::before{
    left:0;
}

.po-cursor{
    position:fixed;
    top:0;
    left:0;
    width:150px;
    height:150px;
    z-index:999999;
    border-radius:50%;
    background:rgba(37,30,28,0.9);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    user-select:none;
    transform:translateY(-500px);
}
.po-cursor::before{
    content:'MORE';
    font-family:var(--font-poppins);
    color:#FFF;
    font-size:12px;
    letter-spacing:0.22em;
}
.po-cursor.on{
    opacity:1;
}


/* LAYOUT */

html{
    font-size:var(--px10); /* 1rem = 10px/100vw */
}
body{
    color:var(--color-base);
    background:#FFF;
    font-family:var(--font-base);

    font-size:1rem;

    min-width:1280px;
}

.wrap,
body.home .wrap{
    width:100%;
    max-width:100%;
    padding:0 10rem;
    margin:0 auto;
}


/* HEADER */
.main-header{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:999;
    pointer-events:none;
}

.main-header__box{
    padding:65px 60px 0;

    display:flex;
    justify-content:space-between;
    transition:var(--transition);
}
.main-header.scrolled .main-header__box{
    padding:20px 60px 0;
}
.main-header__logo{
    pointer-events:all;
}
.main-header__logo img{
    width:216px;
    transition:var(--transition);
}
.main-header.scrolled .main-header__logo img{
    filter: drop-shadow(0 0 5px rgba(200,200,200,1));
}
.main-header__toggler a{
    pointer-events:all;
    display:block;
    width:68px;
    height:68px;
    position:relative;
    border-radius:50%;
    cursor:pointer;
    background:#FFF;
}
.main-header__toggler span{
    display:block;
    position:absolute;
    width:30px;
    height:1px;
    background:var(--color-base);
    left:19px;
    transition:var(--transition);
}
.main-header__toggler a span:nth-of-type(1){
    top:calc(50% - 5.5px);
}
.main-header__toggler a span:nth-of-type(2){
    top:calc(50% - 0.5px);
    opacity:1;
}
.main-header__toggler a span:nth-of-type(3){
    top:calc(50% + 4.5px);
}
.main-header__toggler a.open span:nth-of-type(1){
    top:calc(50% - 0.5px);
    transform:rotate(45deg);
}
.main-header__toggler a.open span:nth-of-type(2){
    opacity:0;
}
.main-header__toggler a.open span:nth-of-type(3){
    top:calc(50% - 0.5px);
    transform:rotate(-45deg);
}


/* DRAWER */
.main-drawer{
    position:fixed;
    top:0;
    right:0;

    z-index:998;

    background:#FFF;

    width:400px;
    height:100%;

    border-top-left-radius:94px;
    border-bottom-left-radius:94px;

    padding:80px;

    transition:var(--transition);
    transform:translateX(101%);
}
.main-drawer.open{
    transform:translateX(0);
}
.main-drawer__inner{
    height:100%;
    overflow-y:scroll;

    -ms-overflow-style: none;
    scrollbar-width: none;
}
.main-drawer__inner::-webkit-scrollbar{
    display:none;
}
.main-drawer__links{
    list-style:none;
}
.main-drawer__links li:not(:last-of-type){
    margin-bottom:20px;
}
.main-drawer__links li a{
    color:var(--color-base);
    font-size:19px;
}
.main-drawer__link--en{
    display:block;
    font-size:9px;
    line-height:1.1;
}


/* FOOTER */
.main-footer{
    background:var(--color-bg);
}

.main-footer__box{
    padding:7.4rem 10rem;
}

.main-footer__01{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    border-bottom:1px solid var(--color-gray);
}
.main-footer__01__box:nth-of-type(1){
    border-right:1px solid var(--color-gray);
}
.main-footer__01__box__text{
    font-size:2rem;
    line-height:calc(42 / 19);
}
.main-footer__contact__subtitle{
    font-size:19px;
    text-align:center;
    margin-bottom:10px;
}
.main-footer__contact{
    text-align:center;
}
.main-footer__contact a{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:78px;
    font-size:62px;
}
.main-footer__contact a span{
    position:relative;
    display:block;
    width:37px;
    height:37px;
    background:no-repeat center/contain url('./img/common/icon-circle.svg');
}
.main-footer__contact a span::before{
    content:'';
    position:absolute;
    width:30px;
    height:11px;
    top:calc(50% - 5.5px);
    left:-7px;
    transition:var(--transition);
    background:no-repeat center/contain url('./img/common/icon-arrow.svg');
}
.main-footer__contact a:hover span::before{
    left:0;
}

.main-footer__02{
    display:flex;
    align-items:stretch;
}

.main-footer__logobox{
    order:1;
    width:calc(690 / 1920 * 100vw);
    border-right:1px solid var(--color-gray);

    padding-top:4rem;
    padding-bottom:3rem;
    padding-right:4.6rem;
}
.main-footer__logo__subtitle{
    font-size:22px;
    margin-bottom:24px;
}
.main-footer__logo__img img{
    width:290px;
}
.main-footer__copyright{
    font-size:14px;
    margin-top:36px;
}

.main-footer__linkbox{
    order:2;
    width:calc(500 / 1920 * 100vw);
    border-right:1px solid var(--color-gray);

    padding:4rem 4.6rem 3rem;

    display:flex;
    justify-content:space-between;
}
.main-footer__links{
    list-style:none;
}
.main-footer__links li{
    font-size:14px;
}
.main-footer__links li:not(:last-child){
    margin-bottom:18px;
}

.main-footer__snsbox{
    order:3;
    width:calc(270 / 1920 * 100vw);
    border-right:1px solid var(--color-gray);

    padding:4rem 4.6rem 3rem;
}

.main-footer__exlinkbox{
    order:4;
    width:calc(460 / 1920 * 100vw);

    padding-top:4rem;
    padding-bottom:3rem;
    padding-left:4.6rem;
}


/* TOP */
.top-mv{
    position:relative;
    z-index:1;
}
.top-mv__bg{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    z-index:-1;
}
.top-mv__bg img{
    width:100%;
    min-height:100vh;
    min-height:100dvh;
    object-fit:cover;
    object-position:center;

    border-top-left-radius:9.4rem;
    border-top-right-radius:9.4rem;
}
.top-mv__content{
    padding-bottom:10rem;
}
.top-mv__content>*{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100dvh;
    color:#FFF;
    padding:6rem 0;
}
.top-mv__content__01{
    width:98rem;
    margin:0 auto;
    margin-top:calc(-100vw / 1920 * 1080);
    margin-top:-100dvh;
}
.top-mv__content__01__title{
    font-size:7.4rem;
    margin-bottom:30px;
}
.top-mv__content__01__text{
    font-size:27px;
}
.top-mv__content__02{
}
.top-mv__content__02__title{
    font-size:5rem;
    line-height:calc(80 / 50);
    margin-bottom:50px;
}
.top-mv__content__02__text{
    font-size:20px;
    line-height:calc(65 / 20);
}

.top-section__headflex{
    display:flex;
    justify-content:space-between;
    margin-bottom:60px;
}

.top-feature__slide__img{
    overflow:hidden;
}
.top-feature__slide__img img{
    aspect-ratio:573/374;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
    transform: scale(1.01);
}

.top-feature__slide a.exlink,
.blog-archive__article a.exlink .blog-archive__article__img{
    display:block;
    position:relative;
}
.top-feature__slide a.exlink::before,
.blog-archive__article a.exlink .blog-archive__article__img::before{
    content:'';
    width:36px;
    height:36px;
    background:no-repeat center/contain url('img/company/icon-mov.webp');
    position:absolute;
    top:calc(50% - 18px);
    left:calc(50% - 18px);
    z-index:2;
}

.main-slick--btn{
    position:absolute;
    width:35px;
    height:68px;
    top:calc(50% - 34px);
    z-index:1;
    cursor:pointer;
}
.main-slick--btn.prev{
    left:-40px;
    background:no-repeat center/contain url('img/common/icon-slick-prev.svg');
}
.main-slick--btn.next{
    right:-40px;
    background:no-repeat center/contain url('img/common/icon-slick-next.svg');
}

.top-concept__maintitle{
    font-size:36px;
    margin-bottom:50px;
    padding-left:30px;
}

.top-concept__link:not(:last-of-type){
    margin-bottom:50px;
}
.top-concept__link__sections{
    position:relative;
}
.top-concept__link__sections::before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    z-index:2;
    background:rgba(37,30,28,0.7);
    opacity:0;
    transition:var(--transition);
}
.top-concept__link a:hover .top-concept__link__sections::before{
    opacity:1;
}
.top-concept__link__content{
    position:absolute;
    z-index:3;
    top:0;
    left:10rem;
    color:var(--color-base);
    transition:var(--transition-long);
    width:380px;
    padding-left:30px;
}
.top-concept__link a:hover .top-concept__link__content{
    top:50%;
    transform:translateY(-50%);
    left:81.3rem;
    color:#FFF;
    padding:0;
}
.top-concept__link__image{
    position:relative;
    z-index:1;
    width:128rem;
    margin-left:auto;
}
.top-concept__link__subtitle{
    font-size:17px;
    margin-bottom:1.5em;
}
.top-concept__link__title{
    font-size:25px;
}
.top-concept__link__text{
    opacity:0;
    font-size:17px;
    margin-top:1.5em;
    transition:var(--transition-long);
}
.top-concept__link a:hover .top-concept__link__text{
    opacity:1;
}
.top-concept__link__vmtext{
    display:none;
}
.top-menus{
    display:grid;
    grid-template-columns: repeat(2,1fr);
    gap:10px;
}
.top-menu{
    position:relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
}
.top-menu__text{
    font-size:17px;
    padding-left:30px;
    margin-bottom:40px;
}
.top-menu__subtitle{
    position:absolute;
    top:0;
    right:10rem;
    z-index:2;
}
.top-menusection__menu .top-menu__text{
    padding-right:70px;
}
.top-menu__smvm,
.top-menu__modelhouse__vm{
    display:none;
}
.top-verttitle-bubbled{
    font-size:36px;
    letter-spacing:0.3em;
    pointer-events:none;
}
.top-verttitle-bubbled::before{
    content:'';
    width:80px;
    height:80px;
    border-radius:50%;
    border:1px solid var(--color-base);
    position:absolute;
    animation:infinite 8s verttitle-bubble-move;
}
.anim-revert,
.anim-revert::before{
    animation-direction:reverse;
}
@keyframes verttitle-bubble-move{
    0%{
        top:0;
        left:-40px;
    }
    40%{
        top:calc(100% - 80px);
        left:-40px;
    }
    50%{
        top:calc(100% - 80px);
        left:40px;
    }
    90%{
        top:0;
        left:40px;
    }
    100%{
        top:0;
        left:-40px;
    }
}

.top-modelhouse{
    position:relative;
    margin-top:345px;
    padding-top:130px;
    background:var(--color-bg);
}
.top-modelhouse__subtitle{
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,-50%);
}
.top-modelhouse__slide__img img{
    aspect-ratio:640/418;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}

.top-work{
    padding:140px 0;
}
.top-work__flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.top-work__flex__img{
    width:55.4rem;
}
.top-work__vm{
    padding-left:30px;
}

.top-topics{
    padding-top:135px;
    background:var(--color-bg);
}
.topics-archive__articles{
    display:grid;
    grid-template-columns:repeat(2,1fr);
}
.topics-archive__article{
    border-top:1px solid var(--color-gray);
}
.topics-archive__article:nth-of-type(2n+1){
    border-right:1px solid var(--color-gray);
}
@media only screen and (min-width:768px){
    .topics-archive__article:nth-of-type(2n):not(:last-child){
        border-bottom:1px solid var(--color-gray);
    }
}
.topics-archive__article a{
    position:relative;
    display:block;
    padding:40px 10rem;
    padding-right:20rem;
    height: 100%;
}
.topics-archive__article a:hover{
    background:var(--color-base);
    color:#FFF;
}
.topics-archive__article a span.icon{
    position:absolute;
    top:calc(50% - 17.5px);
    right:10rem;
    width:35px;
    height:35px;
    background:no-repeat center/contain url('img/common/icon-circle.svg');
    transition:var(--transition);
}
.topics-archive__article a:hover span.icon{
    filter:invert(1);
}
.topics-archive__article a span.icon::before{
    content:'';
    position:absolute;
    left:-10px;
    top:calc(50% - 5.5px);
    width:30px;
    height:11px;
    background:no-repeat center/contain url('img/common/icon-arrow.svg');
    transition:var(--transition);
}
.topics-archive__article a:hover span.icon::before{
    left:0;
}
.topics-archive__article__meta{
    display:flex;
    gap:24px;
}
.topics-archive__article--date{
    position:relative;
    font-size:14px;
}
.topics-archive__article--date::after{
    content:'';
    position:absolute;
    right:-12px;
    top:calc(50% - 7px);
    width:1px;
    height:14px;
    background:var(--color-base);
}
.topics-archive__article--cat{
    font-size:14px;
}
.topics-archive__article--title{
    font-size:20px;
}

.top-architect__box{
    position:relative;
}
.top-architect__box a{
    display:block;
    min-height:800px;
}
.top-architect__box__bg{
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-top-left-radius:9.4rem;
    border-top-right-radius:9.4rem;
    overflow:hidden;
}
.top-architect__box__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.top-architect__box__title{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3rem;
}
.top-architect__box__title p{
    color:#FFF;
    font-size:10.4rem;
    font-weight:500;
    font-style:italic;
    letter-spacing:0.02em;
    line-height:1;
    white-space:nowrap;
}
.top-architect__box__title h2{
    font-size:33px;
}
.top-architect__box__subtitle{
    position:absolute;
    top:10rem;
    right:10rem;
}
.top-architect__box__subtitle p{
    font-size:4.4rem;
    letter-spacing:0.3em;
}

.blog-archive__articles{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6.5rem 5.6rem;
}
.blog-archive__article a{
    display:block;
    position:relative;
    padding-bottom:70px;
    border-bottom:1px solid var(--color-gray);
}
.blog-archive__article a span.icon{
    position:absolute;
    bottom:10px;
    right:0;
    width:35px;
    height:35px;
    background:no-repeat center/contain url('img/common/icon-circle.svg');
    transition:var(--transition);
}
.blog-archive__article a span.icon::before{
    content:'';
    position:absolute;
    left:-10px;
    top:calc(50% - 5.5px);
    width:30px;
    height:11px;
    background:no-repeat center/contain url('img/common/icon-arrow.svg');
    transition:var(--transition);
}
.blog-archive__article a:hover span.icon::before{
    left:0;
}
.blog-archive__article__img img{
    aspect-ratio:387/253;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.blog-archive__article__img{
    margin-bottom:10px;
}
.blog-archive__article__meta{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:10px;
}
.blog-archive__article--date{
    position:relative;
    font-size:14px;
}
.blog-archive__article--date::after{
    content:'';
    position:absolute;
    top:calc(50% - 7px);
    right:-10px;
    width:1px;
    height:14px;
    background:var(--color-base);
}
.blog-archive__article--cat{
    font-size:14px;
}
.blog-archive__article--title{
    font-size:20px;
}



/* PAGE */
.page-mv{
    position:relative;
    height:89rem;
}
.page-mv__img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-top-left-radius:9.4rem;
    border-top-right-radius:9.4rem;
    overflow:hidden;
    z-index:1;
}
.page-mv__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.page-mv__title{
    position:absolute;
    top:55%;
    left:23rem;
    z-index:2;
}
.page-mv__title p{
    font-size:12px;
}
.page-mv__title h1{
    font-size:26px;
}
.page-head__title{
    text-align:center;
    font-size:36px;
}
.page-head__text{
    font-size:17px;
    text-align:center;
    margin-top:30px;
}


.page-head__ankers{
    margin-top:100px;
    display:flex;
    justify-content:center;
}
.page-head__anker{
    border-left:1px solid var(--color-base);
}
.page-head__anker:last-child{
    border-right:1px solid var(--color-base);
}
.page-head__anker a{
    display:block;
    width:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
}
.page-head__anker__num{
    font-size:21px;
}
.page-head__anker__text{
    font-size:11px;
    line-height:1;
}
.page-head__anker__text em{
    font-style:normal;
    font-size:19px;
}
.page-head__anker a span.icon{
    display:block;
    width:16px;
    height:8px;
    background:no-repeat center/contain url('img/common/icon-angledown.svg');
    transition:var(--transition);
}
.page-head__anker a:hover span.icon{
    transform:translateY(5px);
}



/* CONCEPT */
.concept-section__head{
    display:flex;
}
.concept-section__head__img{
    width:62.5%;
}
.concept-section__head__content{
    width:37.5%;
    display:flex;
    align-items:flex-end;
}
.concept-section__head__content__wrapper{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:6rem;
}
.concept-section__head__content__head--num{
    font-size:3.2rem;
}
.concept-section__head__content__head--text{
    font-size:17px;
}
.concept-section__head__content__title{
    font-size:3.5rem;
}
.concept-section__head__content__text{
    font-size:17px;
    width:100%;
    max-width:400px;
}

.concept-s01__sec01__flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.concept-s01__sec01__flex__img{
    width:calc(86rem + 24rem);
    padding:0 12rem;
}
.concept-s01__sec01__flex__content{
    padding-right:10rem;
}
.concept-s01__sec01__flex__content .concept-section__innersec__text{
    width:100%;
    max-width:40rem;
}
.concept-section__innersec__title{
    font-size:25px;
    margin-bottom:30px;
}
.concept-section__innersec__text{
    font-size:17px;
}
.concept-section__innersec__text small{
    font-size:12px;
}
.concept-s01__sec02__mainimg{
    text-align:center;
}
.concept-s01__sec02__mainimg img{
    width:94.7rem;
}
.concept-s01__sec02__banner{
    margin-top:100px;
    text-align:center;
}
.concept-s01__sec02__banner img{
    width:800px;
}
.concept-s02__headbg{
    position:relative;
}
.concept-s02__headbg::before{
    content:'';
    width:100vw;
    height:calc(100% + 60px);
    position:absolute;
    top:-60px;
    left:-10rem;
    z-index:-1;
    background:var(--color-bg);
}
.concept-s02__belt{
    background:var(--color-bg);
}
.concept-s02__belt__imgs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}
.concept-s02__sec01{
    background:var(--color-bg);
}
.concept-s02__sec01__flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.concept-s02__sec01__flex__img{
    width:96rem;
}
.concept-s02__sec01__flex__content{
    padding-right:10rem;
}
.concept-s02__sec01__flex__content .concept-section__innersec__text{
    width:100%;
    max-width:56rem;
}
.concept-s02__banner{
    position:relative;
    padding-top:50px;
}
.concept-s02__banner::before{
    content:'';
    position:absolute;
    width:100%;
    height:50%;
    top:0;
    left:0;
    background:var(--color-bg);
    z-index:-1;
}
.concept-s02__banner__img{
    text-align:center;
}
.concept-s02__banner__img img{
    width:800px;
}
.concept-s03{
    overflow:hidden;
}
.concept-s03__sec01__flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.concept-s03__sec01__flex__img{
    width:110rem;
}
.concept-s03__sec01__flex__content{
    padding-right:10rem;
}
.concept-s03__sec01__flex__content .concept-section__innersec__text{
    width:100%;
    max-width:40rem;
}
.concept-s03__sec01__imgs{
    display:flex;
    gap:calc(40 / 1100 * 100%);
}
.concept-s03__sec01__img figcaption{
    margin-top:20px;
    font-size:12px;
}
.concept-s03__sec01__bigimg{
    width:calc(674 / 1100 * 100%);
}
.concept-s03__sec01__shortimg{
    width:calc(384 / 1100 * 100%);
    display:flex;
    flex-direction:column;
    gap:7rem;
}
.concept-s03__bottomsec{
    position:relative;
    margin-top:100px;
    padding-top:80px;
    padding-bottom:100px;
}
.concept-s03__bottomsec::before{
    content:'';
    width:100%;
    height:70%;
    top:0;
    left:0;
    position:absolute;
    z-index:-1;
    background:var(--color-bg);
}
.concept-s03__wrapper{
    width:100%;
    max-width:1100px;
    margin:0 auto;
    position:relative;
}
.concept-s03__toptitle{
    position:absolute;
    top:-80px;
    left:0;
    transform:translateY(-50%);
    width:133px;
    height:133px;
    border-radius:50%;
    border:1px solid var(--color-base);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:17px;
    text-align:center;
}
.concept-s03__title{
    margin-bottom:20px;
    font-size:25px;
}
.concept-s03__text{
    font-size:17px;
    margin-bottom:1em;
}



/* MAINTENANCE */
.maintenance-articles{
    margin-top:160px;
    padding-bottom:100px;
}
.maintenance-article{
    padding:50px 10rem;
}
.maintenance-article:nth-of-type(2n+1){
    background:var(--color-bg);
}
.maintenance-article__flex{
    display:flex;
    justify-content:space-between;
}
.maintenance-article__flex__content{
    width:68rem;
}
.maintenance-article__flex__img{
    width:76rem;
}
.maintenance-article__img.n2 img{
    width:100%;
    max-width:44rem;
}
.maintenance-article__title{
    font-size:25px;
    margin-bottom:1em;
}
.maintenance-article__text{
    font-size:17px;
}


/* TECHNOLOGY */
.technology-head__flex{
    display:flex;
    justify-content:space-between;
}
.technology-head__flex__content{
    width:64rem;
}
.technology-head__flex__img{
    width:88rem;
}

.technology-innercontent__flex{
    display:flex;
    justify-content:space-between;
}
.technology-innercontent__flex__content{
    width:50rem;
}
.technology-innercontent__flex__imgsec{
    width:110rem;
}

.technology-innercontent__graphs{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:7.5rem;
}
.technology-s01__box{
    margin-top:60px;
    width:100%;
    max-width:700px;
    background:var(--color-bg);
    display:flex;
    align-items:center;
    gap:30px;
    padding:20px 30px;
}
.technology-s01__box__img{
    width:220px;
}
.technology-s01__box__cont{
    width:390px;
}
.technology-s01__box__title{
    font-size:20px;
}
.technology-s01__box__text{
    font-size:12px;
    margin-top:1em;
}

.technology-flows{
    margin-top:30px;
}
.technology-flows__title{
    font-size:19px;
    margin-bottom:10px;
}
.technology-flows__img img{
    width:100%;
    max-width:710px;
}

.technology-s02__articlesec{
    background:var(--color-bg);
}
.technology-s02__articles{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px 19rem;
}
.technology-s02__article__title{
    font-size:25px;
    margin-bottom:8px;
}
.technology-s02__article__img{
    margin-bottom:30px;
}
.technology-s02__article__text{
    font-size:17px;
}
.technology-innercontent__img.n2 img{
    width:100%;
    max-width:570px;
}
.technology-s03__bannerlink{
    padding:100px 0 200px;
}
.technology-s03__bannerlink__img{
    text-align:center;
}
.technology-s03__bannerlink__img img{
    width:100%;
    max-width:800px;
}


/* ARCHITECTS */
.architects-mv__subtitle{
    z-index:2;
    font-size:4.4rem;
    top:19rem;
    right:25.5rem;
    position:absolute;
    letter-spacing:0.3em;
}
.architects-mv__title{
    position:relative;
    z-index:2;
}
.architects-mv__title--en{
    text-align:center;
    transform:translateY(-50%);
    font-size:13.1rem;
    font-style:italic;
    font-weight:500;
    letter-spacing:0;
    line-height:1;
}
.architects-mv__title--jp{
    font-size:42px;
    text-align:center;
}

.architects-sec01{
    padding-top:200px;
}
.architects-s01__title{
    padding-bottom:230px;
}
.architects-s01__title--text{
    margin:0 auto;
    font-size:35px;
    width:6em;
    letter-spacing:0.1em;
}
.architects-s01__hv{
    position:absolute;
    opacity:0;
}
.architects-s01__hv.hv01{
    width:55.1rem;
    top:70px;
    right:0;
}
.architects-s01__hv.hv02{
    width:56.4rem;
    top:210px;
    left:0;
}
.architects-s01__hv.hv03{
    width:28.2rem;
    top:400px;
    right:20rem;
}
.architects-s01__article{
    padding-bottom:100px;
}
.architects-s01__article__title{
    font-size:41px;
    margin-bottom:1em;
}
.architects-s01__article__text{
    font-size:21px;
    line-height:calc(49/21);
}
.architects-s01__hv.hv04{
    width:50rem;
    top:380px;
    left:49%;
}
.architects-s01__hv.hv05{
    width:46.4rem;
    bottom:-200px;
    right:0;
}

.architects-s02{
    background:var(--color-bg);
}
.architects-s02__head{
    min-height:110rem;
}
.architects-s02__head__title{
    font-size:38px;
    margin-bottom:1em;
}
.architects-s02__head__text{
    font-size:21px;
}
.architects-s02__head__content__img{
    margin-top:20rem;
    width:50%;
    max-width:60rem;
    text-align:center;
    mix-blend-mode:multiply;
}
.architects-s02__head__content__img img{
    max-width:46.4rem;
    width:100%;
}
.architects-s02__head__img{
    position:absolute;
    width:86rem;
    top:150px;
    right:20rem;
}
.architects-s02__head__img__text{
    text-align:center;
}
.architects-s02__head__img__text span{
    color:#FFF;
    background:var(--color-base);
    display:inline-block;
    padding:0.8rem 1rem;
    font-size:1.3rem;
    line-height:1;
    margin-top:3.5rem;
}

.architects-architects{
    display:grid;
    grid-template-columns:repeat(6,1fr);
}
.architects-architect{
    position:relative;
}
.architects-architect__img img{
    aspect-ratio:1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.architects-architect__hv{
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    color:#FFF;
    background:rgba(37,30,28,0.45);
    padding:2.4rem;
    padding-top:5.6rem;
    opacity:0;
    transition:var(--transition);
}
.architects-architect a:hover .architects-architect__hv{
    opacity:1;
}
.architects-architect__name{
    font-size:2.3rem;
}
.architects-architect__enname{
    font-size:1.1rem;
}
.architects-architect__div{
    margin-top:2.5rem;
    font-size:0.9rem;
}

.architects-s03__bg{
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.architects-s03__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.architects-s03__content{
    position:relative;
    z-index:2;
    padding:340px 0;
}
.architects-s03__content__text{
    font-size:24px;
    line-height:calc(80/24);
    color:#FFF;
    width:max-content;
    margin:0 auto;
}

.architects-s04__flex{
    display:flex;
    justify-content:space-between;
}
.architects-s04__flex__head{
    width:35%;
}
.architects-s04__flex__content{
    width:60%;
}
.architects-s04__head__title{
    width:100%;
    max-width:450px;
}
.architects-s04__head__text{
    margin-top:120px;
    font-size:25px;
}
.architects-s04__content__text{
    font-size:19px;
    line-height:calc(43/19);
}
.architects-sec05{
    background:var(--color-bg);
}
.architects-s05__flex{
    display:flex;
    justify-content:space-between;
}
.architects-s05__flex__head{
    width:42%;
}
.architects-s05__flex__content{
    width:58%;
}
.architects-s05__head__title{
    font-size:42px;
    line-height:calc(69/42);
    margin-bottom:1.5em;
}
.architects-s05__head__subtitle{
    font-size:25px;
    line-height:calc(40 / 25);
}
.architects-s05__lists{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:5rem;
    list-style:none;
}
.architects-s05__lists li{
    position:relative;
    padding-left:40px;
    font-size:25px;
    line-height:calc(40 / 25);
}
.architects-s05__lists li::before{
    content:'';
    position:absolute;
    top:6px;
    left:0;
    width:21px;
    height:21px;
    border-radius:50%;
    background:var(--color-gray);
}
.architects-s05__hv{
    position:absolute;
    z-index:1;
    bottom:-13rem;
    left:0;
    width:79.8rem;
    mix-blend-mode:multiply;
}

.architects-bottomlink{
    padding:260px 0 200px;
}
.architects-bottomlink__banner{
    padding:100px 70px;
}
.architects-bottomlink__banner__bg{
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-top-left-radius:9rem;
    border-top-right-radius:9rem;
    overflow:hidden;
}
.architects-bottomlink__banner__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.architects-bottomlink__banner__subtitle{
    position:absolute;
    font-size:8rem;
    top:100px;
    right:70px;
    line-height:1;
}
.architects-bottomlink__banner__title{
    position:absolute;
    font-size:55px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    white-space:nowrap;
}
.architects-bottomlink__banner__text{
    font-size:19px;
    line-height:calc(83/19);
}
.architects-bottomlink__banner__anker{
    position:absolute;
    bottom:120px;
    left:50%;
    transform:translateX(-50%);
    font-size:25px;
    padding:12px 45px;
    background:rgba(255,255,255,0.69);
}


/* ARCHIVE */
.notfound{
    font-size:18px;
}
.common-mv--noimg{
    padding:250px 0 100px;
    background:no-repeat center/cover url('img/frontpage/img-mv.webp');
    border-top-left-radius:9.4rem;
    border-top-right-radius:9.4rem;
}
.common-mv__title--en{
    font-size:20px;
}
.common-mv__title--jp{
    font-size:32px;
}

.archive-pagenavi{
    padding:60px 0;
}
.archive-pagenavi .wp-pagenavi{
    display:flex;
    justify-content:center;
    gap:10px;
}
.wp-pagenavi span,
.wp-pagenavi a{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:14px;
}
.wp-pagenavi span,
.wp-pagenavi a:hover{
    color:#FFF;
    background:var(--color-base);
}

/* ARCHIVE TOPICS */
.topics-archive .topics-archive__articles{
    border-bottom:1px solid var(--color-gray);
}

/* ARCHIVE MODELHOUSE */
.common-mv--noimg.modelhouse-mv{
    background:no-repeat top center/cover url('img/modelhouse/img-mv.webp');
    padding-top:400px;
}
.modelhouse-archive__articles{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20rem;
}
.modelhouse-archive__article__thumbnail{
    margin-bottom:12px;
}
.modelhouse-archive__article_thumbnail img{
    aspect-ratio:16/11;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.modelhouse-archive__article__title{
    display:flex;
    align-items:center;
    gap:10px;
}
.modelhouse-archive__article__title--address{
    display:block;
    color:#FFF;
    background:var(--color-base);
    padding:4px 1em;
    font-size:14px;
}
.modelhouse-archive__article__title--text{
    font-size:20px;
}

/* ARCHIVE WORKS */
.work-archive__architect{
    margin-bottom:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
}
.work-archive__architect__img{
    width:120px;
}
.work-archive__architect__img img{
    aspect-ratio:1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.work-archive__architect--search{
    font-size:24px;
}
.work-archive__architect--search em{
    font-style:normal;
    font-weight:bold;
}
.work-archive__tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.work-archive__tag{
    display:block;
    font-size:14px;
    padding: .5em 1em;
    line-height:1;
    border:1px solid var(--color-gray);
    border-radius:8px;
}


/* SINGLE */
.topics-single{
    padding:100px 0;
}
.topics-single__head{
    padding-bottom:60px;
    margin-bottom:60px;
    border-bottom:1px solid var(--color-gray);
}
.topics-single__head__title{
    font-size:32px;
}
.topics-single__head__meta{
    display:flex;
    align-items:center;
    gap:30px;
}
.topics-single__head--date{
    position:relative;
    font-size:14px;
}
.topics-single__head--date::after{
    content:'';
    position:absolute;
    top:calc(50% - 7px);
    right: -15px;
    width:1px;
    height:14px;
    background:var(--color-base);
}
.topics-single__head--cat{
    font-size:14px;
}

.topics-single__thumbnail{
    margin-bottom:60px;
}

.topics-single__vm{
    margin-top:100px;
}


/* EDITOR CONTENT */
.editor-content>*{
    margin-bottom:30px;
}
.editor-content h1{
    font-size:32px;
    font-weight:bold;
}
.editor-content h2{
    font-size:28px;
    font-weight:bold;
}
.editor-content h3{
    font-size:24px;
    font-weight:bold;
}
.editor-content h4{
    font-size:20px;
    font-weight:bold;
}
.editor-content h5{
    font-size:18px;
    font-weight:bold;
}
.editor-content h6{
    font-size:16px;
    font-weight:bold;
}
.editor-content p,
.editor-content li,
.editor-content span{
    font-size:16px;
}
.editor-content ul{
    list-style:disc;
}
.editor-content ol{
    list-style:decimal;
}
.editor-content li{
    margin-left:1.5em;
}

.editor-content img{
    max-width:100%;
}


/* SINGLE MODELHOUSE */
.modelhouse-single__head__title{
    display:flex;
    align-items:center;
    gap:40px;
}
.modelhouse-single__head__title--address{
    display:block;
    color:#FFF;
    background:var(--color-base);
    padding:4px 1em;
    font-size:24px;
}
.modelhouse-single__head__title--text{
    font-size:40px;
}
.single__gallery{
    display:flex;
    justify-content:space-between;
    gap:3rem;
    margin-bottom:60px;
}
.single__gallery__slidersec{
    width:calc(70% - 1.5rem);
}
.single__gallery__slider{
    text-align:center;
}
.single__gallery__slider img,
.single__gallery__slider video{
    width:100%;
    height:100%;
    max-height:80rem;
    object-fit:contain;
    object-position:center;
}
.single__gallery__thumbnailssec{
    width:calc(30% - 1.5rem);
}
.single__gallery__thumbnails{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}
.single__gallery__thumbnail{
    cursor:pointer;
}
.single__gallery__thumbnail:not(.single__gallery__thumbnail--video) img{
    aspect-ratio:1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.single__gallery__thumbnail--video{
    position:relative;
}
.single__gallery__thumbnail--video video{
    aspect-ratio:1;
    max-width:100%;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.single__gallery__thumbnail--video--play{
    position:absolute;
    z-index:1;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:60px;
    height:60px;
}

.modelhouse-single__reservelink{
    margin-top:100px;
}
.modelhouse-single__reservelink__anker a{
    display:block;
    margin:0 auto;
    width:max-content;
    color:#FFF;
    background:var(--color-base);
    font-size:22px;
    font-weight:bold;
    padding:1em 2em;
}


/* SINGLE WORKS */
.work-single__tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:30px;
}
.work-single__architect__flex{
    display:flex;
    gap:5rem;
}
.work-single__architect__img{
    width:400px;
}
.work-single__architect__img img{
    aspect-ratio:1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position: center;
}
.work-single__architect__name--jp{
    font-size:24px;
}
.work-single__architect__name--en{
    font-size:14px;
}
.work-single__architect__company{
    margin-top:20px;
    font-size:17px;
}
.work-single__architect__comment{
    margin-top:20px;
    font-size:17px;
}


/* CONTACT */
.form-dls{
    max-width:800px;
    margin:0 auto;
}
.form-dls dl{
    display:flex;
    gap:30px;
}
.form-dls dl:not(:last-child){
    margin-bottom:20px;
}
.form-dls dl dt{
    position:relative;
    font-size:17px;
    font-weight:bold;
    width:270px;
}
.form-dls dl dt span.must{
    position:absolute;
    top:0;
    right:0;
    color:#FFF;
    background:var(--color-base);
    padding:0 1em;
    font-size:14px;
}
.form-dls dl dd{
    width:calc(100% - 300px);
    font-size:17px;
}
.form-dls input,
.form-dls textarea{
    font-size:17px;
    width:100%;
    border:1px solid var(--color-gray) !important;
    border-radius:0 !important;
}
.form-submits{
    text-align:center;
    margin-top:30px;
}
.wpcf7-spinner{
    display: none !important;
}
.form-submits input{
    display:block;
    margin:0 auto;
    font-size:20px;
    font-weight:bold;
    color:#FFF;
    background:var(--color-base) !important;
    padding:1em 4em !important;
}
.editor-content p, .editor-content li, .editor-content span, .wpcf7 form .wpcf7-response-output{
    font-size:16px;
}

/* COMPANY */
.wrap.miniwrap{
    max-width:calc(1100px + 20rem);
}
.company-s01__flex{
    display:flex;
    gap:10rem;
}
.company-s01__flex__title{
    width:110px;
}
.company-s01__flex__content{
    width:100%;
    max-width:110rem;
    margin:0 auto;
    margin-left:calc(100% - 110px - 110rem - ((100vw - 110rem) / 2));
}
.company-sectiontitle__jp{
    font-size:25px;
}
.company-sectiontitle__en{
    font-size:12.6px;
}
.company-overviews dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    border-top:1px solid #CCC;
}
.company-overviews dl:last-child{
    border-bottom:1px solid #CCC;
}
.company-overviews dl dt,
.company-overviews dl dd{
    padding:1rem;
    font-size:16px;
}
.company-overviews dl dt{
    width:27.5rem;
}
.company-overviews dl dd{
    width:calc(100% - 27.5rem);
}
.company-overviews dl dd:not(:last-child){
    border-bottom:1px solid #CCC;
}
.company-map{
    margin-top:70px;
}
.company-map iframe{
    width:100%;
    height:400px;
}

.company-s02{
    padding-bottom:100px;
}
.company-s02__title{
    text-align:center;
    margin-bottom:40px;
}
.company-s02__title img{
    height:96px;
}
.company-s02__text{
    text-align:center;
    font-size:17px;
}

.company-movsec{
    padding:100px 0;
}
.company-movsec.bg-gray{
    background:var(--color-bg);
}
.company-movsec__title{
    text-align:center;
    margin-bottom:60px;
}
.company-movsec__title__num{
    font-size:21px;
}
.company-movsec__title__jp{
    font-size:25.6px;
}
.company-movsec__title__en{
    font-size:12.6px;
}

.company-movies{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:100px 9.6rem;
}
.company-movie__thumbnail{
    overflow:hidden;
    margin-bottom:12px;
}
.company-movie__thumbnail a img{
    width:100%;
    aspect-ratio:48/27;
    height:auto;
    object-fit:cover;
    transition:var(--transition);
}
.company-movie__thumbnail a:hover img{
    transform:scale(1.1);
}
.company-movie__thumbnail a{
    display:block;
    position:relative;
}
.company-movie__thumbnail a::after{
    content:'';
    width:36px;
    height:36px;
    background:no-repeat center/contain url('img/company/icon-mov.webp');
    position:absolute;
    top:calc(50% - 18px);
    left:calc(50% - 18px);
}
.company-movie__title{
    font-size:19px;
    margin-bottom:10px;
    line-height: 1.6;
}
.company-movie__text{
    font-size:14px;
}
.company-movie__modalanker{
    margin-top:20px;
}
.company-movie__modalanker a{
    display:block;
    text-align:center;
    font-size:20px;
    border:1px solid #333;
    position:relative;
    height:40px;
    line-height:40px;
    cursor:pointer;
}
.company-movie__modalanker a::after{
    content:'+';
    position:absolute;
    top:calc(50% - 10px);
    right:20px;
    font-size:20px;
    line-height:20px;
}

.company-movie__modal{
    display:none;
    position:fixed;
    width:1000px;
    height:auto;
    max-width:calc(100vw - 40px);
    min-height:200px;
    max-height:calc(100dvh - 300px);
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:9999;
    background:#FFF;
    overflow-y:scroll;
    padding:40px;
}
.company-movie__modal__content:not(:last-child){
    padding-bottom:40px;
    border-bottom:1px solid var(--color-gray);
}
.company-movie__modal__content:not(:first-child){
    padding-top:40px;
}
.company-movie__modal__content__flex{
    display:flex;
    flex-wrap:wrap;
    gap:60px;
}
.company-movie__modal__thumbnail{
    width:210px;
}
.company-movie__modal__thumbnail img{
    aspect-ratio:1;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
}
.company-movie__modal__info{
    width:calc(100% - 270px);
}
.company-movie__modal__role{
    font-size:18px;
    margin-bottom:10px;
}
.company-movie__modal__name{
    margin-bottom:20px;
}
.company-movie__modal__name__jp{
    font-size:32px;
    font-family:var(--font-mincho);
}
.company-movie__modal__name__en{
    color:#555;
    font-size:14px;
    font-family:var(--font-poppins);
}
.company-movie__modal__text{
    font-size:17px;
}

.company-modal__bg{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    z-index:9998;
    background:rgba(0,0,0,0.5);
}
.company-modal__close{
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    top:40px;
    right:40px;
    background:#FFF;
    border-radius:50%;
    cursor:pointer;
    z-index:2;
    width:60px;
    height:60px;
}
.company-modal__close::before{
    content:'CLOSE';
    font-family:var(--font-poppins);
    font-size:14px;
}

p.comingsoon{
    font-size:20px;
}

.sp-cvbox{
    display:none;
}