@charset"utf-8";

@media screen and (max-width: 768px) {

	/*common--------------------------------*/

	body::before {
		background: var(--black) url('../img/bg_obj_sp.svg') center center / cover no-repeat;
	}

	:root {
		font-size: 2.56vw;
		--main-color: #B49B5A;
		--white: #fff;
		--black: #000;
		--gray: #34373A;
		--lightgray: #999;
	}

	.sp {
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}

	.pc {
		display: none;
	}
	
	.hover:hover {
		opacity: 1;
	}

	.sec_ttl {
		padding-bottom: 11.79vw;
	}
	
	
	/*--------------------------------------*/
	
	/*header*/
	
	/*--------------------------------------*/
	
	header {
		width: 100%;
		height: 16.41vw;
		padding: 2.9vw 4.1vw;
	}
	
	header .tfr_logo_container {
		width: 11.28vw;
	}
	
	header .tgw_logo_container {
		display: none;
	}
	
	header .btn_lang {
		right: 14.11vw;
	}
	
	header .header-icons__btn {
		width: 7.69vw;
		height: 7.69vw;
	}
	
	header .header-icons__btn span {
		font-size: 1rem;
	}
	
	header .menu_trigger {
		display: block;
		width: 6.41vw;
		height: 3.85vw;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	
	header .menu_trigger::before {
		content: '';
		display: block;
		width: 1px;
		height: 7.18vw;
		background-color: rgba(255,255,255,.3);
		position: absolute;
		top: 50%;
		left: -3.85vw;
		transform: translateY(-50%);
	}
	
	header .menu_trigger span:nth-of-type(1) {
		width: 4.36vw;
		height: 1px;
		background-color: var(--white);
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	
	header .menu_trigger span:nth-of-type(2) {
		width: 5.38vw;
		height: 1px;
		background-color: var(--white);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	header .menu_trigger span:nth-of-type(3) {
		width: 100%;
		height: 1px;
		background-color: var(--white);
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	
	header .header_container {
		display: flex;
		justify-content: right;
		align-items: center;
		position: relative;
	}

	header .menu_target {
		display: block;
		width: 79.74vw;
		background-color: var(--black);
		padding: 16.15vw 0 21.79vw;
		position: absolute;
		top: 0;
		right: -100vw;
		border-radius: 0 0 0 16px;
		transition-duration: 0.3s;
	}

	header .menu_target.current {
		right: -4.1vw;
		transition-duration: 0.6s;
	}
	
	header .nav_list_container {
		display: block;
		width: 50.48%;
		margin: 0 auto;
		height: unset;
		border-right: unset;
		padding: 0 0 8.21vw;
	}
	
	header .nav_list_item + .nav_list_item {
		padding: 12.82vw 0 0 0;
	}
	
	header .nav_list_item {
		text-align: center;
	}
	
	header .nav_list_item a {
		font-size: 1.8rem;
	}
	
	header .pamphlet_wrap {
		display: block;
		position: relative;
		top: unset;
		bottom: unset;
		right: unset;
		width: 40.26vw;
		height: 18.21vw;
		padding: 3.08vw 2.56vw;
		margin: 0 auto 8.21vw;
		box-sizing: border-box;
		transform: translateY(0);
	}

	header .pamphlet_wrap .pamphlet_ttl {
		font-size: 1.8rem;
		padding-bottom: 1.28vw;
	}

	header .pamphlet_wrap .pamphlet_list_item {
		width: 17.18vw;
		height: 6.92vw;
	}

	header .pamphlet_wrap .pamphlet_list_item a {
		font-size: 1.4rem;
		padding: .26vw;
	}
	
	header .pamphlet_wrap::after {
		content: '';
		display: block;
		width: 40.26vw;
		height: 1px;
		background-color: rgba(255,255,255,.3);
		position: absolute;
		bottom: 0;
		left: 0;
		transform: translateY(8.21vw);
	}

	header .logo_list_container {
		width: 42.05vw;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
		padding-top: 8.21vw;
	}

	header .logo_list_item:first-child {
		width: 17.69vw;
		position: relative;
	}

	header .logo_list_item:last-child {
		width: 14.1vw;
	}

	header .logo_list_item:first-child::after {
		content: '';
		display: block;
		width: 1px;
		height: 100%;
		background-color: var(--white);
		position: absolute;
		top: 0;
		right: -5.13vw;
	}
	
	header .header-icons .lang-list {
        padding: 3.59vw 4.62vw;
        top: 66.15vw;
        left: 0;
    }
	header .header-icons .lang-list.active {
        top: 11.54vw;
        left: 0;
    }
	header .header-icons .lang-list .lang-item {
        font-size: 3.59vw;
        line-height: 2.4;
    }
	
	
	/*--------------------------------------*/
	
	/*mv_wrap*/
	
	/*--------------------------------------*/
	
	.mv_wrap {
		width: 100%;
		height: 100vh;
		position: relative;
	}
	
	.chatch_container {
		position: absolute;
		top: 23.08vw;
		right: 9.09vw;
		width: 13.59vw;
	}

	.pamphlet_wrap {
		width: 44.36vw;
		height: 22.31vw;
		padding: 4.1vw;
		bottom: unset;
		top: calc(100dvh - 5.13vw);
		right: 5.13vw;
		transform: translateY(-100%);
	}

	.pamphlet_wrap .pamphlet_ttl {
		padding-bottom: 2.05vw;
		letter-spacing: .08em;
	}

	.pamphlet_wrap .pamphlet_list_item {
		width: 17.18vw;
		height: 7.44vw;
	}

	.pamphlet_wrap .pamphlet_list_item a {
		line-height: 7.44vw;
		padding-top: .51vw;
	}
	
	.scroll_container {
		padding-right: 24.1vw;
		bottom: unset;
		top: calc(100dvh - 10.26vw);
		left: -10vw;
	}
	
	.scroll_container::after {
		width: 7.18vw;
		right: 15.38vw;
	}



	
	/*--------------------------------------*/
	
	/*lead_wrap*/
	
	/*--------------------------------------*/
	
	.lead_wrap {
		padding: 35.9vw 6.67vw;
	}
	
	.lead_wrap .lead_txt,
	.lead_wrap .plain_txt {
		text-align: center;
		padding-bottom: 26px;
	}
	
	.lead_wrap .movie_wrap {
		width: 86.67vw;
		padding-top: 11.28vw;
		margin: 0 auto;
	}
	
	/*--------------------------------------*/
	
	/*project_wrap*/
	
	/*--------------------------------------*/
	
	.project_wrap {
		background: var(--black) url('../img/project_bg_obj.webp') center center / cover no-repeat;
		padding: 35.9vw 6.67vw 0;
	}

	.project_wrap::after {
		bottom: 3.59vw;
		left: 5.13vw;
	}
	
	.project_wrap .plain_txt {
		padding-bottom: 14.36vw;
	}
	
	.history_wrap::before {
		content: '';
		display: block;
		width: 1px;
		height: calc(100% - 70px);
		background-color: rgba(255,255,255,.36);
		position: absolute;
		top: 70px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.history_ttl {
		padding: 5.9vw 0 10.26vw;
	}
	
	.history_ttl::before {
		width: 3.85vw;
		height: 3.85vw;
	}
	
	.history_list_container {
		padding-bottom: 35.9vw;
	}
	
	.history_list_item {
		padding: 6.67vw;
	}
	
	.history_list_item + .history_list_item {
		margin-top: 4.62vw;
	}

	.history_list_item .history_container {
		display: block;
	}

	.history_list_item .img_container {
		width: 100%;
		padding-bottom: 2.56vw;
	}

	.history_list_item .txt_container {
		width: 100%;
	}

	.caption_txt {
		padding-top: 2.05vw;
	}
	
	.history_list_ttl {
		display: block;
		padding-bottom: 1.03vw;
		margin-bottom: 2.56vw;
	}
	
	.history_list_txt {
		line-height: 1.8em;
	}
	
	
	/*--------------------------------------*/
	
	/*detail_wrap*/
	
	/*--------------------------------------*/
	
	.detail_wrap {
		padding-top: 117.73vw;
	}
	
	.detail_container {
		padding: 28.21vw 0 25.64vw;
	}
	
	.detail_ttl {
		padding-bottom: 7.69vw;
	} 
	
	.detail_lead_container {
		display: block;
		padding-bottom: 10.26vw;
	}
	
	.detail_lead_container .txt_container {
		padding-top: 8.21vw;
	}
	
	.detail_lead_container .img_container {
		width: 100%;
	}
	
	.detail_lead_container .txt_container {
		width: 100%;
	}
	
	.detail_list_container {
		padding: 0;
		display: block;
		border-bottom: none;
	}
	
	.detail_list_item {
		width: 100%;
		padding: 10.51vw 0;
		border-bottom: 1px solid #c8c8c8;
		position: relative;
	}
	
	.detail_list_container:nth-of-type(1) .detail_list_item:first-child::after,
	.detail_list_container:nth-of-type(3) .detail_list_item:first-child::after,
	.detail_list_container:nth-of-type(4) .detail_list_item:first-child::after {
		display: none;
	}
	
	.detail_list_container:last-of-type .detail_list_item:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
	
	.detail_list_item .img_container + .txt_container {
		padding-top: 4.62vw;
	}

	.detail_list_container:nth-of-type(2) .detail_list_item {
		display: block;
		padding-bottom: 10.51vw;
	}

	.detail_list_container:nth-of-type(2) .detail_list_item .img_container {
		width: 100%;
	}

	.detail_list_container:nth-of-type(2) .detail_list_item .txt_container {
		width: 100%;
		padding-top: 4.62vw;
	}
	
	.detail_list_item .detail_list_ttl {
		padding-bottom: 1.54vw;
	}
	
	.detail_list_item .note_container  {
		padding-top: 4.1vw;
		margin-top: 4.1vw;
	}
	
	
	/*--------------------------------------*/
	
	/*map_wrap*/
	
	/*--------------------------------------*/
	
	.map_wrap {
		background-color: var(--gray);
		padding: 17.95vw 0;
		z-index: 1;
	}
	
	.map_container {
		width: 100%;
	}

	.swipe_wrap {
		width: 100vw;
		height: 52.56vw;
		position: relative;
	}

	.swipe_container {
		width: 100%;
		height: 100%;
		padding-bottom: 5.13vw;
		overflow-x: scroll;
	}

	.swipe_obj {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}

	.map_obj {
		width: 938px;
		margin: 0 3vw;
	}
	
	.location_list_conainer {
		width: 86.67vw;
		margin: 0 auto;
		padding-top: 5.13w;
		justify-content: flex-start;
	}
	
	.location_list_item {
		line-height: 1.39em;
		padding: 0 7.18vw 0 6.67vw;
	}
	
	.location_list_item::before {
		width: 4.62vw;
		height: 4.62vw;
		top: .51vw;
	}
	
	.location_list_item:nth-child(n + 4) {
		margin-top: 4.1vw;
	}
	
	.location_list_item + .location_list_item {
		margin-top: 4.1vw;
	}
	
	
	/*--------------------------------------*/
	
	/*logomark_wrap*/
	
	/*--------------------------------------*/
	
	.logomark_wrap {
		padding: 35.9vw 0;
	}
	
	.logomark_container {
		display: block;
	}
	
	.logomark_container .img_container {
		width: 100%;
		padding-bottom: 17.95vw;
	}
	
	.logomark_container .txt_container {
		width: 100%;
	}
	
	.logomark_container .sec_ttl {
		text-align: center;
	}
	
	
	/*--------------------------------------*/
	
	/*footer*/
	
	/*--------------------------------------*/
	
	.footer_wrap {
		display: block;
		padding: 10.26vw 3.97vw;
	}
	
	.footer_wrap .tfr_logo_container {
		width: 100%;
		padding: 0 0 6.92vw;
		border-right: none;
		border-bottom: 1px solid #4E4F50;
		text-align: center;
	}
	
	.footer_wrap .lp_logo_obj {
		width: 31.28vw;
	}
	
	.footer_container {
		width: 100%;
		padding-left: 0;
		display: block;
	}
	
	.footer_container .nav_list_container {
		justify-content: space-around;
	}
	
	.footer_container .nav_list_container {
		padding-top: 6.92vw;
	}
	
	.footer_container .nav_list_container + .nav_list_container {
		display: block;
	}
	
	.footer_container .nav_list_item + .nav_list_item {
		padding-left: 0;
	}
	
	.footer_container .nav_list_container:first-of-type .nav_list_item a {
		font-family: "Vollkorn", serif;
		font-optical-sizing: auto;
		font-size: 1.4rem;
		font-weight: 400;
		font-style: normal;
		color: var(--white);
		letter-spacing: .02em;
		line-height: 1.5em;
	}
	
	.footer_container .nav_list_container:last-of-type .nav_list_item {
		text-align: center;
	}
	
	.footer_container .nav_list_container:last-of-type .nav_list_item:not(:first-child) {
		padding-top: 3.85vw;
	}
	
	.footer_container .nav_list_container:last-of-type .nav_list_item a {
		font-size: 1.2rem;
		font-weight: 350;
		color: var(--white);
		letter-spacing: .16em;
		line-height: 2em;
	}
	
	.footer_container .tgw_logo_container {
		width: 31.28vw;
		margin: 0 auto;
	}

	.footer_container .logo_list_container {
		width: 61.03vw;
		padding-top: 6.15vw;
		margin: 0 auto;
	}

	.footer_container .logo_list_item:first-child {
		width: 24.1vw;
	}

	.footer_container .logo_list_item:last-child {
		width: 19.49vw;
	}

	.footer_container .logo_list_item:first-child::after {
		right: -8.72vw;
	}
	
	.copy_wrap {
		padding: 7.18vw 0;
	}




/*-------------------------------------*/
}