@charset "utf-8";


/* ----------------------------------------------------------------------
	home
---------------------------------------------------------------------- */

/* l-home-content */
.l-home-content__sp { display: none; }

@media screen and (max-width: 990px) {
    .l-home-content__pc { display: none; }
    
    .l-home-content__sp { display: block; }
}


/* l-home-header */
.l-home-header {
   position: relative;
   z-index: 1;
}

.l-home-header__logo {
    position: absolute;
    top: 6vw;
    left: 7vw;
}

.l-home-header__logo img { width: 20vw; }

@media screen and (max-width: 1220px) {
    .l-home-header__logo {
        top: 80px;
        left: 80px;
    }

    .l-home-header__logo img { width: 220px; }
}

@media screen and (max-width: 990px) {
    .l-home-header__logo {
        top: 20px;
        left: 20px;
    }

    .l-home-header__logo img { width: 110px; }
}


/* ----------------------------------------------------------------------
	pc
---------------------------------------------------------------------- */

/* l-home-mainimg */
.l-home-mainimg { position: relative; }

.l-home-mainimg__ph img { width: 100%; }

.l-home-mainimg__catch {
    position: absolute;
    right: calc(100% - 90.6vw);
    bottom: 8vw;
}


@media screen and (max-width: 1200px) {
    .l-home-mainimg__catch {
        right: 95px;
        bottom: 60px;
    }
}

@media screen and (max-width: 990px) {
    
}


/* l-home-g-nav  */
.l-home-g-nav {
    position: absolute;
    top: 60px;
    right: 140px;
    z-index: 100;
}

.l-home-g-nav__inner {
    display: flex;
    justify-content: flex-end;
}

.g-nav__main--home { margin-right: 20px; }

.g-nav__main--home,
.g-nav__main--home > li,
.g-nav__sub--home > li { border-color: #fff; }

.g-nav__main--home > li > a,
.g-nav__sub--home > li > a { color: #fff; }

.g-nav__main--home > li > a:hover,
.g-nav__sub--home > li > a:hover { opacity: 0.5; }

@media screen and (max-width: 1100px) {
    .l-home-g-nav { display: none; }
}


/* l-home-topics */
.l-home-topics {
    margin: 0 auto;
    max-width: 1220px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.l-home-topics__ttl-block {
    position: relative;
    width: 60px;
    height: 510px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.l-home-topics__ttl-block:after {
    content: "";
    position: absolute;
    top: 230px;
    left: 50%;
    transform: translateX(-50%);
    background: #ddd;
    width: 1px;
    height: 100px;
    display: block;
}

.l-home-topics__ttl {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2.2rem;
    font-weight: normal;
    font-feature-settings: "vpal";
    line-height: 1;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
}

.l-home-topics__btn {
    position: absolute;
    left: 50%;
    bottom: 90px;
    transform: translateX(-50%);
    line-height: 1;
    writing-mode: vertical-rl;
}

.l-home-topics__btn a {
    background: url("../img/icon_a_sub.gif") center bottom no-repeat;
    background-size: 20px;
    font-size: 1.8rem;
    text-decoration: none;
    padding: 0 5px 26px;
}

.l-home-topics__list-wrap {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.l-home-topics__list {
    width: 480px;
    border-bottom: 1px solid #ddd;
}

.l-home-topics__list:nth-child(1),
.l-home-topics__list:nth-child(2) { border-top: 1px solid #ddd; }

.l-home-topics__list a {
    text-decoration: none;
    padding: 20px;
    display: block;
}

.l-home-topics__list a:hover img { opacity: 1; }
.l-home-topics__list a:hover { opacity: 0.7; }

.l-home-topics__list-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-home-topics__list-ph { width: 100px; }

.l-home-topics__list-block { width: 320px; }

.l-home-topics__list-iocn { margin: 0 0 12px; }

.l-home-topics__list-category {
    font-size: 1.4rem;
    color: #a67c49;
    margin: 0 0 0.4em;
}

.l-home-topics__list-ttl { color: #444; }

.l-home-topics__sns {
    position: relative;
    width: 60px;
    height: 510px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.l-home-topics__sns-instagram {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    writing-mode: vertical-rl;
}

.l-home-topics__sns-instagram a {
    background: url("../img/icon_instagram.gif") center top no-repeat;
    background-size: 26px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding: 38px 10px 0;
}

@media screen and (max-width: 990px) {
    
}


/* l-home-service */
.l-home-service__bg {
    background: url("../img/bg_asanoha.gif") center top;
    background-size: 60px 105px;
    padding: 0 0 40px;
}


/* l-home-service-mainimg */
.l-home-service-mainimg {
    margin: 0 auto;
    max-width: 1800px;
    display: flex;
}

.l-home-service-mainimg img { width: 100%; }

.l-home-service-mainimg__block-01,
.l-home-service-mainimg__block-03 { width: 20%; }

.l-home-service-mainimg__block-02 {
    width: 60%;
    padding: 0 20px;
}

.l-home-service-mainimg__ph-01,
.l-home-service-mainimg__ph-04 { margin: 0 0 20px; }

.l-home-service-mainimg__ph-03 {
    position: relative;
    width: 100%;
    height: 100%;
}

.l-home-service-mainimg__ph-03 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

@media screen and (max-width: 990px) {
    
}


/* l-home-service-lead */
.l-home-service-lead {
    position: relative;
    z-index: 1;
    background: url("../../img/home/service_lead_bg.png") center top no-repeat;
    text-align: center;
    padding: 172px 0 0;
    margin: -168px 0 0;
    height: 420px;
}

.l-home-service-lead__catch {
    background: url("../img/icon_gegyo.gif") center top no-repeat;
    background-size: 54px 50px;
    padding: 70px 0 0;
    margin: 0 0 22px;
}

.l-home-service-lead__txt {
    font-size: 1.8rem;
    line-height: 2;
}


/* l-home-service__menu */
.l-home-service-menu {
    margin: 0 auto 90px;
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-home-service-menu--reverse { flex-direction: row-reverse; }

.l-home-service-menu__ph { width: 700px; }



.l-home-service-menu__box { width: 340px; }

.l-home-service-menu__catch {
    position: relative;
    color: #a67c49;
    font-size: 1.7rem;
    text-align: center;
    padding: 0 0 1em;
    margin: 0 0 1.2em;
}

.l-home-service-menu__catch:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #a67c49;
    width: 120px;
    height: 1px;
    display: block;
}

.l-home-service-menu__ttl {
    font-size: 2.4rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0.6em;
}

.l-home-service-menu__txt {
    line-height: 1.8;
    margin: 0 0 1.6em;
}


/* l-home-about */
.l-home-about {
    position: relative;
    padding: 28px 0 0;
    border-top: 2px solid #a67c49;
}

.l-home-about__txt-en {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    padding: 0 30px;
    line-height: 1;
}

.l-home-about__inner {
    text-align: center;
    padding: 68px 60px 80px;
    border-top: 2px solid #a67c49;
}

.l-home-about__ph {
    text-align: center;
    margin: 0 0 40px;
}

.l-home-about__ph img {
    width: 100%;
    max-width: 1800px;
}

.l-home-about__ttl {
    position: relative;
    font-size: 2.4rem;
    font-weight: normal;
    margin: 0 0 1em;
    display: inline-block;
}

.l-home-about__ttl:before,
.l-home-about__ttl:after{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/icon_gegyo_gray_pc.gif") center center no-repeat;
    background-size: 34px 32px;
    width: 34px;
    height: 32px;
    display: block;
}

.l-home-about__ttl:before { left: -56px; }

.l-home-about__ttl:after { right: -52px; }

.l-home-about__txt {
    line-height: 1.8;
    margin: 0 0 1.6em;
}

@media screen and (max-width: 990px) {
    
}


/* ----------------------------------------------------------------------
	sp
---------------------------------------------------------------------- */

.l-home-content__sp {
    position: relative;
    background: url("../../img/home/mainimg_ph_sp.jpg") center bottom no-repeat;
    background-size: cover;
    height: 100vh;
    height: 100dvh;
}

.l-home-sp-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}


/* l-home-sp-catch */
.l-home-sp-catch {
    text-align: center;
    line-height: 1;
    padding: 0 60px;
    margin: 0 auto 15px;
    max-width: 640px;
}

.l-home-sp-catch img { width: 100%; }


/* l-home-sp-page-nav */
.l-home-sp-page-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 30px;
}

.l-home-sp-page-nav li { width: calc(50% - 10px); }
.l-home-sp-page-nav li img {
	width: 100%;
	border-radius: 5px;
}


/* l-home-sp-btn-topics */
.l-home-sp-btn-topics {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    width: 100%;
    padding: 0 60px;
}

.l-home-sp-btn-topics a {
    position: relative;
    background: rgba(255,255,255,0.9);
    font-size: 1.8rem;
    text-align: center;
    text-decoration: none;
    padding: 12px 20px 10px;
    display: block;
    border-radius: 100px;
}

.l-home-sp-btn-topics a span {
    background: url("../img/icon_topics.png") left top no-repeat;
    background-size: 18px 20px;
    padding: 2px 0 2px 24px;
}

.l-home-sp-btn-topics a i {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    line-height: 1;
}

@media screen and (max-width: 990px) and (orientation: landscape){
    .l-home-content__sp { min-height: calc(100vw + 400px); }
}

@media screen and (max-width: 321px) {
    .l-home-sp-catch { margin: 0 50px 12px; }
    
    .l-home-sp-page-nav,
    .l-home-sp-btn-topics { padding: 0 50px; }
    
    .l-home-sp-btn-topics { bottom: 20px; }
}




