@charset "UTF-8";
/* CSS Document */
/*
font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
*/
:root {
	--ff-josefin: "Josefin Sans", sans-serif;
	--c-blue: #007aff;
	--c-yellow: #fff100;
	--c-darkbrown: #231815;
	--c-darkgrey: #595757;
}


/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ overflow-y: scroll; font-size: 62.5%;}
body{ margin: 0; padding: 0; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
form{ margin: 0; padding: 0;}
p{ margin: 0; padding: 0;}
a, a:hover{ text-decoration: none; outline: none;}
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: 0; line-height: 0;}
ul, dl, dt, dd{ margin: 0; padding: 0;}
li, ol{ margin: 0; padding: 0; list-style: none;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
caption, th{ text-align: left;}
figure { margin: 0; padding: 0; }
header, nav, main, article, aside, section, footer{ display: block;}
*{ box-sizing: border-box;}

/**********************************************************
*　追加ベース
**********************************************************/
body.is-fixed {
	/*position: fixed;*/
}
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }

.l-wrapper { margin-left: auto; margin-right: auto; }

@media screen and (max-width: 680px) {
	.l-wrapper { width: calc(100% - 48px); }
}
@media screen and (min-width: 681px) {
	.l-wrapper { min-width: 1200px; max-width: 1200px; }
}
@media screen and (min-width: 1401px) {
	/*.l-wrapper { width: 950px; }*/
}

.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }
@media screen and (max-width: 680px) {
	.sp-only { display: block !important; }
	.sp-only-2 { display: inline-block !important; }
	.pc-only { display: none !important; }
	.pc-only-2 { display: none !important; }
}


body{ font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; font-weight: 500; color: #1e234b; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
.l-body { width: 100%; overflow-x: hidden; background: #efefef; }
.l-body.is-fixed { position: fixed; width: 100%; overflow: hidden; }
@media print, screen and (min-width:681px) {
	body{ min-width: 1056px; }
}

/*	iOS Sarafi Hack	*/
_::-webkit-full-page-media,
_:future,
:root .something {  }


/*----------------------------
	Common Things
----------------------------*/
.header { position: fixed; top: 0; left: 0;  display: flex; justify-content: space-between; align-items: center; width: 100%; height: 60px; z-index: 500; transition: background-color .4s; }
.header--white { background-color: #fff; }
.header__logo {  }
.header__logo img { width: 110px; }
.whole-wrap { position: relative; z-index: 100; }
.sec { position: relative; z-index: 100; }


@media screen and (max-width: 680px) {
	
	
	
	
	
	
}
@media screen and (min-width: 681px) {
	
	
	
	
}

@media screen and (max-width: 820px) {
	.header { padding-right: 5px; padding-left: 15px; }
	
	.nav-trg { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 50px; height: 50px; background: rgba(255,255,255,0.85); border-radius: 8px; }
	.nav-trg__icon { transition: .4s; transform-origin: center; }
	.nav-trg__icon img { width: 23px; }
	.nav-trg__txt { margin-top: 7px; font: 700 0.9rem var(--ff-josefin); line-height: 1; text-align: center; color: #9fa0a0; }
	.nav-trg__txt::before { content: "MENU"; }
	.nav-trg.is-opened .nav-trg__txt::before { content: "CLOSE"; }
	
	.nav { position: fixed; top: 0; left: 0; display: none; width: 100%; height: 100%; background-color: rgba(255,255,255,0.85); z-index: 400; }
	.nav__menu { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100svh; }
	.nav__menu__item:not(:first-of-type) { margin-top: 22px; }
	.nav__menu__item a { font-size: 1.4rem; font-weight: 700; color: var(--c-darkgrey); line-height: 1; letter-spacing: 0.02em; text-indent: 0.02em; text-align: center; }
	
}
@media screen and (min-width: 821px) {
	.header { height: 100px; padding-right: 40px; padding-left: 30px; transition-property: background-color; transition-duration: .4s; }
	.header__logo img { width: 200px; }
	.nav-trg { display: none; }
	.nav__menu { display: flex; align-items: center; transition: .4s; padding: 14px 40px 15px; border-radius: 8px; }
	.nav__menu__item:not(:first-of-type) { margin-left: 30px; }
	.nav__menu__item a { font-size: 1.8rem; font-weight: 700; letter-spacing: 0.08em; color: var(--c-darkgrey); transition: .4s; }
	.nav__menu__item a:hover { color: var(--c-blue); }
	.header--activated .nav__menu { background: rgba(255,255,255,0.85); }
}




/*----------------------------
	FV
----------------------------*/
.fv-wrap { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 100svh; background-color: #fff; z-index: 100; }/*  background: url("../img/bg_fv_sp.jpg") no-repeat center/cover; */
/*
.fv-logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 213px; text-align: center; mix-blend-mode: overlay; }
*/
.fv-wrap video { position: relative; width: 100%; height: 100%; object-fit: cover; }

@media screen and (max-width: 680px) {
/*	.fv-logo img { width: calc(100% - 162px); }*/
}
@media screen and (min-width: 681px) {
	.fv-wrap { height: calc(100vh - 100px); margin-top: 100px; }/*  background-image: url("../img/bg_fv_pc.jpg"); */
	.fv-logo { width: 52vw; }
	
	
}
@media (any-hover: hover) and (min-width: 681px) and (max-height: 950px) {
	.fv-wrap video { object-position: 50% 20%; }
}
@media (any-hover: hover) and (min-width: 681px) and (min-height: 951px) {
	.fv-wrap video { object-position: 50% 50%; }
}


/*----------------------------
	Intro
----------------------------*/
.sec--intro { position: relative; background-color: var(--c-blue); padding: 56px 0 78px; overflow: hidden; text-align: center; color: #fff; }
.intro-inner { position: relative; z-index: 10; }
.intro-uzu { position: absolute; transform-origin: 60% 60%; display: block; width: auto; max-width: none; z-index: 0; opacity: .3; mix-blend-mode: multiply;}
.intro-uzu--1 { top: -150px; height: 540px; animation: rotate-ccw 20s linear infinite; }
.intro-uzu--2 { bottom: -30px; height: 360px; animation: rotate-ccw 25s linear infinite; }
.intro-ttl,
.intro-finish { font-size: 2.6rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.01em; }
.intro-ttl__emp { position: relative; display: inline-block;}
.intro-ttl__emp span { position: absolute; left: 50%; transform: translateX(-50%); bottom: calc(100% - 2px); display: block; width: 100%; font-size: 1.0rem; font-weight: 700; line-height: 1; }
.intro-txt-wrap { margin-top: 26px; }
.intro-txt { font-size: 1.4rem; font-weight: 700; line-height: 2; letter-spacing: 0.04em; text-indent: 0.04em; }
.intro-txt:not(:first-of-type) { margin-top: 10px; }
.intro-finish { margin-top: 22px; }
.intro-finish ._emp { color: var(--c-yellow); }
@media screen and (max-width: 680px) {
	.intro-uzu { left: 50%; }
	.intro-uzu--1 { margin-left: -205px; }
	.intro-uzu--2 { margin-left: -247px; }
}
@media screen and (min-width: 681px) {
	.sec--intro { padding: 68px 0 92px; }
	.intro-uzu--1 { top: 50%; margin-top: -385px; right: 50%; margin-right: -940px; animation: rotate-ccw 25s linear infinite; height: 750px; }
	.intro-uzu--2 { bottom: 50%; margin-bottom: -280px; left: 50%; margin-left: -660px; height: 400px; animation: rotate-ccw 35s linear infinite; }
	.intro-ttl,
	.intro-finish { font-size: 4.0rem; letter-spacing: 0.04em; text-indent: 0.04em; }
	.intro-ttl__emp span { bottom: calc(100% - 6px); font-size: 1.3rem; }
	.intro-txt-wrap { margin-top: 42px; }
	.intro-txt { font-size: 1.6rem; }
	.intro-txt:not(:first-of-type) { margin-top: 13px; }
	.intro-finish { margin-top: 59px; }
}

/*----------------------------
	Uzuuzu
----------------------------*/
.uzuuzu-outer-wrap { position: relative; min-height: 100svh; padding-top: 60px; padding-bottom: 40px; }
/*.uzuuzu-inner-wrap { position: absolute; top: 0; left: 0; width: 100%; padding-top: 60px; padding-bottom: 40px; will-change: transform; }*/
.uzuuzu-bg { position: fixed; top: 50vh; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: center; align-items: center; width: 1900px; height: 1966px; z-index: 0; pointer-events: none; }
.uzuuzu-bg img { transform-origin: 49.5% 49.5%; animation: rotate-ccw 10s linear infinite; }
.uzuuzu-outer-wrap .l-wrapper { position: relative; z-index: 10; }
.uzuuzu-ttl { text-align: center; }
.uzuuzu-ttl img { width: auto; height: 46px; }
.uzuuzu-notice { position: relative; display: inline-block; left: 50%; transform: translateX(-50%); background: #fff; margin-top: 20px; padding: 0 0 0; font-size: 1.2rem; font-weight: 500; line-height: 1.5; letter-spacing: 0.04em; text-indent: 0.04em; text-align: center; }
.uzuuzu-search { position: fixed; bottom: 10px; right: 10px; display: flex; justify-content: center; align-items: center; width: 80px; height: 80px; background-color: var(--c-yellow); border: 6px solid #fff; border-radius: 50%; box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); padding-bottom: 2px; opacity: 0; z-index: 300; transition: .4s; pointer-events: none; }
.uzuuzu-search.is-visible { opacity: 1; pointer-events: auto; }
.uzuuzu-search::before { position: absolute; left: 50%; transform: translateX(-50%); bottom: calc(100% + 10px); display: block; width: 80px; height: 42px; background: url("../img/obj_search_balloon_sp.png") no-repeat center/contain; content: ""; transition: .4s; }
.uzuuzu-search.is-disable-balloon::before { opacity: 0; }
.uzuuzu-search img { width: 48px; }
@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	.uzuuzu-outer-wrap { padding-top: 80px; }
	.uzuuzu-ttl img { height: 80px; }
	.uzuuzu-search { bottom: 64px; right: 40px; width: 150px; height: 150px; border-width: 10px; box-shadow: 8px 8px 0px 0px rgba(0,0,0,0.1); }
	.uzuuzu-search::before { bottom: calc(100% - 10px); width: 148px; height: 68px; background-image: url("../img/obj_search_balloon_pc.png"); }
	.uzuuzu-search img { width: 70px; }
	
}


/*		isotope		*/
.work-wrap-outer { width: calc(100% - 40px); margin-top: 20px; margin-left: auto; margin-right: auto; }
.work-wrap { position: relative; margin-right: -1.55rem; }
.work-wrap:after { content: ''; display: block; clear: both; }
.work { position: relative; float: left; display: block; width: calc(50% - 1.55rem); margin: 0 1.55rem 1.55rem 0; color: #000; }
.work > * { margin: 0; padding: 0; }


@media only screen and (max-width: 680px) {
	.work__inner { margin-top: 6px; }
	.work__category-wrap { display: none; }
}
@media only screen and (min-width: 681px) {
	.work-wrap-outer { width: 960px; margin-top: 34px; }
	.work-wrap { margin-right: -40px; }
	.work { width: calc(33.333% - 40px); min-height: 288px; margin: 0 40px 40px 0; }
	
}
@media only screen and (min-width: 1301px) {
	.work-wrap-outer { width: 1300px; }
	.work-wrap { margin-right: -50px; }
	.work { width: calc(33.333% - 50px); }
}
/*
@media only screen and (min-width: 1401px) {
	.work-wrap-outer { width: 1260px; }
	.work-wrap { margin-right: -48px; }
	.work { width: calc(25% - 48px); }
}
@media only screen and (min-width: 1601px) {
	.work-wrap-outer { width: 1460px; }
	.work-wrap { margin-right: -48px; }
	.work { width: calc(20% - 48px); }
}
@media only screen and (min-width: 1801px) {
	.work-wrap-outer { width: 1660px; }
}
*/


/*	List	*/
.work {  }
.work__img { position: relative; }
.work__img img { border-radius: 10px; aspect-ratio: 1/1; }
.work__img__ttl { position: absolute; left: -3px; }
.work__img__ttl--top { top: 8px; }
.work__img__ttl--bottom { bottom: 8px; }
.work__img__ttl__item { display: inline-block; background: linear-gradient(to right, rgba(0,122,255,1) 0%,rgba(101,90,255,1) 50%,rgba(180,123,255,1) 100%); padding: 1px 3px 3px; font-size: 1.4rem; font-weight: 700; line-height: 1; text-align: left; color: #fff; }
.work__img__ttl__item:not(:first-of-type) { margin-top: 4px; }
.work__img__copyright { position: absolute; left: 6px; top: 6px; display: block; font-size: 0.8rem; font-weight: 500; line-height: 1; color: #fff; }
.work__tag-wrap { display: flex; flex-wrap: wrap; }
.work__tag { display: flex; justify-content: center; align-items: center; height: 20px; background: #fff; border: 1px solid #dcdddd; border-radius: 10px; padding: 0 10px; font-size: 1.1rem; font-weight: 700; line-height: 1; color: var(--c-darkgrey); }
@media screen and (max-width: 680px) {
	.work__tag-wrap { margin-top: 4px; }
	.work__tag { margin-top: 4px; }
	.work__img__ttl { margin-right: -10px; }
}
@media screen and (min-width: 681px) {
	.work { transition: .4s; }
	.work:hover { filter: brightness(110%); }
	.work__img img { border-radius: 20px; }
	.work__img__ttl { left: -10px; }
	.work__img__ttl--top { top: 20px; }
	.work__img__ttl--bottom { bottom: 20px; }
	.work__img__ttl__item { font-size: 2.6rem; }
	.work__img__ttl__item:not(:first-of-type) { margin-top: 5px; }
	.work__img__copyright { left: 14px; top: 14px; font-size: 1.1rem; }
	.work__tag-wrap { display: flex; flex-wrap: wrap; margin-top: 8px; }
	.work__tag { height: 30px; border: none; border-radius: 15px; margin-right: 8px; margin-bottom: 8px; padding: 0 15px; font-size: 1.3rem; }
	
	
	.zapata .work__img__ttl__item:last-of-type { letter-spacing: -0.05em; }
}
@media screen and (min-width: 1301px) {
	.work__img__ttl__item { font-size: 2.8rem; }
}
@media screen and (min-width: 1401px) {
	.work__img__ttl__item { font-size: 3.6rem; }
}


/*----------------------------
	Filter Modal
----------------------------*/
.filter-popup__inner {  }
.nav__button-ctrl { display: flex; flex-wrap: wrap; }
.nav__button { display: flex; justify-content: center; align-items: center; height: 30px; background: #fff; border: 1px solid #dcdddd; border-radius: 15px; margin-right: 10px; margin-bottom: 10px; padding: 0 10px; font-size: 1.2rem; font-weight: 700; line-height: 1; text-align: center; color: var(--c-darkgrey); transition: .4s; }
.nav__button.is-checked { background: var(--c-blue); border-color: var(--c-blue); color: #fff; }

.tab-list { display: flex; justify-content: center; align-items: center; }
.tab-list__item { transition: .4s; background: #fff; border: 2px solid #dcdddd; border-radius: 8px; }

.tab-list__item.is-current { background: #fc9822; border-color: #fc9822; color: #fff; }
.tab-list__item--1 {  }
.tab-list__item--2 { margin-left: 15px; }

.tab-list__item__btn { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 95px; height: 95px; }
.tab-list__item__btn__icon::before { content: ""; display: block; width: 33px; height: 33px; background-repeat: no-repeat; background-position: center; background-size: contain; }
.tab-list__item--1 .tab-list__item__btn__icon::before { background-image: url("../img/icon_major_off.png"); }
.tab-list__item--1.is-current .tab-list__item__btn__icon::before { background-image: url("../img/icon_major_on.png"); }
.tab-list__item--2 .tab-list__item__btn__icon::before { background-image: url("../img/icon_campus_off.png"); }
.tab-list__item--2.is-current .tab-list__item__btn__icon::before { background-image: url("../img/icon_campus_on.png"); }
.tab-list__item__btn__txt { margin-top: 4px; font-size: 1.3rem; font-weight: 700; line-height: 1.3; text-align: center; color: #898989; }
.tab-list__item.is-current .tab-list__item__btn__txt,
.tab-list__item.is-current .tab-list__item__btn__icon { color: #fff; }
.tab-select-notice { margin: 30px 0; font-size: 1.4rem; font-weight: 700; line-height: 1; text-align: center; color: var(--c-darkgrey); }
@media screen and (max-width: 680px) {
	.entire-wrap { padding-left: 20px; padding-right: 20px; }
}
@media screen and (min-width: 681px) {
	.filter-popup__inner {  }
	.nav__button-ctrl { width: 943px; margin-left: auto; margin-right: auto; }
	.nav__button { height: 36px; border-radius: 18px; padding: 0 15px; font-size: 1.6rem; }
	.tab-list__item { transition: .4s; background: #f5f5f5; border: none; }
	.tab-list__item--2 { margin-left: 40px; }
	.tab-list__item__btn { width: 150px; height: 154px; }
	.tab-list__item__btn__icon { font-size: 3.5rem; }
	.tab-list__item__btn__txt { font-size: 1.6rem; }
	.tab-list__item:hover { opacity: .75; }
	.tab-select-notice { margin: 40px 0 35px; font-size: 2.0rem; }
	
}

/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}

/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}







/*************************************************************************************************************************
* Objective Fit Image
*************************************************************************************************************************/
.ofi-cover { width: 100%; height: 100%; object-fit: cover; }
.ofi-contain { width: 100%; height: 100%; object-fit: contain; }







/*
.mfp-hide { display: none; }
.filter-popup__inner,
.work-popup__inner { padding: 30px; background: #fff; }
.filter-popup { max-width: 600px; margin: 0 auto; }
.work-popup { max-width: 800px; margin: 0 auto; }
*/

.mfp-hide { display:none; }
.work-content { display:none; background: #fff; border-radius: 13px; padding: 25px; }
.work-content.is-visible { display:block; }


.white-popup-block { color: #fff; }

.tab-content { display: none; }

/*----------------------------
	Modal
----------------------------*/
.mfp-bg { background-color: transparent; opacity: .7; }
.modal-black .mfp-bg { background: #000; }
.modal-white .mfp-bg { background: #fff; opacity: 1; }
.work-content { max-height: calc(100svh - 100px); overflow: auto; color: var(--c-darkgrey); background: #fff; border-radius: 13px; padding: 25px 25px 25px; }
.work-content__upper {  }
.work-content__upper__img {  }
.work-content__upper__ttl { margin-top: 12px; font-size: 2.2rem; font-weight: 700; line-height: 1.3636; }
.work-content__upper__info { margin-top: 13px; font-weight: 700; line-height: 1.3; }
.work-content__upper__info__name { font-size: 1.3rem; }
.work-content__upper__info__name::after { font-size: 1.1rem; content: "さん"; }
.work-content__upper__info__from { margin-top: 2px; font-size: 1.2rem; line-height: 1.5833; }
.work-content__upper__tag-wrap { display: flex; flex-wrap: wrap; margin-top: 15px; }
.work-content__upper__tag { display: flex; justify-content: center; align-items: center; height: 26px; border: 1px solid #dcdddd; border-radius: 13px; margin-right: 8px; margin-bottom: 8px; padding: 0 10px; font-size: 1.1rem; font-weight: 700; line-height: 1; text-align: center; }

.work-content__lower {  }
.work-content__lower__ttl {  }
.work-content__lower__txt { font-size: 1.4rem; font-weight: 500; line-height: 2; text-align: justify; }
.work-content__btn-wrap { margin-top: 24px; }
.work-content__btn { position: relative; display: flex; justify-content: center; align-items: center; height: 40px; border-radius: 3px; font-size: 1.2rem; font-weight: 700; line-height: 1.3; text-align: center; color: #fff; }
.work-content__btn:not(:first-of-type) { margin-top: 16px; }
.work-content__btn::before { position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg); display: block; width: 6px; height: 6px; border-right: 2px solid #fff; border-top: 2px solid #fff; content: ""; }
.work-content__btn._proj { background: #25c2f2; }
.work-content__btn._depa { background: var(--c-blue); }
.work-content__btn._all { background: var(--c-yellow); color: var(--c-darkgrey); }

.work-content__btn._all::before { border-right: 2px solid var(--c-darkgrey); border-top: 2px solid var(--c-darkgrey); }

.work-popup__inner+.mfp-close { top: calc(100% + 10px); width: 40px; height: 40px; }
.work-popup__inner+.mfp-close::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 14px; height: 14px; background: url("../img/icon_close_white.png") no-repeat center/contain; content: ""; }

.modal-white .mfp-close { position: fixed; top: 12px; right: 12px; width: 30px; height: 30px; background-color: var(--c-darkgrey); border-radius: 50%; opacity: 1; }
.modal-white .mfp-close::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 10px; height: 10px; background: url("../img/icon_close_white.png") no-repeat center/contain; content: ""; }

@media print, screen and (max-width: 680px) {
	
	.work-popup__inner { display: flex; align-items: center; width: calc(100% - 30px); height: 100%; margin: 0 auto; }
	.work-content__upper__img { aspect-ratio: 1.497/1; overflow: hidden; }
	.work-content__upper__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
	.work-content__lower { margin-top: 8px; }
	.work-content__lower__ttl { display: none; }
	.work-popup__inner+.mfp-close { left: 50%; transform: translateX(-50%); background: #231815; border-radius: 50%; }
	
	
	.ishii .work-content__upper__img img { object-position: 50% 50%; }
	.sakurazawa .work-content__upper__img img { object-position: 50% 35%; }
	.itos .work-content__upper__img img { object-position: 50% 20%; }
	.kubota .work-content__upper__img img { object-position: 50% 30%; }
/*	.itom .work-content__upper__img img { object-position: 50% 50%; }*/
	.sato .work-content__upper__img img { object-position: 50% 5%; }
	.tatano .work-content__upper__img img { object-position: 50% 30%; }
	.zapata .work-content__upper__img img { object-position: 50% 25%; }
	.hayakawa .work-content__upper__img img { object-position: 50% 37%; }
/*	.miyahara .work-content__upper__img img { object-position: 50% 50%; }*/
	.nakano .work-content__upper__img img { object-position: 50% 30%; }
	.kaburaki .work-content__upper__img img { object-position: 50% 20%; }
}
@media print, screen and (min-width: 681px) {
	.mfp-content:has(.work-popup) { max-width: 770px; margin-left: auto; margin-right: auto; }
	.work-popup__inner { position: relative; }
	.work-popup__inner::before { position: absolute; left: 0; bottom: 0; display: block; width: calc(100% - 10px); height: 50px; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); border-radius: 0 0 20px 20px; content: ""; z-index: 10; }
	.work-content { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; max-height: calc(100vh - 250px); border-radius: 20px; padding: 80px 50px 50px; }
	
	.work-content__upper { width: 260px; margin-right: 30px; }
	.work-content__upper__img {  }
	.work-content__upper__ttl { display: none; }
	.work-content__upper__info { margin-top: 16px; }
	.work-content__upper__info__name { font-size: 1.6rem; }
	.work-content__upper__info__name::after { font-size: 1.2rem; }
	.work-content__upper__info__from { margin-top: 4px; }
	.work-content__upper__tag-wrap { margin-top: 13px; }
	.work-content__upper__tag { height: 30px; border-radius: 15px; margin-right: 8px; padding: 0 15px; font-size: 1.3rem;  }

	.work-content__lower { flex: 1; }
	.work-content__lower__ttl { font-size: 3.0rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.03em; }
	.work-content__lower__txt { margin-top: 16px; font-size: 1.6rem; }
	.work-content__btn-wrap { width: 100%; margin-top: 43px; }
	.work-content__btn { height: 50px; border-radius: 6px; font-size: 1.6rem; }
	.work-content__btn:not(:first-of-type) { margin-top: 10px; }


.work-popup__inner+.mfp-close { top: 40px; right: 40px; width: 23px; height: 23px; }
.work-popup__inner+.mfp-close::before { width: 23px; height: 23px; background-image: url("../img/icon_close_grey.png"); }
	.modal-white .mfp-close { top: 40px; right: 40px; width: 60px; height: 60px; }
	.modal-white .mfp-close::before { width: 20px; height: 20px; }
}
@media (max-width: 900px) {
	.mfp-container { padding-left: 0; padding-right: 0; }
}

/*
.wrapper-outer { position: relative; overflow: hidden; background: #ebf0fa; }
@media print, screen and (min-width:681px) {
	.wrapper-outer::before,
	.wrapper-outer::after { position: absolute; left: 0; display: block; width: 100%; background: #fff; content: ""; z-index: 0; }
	.wrapper-outer::before { top: 0; height: 275px; }
}
@media print, screen and (min-width:1401px) {
	.wrapper-outer::before { height: 285px; }
}
*/
@media print, screen and (min-width:681px) {
	
}
.ktkn { font-size: inherit; letter-spacing: -0.05em; }

/*	Common Things	*/



/*	Modal Things	*/
/*.work-popup { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 5000; pointer-events: auto; overflow: auto; }*/








/*----------------------------
	
----------------------------*/
.sec--fascination { background: var(--c-blue); padding-top: 70px; }
.fascination-ttl {  }
.fascination-ttl img { width: auto; height: 76px;}
.fascination-wrap { margin-top: 26px; counter-reset: num-counter; }
.fascination { position: relative; background: #fff; border-radius: 20px; padding: 50px 30px 40px; color: var(--c-darkgrey); counter-increment: num-counter; }
.fascination:not(:first-of-type) { margin-top: 20px; }
.fascination::before,
.fascination::after { position: absolute; display: block; }
.fascination::before { top: 26px; right: 23px; content: counter(num-counter, decimal-leading-zero); font: 400 6.9rem var(--ff-josefin); line-height: 1; color: #efefef; }
.fascination::after { top: 50%; left: 50%; transform: translate(-50%, -50%); width: calc(100% - 16px); height: calc(100% - 16px); border: 1px solid var(--c-blue); border-radius: 14px; content: ""; pointer-events: none; }
.fascination__ttl { position: relative; padding-left: 16px; font-size: 1.6rem; font-weight: 700; line-height: 1; letter-spacing: 0.08em; }
.fascination__ttl::before { position: absolute; top: 50%; left: 0; transform: translateY(-40%); display: block; width: 4px; height: calc(100% + 10px); min-height: 36px; background: var(--c-blue); content: ""; }
.fascination__ttl__emp { font-size: 2.0rem; }
.fascination__ttl__emp strong { font-weight: 700; color: var(--c-blue); }
.fascination__txt { margin-top: 25px; font-size: 1.4rem; font-weight: 500; line-height: 1.857; }
.fascination__detail {  }
.fascination__detail__img { width: 225px; }
.fascination__detail__link { position: relative; padding-left: 15px; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: 0.11em; color: var(--c-darkgrey); }
.fascination__detail__link::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg); display: block; width: 6px; height: 6px; border-right: 2px solid var(--c-darkgrey); border-top: 2px solid var(--c-darkgrey); content: ""; }

.fascination-bg__uzu,
.fascination-bg__txt { position: absolute; left: 50%; z-index: 0; }
.fascination-bg__uzu img,
.fascination-bg__txt img { width: 100%; }
.fascination-bg__tower { position: relative; z-index: 10; }
.fascination-bg__uzu--1 { top: -10px; transform: translateX(-50%); width: 80px; }
.fascination-bg__uzu--1 img { transform-origin: 49.8% 49.4%; animation: rotate-ccw--2 7.5s ease-in-out infinite; }
.fascination-bg__uzu--2 { top: 125px; transform: translateX(-20%); width: 190px; }
.fascination-bg__uzu--2 img { transform-origin: 52% 52%; animation: rotate-cw 10s linear infinite; }
.fascination-bg__uzu--3 { top: 260px; transform: translateX(-180%); width: 80px; }
.fascination-bg__uzu--3 img { animation: rotate-cw 5s linear infinite; }
.fascination-bg__uzu--4 { bottom: 60px; transform: translateX(-130%); width: 140px; }
.fascination-bg__uzu--4 img { animation: rotate-ccw--irr 10s linear infinite; }
.fascination-bg__txt { width: 106px; }
.fascination-bg__txt--1 { top: 85px; transform: translateX(25%); }
.fascination-bg__txt--1 img { animation: nod--1 2s step-end infinite; }
.fascination-bg__txt--2 { top: 220px; transform: translateX(-145%); }
.fascination-bg__txt--2 img { animation: nod--1 1.5s step-start infinite; }
.fascination-bg__txt--3 { bottom: 235px; transform: translateX(55%); }
.fascination-bg__txt--3 img { animation: nod--1 1s step-end infinite; }

@media screen and (max-width: 680px) {
	.fascination-ttl { text-align: center; }
	.fascination__detail { display: flex; justify-content: center; align-items: center; margin: -20px -30px -40px; }
	.fascination__detail__img { margin-right: -20px; }
	.fascination__detail__link { flex: 1; }
	.fascination-bg { position: relative; margin-top: 38px; }
	.fascination-bg__tower { left: 50%; transform: translateX(-50%); max-width: none; width: 480px; }
}
@media screen and (min-width: 681px) {
	.sec--fascination { padding-top: 100px; padding-bottom: 90px; }
	.sec--fascination .l-wrapper { max-width: 1300px; padding-left: 590px; }
	.fascination-ttl img { height: 126px; }
	.fascination-wrap { margin-top: 40px; }
	.fascination { padding: 58px 50px 44px; }
	.fascination:not(:first-of-type) { margin-top: 25px; }
	.fascination:nth-of-type(1) { padding-right: 218px; }
	.fascination::before { top: 33px; right: 41px; font-size: 9.3rem; }
	.fascination::after { width: calc(100% - 20px); height: calc(100% - 20px); }
	.fascination__ttl { display: flex; align-items: center; padding-left: 25px; font-size: 2.2rem; }
	.fascination__ttl::before { width: 6px; height: calc(100% + 10px); min-height: 54px; }
	.fascination__ttl__emp { font-size: 3.0rem; }
	.fascination__txt { margin-top: 28px; font-size: 1.5rem; line-height: 2; }
	.fascination__detail { position: absolute; right: 0; top: 92px; display: flex; flex-direction: column; align-items: center; }
	.fascination__detail__img { pointer-events: none; }
	.fascination__detail__link { margin-top: -18px; cursor: pointer; transition: .4s; }
	.fascination__detail__link:hover { opacity: .7; }
	.fascination-bg { position: absolute; bottom: 0; left: 50%; transform: translateX(-92%); width: 987px; text-align: center; }
	.fascination-bg__tower { max-width: none; width: 100%; }
	.fascination-bg__uzu--1 { top: -64px; width: 180px; }
	.fascination-bg__uzu--1 img { transform-origin: 50% 50%; }
	.fascination-bg__uzu--2 { top: 175px; transform: translateX(-10%); width: 360px; }
	.fascination-bg__uzu--3 { top: 480px; transform: translateX(-160%); width: 160px; }
	.fascination-bg__uzu--4 { bottom: 140px; transform: translateX(-112%); width: 282px; }
	.fascination-bg__txt { width: 173px; }
	.fascination-bg__txt--1 { top: 115px; transform: translateX(60%); }
	.fascination-bg__txt--2 { top: 410px; transform: translateX(-145%); }
	.fascination-bg__txt--3 { bottom: 485px; transform: translateX(60%); }
}


/*----------------------------
	More
----------------------------*/
.sec--more { background: #fff; padding-top: 75px; padding-bottom: 50px; color: var(--c-darkgrey); z-index: 90; }
.more-ttl { font-size: 2.6rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.08em; text-indent: 0.08em; text-align: center; }
.more-wrap { margin-top: 25px; }
.more { text-align: center; }
.more__img { position: relative; }
.more__img__thumb {  }
.more__img__txt { position: relative; background: #fff; padding-top: 5px; font-size: 1.2rem; font-weight: 700; line-height: 1.4; color: var(--c-darkgrey); z-index: 10; }

.more--irr .more__img { aspect-ratio: 1.68/1; background: #f7f8f8; border: 1px solid #dcdddd; }
.more--irr .more__img__thumb { position: absolute; bottom: -2%; left: 50%; transform: translateX(-50%) rotate(10deg); width: calc(100% - 70px); max-width: 90px; }

.more__logo-wrap { margin-top: 66px; text-align: center; }
.more__logo { display: inline-block; }
.more__logo img { width: auto; height: 40px; }
@media screen and (max-width: 680px) {
	.sec--more .l-wrapper { padding-left: 6px; padding-right: 6px; }
	.more-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.more { width: calc(50% - 0.75rem); }
	.more:not(:nth-child(-n+2)){ margin-top: calc(7vw + 6px); }
	.more__img__txt { padding-bottom: 10px; }
}
@media screen and (min-width: 681px) {
	.sec--more { padding-top: 118px; padding-bottom: 100px; }
	.sec--more .l-wrapper { max-width: 1300px; }
	.more-ttl { font-size: 4.0rem; }
	.more-wrap { display: grid; grid-template-columns: repeat(4, 301px); grid-template-rows: repeat(2, auto); grid-column-gap: 32px; grid-row-gap: 32px; margin-top: 49px; }
	.more { transition: .4s; }
	.more:hover { filter: brightness(110%); }
	.more__img__thumb {  }
	.more__img__txt { padding-top: 8px; font-size: 1.6rem; }
	.more__logo-wrap { margin-top: 85px; }
	.more__logo img { height: 60px; }
	.more--irr .more__img__thumb { max-width: 145px; }
	
}


/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}


/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}


/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}


/*----------------------------
	
----------------------------*/

@media screen and (max-width: 680px) {
	
}
@media screen and (min-width: 681px) {
	
}



/*	Marquee	*/
.fascination-deco { position: absolute; left: 50%; transform: translateX(-50%); bottom: -20px; display: flex; align-items: center; width: 100%; height: 46px; overflow: hidden; z-index: 100; }
.fascination-deco img { max-width: none; width: auto; height: 46px; margin-right: 40px; }
.fascination-deco img:first-child { animation: flow1Pc 60s -30s linear infinite; }
.fascination-deco img:nth-child(2) { animation: flow2Pc 60s linear infinite; }
@media print, screen and (min-width:681px) {
	.fascination-deco { bottom: -44px; height: 94px; }
	.fascination-deco img { height: 94px; }
	.fascination-deco img:first-child {
		animation: flow1Pc 40s -20s linear infinite;
	}
	.fascination-deco img:nth-child(2) {
		animation: flow2Pc 40s linear infinite;
	}
}



@-webkit-keyframes flow1Sp {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
}
@keyframes flow1Sp {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
}
@-webkit-keyframes flow2Sp {
	0% { transform: translateX(0); }
	100% { -webkit-transform: translateX(-200%); transform: translateX(-200%); }
}
@keyframes flow2Sp {
	0% { transform: translateX(0); }
	100% { -webkit-transform: translateX(-200%); transform: translateX(-200%); }
}

@keyframes flow1Pc {
	0% { transform: translateX(calc(100% + 40px)); }
	100% { transform: translateX(calc(-100% - 40px)); }
}
@keyframes flow2Pc {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-200% - 80px)); }
}


@keyframes rotate-cw {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes rotate-ccw {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}
@keyframes rotate-ccw--irr {
	0% { transform: rotate(0deg); }
	25% { transform: rotate(-90deg) scale(0.75); }
	50% { transform: rotate(-180deg) scale(1.1); }
	75% { transform: rotate(-270deg) scale(0.75); }
	100% { transform: rotate(-360deg) scale(1); }
}
@keyframes rotate-cw--2 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(1800deg); }
}

@keyframes rotate-ccw--2 {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(-1800deg); }
}


@keyframes nod--1 {
	0% { transform: rotate(0deg); }
	50% { transform: rotate(-5deg); }
	100% { transform: rotate(0deg); }
}

@keyframes nod--2 {
	0% { transform: rotate(0deg); }
	50% { transform: rotate(3deg); }
	100% { transform: rotate(0deg); }
}



/*************************************************************************************************************************
* css for Recruit footer template
*************************************************************************************************************************/
.r-footer{ background: #fff; padding: 15px; position: relative; z-index: 10; border-top: 1px solid #e1e1e1; overflow: hidden;}
.r-footer ul li a{ position: relative; padding: 0 0 0 10px; font-size: 12px; line-height: 1; color: #333;}
.r-footer ul li a::before{ content: ""; width: 0; height: 0; position: absolute; top: 2px; left: 0; border-style: solid; border-width: 4px 0 4px 5px; border-color: transparent transparent transparent #454545;}
.r-footer > a{ display: block; width: 258px; height: 37px; margin: 15px 0 0;}
@media print, screen and (min-width: 681px){
  .r-footer{ display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; padding: 15px 30px 20px;}
  .r-footer ul{ display: flex; }
  .r-footer ul li a{ padding-left: 5px;}
  .r-footer ul li a::before{ display: none;}
  .r-footer ul li a::after{ content: "｜"; padding: 0 0 0 5px;}
  .r-footer ul li:last-child a::after{ display: none;}
  .r-footer a{ margin-top: 0;}
}

img[width="1"]{ width: auto; position: absolute; top: 0; left: 0; z-index: -1000;}



