@charset "utf-8";
*:focus {outline: black;outline-style: solid; }
*:active, *:hover {outline: none;}

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main {position: relative; display: block;}
body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

@media screen and (max-width: 1024px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
}
@media screen and (max-width: 600px) {
    html { width: 100%; overflow-x: hidden; }
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }
.isActive:not(.top_about_ph):not(.hd_anime) {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 1.8s;
    animation-duration: 1.8s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;trfooter_logo_setansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*navi*/
.btn_humberger_box { display: none; }

header { position: fixed; z-index: 100; justify-content: space-between; width: 100%; padding: 32px 0; -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
.header_logo_set { display: flex; align-items: center; width: 445px; min-width: 445px; }
.header_logo_set .logo,
.footer_logo_set .logo { width: 242px; position: relative; }
.header_logo_set .logo img { width: 100%; position: absolute; top: 0; -webkit-transform:translateY(-50%); transform:translateY(-50%); }
body.home .header_logo_set .logo ._on,
body.post-type-archive-project .header_logo_set .logo ._on { opacity: 0; }
body.home header.fixed .header_logo_set .logo ._on,
body.post-type-archive-project header.fixed .header_logo_set .logo ._on { opacity: 1; }
body.home header.fixed .header_logo_set .logo ._off,
body.post-type-archive-project header.fixed .header_logo_set .logo ._off { opacity: 0; }
.header_logo_set .name,
.footer_logo_set .name { width: 155px; margin-left: 14.77px;}
.header_logo_set .name .ja,
.footer_logo_set .name .ja { font-size: 1.6rem; font-weight: 700; line-height: 1.2; text-align-last:justify; letter-spacing: 0; }
.header_logo_set .name .en,
.footer_logo_set .name .en { font-size: 1.1rem; text-align-last:justify; letter-spacing: 0; }
.header_logo_set .setc { font-size: 1.1rem; line-height: 1.5; margin-left: 9.9px; }
.header_logo_set .setc > div { text-align-last:justify; }
.header_logo_set .setc .small_font { font-size: 0.65rem; }
.header_logo_set .setl { width: 6.26px; margin-left: 17.43px; }
.header_logo_set .setr { width: 6.26px; margin-left: 9.98px;  }
.header_logo_set .setl * , .header_logo_set .setr * { fill: #000; }
/*body.home header * { -webkit-transition: color 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: color 0.5s cubic-bezier(0.36, 0.14, 0, 1); }*/
body.home .lang_nav li span,
body.post-type-archive-project .lang_nav li span { border-bottom: 1px solid #fff; }
body.home .header_logo_set *,
body.home .main_nav *,
body.home .lang_nav *,
body.post-type-archive-project .header_logo_set *,
body.post-type-archive-project .main_nav *,
body.post-type-archive-project .lang_nav * { color: #fff; }
body.home .header_logo_set .setl * ,
body.home .header_logo_set .setr * ,
body.post-type-archive-project .header_logo_set .setl * ,
body.post-type-archive-project .header_logo_set .setr * { fill: #fff; }
header.fixed .lang_nav li span { border-bottom: 1px solid #000; }
header.fixed .header_logo_set *,
header.fixed .main_nav *,
header.fixed .lang_nav * { color: #000; }
header.fixed { padding: 16px 0; background: #fff; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .15);  }
header.fixed .header_logo_set .setl * , header.fixed .header_logo_set .setr * { fill: #000; }

.footer_logo_set { display: flex; align-items: flex-start; width: 560px; min-width: 560px; }
.footer_logo_set .logo { margin-top: 17px; }
.footer_logo_set .name { margin-top: 25px; }
.footer_logo_set .setn { font-size: 1.1rem; margin: 8px 0 0 76px; }
.footer_logo_set .ico { display: flex; align-items: center; }
.footer_logo_set .no1 { width: 105px; margin-left: 28px; }
.footer_logo_set .notes { font-size: 1.0rem; line-height: 1.5; margin-left: 18px; padding-left: 2em; position: relative; }
.footer_logo_set .notes span { position: absolute; left: 0; }

.nav { display: flex; align-items: center; z-index: 10; width: 100%; padding: 0 2.04%; justify-content: space-between; box-sizing: border-box; }

.global_nav { display: flex; align-items: center; }
.main_nav { display: flex; }
.main_nav li { font-size: 1.6rem; line-height: 1.35; margin-left: calc(27 / 1568 * 100vw); position: relative; }
.btn_contanct { width: 160px; padding: 12px 0; margin-left: 34px; font-size: 1.6rem; text-align: center; background: #e63278; border: 1px solid #e63278; box-sizing: border-box; border-radius: 4px; color: #fff; font-weight: 400; }

.lang_nav { display: flex; margin-left: 32px; }
.lang_nav li { font-size: 1.3rem; margin-left: 12px; font-weight: 400; }
.lang_nav li span { border-bottom: 1px solid #333; }

.header_logo { width: 115px; display: flex; justify-content: space-between; flex-wrap: wrap; position: relative; z-index: 9999; line-height: 1; }
.header_logo img { width: 100%; line-height: 0; }

.sp_global_nav { display: none; }

@media screen and (max-width: 1550px) {
    .header_logo_set .logo,
    .footer_logo_set .logo { width: 193px; }
    
    .footer_logo_set .setn { font-size: 1.05rem; margin: 8px 0 0 60px; }
    .footer_logo_set .no1 { width: 95px; margin-left: 18px; }
    
    .main_nav li { font-size: 1.4rem; margin-left: calc(18 / 1568 * 100vw); }
    .lang_nav { display: flex; margin-left: 20px; }
    .lang_nav li { font-size: 1.2rem; margin-left: 10px; font-weight: 400; }
    .btn_contanct { width: 135px; padding: 10px 0; margin-left: 20px; font-size: 1.4rem; }
}

@media screen and (max-width: 1350px) {
    .footer_logo_set { display: flex; align-items: flex-start; width: 545px; min-width: 545px; }
    
    .main_nav li { font-size: 1.2rem; margin-left: calc(14 / 1568 * 100vw); }
    .lang_nav { display: flex; margin-left: 16px; }
    .lang_nav li { font-size: 1.0rem; margin-left: 9px; font-weight: 400; }
    .btn_contanct { width: 120px; padding: 8px 0; margin-left: 16px; font-size: 1.2rem; }
}

@media screen and (max-width: 1250px) {
    .header_logo_set { display: flex; align-items: center; width: 400px; min-width: 400px; }
    .header_logo_set .logo,
    .footer_logo_set .logo { width: 169px; }
    
    .footer_logo_set .setn { font-size: 0.90rem; margin: 8px 0 0 52px; }
    
    .main_nav li { font-size: 1.0rem; margin-left: calc(12 / 1568 * 100vw); }
    .lang_nav { display: flex; margin-left: 14px; }
    .lang_nav li { font-size: 0.9rem; margin-left: 8px; font-weight: 400; }
    .btn_contanct { width: 90px; padding: 8px 0; margin-left: 14px; font-size: 1.0rem; }
    
    .footer_logo_set { display: flex; align-items: flex-start; width: 360px; min-width: 360px; }
    .footer_logo_set .ico { width: 138px; display: block; margin-left: 20px; }
    .footer_logo_set .no1 { margin: 0 auto; }
    .footer_logo_set .notes { font-size: 0.8rem; line-height: 1.5; margin-left: 0; margin-top: 10px; padding-left: 2em; position: relative; }
}

@media screen and (max-width: 1024px) {
    .global_nav { display: none; }
    .sp_global_nav { display: block; }
    
    .btn_humberger_box { width: 53px; display: block; position: fixed; top: 17px; right: 5.33%; z-index: 10001; }
    .btn_humberger { width: 100%; padding: 5px 0; font-size: 0.9rem; text-align: center; background: #e63278; border: 1px solid #e63278; box-sizing: border-box; border-radius: 4px; color: #fff; font-weight: 400; cursor: pointer; }

    header { position: fixed; z-index: 100; justify-content: space-between; width: 100%; padding: 17px 0; -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .header_logo_set { display: flex; align-items: center; width: 273px; min-width: 273px; }
    .header_logo_set .logo,
    .footer_logo_set .logo { width: 156px; }
.header_logo_set .logo img { width: 100%; }
    .header_logo_set .name,
    .footer_logo_set .name { width: 101px; margin-left: 6px;}
    .header_logo_set .name .ja,
    .footer_logo_set .name .ja { font-size: 1.0rem; font-weight: 700; line-height: 1.2; text-align-last:justify; letter-spacing: 0; }
    .header_logo_set .name .en,
    .footer_logo_set .name .en { font-size: 0.7rem; text-align-last:justify; letter-spacing: 0; }
    .header_logo_set .setc { font-size: 0.65rem; line-height: 1.5; margin-left: 3.60px; }
    .header_logo_set .setl { width: 4.26px; margin-left: 3.60px; }
    .header_logo_set .setr { width: 4.26px; margin-left: 3.60px;  }
    header.fixed { padding: 13px 0; background: #fff; }

    .footer_logo_set { display: flex; width: auto; min-width: 320px; margin-top: 35px; }
    .footer_logo_set .setn { font-size: 0.9rem; width: 120px; margin: 7px 0 0 45px; }
    .footer_logo_set .no1 { width: 88px; margin: 0 auto; }
    
    .sp_global_nav { opacity: 0; pointer-events: none; width: 100%; height: 100vh; position: fixed; z-index: 10000; top: 0; left: 0; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); background: rgba(0,0,0,0.3); }
    .sp_global_nav > .inner { width: 86.66%; max-height: calc(100vh - 90px); padding: 30px 40px; border-radius: 20px; box-sizing: border-box; position: absolute; top: 70px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: #fff; box-shadow: 2px 2px 4px 1px rgba(0, 0, 0, 0.2); overflow-y: scroll; }
    body.open .sp_global_nav { opacity: 1; pointer-events: visible; }
    .sp_main_nav li { font-size: 1.8rem; font-size: 500; }
    .sp_main_nav li a { display: block; padding: 5px 0; }
    .sp_global_nav .btn_contanct { display: block; width: 100%; margin: 20px 0 0; padding: 15px 0; font-size: 1.6rem; }
    .sp_function_nav { display: flex; margin-top: 32px; }
    .sp_lang_nav { width: 21.53%; font-size: 1.3rem; }
    .sp_lang_nav li + li { margin-top: 10px; }
    .sp_lang_nav li span { border-bottom: 1px solid #000; }
    .sp_site_nav { width: calc(100% - 21.53%); font-size: 1.2rem; font-weight: 500; }
    .sp_site_nav li + li { margin-top: 10px; }
}

/*loading*/
#loading{ width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 10010; background: #fff; }

.top_main_slide { position: relative; }
.top_main_slide .ph .swiper-slide {opacity: 0 !important; visibility: hidden !important;}
.top_main_slide .ph .swiper-slide.swiper-slide-active {opacity: 1 !important; visibility: visible!important;}
.top_main_slide .ph { opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1) 0.5s; transition: opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1) 0.5s; }
.top_main_slide .swiper-slide-active .ph { opacity: 1; }

.top_main_slide .swiper-slide-prev .ttl_area .main img { -webkit-transform: translateY(-110%); transform: translateY(-110%); opacity: 0; }
.top_main_slide.is-animation .ttl_area .catch img { -webkit-transform: translateX(-110%); transform: translateX(-110%); }
.top_main_slide.is-animation .swiper-slide-next .ttl_area .catch img { -webkit-transform: translateX(110%); transform: translateX(110%); }
.top_main_slide.is-animation .swiper-slide-prev .ttl_area .catch01-01 img,
.top_main_slide.is-animation .swiper-slide-prev .ttl_area .catch01-02 img,
.top_main_slide.is-animation .swiper-slide-prev .ttl_area .catch01-03 img { -webkit-transform: translateX(-110%); transform: translateX(-110%); opacity: 0; }
.top_main_slide .swiper-slide-active .ttl_area .main img { -webkit-transform: translateY(0%); transform: translateY(0%); }
.top_main_slide .swiper-slide-active .ttl_area .main01 img { -webkit-transition-delay: 0.33s; transition-delay: 0.33s; }
.top_main_slide .swiper-slide-active .ttl_area .main02 img { -webkit-transition-delay: 0.36s; transition-delay: 0.36s; }
.top_main_slide .swiper-slide-active .ttl_area .main03 img { -webkit-transition-delay: 0.39s; transition-delay: 0.39s; }
.top_main_slide .swiper-slide-active .ttl_area .main04 img { -webkit-transition-delay: 0.42s; transition-delay: 0.42s; }
.top_main_slide .swiper-slide-active .ttl_area .main05 img { -webkit-transition-delay: 0.45s; transition-delay: 0.45s; }
.top_main_slide .swiper-slide-active .ttl_area .main06 img { -webkit-transition-delay: 0.47s; transition-delay: 0.47s; }
.top_main_slide .swiper-slide-active .ttl_area .main07 img { -webkit-transition-delay: 0.49s; transition-delay: 0.49s; }
.top_main_slide .swiper-slide-active .ttl_area .main08 img { -webkit-transition-delay: 0.49s; transition-delay: 0.51s; }
.top_main_slide .swiper-slide-active .ttl_area .main09 img { -webkit-transition-delay: 0.49s; transition-delay: 0.53s; }

.top_main_slide.is-animation .swiper-slide-active .ttl_area .catch img { -webkit-transform: translateX(0%); transform: translateX(0%); }
.top_main_slide.is-animation .swiper-slide-active .ttl_area .catch01-01 img { -webkit-transition-delay: 0.75s; transition-delay: 0.75s; }
.top_main_slide.is-animation .swiper-slide-active .ttl_area .catch01-02 img { -webkit-transition-delay: 0.82s; transition-delay: 0.82s; }
.top_main_slide.is-animation .swiper-slide-active .ttl_area .catch01-03 img { -webkit-transition-delay: 0.89s; transition-delay: 0.89s; }
.top_main_slide.is-animation .ttl_area .catch02-01 img { -webkit-transition-delay: 1.03s; transition-delay: 1.03s; }
.top_main_slide.is-animation .ttl_area .catch03-01 img { -webkit-transition-delay: 1.10s; transition-delay: 1.10s; }
.top_main_slide.is-animation .ttl_area .catch03-02 img { -webkit-transition-delay: 1.17s; transition-delay: 1.17s; }
.top_main_slide.is-animation .ttl_area .catch04-01 img { -webkit-transition-delay: 1.31s; transition-delay: 1.31s; }
.top_main_slide.is-animation .ttl_area .catch05-01 img { -webkit-transition-delay: 1.38s; transition-delay: 1.38s; }
.top_main_slide.is-animation .ttl_area .catch05-02 img { -webkit-transition-delay: 1.45s; transition-delay: 1.45s; }
.top_main_slide.is-animation .ttl_area .catch05-03 img { -webkit-transition-delay: 1.52s; transition-delay: 1.52s; }

.top_main_slide.is-animation .ttl_area .catch02-01 img,
.top_main_slide.is-animation .ttl_area .catch03-01 img,
.top_main_slide.is-animation .ttl_area .catch03-02 img,
.top_main_slide.is-animation .ttl_area .catch04-01 img,
.top_main_slide.is-animation .ttl_area .catch05-01 img,
.top_main_slide.is-animation .ttl_area .catch05-02 img,
.top_main_slide.is-animation .ttl_area .catch05-03 img { -webkit-transform: translateX(0%); transform: translateX(0%); }

.swiper_pause { width: 30px; height: 30px; position: absolute; z-index: 10; right: 2.55%; bottom: 75px; background: url("../img/ico_pause.svg") no-repeat center / cover; text-indent: -9999px; border: none; cursor: pointer; outline: none; }
.swiper_pause.paused { background: url("../img/ico_play.svg") no-repeat center / cover; }

.ttl_area_fix { z-index: 10;}
.top_main_slide .swiper-slide .ttl_area .catch05 { opacity: 0; }

/*top*/
.top_main .ph { width: 100%; height: 1100px; overflow: hidden; position: relative; }
.top_main .ph img { width: 100%; min-width: 1568px; max-width: none; position: absolute; left: 50%; top: 50%; -webkit-translate: -50% -50%; translate: -50% -50%; }
.ttl_area { width: 61.22%; max-width: 960px; position: absolute; top: 312px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.ttl_area .main { display: flex; justify-content: center; }
.ttl_area .main > div { overflow: hidden; }
.ttl_area .main > div img { width: 100%; -webkit-transform: translateY(110%); transform: translateY(110%);-webkit-transition: transform 1.5s cubic-bezier(0.5, 0.2, 0.01, 1), opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1); transition: transform 1.5s cubic-bezier(0.5, 0.2, 0.01, 1), opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1); }
.ttl_area .main_h .main01 { width: calc(108.15 / 960 * 100%); }
.ttl_area .main_h .main02 { width: calc(116.71 / 960 * 100%); margin-left: calc(30 / 960 * 100%); }
.ttl_area .main_h .main03 { width: calc(101.54 / 960 * 100%); margin-left: calc(31 / 960 * 100%); }
.ttl_area .main_h .main04 { width: calc(110.49 / 960 * 100%); margin-left: calc(27 / 960 * 100%); }
.ttl_area .main_h .main05 { width: calc(81.11 / 960 * 100%); margin-left: calc(46 / 960 * 100%); }
.ttl_area .main_h .main06 { width: calc(116.71 / 960 * 100%); margin-left: calc(19 / 960 * 100%); }
.ttl_area .main_a .main01 { width: calc(116.71 / 960 * 100%); }
.ttl_area .main_a .main02 { width: calc(103.09 / 960 * 100%); margin-left: calc(15 / 960 * 100%); }
.ttl_area .main_a .main03 { width: calc(110.49 / 960 * 100%); margin-left: calc(34 / 960 * 100%); }
.ttl_area .main_a .main04 { width: calc(131.1 / 960 * 100%); margin-left: calc(43 / 960 * 100%); }
.ttl_area .main_a .main05 { width: calc(14.16 / 960 * 100%); margin-left: calc(50 / 960 * 100%); }
.ttl_area .main_a .main06 { width: calc(115.15 / 960 * 100%); margin-left: calc(47 / 960 * 100%); }
.ttl_area .main_a .main07 { width: calc(141.61 / 960 * 100%); margin-left: calc(38 / 960 * 100%); }
.ttl_area .main_o .main01 { width: calc(141.61 / 960 * 100%); }
.ttl_area .main_o .main02 { width: calc(131.1 / 960 * 100%); margin-left: calc(37 / 960 * 100%); }
.ttl_area .main_o .main03 { width: calc(118.27 / 960 * 100%); margin-left: calc(30 / 960 * 100%); }
.ttl_area .main_o .main04 { width: calc(118.27 / 960 * 100%); margin-left: calc(30 / 960 * 100%); }
.ttl_area .main_o .main05 { width: calc(110.35 / 960 * 100%); margin-left: calc(39 / 960 * 100%); }
.ttl_area .main_o .main06 { width: calc(14.16 / 960 * 100%); margin-left: calc(50 / 960 * 100%); }
.ttl_area .main_m .main01 { width: calc(107.83 / 960 * 100%); }
.ttl_area .main_m .main02 { width: calc(96 / 960 * 100%); margin-left: calc(17 / 960 * 100%); }
.ttl_area .main_m .main03 { width: calc(93.44 / 960 * 100%); margin-left: calc(-7 / 960 * 100%); }
.ttl_area .main_m .main04 { width: calc(65.12 / 960 * 100%); margin-left: calc(6 / 960 * 100%); }
.ttl_area .main_m .main05 { width: calc(90.88 / 960 * 100%); margin-left: calc(22 / 960 * 100%); }
.ttl_area .main_m .main06 { width: calc(107.84 / 960 * 100%); margin-left: calc(28 / 960 * 100%); }
.ttl_area .main_m .main07 { width: calc(116.48 / 960 * 100%); margin-left: calc(25 / 960 * 100%); }
.ttl_area .main_m .main08 { width: calc(93.44 / 960 * 100%); margin-left: calc(5 / 960 * 100%); }
.ttl_area .main_m .main09 { width: calc(116.48 / 960 * 100%); margin-left: calc(5 / 960 * 100%); }
.ttl_area .en { color: #fff; font-size: 1.53vw; position: absolute; left: 0; top: -1.27vw; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
.ttl_area .catch { width: calc(238 / 960 * 100%);  display: flex; justify-content: space-between; flex-direction: row-reverse; position: absolute; right: -4.33vw; top: -2.99vw; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
.ttl_area .catch > div > div { margin-left: auto; margin-right: auto; overflow: hidden; }
.ttl_area .catch > div > div img { width: 100%; -webkit-transform: translateX(110%); transform: translateX(110%); -webkit-transition: all 1.5s cubic-bezier(0.5, 0.2, 0.01, 1); transition: all 1.5s cubic-bezier(0.5, 0.2, 0.01, 1); }
.ttl_area .catch > div { width: calc(31 / 238 * 100%); }
.ttl_area .catch01-01 { width: 100%; }
.ttl_area .catch01-02 { width: 100%; margin-top: calc(2.79 / 31 * 100%); }
.ttl_area .catch01-03 { width: 100%; margin-top: calc(2.79 / 31 * 100%); }
.ttl_area .catch02-01 { width: 100%; margin-top: calc(19.26 / 31 * 100%); }
.ttl_area .catch03-01 { width: 100%; }
.ttl_area .catch03-02 { width: 100%; margin-top: calc(2.61 / 31 * 100%); }
.ttl_area .catch04-01 { width: 100%; margin-top: calc(19.26 / 31 * 100%); }
.ttl_area .catch05-01 { width: 100%; }
.ttl_area .catch05-02 { width: 100%; margin-top: calc(4.45 / 31 * 100%); }
.ttl_area .catch05-03 { width: 100%; margin-top: calc(5.79 / 31 * 100%); }

.top_main .read.pc { font-size: 2.3rem; position: absolute; left: 8.16vw; bottom: 120px; color: #fff; z-index: 10; }
.top_main .banner.pc { width: 290px; position: absolute; right: 2.04vw; top: 100vh; color: #fff; z-index: 10; -webkit-transform: translateY(calc(-100% - 50px)); transform: translateY(calc(-100% - 50px)); padding: 5px; }
.top_main .banner.pc a { display: block; overflow: hidden; border-radius: 80px; }
.top_main .banner .txt { width: 100%; font-size: 1.3rem; font-weight: 500; line-height: 1.2; text-align: center; color: #3C709F; position: absolute; top: 15px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top_main .banner .txt .ttl { font-size: 3.5rem; }
.top_main .read.sp, .top_main .banner.sp { display: none; }

.top_news { padding: 0 8.16% 60px; }
.top_news_item { display: flex; margin-top: 10px; }
.top_news_item .date { font-size: 1.2rem; margin: 5px 20px 0 0; }
.top_news_item .ttl { font-size: 1.6rem; }
.top_news_item .main { font-weight: 500; color: #DC3A86; margin-right: 10px; }

.top_case_box { margin-top: 80px; }
.top_news + .top_case_box { margin-top: 0; }
.top_case { background: #fff; border-radius: 50px 50px 0 0; margin-top: -50px; overflow: hidden; padding-top: 55px; z-index: 2; }
.top_case > .inner { border-bottom: 1px solid #000; }
.top_common_head { padding: 0 8.16% 40px;  display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid #000; }
.top_common_hd { font-size: 1.2rem; }
.top_common_ttl { font-size: 3.5rem; font-weight: 500; line-height: 1.5; }
.top_common_read { font-size: 1.3rem; margin-top: 10px; }
.top_case_body { width: 97.44%; margin: 32px auto 45px; display: flex; }

.cat_list { display: flex; font-size: 1.6rem; flex-shrink: 0; }
.cat_list li + li:before { content: "|"; display: inline-block; }
.cat_list:before { content: ""; width: 12px; background: url("../img/box_lset.svg") no-repeat center / contain; }
.cat_list:after { content: ""; width: 12px; background: url("../img/box_rset.svg") no-repeat center / contain; }
.cat_list li > * { display: inline-block; padding: 5px 15px; }
.cat_list li > span { color: #666; opacity: 0.4; }

.top_case_archive { width:91.83%; overflow: hidden; padding: 5px; }
.top_case_archive .swiper-wrapper { display: flex; }
.case_archive_item .txt { margin-left: 6.65%; }
.case_archive_item .ph { padding-bottom: 62.60%; position: relative; overflow: hidden; border-radius: 10px; overflow: hidden; }
.case_archive_item .ph img { width: 100%; height: 100%; position: relative; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
.case_archive_item .cat { font-size: 1.2rem; margin-top: 25px; }
.case_archive_item .ttl { font-size: 1.5rem; margin-top: 3px; line-height: 1.5; }
.case_archive_item .data { font-size: 1.3rem; margin-top: 8px; }

.top_case_function { width: 7.65%; }
.top_case_function .arrow { padding-bottom: 240%; position: relative; }
.top_case_function .next { width: 35%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-150%); transform: translate(-50%,-150%); cursor: pointer; outline: none; }
.top_case_function .prev { width: 35%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,50%); transform: translate(-50%,50%); cursor: pointer; outline: none; }
.top_case_function .link_more { text-align: center; margin-top: 60px; }
.top_case_function .link_more a { font-size: 2.0rem; line-height: 1; }

.top_recommended { margin-top: 160px;}
.top_recommended_body { margin: 0 2.04% 45px; }
.top_recommended_archive { margin-top: 34px; }
.top_recommended_archive .swiper-wrapper { display: flex; }
.recommended_archive_item:nth-child(4n+1) { margin-left: 0; }
.recommended_archive_item .cat { font-size: 1.2rem; margin-top: 15px; }
.recommended_archive_item .ttl { font-size: 1.5rem; margin-top: 3px; line-height: 1.5; }
.recommended_archive_item .price { font-size: 1.6rem; margin-top: 3px; color: #e63278; font-weight: 700; line-height: 1.5; }
.recommended_archive_item .address { font-size: 1.3rem; margin-top: 3px; }
.recommended_archive_item .ph { padding-bottom: 62.60%; position: relative; overflow: hidden; border-radius: 10px; overflow: hidden; }
.recommended_archive_item .ph img { width: 100%; height: 100%; position: relative; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
.recommended_archive_item .txt { margin-left: 4.26%; }

.top_linklist_ttl { text-align: center; font-size: 1.6rem; font-weight: 500; margin-top: 90px; }
.top_linklist { display: flex; justify-content: space-between; margin: 24px 2.04% 0; }
.top_linklist_item { font-size: 2.0rem; font-weight: 700; width: 23.40%; min-width: 260px; text-align: center; background: #254577; padding: 30px 0; color: #fff; border-radius: 5px; }
.top_linklist_item .ico { display: inline-block; line-height: 20px; margin-left: 10px; }

.top_project_head { height: 650px; margin-top: 80px; position: relative; }
.top_project_head .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.top_project_head .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; background: rgba(0,0,0,0.2); }
.top_project_head .txt { width: 100%; text-align: center; position: absolute; top: 90px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top_project_head .hd { font-size: 13rem; color: #fff; z-index: 2; }
.top_project_head .read { font-size: 1.3rem; color: #fff; z-index: 2; }
.top_project_archive { width:91.83%; margin: -157px auto 0; display: flex; flex-wrap: wrap; }
.top_project_archive + .link_more { margin: 70px auto 0; text-align: center; }

.bg_box { border-top: 1px solid #888888; padding: 145px 0 290px; margin-top: 80px; background: url("../img/top_bg.png") no-repeat bottom / contain; }
.top_about { width: 71.68%; margin: 0 auto; }
.top_about_ttl { font-size: 13.0rem; color: #254577; text-align: right; line-height: 1; position: relative; z-index: 3; }
.top_about > .inner { display: flex; justify-content: space-between; }
.top_about_ph { width: 58.71%; position: relative; margin-top: -60px; }
.top_about_ph .ph { position: relative; z-index: 2; -webkit-transition: opacity 1.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s, transform 1.8s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 1.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s, transform 1.8s cubic-bezier(0.36, 0.14, 0, 1); opacity:0; -webkit-transform:translateY(150px); transform:translateY(150px); border-radius: 30px; overflow: hidden; }
.top_about_ph .bg { width: 107%; position: absolute; right: -11.81%; top: -2.57%; -webkit-transition: opacity 1.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s, transform 1.8s cubic-bezier(0.36, 0.14, 0, 1) 0.15s; transition: opacity 1.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s, transform 1.8s cubic-bezier(0.36, 0.14, 0, 1) 0.15s; opacity:0; -webkit-transform:translateY(150px) rotate(-5deg); transform:translateY(150px) rotate(-5deg); }
.top_about_ph.isActive .ph { opacity:1; -webkit-transform:translateY(0); transform:translateY(0); }
.top_about_ph.isActive .bg { opacity:1; -webkit-transform:translateY(0) rotate(0); transform:translateY(0) rotate(0); }
.top_about_txt { width: 27.24%; margin-top: 50px; }
.top_about_txt p, .top_joinus_txt p { font-size: 1.3rem; }
.top_about_txt .ttl, .top_joinus_txt .ttl { font-size: 3.5rem; line-height: 1.5; margin-bottom: 10px; }

.link_more { margin-top: 35px; }
.link_more a { font-size: 2.0rem; position: relative; }
.link_more a:after { content: ""; display: block; width: 100%; height: 1px; background: #333; position: absolute; bottom: 0; left: 0; }
.top_recommended_body .link_more { text-align: right; }

.top_recruit { margin: 200px 0 0; }
.top_recruit > .inner { display: flex; justify-content: space-between; }
.top_joinus_ttl { font-size: 13.0rem; color: #254577; text-align: right; line-height: 1.2; position: absolute; bottom: 0; z-index: 3; -webkit-transform: translate(-300px, 50%); transform: translate(-300px, 50%); }
.top_joinus_ph { display: flex; width: 65.30%; position: relative; }
.top_joinus_ph .ph { width: 46.87%; margin-right: 3.13%; border-radius: 20px; overflow: hidden; }
.top_joinus_phsp { display: none; }
.top_joinus_txt { width: 24.48%; margin-left: 8.16%; }

.footer_contanct { background: #254577; border-radius: 50px 50px 0 0; margin-top: -50px; padding: 120px 0; overflow: hidden; position: relative; z-index: 2;}
.footer_contanct > .inner { display: flex; align-items: center; justify-content: space-between; width: 81.63%; margin: 0 auto; }
.footer_instgram { width: 48%; max-width: 550px; }
.footer_instgram_hd { display: flex; align-items: flex-end; }
.footer_instgram_hd .ico { min-width: 37px; }
.footer_instgram * { color: #fff; }
.footer_instgram_hd .name { font-size: 3.0rem; line-height: 1; font-weight: 300; margin-left: 15px; }
.footer_instgram_hd .id { font-size: 1.2rem; font-weight: 300; margin-left: 14px; text-decoration: underline; }
.footer_instgram p { margin-top: 10px; line-height: 1.5;}

.footer_contanct_hd { width: 48%; max-width: 400px; }
.footer_contanct_hd .read { font-size: 1.3rem; color: #fff; }
.footer_contanct_hd .ttl + .read { margin-top: 60px; }
.footer_contanct_hd .ttl { font-size: 5.0rem; color: #fff; }
.footer_contanct_hd .ttl a { display: inline-block; line-height: 1.5; position: relative; }
.footer_contanct_hd .ttl a:after { content: ""; display: block; width: 100%; height: 1px; background: #fff; position: absolute; bottom: 0; left: 0; }

.footer_bg { background: #fff;padding-top: 40px; }

.footer_logo > .inner { width: 83.67%; margin: 0 auto; display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: center; }
.footer_nav { display: flex; justify-content: flex-end; flex-grow: 2; }
.footer_nav li { font-weight: 500; font-size: 1.6rem; }
.footer_nav li + li { margin-left: 40px; }

.footer_area > .inner { width: 83.67%; margin: 116px auto 0; display: flex; justify-content: space-between; }
.footer_area_item { width: 21.95%; }
.footer_area_item .hd { font-size: 1.2rem; }
.footer_area_item .area { font-size: 2.4rem; font-weight: 500; border-bottom: 1px solid #888; }
.footer_area_item .tel { font-size: 1.8rem; margin-top: 20px; }
.footer_area_item .address { font-size: 1.6rem; line-height: 1.6; margin-top: 8px; }
.footer_area_item .map { display: flex; align-items: center; margin-top: 13px; }
.footer_area_item .btn { font-size: 1.3rem; line-height: 1.6; color: #fff; background: #e63278; border: 1px solid #e63278; border-radius: 3px; padding: 3px 20px; }
.footer_area_item .copy { font-size: 1.6rem; line-height: 1.2; margin-left: 9px; }
.footer_area_item .link { font-size: 1.6rem; margin-top: 18px; line-height: 1.5; }
.footer_area_item .link .line { text-decoration: underline; }
.ico_ex { display: inline-block; line-height: 16px; margin-left: 5px; }

.footer_link { border-top: 1px solid #888; padding: 45px 0 40px; margin-top: 120px; }
.footer_link > .inner { width: 83.67%; margin: 0 auto; display: flex; justify-content: space-between; }
.footer_link .hd { font-size: 1.2rem; }
.footer_link .link { font-size: 1.6rem; display: flex; align-items: center; }
.footer_link .link .item { display: flex; align-items: center; }
.footer_link .link .item + .item { margin-left: 7.78%; }
.footer_link .link .logo { margin-right: 19px; }
.footer_link .link .name { white-space: nowrap; }
.footer_link .link ._hakuba .logo { width: 83px; }
.footer_link .link ._sakura .logo { width: 128px; }
.footer_end { border-top: 1px solid #888; padding: 55px 0 45px; }
.footer_end > .inner { width: 83.67%; margin: 0 auto; display: flex; justify-content: space-between; }
.footer_end .copyrights { font-size: 1.1rem; }
.footer_end .privacy_link { font-size: 1.1rem; }

@media screen and (min-width: 1025px) {
    /*.case_archive_item { width: 31.94%!important; }*/
    .case_archive .case_archive_item { width: 31.94%; margin-left: 2.09%; }
    .case_archive .case_archive_item:nth-child(3n+1) { margin-left: 0; }
    .recommended_archive_item { width: 23.40%!important; margin-left: 2.13%; }
    
    .top_project_archive .project_archive_item { width: 31.94%!important; }
    .top_project_archive .project_archive_item + .project_archive_item { margin-left: 2.15%; }
}

@media screen and (max-width: 1600px) {
    .footer_nav li { font-weight: 500; font-size: 1.3rem; }
    .footer_nav li + li { margin-left: 25px; }
}
@media screen and (max-width: 1400px) {
    .top_joinus_ttl { font-size: 13.0rem; color: #254577; text-align: right; line-height: 1.2; position: absolute; bottom: 0; z-index: 3; -webkit-transform: translate(-100px, 50%); transform: translate(-100px, 50%); }
    
    .footer_nav li { font-weight: 500; font-size: 1.1rem; }
    .footer_nav li + li { margin-left: 18px; }
}
@media screen and (max-width: 1024px) {
    .top_main .ph { width: 100%; height: 768px; overflow: hidden; position: relative; }
    .top_main .ph img { width: 100%; min-width: 1568px; max-width: none; position: absolute; left: 50%; top: 50%; -webkit-translate: -50% -50%; translate: -50% -50%; }
    
    .ttl_area { width: 89.33%; height: 80px; max-width: 543px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .ttl_area .en { color: #fff; font-size: 0.88rem; position: absolute; left: 0; top: -1.27vw; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
    .ttl_area .catch { width: calc(153 / 375 * 100%);  display: flex; justify-content: space-between; flex-direction: row-reverse; position: absolute; right: 0; top: -38%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
.ttl_area .catch > div > div { margin-left: auto; margin-right: auto; overflow: hidden; }
.ttl_area .catch > div > div img { width: 100%; -webkit-transform: translateX(110%); transform: translateX(110%);-webkit-transition: all 1.5s cubic-bezier(0.5, 0.2, 0.01, 1); transition: all 1.5s cubic-bezier(0.5, 0.2, 0.01, 1); }
.ttl_area .catch > div { width: calc(31 / 238 * 100%); }
    
    .top_contents { background: #fff; border-radius: 30px 30px 0 0; margin-top: -30px; padding-top: 40px; overflow: hidden; position: relative; z-index: 2;}
    .top_main .read.sp { display: block; text-align: center; font-size: 2.3rem; font-weight: 500; }
    .top_main .banner.sp { display: block; width: 233px; margin: 35px auto 70px; border-radius: 80px; overflow: hidden; position: relative; }
    .top_main .banner .txt { font-size: 1.0rem; top: 7px; }
    .top_main .banner .txt .ttl { font-size: 2.8rem; }
    .top_main .read.pc, .top_main .banner.pc { display: none; }

    .top_news { padding: 25px 6.66%; margin-bottom: 80px; border-top: 1px solid #888; border-bottom: 1px solid #888; }
    .top_news_item { display: block; margin-top: 10px; }
    .top_news_item .date { font-size: 1.0rem; margin: 0 0 5px 0; }
    .top_news_item .ttl { font-size: 1.4rem; line-height: 1.5; }
    .top_news_item .main { font-weight: 500; color: #DC3A86; display: block; }
    .top_news_item .sub { font-size: 1.2rem; }

    .top_case_box { margin-top: 0; }
    .top_case { background: #fff; border-radius: 50px 50px 0 0; margin-top: -50px; overflow: hidden; padding-top: 70px; }
.top_case > .inner { border-bottom: 1px solid #000; }
    .top_common_head { padding: 0 6.66% 30px;  display: block; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid #000; }
    /*.top_common_hd { font-size: 1.0rem; }
    .top_common_ttl { font-size: 2.4rem; font-weight: 700; line-height: 1.5; }
.top_common_read { font-size: 1.3rem; margin-top: 10px; }*/
    .page_archive .top_common_read { margin-top: 20px; }
    .top_case_body { width: 80%; margin: 29px auto 35px 10px; display: block; }

    .cat_list { display: flex; flex-wrap: wrap; justify-content: center; font-size: 1.2rem; margin-top: 20px; padding: 0 10px; position: relative; }
    .page_archive .cat_list { margin-top: 50px; }
.cat_list li + li:before { content: "|"; display: inline-block; }
.cat_list:before { content: ""; width: 12px; height: 100%; background: url("../img/box_lset.svg") no-repeat center / contain; position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.cat_list:after { content: ""; width: 12px; height: 100%; background: url("../img/box_rset.svg") no-repeat center / contain; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.cat_list li > * { display: inline-block; padding: 5px 10px; }

    .top_case_archive { width: auto; display: flex; justify-content: space-between; overflow: visible; }
    .case_archive_item .ph { padding-bottom: 62.60%; position: relative; overflow: hidden; box-sizing: 10px; overflow: hidden; }
.case_archive_item .ph img { width: 100%; position: relative; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .case_archive_item .cat { font-size: 1.2rem; margin-top: 12px; }
    .case_archive_item .ttl { font-size: 1.4rem; margin-top: 3px; line-height: 1.5; }
    .case_archive_item .data { font-size: 1.1rem; margin-top: 5px; }

    .top_case_function { width: 100%; }
    .top_case_function .arrow { display: none; }
.top_case_function .next { width: 35%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-150%); transform: translate(-50%,-150%); }
.top_case_function .prev { width: 35%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,50%); transform: translate(-50%,50%); }
    .top_case_function .link_more { width: calc(125% - 10px - 6.66vw); text-align: right; margin: 35px 0 0!important; }
    .top_case_function .link_more a { font-size: 1.6rem; line-height: 1; border-bottom: 1px solid #000; }

    .top_recommended { margin-top: 100px;}
    .top_recommended_body { margin: 0 0 35px; }
    .top_recommended_archive { width: 80%; display: flex; justify-content: space-between; margin: 29px 10px 0; }
.recommended_archive_item .cat { font-size: 1.2rem; margin-top: 15px; }
    .recommended_archive_item .ttl { font-size: 1.4rem; margin-top: 3px; line-height: 1.5; }
.recommended_archive_item .price { font-size: 1.6rem; margin-top: 3px; color: #e63278; font-weight: 700; line-height: 1.5; }
    .recommended_archive_item .address { font-size: 1.1rem; margin-top: 3px; }
    
    .top_linklist_ttl { text-align: center; font-size: 1.3rem; font-weight: 500; margin-top: 45px; padding-top: 80px; border-top:  1px solid #000; }
    .top_linklist { display: block; width: 86.66%; margin: 29px auto 0; }
    .top_linklist_item { display: block; font-size: 1.6rem; font-weight: 700; width: 100%; min-width: none; text-align: center; background: #254577; padding: 30px; color: #fff; border-radius: 5px; box-sizing: border-box; }
    .top_linklist_item + .top_linklist_item { margin-left: 0; margin-top: 20px; }
.top_linklist_item .ico { display: inline-block; line-height: 20px; margin-left: 10px; }
    
    .top_project_head { height: 252px; margin-top: 80px; position: relative; }
.top_project_head .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.top_project_head .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; background: rgba(0,0,0,0.2); }
    .top_project_head .txt { width: 100%; text-align: center; position: absolute; top: 56px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
    .top_project_head .hd { font-size: 5rem; color: #fff; z-index: 2; }
    .top_project_head .read { font-size: 1.3rem; color: #fff; z-index: 2; }
    .top_project_archive { width:80%; margin: -34px 10px 0; display: flex; flex-wrap: wrap; }
    .top_project_archive + .link_more { margin: 70px 6.66% 0; text-align: right; }

    .bg_box { border-top: 1px solid #888888; padding: 100px 0 190px; margin-top: 80px; background: url("../img/top_bg@sp.png") no-repeat bottom / cover; }
    .top_about { width: 86.66%; margin: 0 auto; }
    .top_about_ttl { font-size: 5.0rem; color: #254577; text-align: right; line-height: 1; position: absolute; z-index: 3; width: 100%; text-align: right; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .top_about > .inner { display: block; justify-content: space-between; }
    .top_about_ph { width: 79.07%; position: relative; margin-top: 0px; }
.top_about_ph .ph { position: relative; z-index: 2; }
.top_about_ph .bg { width: 107%; position: absolute; right: -11.81%; top: -2.57%; }
    .top_about_txt { width: auto; margin: 37px 0 0 21.53%; }
.top_about_txt p, .top_joinus_txt p { font-size: 1.3rem; }
.top_about_txt .ttl, .top_joinus_txt .ttl { font-size: 3.5rem; line-height: 1.5; margin-bottom: 10px; }

    .top_recruit { width: 86.66%; margin: 90px auto 0; }
    .top_recruit > .inner { display: block; justify-content: space-between; }
    .top_joinus_ttl { font-size: 5.0rem; color: #254577; text-align: left; line-height: 1.2; position: relative; bottom: 0; z-index: 3; -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    .top_joinus_ph { display: none; }
    .top_joinus_phsp { display: block; width: 87.69%; margin: 50px auto 0; position: relative; }
    .top_joinus_phsp .ph { border-radius: 10px; overflow: hidden; }
    .top_joinus_txt { width: auto; margin: 20px 0 0 21.53%; }

    .link_more { margin-top: 10px; }
    .link_more a { font-size: 1.6rem; border-bottom: 1px solid #333; }
    .top_recommended_body .link_more { margin: 30px 6.66% 0; text-align: right; }
    .top_about_txt .link_more,
    .top_joinus_txt .link_more { text-align: right; }

    .footer_contanct { background: #254577; border-radius: 30px 30px 0 0; margin-top: -30px; padding: 45px 0 55px; overflow: hidden; position: relative; z-index: 2;}
    .footer_contanct > .inner { display: block; align-items: center; justify-content: space-between; width: 86.66%; margin: 0 auto; }
    .footer_instgram { display: block; width: 100%; max-width: none; margin-top: 68px; }
    .footer_instgram_hd { display: flex; align-items: center; justify-content: center; flex-direction: column; }
    .footer_instgram_hd .ico { min-width: 47px; }
    .footer_instgram_hd .ico img { width: 100%; }
    .footer_instgram_hd .name { font-size: 3.0rem; line-height: 1; font-weight: 300; margin-left: 0; margin-top: 10px; }
    .footer_instgram_hd .id { font-size: 1.0rem; font-weight: 300; margin-left: 0; margin-top: 10px; }
    .footer_instgram p { margin-top: 24px; line-height: 2; text-align: center; }
    .footer_contanct_hd { width: 100%; max-width: none; text-align: center;}
    .footer_contanct_hd .ttl + .read { margin-top: 50px; }
.footer_contanct_hd .read { font-size: 1.3rem; color: #fff; }
    .footer_contanct_hd .ttl { font-size: 4.0rem; color: #fff; margin-top: 0; }
.footer_contanct_hd .ttl span { display: inline-block; line-height: 1.5; border-bottom: 1px solid #fff; }
    
    .footer_bg { background: #fff;padding-top: 25px; }

    .footer_logo > .inner { width: 86.67%; margin: 0 auto; display: block; justify-content: space-between; align-items: center; }
    .footer_nav { display: flex; flex-wrap: wrap; justify-content: center; font-size: 1.1rem; }

    .footer_area > .inner { width: 86.67%; margin: 0 auto; display: block; justify-content: space-between; }
    .footer_area_item { width: auto; margin-top: 56px; }
    .footer_area_item .hd { font-size: 1.0rem; }
    .footer_area_item .area { font-size: 1.8rem; font-weight: 500; border-bottom: 1px solid #888; }
    .footer_area_item .tel { font-size: 1.8rem; margin-top: 20px; }
    .footer_area_item .address { font-size: 1.4rem; line-height: 1.6; margin-top: 8px; }
.footer_area_item .map { display: flex; align-items: center; margin-top: 13px; }
.footer_area_item .btn { font-size: 1.3rem; line-height: 1.6; color: #fff; background: #e63278; border-radius: 3px; padding: 2px 15px; }
    .footer_area_item .copy { font-size: 1.4rem; line-height: 1.2; margin-left: 9px; }
    .footer_area_item .link { font-size: 1.2rem; margin-top: 18px; line-height: 1.5; }
.footer_area_item .link .line { text-decoration: underline; }
.ico_ex { display: inline-block; line-height: 16px; margin-left: 5px; }

.footer_link { border-top: 1px solid #888; padding: 30px 0; margin-top: 50px; }
    .footer_link > .inner { width: 86.67%; margin: 0 auto; display: flex; justify-content: space-between; }
    .footer_link .link ._hakuba .logo { width: 69px; text-align: center; }
    .footer_link .link ._hakuba .logo img { width: 45px; }
    .footer_link .link ._sakura .logo { width: 69px; }
    .footer_link .hd { font-size: 1.0rem; }
    .footer_link .link { font-size: 1.2rem; }
    .footer_end { border-top: 1px solid #888; padding: 35px 0 25px; }
    .footer_end > .inner { width: 86.67%; margin: 0 auto; display: flex; justify-content: space-between; }
.footer_end .copyrights { font-size: 1.1rem; }
.footer_end .privacy_link { font-size: 1.1rem; }
}

@media screen and (max-width: 768px) {
    
    .top_common_hd { font-size: 1.0rem; }
    .top_common_ttl { font-size: 2.4rem; font-weight: 700; line-height: 1.5; }
.top_common_read { font-size: 1.3rem; margin-top: 10px; }
    
    .top_main .read.sp { display: block; text-align: center; font-size: 1.4rem; font-weight: 500; }
    
    .footer_nav .pc { display: none; }
    
    .footer_link .link .item + .item { margin: 20px 0 0; }
    .footer_link .link .logo { margin-right: 6px; }
    .footer_link .link { font-size: 0.9rem; display: flex; align-items: flex-start; flex-direction: column; }
    
    .footer_nav li { font-weight: 500; font-size: 1.0rem; }
    .footer_nav li + li { margin-left: 12px; }
}
@media screen and (max-width: 600px) {
    .top_main .ph { width: 100%; height: auto; padding-bottom: 142.54vw; overflow: hidden; position: relative; }
    .top_main .ph img { width: 100%; min-width: auto; max-width: none; position: absolute; left: 50%; top: 50%; -webkit-translate: -50% -50%; translate: -50% -50%; }
    
}

/*common*/
.page_head { padding-top: 286px; }
.page_head > .inner { margin: 0 8.16%; }
.page_head .en { font-size: 1.2rem; }
.page_head .ja { font-size: 3.5rem; font-weight: 500; line-height: 1.5; }

.page_common { margin: 286px 0 125px; }
.page_head + .page_common { margin-top: 140px; }
.page_common > .inner { display: flex; justify-content: space-between; margin: 0 8.16%; }
.page_common_head { width: 29.26%; box-sizing: border-box; }
.page_common_body { width: 65.85%; }

.page_archive { padding-top: 286px; margin: 0 0 125px; }

.page_nav { width:91.83%; margin: 35px auto 0; display: flex; align-items: center; justify-content: space-between; }
.page_nav_recommended { margin-bottom: 150px; }
.page_nav .prev, .page_nav .next { width: 37px; }
.page_nav .index a { font-size: 2.0rem; border-bottom: 1px solid #333; }

.swiper-wrapper { -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1); }

@media screen and (max-width: 1024px) {
    .page_head { padding-top: 122px; }
    .page_head > .inner { margin: 0 6.66%; }
    
    .page_common { margin: 122px 0 125px; }
    .page_head + .page_common { margin-top: 22px; }
    .page_common > .inner { display: block; justify-content: space-between; margin: 0 6.66%; }
    .page_common_head { width: auto; box-sizing: border-box; }
    .page_common_body { width: 100%; }
    
    .page_archive { padding-top: 122px; margin: 0 0 125px; }
    
    .page_nav_recommended { margin-bottom: 100px; }
    .page_nav .index a { font-size: 1.6rem; border-bottom: 1px solid #333; }
}

@media screen and (max-width: 768px) {
    .page_head .en { font-size: 1.0rem; }
    .page_head .ja { font-size: 2.4rem; font-weight: 500; line-height: 1.5; }
}

/* Google Mapを囲う要素 */
.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 52.08%; /* 比率を4:3に固定 */
    border-radius: 10px;
    overflow: hidden; 
}
.recommended_contents_item .googlemap { padding-top: 95%;}
 
/* Google Mapのiframe */
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*company*/
.page_company_main { margin: 78px 0 0 2.35%; position: relative; }
.page_company_main .ph { border-radius: 30px 0 0 30px; overflow: hidden; }
.page_company_main .copy { width: 300px; position: absolute; right: 4.59%; top: 38px; }
.page_company_main .copy img { width: 100%; }

.page_company > .inner { display: flex; justify-content: space-between;  }
.page_company_nav { width: 200px; margin: 90px 0 0 6.12%; padding-bottom: 150px; font-size: 1.6rem; }
.page_company_nav ul { position: sticky; top: 150px; }
.page_company_nav ul li { position: relative; color: #666; margin-bottom: 5px; }
.page_company_nav ul li.current { color: #333; }
.page_company_nav ul li:before { opacity: 0; content: ""; display: block; width: 20px; height: 1px; position: absolute; left: -29px; top: 16px; background: #888; }
.page_company_nav ul li.current:before { opacity: 1; -webkit-transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1); }
.page_company_nav ul ul { margin-top: 5px; }
.page_company_nav ul li li { margin-left: 1em; }

.page_company_body { width: 61.22%; margin: 100px 8.16% 0 0; }

.company_item_en { font-size: 1.2rem; }
.company_item_ttl { font-size: 3.0rem; font-weight: 500; }
.company_item_read { margin: 60px 0 0 10%; }
.company_item_read .read { font-size: 4.5rem; font-weight: 500; margin-bottom: 20px; line-height: 1.5; }

.company_item { margin-top: 120px;}
.company_item_first { margin-top: 0; }
.company_message01_body { margin: 60px 0 0 30%; }
.company_message01_body .ph { border-radius: 20px; overflow: hidden; }
.company_message01_body .name { font-size: 1.4rem; font-weight: 500; text-align: right; margin-top: 30px; }
.company_message01_body .name span { font-size: 3.5rem; line-height: 1.5; }
.company_message01_body .hd { margin-top: 70px; font-size: 2.4rem; font-weight: 500; margin-bottom: 20px; line-height: 1.5; }

.company_message02_body { margin: 60px 0 0 10%; display: flex; justify-content: space-between; }
.company_message02_body .profile { width: 44.44%; }
.company_message02_body .ph { border-radius: 20px; overflow: hidden; }
.company_message02_body .txt { width: 47.91%; }
.company_message02_body .hd { font-size: 2.4rem; font-weight: 500; margin-bottom: 20px; line-height: 1.5; }
.company_message02_body .name { font-size: 1.4rem; font-weight: 500; text-align: right; margin-top: 30px; }
.company_message02_body .name span { font-size: 3.5rem; line-height: 1.5; }
.company_message02_body p + p { margin-top: 2em; }

.company_outline_body { margin: 60px 0 120px 10%; }
.company_outline_body .head { display: flex; justify-content: space-between; align-items: center; }
.company_outline_body .head .hd { font-size: 2.4rem; }
.company_outline_body .head .font_en { font-size: 1.4rem; }

.company_outline_body .data { width: 100%; font-size: 1.8rem; border-top: 1px solid #888; margin: 10px 0 50px; border-collapse: separate; }
.company_outline_body .data th, .company_outline_body .data td { padding: 25px 0; font-weight: 400; line-height: 1.5; border-bottom: 1px solid #888; }
.company_outline_body .data th { width: 190px; }
.btn_map { display: inline-block; background: #e63278; margin-left: 9px; padding: 2px 15px 0; font-size: 1.3rem; line-height: 1.5; color: #fff; border-radius: 2px; border: 1px solid #e63278; vertical-align: text-top; }
.company_outline_body .data .googlemap { margin-top: 16px; }
.company_outline_body .ph { border-radius: 20px; overflow: hidden; }

@media screen and (max-width: 1024px) {
    .page_company_main { margin: 28px 0 0 6.66%; position: relative; }
    .page_company_main .ph { border-radius: 15px 0 0 15px; overflow: hidden; }
    .page_company_main .copy { width: 44.57%; max-width: 300px; min-width: 156px; position: absolute; right: 4.59%; top: 20px; }

.page_company > .inner { display: flex; justify-content: space-between; }
    .page_company_nav { display: none; }
    .page_company_body { width: 86.66%; margin: 50px auto 50px; }
}

@media screen and (max-width: 768px) {
    .company_item_en { font-size: 1.0rem; }
    .company_item_ttl { font-size: 1.8rem; font-weight: 500; }
    .company_item_read { margin: 30px 0 0 26.15%; }
    .company_item_read .read { font-size: 3.0rem; font-weight: 500; margin-bottom: 20px; line-height: 1.5; }

    .company_item { margin-top: 60px;}
    .company_item_first { margin-top: 0; }
    .company_message01_body { margin: 20px 0 0 26.15%; }
    .company_message01_body .ph { border-radius: 10px; overflow: hidden; }
    .company_message01_body .name { font-size: 1.0rem; font-weight: 500; text-align: right; margin-top: 20px; }
    .company_message01_body .name span { font-size: 1.8rem; line-height: 1; display: inline-block; margin-top: 8px;}
    .company_message01_body .hd { margin: 27px 0 14px; font-size: 1.4rem; font-weight: 500; line-height: 1.5; }

    .company_message02_body { margin: 16px 0 0 26.15%; display: block; justify-content: space-between; }
    .company_message02_body + .company_message02_body { margin-top: 51px; }
    .company_message02_body .profile { width: auto; }
    .company_message02_body .ph { border-radius: 10px; overflow: hidden; }
    .company_message02_body .txt { width: auto; }
    .company_message02_body .hd { margin: 27px 0 14px; font-size: 1.4rem; font-weight: 500; line-height: 1.5; }
    .company_message02_body .name { font-size: 1.0rem; font-weight: 500; text-align: right; margin-top: 20px; }
    .company_message02_body .name span { font-size: 1.8rem; line-height: 1; display: inline-block; margin-top: 8px; }

    .company_outline_body { margin: 25px 0 60px 0; }
.company_outline_body .head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
    .company_outline_body .head .hd { font-size: 1.4rem; }
    .company_outline_body .head .font_en { display: none; }

    .company_outline_body .data { width: 100%; font-size: 1.3rem; border-bottom: 1px solid #888; margin-bottom: 32px; }
    .company_outline_body .data th, .company_outline_body .data td { padding: 12px 0; font-weight: 400; }
    .company_outline_body .data th { width: 8.5em; }
    .btn_map { display: inline-block; background: #e63278; margin-left: 4px; padding: 1px 15px 0; font-size: 0.8rem; line-height: 1.5; color: #fff; border-radius: 2px; }
    .company_outline_body .data .googlemap { display: none; }
    .company_outline_body .ph { border-radius: 10px; overflow: hidden; }
}


/*charm*/
.page_charm > .inner { display: flex; justify-content: space-between; width: 83.67%; margin: 85px auto 0; }
.page_charm_map { width: 14.40%; margin-left: -3.81%; padding-bottom: 150px; contain: paint; }
.page_charm_map .map { position: sticky; top: 100px; }
.page_charm_map .map .map_link01 { display: block; width: 34.81%; height: 9.25%; position: absolute; top: 7.70%; left: 33.73%;}
.page_charm_map .map .map_link02 { display: block; width: 34.81%; height: 9.25%; position: absolute; top: 30.70%; left: 28.24%;}
.page_charm_map .map .map_link03 { display: block; width: 34.81%; height: 9.25%; position: absolute; top: 55.25%; left: 32.73%;}
.page_charm_map .map .map_link04 { display: block; width: 34.81%; height: 9.25%; position: absolute; top: 68.25%; left: 60.73%;}
.page_charm_map img { width: 100%; }
.page_charm_txt { width: 73.17%; }

.charm_read { margin-left: 30%; }
.page_common_head.charm_read { display: none; }
.charm_item { margin: 85px 0 150px }
.charm_item .en { font-size: 13rem; color: #254577; line-height: 1; overflow: hidden; }
.hd_anime { overflow: hidden; }
.hd_anime span { display: inline-block; -webkit-transform: translateY(110%); transform: translateY(110%); opacity: 0; -webkit-transition: transform 1.5s cubic-bezier(0.5, 0.2, 0.01, 1), opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1); transition: transform 1.5s cubic-bezier(0.5, 0.2, 0.01, 1), opacity 1.0s cubic-bezier(0.5, 0.2, 0.01, 1); }
.hd_anime.isActive span { -webkit-transform: translateY(0%); transform: translateY(0%); opacity: 1; }
.hd_anime span:nth-child(1) { -webkit-transition-delay: 0.03s; transition-delay: 0.03s; }
.hd_anime span:nth-child(2) { -webkit-transition-delay: 0.06s; transition-delay: 0.06s; }
.hd_anime span:nth-child(3) { -webkit-transition-delay: 0.09s; transition-delay: 0.09s; }
.hd_anime span:nth-child(4) { -webkit-transition-delay: 0.12s; transition-delay: 0.12s; }
.hd_anime span:nth-child(5) { -webkit-transition-delay: 0.15s; transition-delay: 0.15s; }
.hd_anime span:nth-child(6) { -webkit-transition-delay: 0.17s; transition-delay: 0.17s; }
.hd_anime span:nth-child(7) { -webkit-transition-delay: 0.19s; transition-delay: 0.19s; }
.hd_anime span:nth-child(8) { -webkit-transition-delay: 0.21s; transition-delay: 0.21s; }
.hd_anime span:nth-child(9) { -webkit-transition-delay: 0.23s; transition-delay: 0.23s; }

.charm_item > .ph { margin-top: 50px; }
.charm_item > .ph img { border-radius: 30px; overflow: hidden; }
.charm_item_head { display: flex; margin-top: 60px; }
.charm_item_head .ttl { width: 280px; font-size: 3.0rem; font-weight: 500; line-height: 1.5; }
.charm_item_head .txt { width: calc(100% - 280px); }
.charm_item_head .txt p + p { margin-top: 2em; }

.charm_item_love { margin-top: 90px; position: relative;}
.charm_item_love .ttl { font-size: 3.0rem; line-height: 1.5; }
.charm_item_love .read { font-size: 1.8rem; }

.charm_item_slidebox { width: 113.33%; overflow: hidden; }
.charm_item_slide { width: 76.47%; margin: 45px 0 60px; }
.charm_item_slide .ph { border-radius: 10px; overflow: hidden; }
.charm_item_slide .ttl { font-size: 1.4rem; font-weight: 500; margin: 15px 0 10px; }
.charm_item_slide p { font-size: 1.4rem; }
.charm_item_slide .footer { font-size: 1.4rem; margin-top: 13px; }
.charm_item_slide .slick-slide { width: 24.48vw; margin-right: 2.04vw; }

.charm_slide_nav { display: flex; position: absolute; top: 0; right: -8.43%; }
.charm_slide_nav > div { width: 37px; cursor: pointer; }
.charm_slide_nav .next { margin-left: 27px; }

@media screen and (max-width: 1100px) {
    .charm_item .en { font-size: 12rem; color: #254577; line-height: 1; overflow: hidden; }
}

@media screen and (max-width: 1024px) {
    .page_charm > .inner { display: block; justify-content: space-between; width: 86.66%; margin: 22px auto 0; }
    .page_charm_map { width: 39.38%; min-width: 128px; max-width: 256px; margin: 46px auto 0; padding-bottom: 0; }
    .page_charm_txt { width: auto; }

    .page_common_head.charm_read { display: block; }
    .page_charm_txt .charm_read { display: none; }
    .charm_item { margin: 44px 0 80px }
    .charm_item > .ph { margin: 15px -7.69% 0; }
    .charm_item > .ph img { border-radius: 0; overflow: hidden; }
    
    .charm_slide_nav { display: flex; position: absolute; top: 0; right: -3.43%; }
}

@media screen and (max-width: 768px) {
    .charm_item_head { display: block; margin-top: 26px; }
    .charm_item_head .ttl { width: auto; font-size: 1.8rem; font-weight: 500; line-height: 1.5; margin-bottom: 25px; }
    .charm_item_head .txt { width: auto; margin-left: 26.15%; }
    
    .charm_item .en { font-size: 5rem; color: #254577; line-height: 1; }

    .charm_item_love { margin-top: 50px; position: relative;}
    .charm_item_love .ttl { font-size: 1.4rem; line-height: 1.5; }
    .charm_item_love .read { font-size: 1.3rem; margin-top: 15px; }
    
    .charm_item_slidebox { width: 107.69%; overflow: hidden; }
    .charm_item_slide { width: 73.84%; margin: 22px 0 40px; }
    .charm_item_slide .ttl { font-size: 1.3rem; font-weight: 500; margin: 15px 0 10px; }
    .charm_item_slide p { font-size: 1.3rem; }
    .charm_item_slide .footer { font-size: 1.3rem; margin-top: 10px; }
.charm_item_slide .slick-slide { width: 24.48vw; margin-right: 2.04vw; }

    .charm_slide_nav { display: none;  }
.charm_slide_nav > div { width: 37px; }
.charm_slide_nav .next { margin-left: 27px; }
}

/*case*/
.case_archive { width:91.83%; margin: 32px auto 0; display: flex; flex-wrap: wrap; }
.case_archive .case_archive_item { margin-bottom: 100px; }

.case_recommend { width:91.83%; margin: 32px auto 0; display: flex; flex-wrap: wrap; align-items: center; }
.case_recommend .case_archive_item { margin-bottom: 100px; }
.case_recommend .swiper-wrapper { display: flex; }

@media screen and (min-width: 1025px) {
    .case_recommend .case_archive_item { width: 31.94%!important; margin-right: 0; }
    .case_recommend .case_archive_item + .case_archive_item { margin-left: 2.03%; }
}

@media screen and (max-width: 1024px) {
    .case_archive { width:86.66%; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
    .case_archive .case_archive_item { width: 48%; }
    
    .case_recommend { width:auto; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
}
@media screen and (max-width: 600px) {
    .case_archive { width:100%; justify-content: center; }
    .case_archive .case_archive_item { width: 100%; padding: 0 6.66% 24px; margin-bottom: 29px; box-sizing: border-box; border-bottom: 1px solid #888; }
}

/*case single*/
.case_single_meta { font-size: 1.3rem; margin-top: 20px; }
.case_single .mainph { width: 71.42%; margin: 75px auto 0; }
.case_single .mainph > div { padding-bottom: 62.67%; position: relative; overflow: hidden; border-radius: 20px; }
.case_single .mainph > div img { width: 100%; position: absolute; left: 50%; top: 50%; -webkit-translate: -50% -50%; translate: -50% -50%; overflow: hidden; border-radius: 20px; }
.case_single .edit { width: 55.10%; margin: 80px auto 0; }
.case_single .btn_box { width: 55.10%; margin: 60px auto 0; }
.case_single .btn_box .btn + .btn { margin-top: 20px; }
.case_single .edit h2,
.case_single .edit h3,
.case_single .edit h4,
.case_single .edit h5,
.case_single .edit h6 { font-size: 2.4rem; }
.case_single .edit > * + * { margin-top: 95px; }
.case_single .edit h2 + *,
.case_single .edit h3 + *,
.case_single .edit h4 + *,
.case_single .edit h5 + *,
.case_single .edit h6 + * { margin-top: 20px; }
.case_single .edit * + figure { margin-top: 70px; }
.case_single .edit img { overflow: hidden; border-radius: 20px; }
.case_single .edit strong { font-family: "A1 Gothic B", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; font-weight: 700; }

.case_single .edit ol li { font-size: 1.3rem; list-style-type: decimal; }

.case_single .edit ul li { font-size: 1.3rem; padding-left: 1em; position: relative; }
.case_single .edit ul li:before { content: "・"; display: inline-block; position: absolute; left: 0; top: 0; }

.case_single .edit .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { text-align: left; font-size: 1.3rem; color: #333; line-height: 1.5; padding: 8px 0 0;text-shadow: none; background: none; scrollbar-gutter:unset; -webkit-transform: translateY(100%); transform: translateY(100%); }
.case_single .edit .wp-block-gallery.has-nested-images figure.wp-block-image { margin-bottom: 5em!important; }
.case_single .edit .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before { display: none; }
.case_single .edit .wp-block-image :where(figcaption) { margin-top: 8px; font-size: 1.3rem;}

.case_single .edit input { margin-top: 0; }

.single_recommend { margin: 190px 0 50px; }
.single_recommend_ttl { font-size: 1.2rem; text-align: center; margin-bottom: 60px; }

.case_single + .page_nav { margin: 110px auto; }

body.single-news .case_single { margin-bottom: 250px; }


@media screen and (max-width: 1024px) {
    .case_single .mainph { width: 86.66%; margin: 25px auto 0; }
    .case_single .edit { width: auto; margin: 42px 6.66% 0 29.33%; }
    body.single-news .case_single .edit { margin: 42px 6.66% 0; }
    .case_single .btn_box { width: auto; margin: 42px 6.66% 0 29.33%; }
    .case_single .edit > * + * { margin-top: 50px; }
    .case_single .edit * + figure { margin-top: 20px; }
    .case_single .edit h2,
    .case_single .edit h3,
    .case_single .edit h4,
    .case_single .edit h5,
    .case_single .edit h6 { width: 135.41%; margin-left: -35.41%; }
    .case_single._news .edit h2,
    .case_single._news .edit h3,
    .case_single._news .edit h4,
    .case_single._news .edit h5,
    .case_single._news .edit h6 { width: 100%; margin-left: 0%; }

    .single_recommend { margin: 105px 0 50px; }
    .single_recommend > .inner { width: 80%; margin: 0 auto 0 10px; display: block; }

    .case_single + .page_nav { margin-top: 50px; } 
}

@media screen and (max-width: 768px) {
    .case_single_meta { font-size: 1.2rem; margin-top: 5px; }
    .case_single .edit h2,
    .case_single .edit h3,
    .case_single .edit h4,
    .case_single .edit h5,
    .case_single .edit h6 { font-size: 1.4rem; }
    
    .single_recommend_ttl { font-size: 1.2rem; text-align: center; margin-bottom: 30px; }

    body.single-news .case_single { margin-bottom: 120px; }
    
}

/*news*/
.news_archive{width: 55.10%;margin: 129px auto 0;}
.news_archive_item { display: flex; justify-content: space-between; }
.news_archive_item + .news_archive_item { margin-top: 36px; padding-top: 36px; border-top: 1px solid #888; }
.news_archive_item .ph { width: 25.57%; }
.news_archive_item .ph > div { padding-bottom: 62.89%; position: relative; }
.news_archive_item .ph > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; overflow: hidden; border-radius: 10px; }
.news_archive_item .txt { width: 70.71%; }
.news_archive_item .txt .date { font-size: 1.2rem; }
.news_archive_item .txt .ttl { margin-top: 8px; }
.news_archive_item .txt .main { font-size: 1.6rem; font-weight: 500; line-height: 1.5; }
.news_archive_item .txt .sub { font-size: 1.6rem; display: block; line-height: 1.5; margin-top: 10px; }

@media screen and (max-width: 1024px) {
    .news_archive{width: 86.66%;margin: 37px auto 0;}
.news_archive_item { display: flex; justify-content: space-between; }
    .news_archive_item + .news_archive_item { margin-top: 28px; padding-top: 28px; border-top: 1px solid #888; }
    .news_archive_item .ph { width: 37.03%; }
.news_archive_item .ph > div { padding-bottom: 62.89%; position: relative; }
.news_archive_item .ph > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; overflow: hidden; border-radius: 10px; }
    .news_archive_item .txt { width: 58.95%; }
    .news_archive_item .txt .date { font-size: 1.0rem; }
    .news_archive_item .txt .ttl { margin-top: 2px; }
    .news_archive_item .txt .main { font-size: 1.4rem; font-weight: 500; line-height: 1.5; }
    .news_archive_item .txt .sub { font-size: 1.2rem; display: block; line-height: 1.5; margin-top: 4px; }
}

/*recommended*/
.recommended_archive { margin: 34px 2.04% 0; display: flex; flex-wrap: wrap; }
.recommended_archive .recommended_archive_item { margin-bottom: 100px; }

@media screen and (max-width: 1024px) {
    .recommended_archive { width:86.66%; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
    .recommended_archive .recommended_archive_item { width: 48%; }
}
@media screen and (max-width: 600px) {
    .recommended_archive { width:100%; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
    .recommended_archive .recommended_archive_item { width: 100%; padding: 0 6.66% 24px; margin-bottom: 29px; box-sizing: border-box; border-bottom: 1px solid #888; }
}

/*recommended single*/
.recommended_cat { display: flex; flex-wrap: wrap; margin-bottom: 5px; }
.recommended_cat a { font-size: 1.2rem; line-height: 1.8; padding: 0 20px; border: 1px solid #000; border-radius: 20px; }
.recommended_meta { margin-top: 15px; padding: 20px 0; display: flex; border-top: 1px solid #888888; border-bottom: 1px solid #888888; font-size: 1.6rem; }
.recommended_meta .tag { width: 34.14%; }
.recommended_meta .price { width: 32.93%; }
.recommended_meta .price .num { color: #e63278; font-weight: 500; }
.recommended_meta .price .notes { font-size: 1.3rem; }
.recommended_meta .address { width: 32.93%; }

.page_head + .recommended_contents { margin-top: 70px;}

.recommended_slide_wrapper { overflow: hidden; }
.recommended_slide_thumb { margin-top: 34px; width: 26.16%; }
.recommended_slide_main { overflow: hidden; }
.recommended_contents_item { display: none; }
.recommended_contents_item.is-active { display: block; }
.recommended_slide_main .swiper-slide { padding-bottom: 62.61%; position: relative; overflow: hidden; border-radius: 20px; }
.recommended_slide_main .swiper-slide img { width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); overflow: hidden; border-radius: 20px; }
.recommended_slide_thumb .swiper-slide > div { margin-right: 19.78%; padding-bottom: 50.21%; position: relative; overflow: hidden; border-radius: 10px; }
.recommended_slide_thumb .swiper-slide > div img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); overflow: hidden; border-radius: 10px; object-fit: cover; }

.recommended_sp_read { display: none; }

.recommended_tab { display: flex; }
.recommended_tab_item { width: 50%; margin-top: 110px; padding: 10px 0; border: 1px solid #888888; font-size: 1.8rem; font-weight: 500; text-align: center; background: #F5F5F5; cursor: pointer; }
.recommended_tab_item.is-active { border-bottom: none; background: #fff; cursor: default;  }
.recommended_tab_item + .recommended_tab_item { border-left: none; }

.recommended_contents_item { padding-top: 88px; }
.recommended_contents_item .data { width: 100%; font-size: 1.8rem; border-top: 1px solid #888888; border-collapse: separate; }
.recommended_contents_item .data th, .recommended_contents_item .data td { padding: 22px 0; border-bottom: 1px solid #888888; }
.recommended_contents_item .data th { width: 11em; }
.recommended_contents_item .dl_ttl { font-size: 2.4rem; font-weight: 500; margin: 50px 0 20px; }
.recommended_contents_item .dl_list { font-size: 1.8rem; border-top: 1px solid #888888; }
.recommended_contents_item .dl_list li { border-bottom: 1px solid #888888; }
.recommended_contents_item .dl_list a { padding: 22px 0; display: block; }
.recommended_contents_item .dl_list .ico { display: inline-block; margin-right: 10px; line-height: 18px; }
.btn a { display: block; background: #254577; border-radius: 5px; padding: 30px; font-size: 2.0rem; font-weight: 500; line-height: 1.5; text-align: center; color: #fff; }
.btn a .ico_mail { display: inline-block; line-height: 20px; margin-right: 11px;}
.btn a .ico_exlink { display: inline-block; line-height: 20px; margin-left: 11px;}
.recommended_contents .btn { margin-top: 75px; }

@media screen and (max-width: 1024px) {
.recommended_cat { display: flex; flex-wrap: wrap; margin-bottom: 5px; }
    .recommended_cat a { font-size: 1.0rem; line-height: 1.8; padding: 0 20px; border: 1px solid #000; border-radius: 20px; }
    .recommended_meta { margin-top: 15px; padding: 10px 0; display: block; border-top: 1px solid #888888; border-bottom: 1px solid #888888; font-size: 1.6rem; }
    .recommended_meta .tag { width: auto; }
    .recommended_meta .price { width: auto; }
.recommended_meta .price .num { color: #e63278; font-weight: 500; }
.recommended_meta .price .notes { font-size: 1.3rem; }
    .recommended_meta .address { width: auto; }
    
    .recommended_contents { margin-bottom: 20px; }
    .page_head + .recommended_contents { margin-top: 40px;}
    
    .recommended_slide_thumb { width: 25.40%; margin-top: 13px; }
    .recommended_slide_thumb .swiper-slide > div { margin-right: 8.78%; padding-bottom: 57.21%; position: relative; overflow: hidden; border-radius: 10px; }
.recommended_slide_main { overflow: hidden; }
.recommended_contents_item { display: none; }
.recommended_contents_item.is-active { display: block; }
    
    .recommended_contents .page_common_head { display: none; }
    .recommended_sp_read { display: block; font-size: 1.3rem; margin: 43px 0 0 26.15%;  }
}
@media screen and (max-width: 768px) {
    .recommended_meta .tag { font-size: 1.2rem; }
    .recommended_meta .address { font-size: 1.1rem; }
    
    .recommended_tab { display: flex; }
    .recommended_tab_item { width: 50%; margin-top: 45px; padding: 10px 0; border: 1px solid #888888; font-size: 1.3rem; font-weight: 500; text-align: center; background: #F5F5F5; cursor: pointer; }
.recommended_tab_item.is-active { border-bottom: none; background: #fff; cursor: default;  }
.recommended_tab_item + .recommended_tab_item { border-left: none; }

    .recommended_contents_item { padding-top: 45px; }
    .recommended_contents_item .data { width: 100%; font-size: 1.3rem; border-top: 1px solid #888888; }
    .recommended_contents_item .data th, .recommended_contents_item .data td { padding: 12px 0; border-bottom: 1px solid #888888; }
.recommended_contents_item .data th { width: 10em; }
    .recommended_contents_item .dl_ttl { font-size: 1.4rem; font-weight: 500; margin: 36px 0 12px; }
    .recommended_contents_item .dl_list { font-size: 1.3rem; border-top: 1px solid #888888; }
.recommended_contents_item .dl_list li { border-bottom: 1px solid #888888; }
    .recommended_contents_item .dl_list a { padding: 15px 0; display: block; }
.recommended_contents_item .dl_list .ico { display: inline-block; margin-right: 10px; line-height: 18px; }
    .btn a { display: block; background: #254577; border-radius: 5px; padding: 30px; font-size: 1.6rem; font-weight: 500; text-align: center; color: #fff; }
    .btn a .ico_mail { display: inline-block; line-height: 16px; margin-right: 9px;}
    .btn a .ico_exlink { display: inline-block; line-height: 16px; margin-left: 9px;}
    .recommended_contents .btn { margin-top: 32px; }
    .recruit_data .btn a { padding: 18px; font-size: 1.3rem; margin-top: 8px; }
    .recruit_data .btn a .ico_mail { width: 11px; line-height: 5px; margin-right: 5px; }
}

/*project*/
.project_head { height: 600px; position: relative; }
.project_head .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.project_head .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; background: rgba(0,0,0,0.2); }
.project_head .hd { font-size: 13rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; white-space: nowrap; }
.project_head + .page_archive { padding-top: 65px; }

.project_archive { width:91.83%; margin: 32px auto 0; display: flex; flex-wrap: wrap; }
.project_archive .project_archive_item { margin-bottom: 100px; }

.project_archive_item .txt { margin-left: 6.65%; }
.project_archive_item .ph { padding-bottom: 62.60%; position: relative; overflow: hidden; border-radius: 10px; overflow: hidden; }
.project_archive_item .ph img { width: 100%; height: 100%; position: relative; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
.project_archive_item .ttl { font-size: 2.0rem; font-weight: 700; margin-top: 35px; line-height: 1.5; }
.project_archive_item .read { font-size: 1.3rem; margin-top: 3px; }


@media screen and (min-width: 1025px) {
    .project_archive .project_archive_item { width: 31.94%; margin-left: 2.09%; }
    .project_archive .project_archive_item:nth-child(3n+1) { margin-left: 0; }
}

@media screen and (max-width: 1024px) {
    .project_archive { width:86.66%; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
    .project_archive .project_archive_item { width: 48%; }
    
    .project_archive .project_archive_item { margin-bottom: 60px; }
    
    .project_archive_item .ttl { font-size: 1.6rem; font-weight: 700; margin-top: 15px; line-height: 1.5; }
    .project_archive_item .read { font-size: 1.1rem; margin-top: 0; }
}
@media screen and (max-width: 768px) {
    .project_head { height: 250px; position: relative; }
    .project_head .hd { font-size: 5rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
}

@media screen and (max-width: 600px) {
    .project_archive { width:100%; justify-content: center; }
    .project_archive .project_archive_item { width: 100%; padding: 0 6.66% 60px; margin-bottom: 29px; box-sizing: border-box; border-bottom: 1px solid #888; }
    
    .project_archive_item .txt { margin-left: 0; }
}


/*recruit*/
.recruit_contents { padding: 189px 0 164px; }
.recruit_contents > .inner { display: flex; justify-content: space-between; width: 87.75%; margin: 0 auto; }
.recruit_bg { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: url("../img/top_bg.png") no-repeat top center / cover; z-index: -1; }
.recruit_head { width: 23.21%; margin-left: 2.04%; padding-top: 97px; }
.recruit_body { width: 63.26%; position: relative; }

.recruit_head .en { font-size: 1.2rem; }
.recruit_head .ja { font-size: 3.5rem; line-height: 1.5; font-weight: 500; }
.recruit_head .read { font-size: 1.8rem; font-weight: 500; margin-top: 24px; }
.recruit_head .btn_recruit { margin-top: 24px; }
.recruit_head .btn_recruit a { display: inline-block; padding: 10px 20px 5px 37px; background: #e63278;border: 1px solid #e63278;box-sizing: border-box;border-radius: 4px; font-size: 1.6rem; color: #fff;font-weight: 400;}
.recruit_head .btn_recruit .ico { display: inline-block; width: 12px; margin-left: 10px; line-height: 5px; }
.recruit_head .local_nav { font-size: 1.6rem; margin-top: 172px; position: sticky; top: 150px; }
.recruit_head .local_nav ul { }
.recruit_head .local_nav li { margin-bottom: 10px; color: #666; position: relative; }
.recruit_head .local_nav .current { color: #333; }
.recruit_head .local_nav li:before { opacity: 0; content: ""; display: block; width: 20px; height: 1px; position: absolute; left: -29px; top: 16px; background: #888; }
.recruit_head .local_nav .current:before { opacity: 1; -webkit-transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);}
.recruit_body .hd { font-size: 13rem; color: #254577; position: absolute; top: 0; right: -45px; -webkit-transform: translateY(-50%); transform: translateY(-50%); line-height: 1.2; }

.recruit_body .mainph { border-radius: 30px; overflow: hidden; } 
.recruit_body .mainph img { width: 100%; }

.recruit_item { margin-top: 176px; }
.recruit_item_ttl { font-size: 4.5rem; font-weight: 500; line-height: 1.5; }
.recruit_point { display: flex; justify-content: space-between; margin-top: 100px; }
.recruit_point:nth-child(2n) { flex-direction: row-reverse; }
.recruit_point_txt { width: 48.38%; }
.recruit_point_ph { width: 48.38%; }
.recruit_point_ph img { border-radius: 10px; overflow: hidden; }
.recruit_point_txt .num { font-size: 6.0rem; color: #e63278; line-height: 1; }
.recruit_point_txt .ttl { font-size: 2.5rem; margin-top: 25px; line-height: 1.4; } 
.recruit_point_txt p { font-size: 1.5rem; margin-top: 15px; } 

.recruit_list { font-size: 1.8rem; margin-top: 70px; margin-left: 28.93%; }
.recruit_list li { position: relative; padding-left: 36px; }
.recruit_list li:before { content: "✔";  position: absolute; left: 0; }

.recruit_data_wrapper { margin: 60px 3.22% 0 9.81%; }
.recruit_data { font-size: 1.8rem; line-height: 1.8; border-collapse: separate; }
.recruit_data th, .recruit_data td { border-bottom: 1px solid #888; padding: 22px 0; font-weight: 400; }
.recruit_data th { width: 190px; vertical-align: top; }
.recruit_data td * + * { margin-top: 24px; }
.recruit_data td * + .btn { margin-top: 14px; }
.recruit_data td strong { font-weight: 500; }
.recruit_data li { text-indent: -1em; padding-left: 1em; margin: 0!important; }

@media screen and (max-width: 1024px) {
    .recruit_contents { padding: 122px 0 164px; }
    .recruit_contents > .inner { display: block; justify-content: space-between; width: 86.66%; margin: 0 auto; }
    .recruit_bg { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: url("../img/top_bg@sp.png") no-repeat top center / cover; z-index: -1; }
    .recruit_head { width: auto; margin: 0; padding-top: 0; }
    .recruit_head .btn_recruit { margin-top: 18px; }
    .recruit_body { width: auto; position: relative; }
    .recruit_head .local_nav { display: none; }
    
    .recruit_body { margin-top: 57px; }
    
    .recruit_point { display: block; justify-content: space-between; margin: 59px 0 0 26.15%; position: relative; }
    .recruit_point_txt { width: auto; }
    .recruit_point_ph { width: auto; margin-top: 17px; }
    .recruit_point_txt .num { font-size: 6.0rem; color: #e63278; line-height: 1; position: absolute; left: -120px; top: -8px; }
}
@media screen and (max-width: 768px) {
    .recruit_head .en { font-size: 1.0rem; }
    .recruit_head .ja { font-size: 2.4rem; line-height: 1.5; }
    .recruit_head .read { font-size: 1.3rem; font-weight: 500; margin-top: 22px; }
    
    .recruit_body .hd { font-size: 5rem; color: #254577; position: absolute; top: 0; right: -14px; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .recruit_body .mainph { border-radius: 20px; overflow: hidden; } 

    .recruit_item { margin-top: 72px; }
    .mainph + .recruit_item { margin-top: 32px; }
    .recruit_item_ttl { font-size: 1.8rem; font-weight: 500; line-height: 1.5; }
    .recruit_point { display: block; justify-content: space-between; margin: 32px 0 0 26.15%; position: relative; }
    .recruit_point + .recruit_point { margin-top: 59px; }
.recruit_point_ph img { border-radius: 10px; overflow: hidden; }
    .recruit_point_txt .num { font-size: 3.0rem; color: #e63278; line-height: 1; position: absolute; left: -65px; top: -5px; }
    .recruit_point_txt .ttl { font-size: 1.4rem; margin-top: 10px; line-height: 1.5; } 
    .recruit_point_txt p { font-size: 1.3rem; margin-top: 20px; } 

    .recruit_list { font-size: 1.3rem; margin-top: 20px; margin-left: 0; }
.recruit_list li { position: relative; padding-left: 25px; }
.recruit_list li:before { content: "✔";  position: absolute; left: 0; }

    .recruit_data_wrapper { margin: 20px 0 0; }
    .recruit_data { width: 100%; font-size: 1.3rem; border-top: 1px solid #888; }
    .recruit_data th, .recruit_data td { border-bottom: 1px solid #888; padding: 12px 0; font-weight: 400; }
    .recruit_data th { width: 7em; padding-right: 1em; }
.recruit_data td * + * { margin-top: 24px; }
.recruit_data td * + .btn { margin-top: 14px; }
}

/*privacy*/
.privacy_body section + section { margin-top: 60px; }
.privacy_body h2 { font-size: 2.5rem; margin-bottom: 12px; line-height: 1.5; }    
.privacy_body p + p { margin-top: 2em; }

@media screen and (max-width: 768px) {
    .privacy_body section + section { margin-top: 33px; }
    .privacy_body h2 { font-size: 1.5rem; margin-bottom: 9px; line-height: 1.5; }    
}

/*contact*/
.contact_body { margin-bottom: 55px; }
.contact_body .ttl { font-size: 2.5rem; }
.contact_item { width: 100%; font-size: 1.8rem; margin-top: -50px; border-collapse: separate; }
.contact_item th, .contact_item td { border-bottom: 1px solid #000; padding: 50px 0 20px; vertical-align: top; }
.contact_item th { width: 220px; font-weight: 500; }
.privacy_notes { font-size: 1.2rem; margin-top: 15px; }

.required { display: inline-block; position: relative; width: 10px; height: 1em; }
.required:after { content: ""; display: inline-block; width: 6px; height: 6px; background: #e63278; border-radius: 50%; position: absolute; top: calc(50% - 3px); }
.contact_item .required { margin-left: 10px; }
.input_txt { width: 100%; box-sizing: border-box; border: none; font-size: 1.8rem; }
textarea.message { width: 100%; height: 7em; box-sizing: border-box; border: none; font-size: 1.8rem; }
.input_txt::placeholder, textarea.message::placeholder { color: #A3A3A3; }
select.pref { width: 100%; border: none; font-size: 1.8rem; }
.label_type .inq-type { display: flex; flex-wrap: wrap; }
.label_type .wpcf7-list-item { width: 100%; margin: 0 0 10px; }
.check_privacy { font-size: 1.8rem; text-align: center; margin-top: 65px; }
.check_privacy .wpcf7-list-item-label { display: none; }
.btn_submit input { background: #254577; color: #fff; font-size: 2.0rem; text-align: center; width: 100%; padding: 30px 0; margin-top: 45px; border-radius: 5px; }
.btn_submit input:disabled { background: #ccc; }

.contact_privacy .formErrorContent { display: none!important; }

@media screen and (max-width: 1024px) {
    .contact_body { margin-top: 50px; }
}

@media screen and (max-width: 768px) {
    .contact_body .ttl { font-size: 1.5rem; margin-bottom: 10px; }
    .contact_item { font-size: 1.2rem; margin-top: 45px; border-top: 1px solid #000; }
    .contact_item, .contact_item thead, .contact_item tbody, .contact_item tr, .contact_item th, .contact_item td { display: block; width: 100%; }
.contact_item th, .contact_item td { border-bottom: 1px solid #000; padding: 15px 0 10px; vertical-align: top; }
    .contact_item th { width: auto; border: none; padding: 15px 0 0; }
    .privacy_notes { font-size: 1.2rem; margin-top: 15px; }

.required { display: inline-block; position: relative; width: 10px; height: 1em; }
.required:after { content: ""; display: inline-block; width: 6px; height: 6px; background: #e63278; border-radius: 50%; position: absolute; top: calc(50% - 3px); }
.contact_item .required { margin-left: 10px; }
    .input_txt { width: 100%; box-sizing: border-box; border: none; font-size: 1.4rem; }
    textarea.message { width: 100%; box-sizing: border-box; border: none; font-size: 1.4rem; }
    select.pref { width: 100%; border: none; font-size: 1.4rem; }
    .label_type { display: flex; flex-wrap: wrap; }
.label_type label { max-width: none; width: 100%; margin-bottom: 10px; }
    .check_privacy { font-size: 1.4rem; text-align: left; margin-top: 49px; }
    .check_privacy .wpcf7-list-item { margin-left: 0; }
    .btn_submit input { background: #254577; color: #fff; font-size: 1.4rem; font-weight: 700; text-align: center; width: 100%; padding: 20px 0; margin-top: 39px; border-radius: 5px; }
.btn_submit input:disabled { background: #ccc; }

.contact_privacy .formErrorContent { display: none!important; }
}

/*thanks*/
.thanks_body { margin-top: 133px; }
.thanks_txt { text-align: center; }
body.thanks .contents_footer_illust,
body.error404 .contents_footer_illust { margin-top: 100px;}

@media screen and (max-width: 768px) {
    body.thanks .common_page_ttl { display: none; }
    .thanks_body { margin: 80px auto 0; width: 81.53%; }
    .thanks_txt { text-align: left; }
    body.thanks .contents_footer_illust,
    body.error404 .contents_footer_illust { margin-top: 73px;}
}

/*download*/
.download_img { margin-top: 25px; }
.download_img > div { width: 85%; max-width: 327px; margin-top: 20px; }

@media screen and (max-width: 1024px) {
    .download_img { display: flex; justify-content: space-between; margin-top: 15px; }
    .download_img > div { width: 48.92%; max-width: none; margin-top: 0; }
    
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
.formError .formErrorContent { font-size: 1.4rem!important; color: #B51C1F!important; margin-top: 5px; background: none!important;border: none!important; box-shadow: none!important; }
.formError .formErrorArrowBottom { display: none!important; }
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }

@media screen and (max-width: 1024px) {
    .notes_privacy { font-size: 1.2rem; color: #999; text-align: left; }
}

/*link*/
.news_single_body .edit a,
.top_news_item a,
a.link_txt,
.case_single .edit a,
.news_archive_item a { text-decoration: underline; }

@media screen and (min-width: 900px) {   
    .news_single_body .edit a:hover,
    .top_news_item a:hover,
    a.link_txt:hover,
    .case_single .edit a:hover,
    .news_archive_item a:hover { text-decoration: none; }
    
    .link_more > a,
    .footer_nav a,
    .main_nav a,
    .lang_nav a,
    .footer_area_item .link a,
    .footer_link .link a,
    .footer_end .privacy_link a,
    .cat_list a,
    .page_nav .index a { -webkit-transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1); transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1);}
    .link_more > a:hover,
    .footer_nav a:hover,
    .main_nav a:hover,
    .lang_nav a:hover,
    .footer_area_item .link a:hover,
    .footer_link .link a:hover,
    .footer_end .privacy_link a:hover,
    .cat_list a:hover,
    .page_nav .index a:hover { color: #e63278; border-bottom: none; }
    
    .page_company_nav ul li a,
    .recruit_head .local_nav a { -webkit-transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1); transition: color 0.8s cubic-bezier(0.19, 1, 0.22, 1);}
    .page_company_nav ul li a:hover,
    .recruit_head .local_nav a:hover { color: #333; }
    
    .footer_area_item .link a:hover .line { text-decoration: none; }
    
    .btn_contanct,
    .footer_area_item .map .btn,
    .btn_map { -webkit-transition: background 0.8s cubic-bezier(0.36, 0.14, 0, 1); transition: background 0.8s cubic-bezier(0.36, 0.14, 0, 1); }
    .btn_contanct:hover,
    .footer_area_item .map .btn:hover,
    .btn_map:hover { background: #e63278; background: #fff; color: #e63278; }
    
    .top_linklist_item,
    .btn a,
    .btn_submit input { -webkit-transition: background 0.8s cubic-bezier(0.36, 0.14, 0, 1); transition: background 0.8s cubic-bezier(0.36, 0.14, 0, 1); }
    .top_linklist_item:hover,
    .btn a:hover,
    .btn_submit input:hover { background: #e63278; }
    
    .link_more a:after,
    .footer_contanct_hd .ttl a:after { -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .link_more a:hover:after,
    .footer_contanct_hd .ttl a:hover:after { opacity: 0; }
    
    .case_archive_item .ph img,
    .project_archive_item .ph img,
    .recommended_archive_item .ph img { -webkit-transition: transform 1.5s cubic-bezier(.16,1,.3,1); transition: transform 1.5s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: left top; transform-origin: left top; }
    .case_archive_item:hover .ph img,
    .project_archive_item:hover .ph img,
    .recommended_archive_item:hover .ph img { -webkit-transform: scale(1.05) translate(-50%, -50%); transform: scale(1.05) translate(-50%, -50%); }
    
}











