@charset "utf-8";

/* for  smartphones */
/*@media only screen and (max-device-width : 767px) and (orientation : portrait),
       only screen and (max-device-width : 1023px) and (orientation : landscape) {

@media only screen and (max-device-width : 1024px) and (orientation : landscape),
       only screen and (max-device-width : 768px) and (orientation : portrait) {
*/
@media only screen and (max-device-width : 1366px) and (orientation : landscape),
	only screen and (max-device-width : 1024px) and (orientation : portrait) {

.show_only_pc,
.show_only_pc.inline {
	display:none !important;
}

.show_only_mobile {
	display:block!important;
}

.show_only_mobile.inline {
	display:inline !important;
}

.show_only_sp {
	display:none !important;
}

.show_only_sp.inline {
	display:none;
}

#container {
	width:100%;
	margin:0;
	min-width:320px;
}

.home #top_slide .logobox {
	left: 50%;
	top: 50%;
	/*width:178px;
	height:98px;
	*/
	width:217px;
	height:117px;
	/*margin-left:-89px;
	margin-top:-49px;*/
	margin-left:-108px;
	margin-top:-52px;
}

#top_slide div.logo_frame {
	width:62px;
	height:62px;
	width:74px;
	height:74px;
	margin:0 auto;
}

#top_slide div.logo {
	width:100%;
	height:100%;
}

#top_slide .title {
	/*width:178px;
	height:16px;
	*/
	width:217px;
	height:20px;
	top:82px;
	top:94px;
	left:0;

}

#top_slide .logobox.secondpos {
	left:8px;
	top:8px;
	width:281px;
	width:-webkit-calc(100% - 64px);
	width:calc(100% - 64px);
	height:48px;

	margin-top:0;
	margin-left:0;
}

#top_slide .secondpos .logo_frame {
	width:48px;
	height:48px;
}

#top_slide .secondpos .logo {
	width:100%;
	height:100%;
}

#top_slide .logobox.secondpos .title {
	left:64px;
	top:-1px;
	height:48px;
	width:217px;
	background-size:217px 19.5px;

}

#top_slide #bt_menu {
	width:40px;
	background-position: right top;
	background-size: cover;
}

div#top_slide {
	min-height:200px;
	overflow:hidden;
}

div#top_slide ul#slide_photobox {
	/*height:calc(100vh - 5px);*/
	min-height:0px;
}

div#top_slide ul#slide_photobox li {
	/*height:calc(100vh - 5px);*/
	min-height:0px;
}

div#top_slide div.bt_slide_left,
div#top_slide div.bt_slide_right {
	display:none;
}

/* bx slider controls */
.bx-controls-direction {
	/*display:none;*/
}
.bx-wrapper .bx-next {
	width:15px !important;
	height:30px !important;
	right:2px !important;
	margin-top: -15px !important;
}

.bx-wrapper .bx-prev {
	width:15px !important;
	height:30px !important;
	left:2px !important;
	margin-top: -15px !important;
}


div#top_slide div.photo_credit {

}

div#fixed_header_case {
	position:relative;
	height:40px;
	width:100vw;
}

div#fixed_header {
	/*position: -webkit-sticky;
    position: sticky; */
    min-width:320px;
    width:100vw;
    -webkit-backface-visibility: hidden;
}

#fixed_header>ul {
	display:none !important;
}

div#fixed_header a#fixed_logo {
	margin-left:7px;
}

div#fixed_header a#fixed_logo_box {
	margin-left:14px;
}

div#fh_menu {
	display:block;
	position:absolute;
	right:14px;
	top:10px;
	width:40px;
	height:40px;
	background:url(../images/bt_menu_three_black.png) center center no-repeat;
	background-size:contain;
}

.home section#architecture {
	min-width:100%;
	width:100%;
	overflow:hidden;
}

.home section#architecture h2 {
	height: 200px;
	background-size: 174px 52.7px;
}

ul#ar_categories li {
	padding:0px;
	width: 48%;
	width: -webkit-calc(50% - 2.5px);
	width: calc(50% - 2.5px);
	height: 300px;
	height: -webkit-calc((50vw - 25px)*0.7);
	height: calc((50vw - 25px)*0.7);
	float:left;
	-webkit-flex-basis: -webkit-calc((100% - 5px)/2);
	flex-basis: calc((100% - 5px)/2);
}

ul#ar_categories li a {
	width:95%;
	width: -webkit-calc(100% - 20px);
	width: calc(100% - 20px);
	margin:10px;
	height: 280px;
	height: -webkit-calc(100% - 20px);
	height:calc(100% - 20px);
	background-position: center center;
}

/* movies */
.home #movies .title.en {
    font-size: 24px;
    font-weight: 300;
    top: calc(55% - 1em);
}

.home #movies .title.jp {
	font-size:12px;
	top: calc(55% + 0.3em);
}

/* concept/process */
.home section#concept {
	min-width:100%;
}

.home section#concept h2 {
	height: 200px;
	background-size: 242.6px 52px;
}

h3#concept_concept {
	height:130px;
	background-size:108.6px 28.6px;
}

.fixedbg {
	background-attachment:scroll !important;
	background-position: 50% 50%;
}

.home section#concept #concept_block {
	background-position: 70% bottom;
	background-size: auto 100vh;
}

#concept_block>div:first-child ul {
	width:100%;
	padding:0;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

#concept_block>div:first-child ul li {
	-webkit-flex-basis: -webkit-calc(100% - 80px);
	flex-basis: calc(100% - 80px);
	margin:0 40px 32px 40px;
}

#concept_block>div:first-child ul li:last-child {
	margin-bottom:60px;
}

/* process */

h3#concept_process {
	height:130px;
	background-size: 97px 21.6px;
}

#concept_block>div:last-child div.text {
	padding:0 10px;
	white-space:nowrap;
}

#concept_block>div:last-child {
	margin-bottom:0;
}

/* resort and retreat */
.home.page section#randr h2 {
	height: 200px;
	background-size: 242.6px 52px;
}

/* process: rc */
.page section#process #c00>div {
	width:90%;
	margin:0 auto;
}

.page section#process #c00 > div h3 + div {
	white-space:nowrap;
}

/* consulting */

.home.page section#consulting div#consulting_block,
.home.page section#taaxrc div#rc_block {
	min-height:400px;
	padding-top:60px;
	padding-bottom:25px;
	background-size: cover;
	background-attachment:scroll;

}

.home.page section#consulting h2,
.page section#consulting h2 {
    height: 200px;
    background-size: 208.6px 52px;
}

.home.page section#taaxrc h2 {
    height: 200px;
    background-size: 308.6px 52px;
}

.page section#consulting .subsection {
	padding-bottom:0;
}

.page section#consulting #c04.subsection {
	padding-bottom:70px;
}

.page .subsection_description p {
	word-break: keep-all;
	width:calc(100% - 20px);
	margin-right:auto;
	margin-left:auto;
}


.content_3panes {
	width:100%;
	margin:25px auto;
}

#c01 .content_3panes {
	margin:30px auto 0 auto;
}

.content_3panes .pane {
	float:none;
	width:calc(100% - 10px);
	margin:30px auto 0 auto;
}

.content_3panes .pane .photo,
.content_3panes .pane .map{
    width: 100%;
    height: calc((100vw - 10px)*0.66);}

.content_3panes .pane:last-child {
	margin-right:auto;
}

#consulting_flow_img {
	width:calc(100vw - 10px);
	height:calc((100vw - 10px)*2.48);
	background-image:url(../images/img_flow_sp.jpg);
	background-size:contain;
	margin:30px auto;
}

#consulting_team h4 {
	word-break: keep-all;
	width:100vw;
}

#consulting_team div:nth-of-type(2) {
	width:calc(100% - 10px);
	margin:25px 5px 0 5px;
}

#consulting_team div img {
    width: calc((100vw - 50px)/2);
    height: calc((100vw - 50px)/2);
}


/* faq */

.home section#faq h2 {
	height: 200px;
	background-size: 193px 52px;
}

.home section#faq #faq_block {
	background-size:cover;
	background-attachment:scroll;
}

h3#fa_faq {
	height:130px;
	background-size: 114px 52px;
}

.home section#faq div.text {
	word-break: keep-all;
	padding:0 10px;
	width:-webkit-calc(100% - 20px);
	width:calc(100% - 20px);
}

.home section#faq #faq_block {
	background-attachment:scroll;
	background-position: 70% bottom;
	background-size: auto 100vh;
}

#faq_block>div:first-child ul {
	width:-webkit-calc(100% - 20px);
	width:calc(100% - 20px);
	padding: 0 10px;
	display:block;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

#faq_block>div:first-child ul li {
	width: -webkit-calc(100% - 40px);
	width: calc(100% - 40px);
	margin:0 20px;
	white-space:wrap;
}

#faq_block>div:first-child ul li:nth-of-type(n+2) {
	margin-top:1em;
}

#faq_block>div:first-child ul li h4 {
	height:inherit;
	width:100%;
}

#faq_block>div:first-child ul li div {
	line-height:160%;
	margin-bottom:2em;
}

h3#fa_contact {
	height:130px;
	background-size: 128px 52px;
}

.page section#faq dl.contact,
.page section#consulting dl.contact,
.page section#faq div.rcpt_pp,
.page section#consulting div.rcpt_pp {
	width:calc(100% - 20px);
}

.page section#faq .button_box,
.page section#consulting .button_box {
	width:calc(100% - 20px);
}

.page section#faq button,
.page section#faq input[type=submit],
.page section#consulting button,
.page section#consulting input[type=submit] {
	width:calc(100% - 2px);
}

/* media */

.home section#media h2 {
	height:200px;
	background-size: 263.3px 52.3px;
}

.home section#media div#media_block>div:first-child {
	margin-left:0;
	margin-right:0;
	width:100vw;
}

.home section#media div#media_block>div:first-child ul {
	padding:0;
	width:100%;
}

.home ul.media_list+ul.media_list {
	left:100vw;
}

.home section#media div#media_block div.horizontal_scroll_box {
	margin:0;
	padding:0;
	padding-top:0;
	width:100% !important;
}

.home section#media div#media_block div.horizontal_scroll_box>div.horizontal_scroll {
	overflow-x:scroll;
	width:100vw;
}

.home section#media div#media_block div.horizontal_scroll_box>div.horizontal_scroll>ul.media_list {
	-webkit-flex-basis:-webkit-calc(100% - 28px);
	flex-basis:calc(100% - 28px);
	min-width:-webkit-calc(100% - 28px);
	min-width:calc(100% - 28px);
	max-width:-webkit-calc(100% - 28px);
	max-width:calc(100% - 28px);
	margin: 0 14px;
}

#media_horizontal_scroll_box #bt_right,
#media_horizontal_scroll_box #bt_left {
	width:16.6px;
	height:31.3px;
}

ul.media_list {
	overflow:hidden;
}

ul.media_list li div.mag_title {
	word-break:break-word;
	font-size:12px;
	font-weight:bold;
	margin:0;
}

ul.media_list li div.mag_date {
	font-size:12px;
	padding-bottom:16px;
	margin:0;
}

.home section#media div#media_block>div:last-child {
	margin-right:0;
	margin-top:5px;
	width:100vw;
}

.home section#media div#media_block>div:last-child ul {
	width:-webkit-calc(100% - 28px);
	width:calc(100% - 28px);
	padding:0px;
	margin: 0 14px;
}

h3#me_media {
	display:block;
	background-size: 80px 22.6px;
}

h3#me_news {
	display:block;
	background-size: 72px 22px;
}

/* company */

.home section#company h2 {
	height:200px;
	background-size: 124px 51.3px;
}

.home section#company #company_block,
.page section#company #photo_block01 {
	background-position:55% center;
	background-attachment:scroll;
	background-size:cover;
	position:relative;
	overflow:hidden;
	max-width:100%;
	height:190px;
}

#company_block .grayblock {
	display:block;
	background-color:rgba(0,0,0,0.25);
}

.home section#company #company_block .logobox,
.page section#company #photo_block01 .logobox {
	width:178px; /* 200px(text) */
	height:162px; /* 88px + 48px + margin 26px */
	left: 50%;
	top: 50%;
	margin-left: -89px;
	margin-top:-81px;
}

.home section#company #company_block div.logo_frame,
.page section#company #photo_block01 div.logo_frame {
	width:50px;
	height:50px;
}

.home section#company #company_block div.logo,
.page section#company #photo_block01 div.logo {
	width:50px;
	height:50px;
}

.home section#company #company_block .title,
.page section#company #photo_block01 .title {
	width:178px;
	height:16px;
	top:60px; /* 88px + margin 26px */
}

.home section#company #company_block div.moving,
.page section#company #photo_block01 div.moving {
	width: 100%;
	margin: 0;
	font-size: 12pt;
	height: -webkit-calc(12pt * 5.1);
	height: calc(12pt * 5.1);
}

#company_info {
	padding-bottom:0;
}
#media_block,
#company_block02 {
	display:block !important;
}

#company_block02 {
	margin-top:0;
	min-width:100%;
}

#company_block02>div:first-child {
	margin-right:0;
	padding:16px;
	width: -webkit-calc(100% - 32px);
	width: calc(100% - 32px);
	height:auto;
}

#company_block02>div:last-child {
	width:100%;
	height:400px;
}

#company_info {
	padding:20px 0 0 0;
	margin:0 auto;
}

#company_info a.viewdetail {
	margin:30px auto;
}

#map {
	height:400px;
}

footer {
	margin-top:0;
	padding-top:10px;
	position:relative;
}

footer>div#footer_nav {
	width:100%;
	padding-top:220px;
	padding-bottom:40px;
}

ul#footer_menu {
	margin:0 10px;
	display:none;
	width: -webkit-calc(100% - 20px);
	width: calc(100% - 20px);
}

ul#footer_menu>li>ul {
	display:-webkit-flex;
	display:flex;

	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-top:0;
}

ul#footer_menu>li>ul li {
	-webkit-flex-basis:-webkit-calc((100% - 36px)/3);
	flex-basis:calc((100% - 36px)/3);
}

ul#footer_menu>li>ul li a {
	width:100%;
}

ul#banners {
	width:100%;
	text-align:center;
	margin-left:0;
}

ul#banners li {
	display:inline-block;
	width: -webkit-calc((100% - 10px)/3);
	width: calc((100% - 10px)/3);
	margin-right:5px;
}

ul#banners li:nth-child(even) {
	margin-right:5px;
}

ul#banners li:nth-child(3n) {
	margin-right:0px;
}


/*

ul#banners li:nth-of-type(1) {
	margin-left:50px;
}

ul#banners li:nth-of-type(2) {
	margin-right:50px;
}

ul#banners li:nth-of-type(5) {
	margin-right:0;
}
*/

ul#banners li.only-mobile {
	display:block;
}

ul#banners li a {
	width:-webkit-calc(100% - 2px);
	width:calc(100% - 2px);
	height: -webkit-calc((100vw - 36px)/12);
	height: calc((100vw - 36px)/12);
	background-position:center center;
}

#footer_signature {
	width: -webkit-calc(100vw - 20px);
	width: calc(100vw - 20px);
	margin:10px;
	text-align:center;
	position:absolute;
	top:10px;
	left:0;
}

#footer_signature div:first-child {
	float:none;
	margin:0 auto 10px auto;
}

#footer_signature div.sns {
	display:inline-block;
	float:none;
	margin: 10px;
	display:none;
}

#footer_signature ul {
	display:block;
}

#footer_signature ul li {
	display:block;
	word-break: keep-all;
	margin-bottom:5px;
	width:100%;
}

#footer_signature>ul li:first-child {
	width:100%;
	text-align:center;
	margin-bottom:5px;
}

#footer_signature>ul li:last-child {
	width:100%;
	text-align:center;
	margin-bottom:5px;
}

#footer_taa_logo {
	background:url(../images/tai_logo_white_center.png) left top no-repeat;
	width:152px;
	height:84px;
	background-size:contain;
}

footer #copyright {
	font-size:12px;
}

/* clip */
#bt_clip_open {
	font-size:16px;
}

#bt_clip_open span#clip_num {
	padding-left:10px;
}

dl.clip_form {
	width: -webkit-calc(100% - 10px);
	width: calc(100% - 10px);
}

/* archives */

.archive section.main_content h2,
.page section.main_content h2 {
	height:200px;
}

/* non-image titles */

.archive section h2.text_h2 .big {
	position:absolute;
	top:calc(50% - 36px);
	left:0;
	right:0;
	font-size:30px;
	font-family: "Merriweather Sans";
	font-weight:100;
}

.archive section h2.text_h2 .small {
	position:absolute;
	top:calc(50% + 14px);
	left:0;
	right:0;
	font-size:14px;
	color: #333;
	font-weight:300;
}

.archive section#archives_architectures {
	min-width:100%;
}

.archive section#archives_architectures h2 {
	background-size:174px 52.6px;
}

.page section#process h2 {
	background-size: 242.6px 52px;
}

.page section#process .subsection h2 {
	background-size: 98px 52px;
}

.page section#company h2 {
	background-size:124px 51.3px;
}


ul#menu_2ndlayer {
	height:inherit;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;

	-webkit-justify-content: flex-start;
	justify-content: flex-start;

}

ul#menu_2ndlayer li {
	margin:0px;
	-webkit-flex-grow:0;
	flex-grow:0;
	-webkit-flex-basis:50%;
	flex-basis:50%;
}

ul#menu_2ndlayer li:first-child,
ul#menu_2ndlayer li:last-child {
	margin:0px;
}

ul#menu_2ndlayer li:first-child {

}

ul#menu_2ndlayer li a {
	height:40px;
}

ul#menu_2ndlayer li a span.lang_en {
	font-size:9pt;
	height:20px;
	line-height:20px;
}

ul#menu_2ndlayer li a span.lang_ja {
	height:20px;
	line-height:20px;
}

#archives_architectures #menu_2ndlayer li,
ul#menu_2ndlayer li {
	border-bottom:1px solid #999;
	-webkit-flex-basis:50%;
	flex-basis:50%;
	max-width:100%;
}

#archives_architectures #menu_2ndlayer li:nth-child(n+1),
ul#menu_2ndlayer li:nth-child(n+1) { /* 通常 */
	border-right:1px solid #999;
	-webkit-flex-basis:-webkit-calc(50% - 1px);
	flex-basis:calc(50% - 1px);
}

#archives_architectures #menu_2ndlayer li:nth-child(2n),
ul#menu_2ndlayer li:nth-child(2n) { /* 通常 */
	border-right:none;
}

#archives_architectures #menu_2ndlayer li:first-child,
ul#menu_2ndlayer.odd li:first-child { /* liが奇数個のとき */
	-webkit-flex-basis:100%;
	flex-basis:100%;
	border-right:none;
	max-width:100%;
}

#archives_architectures #menu_2ndlayer li:nth-child(2n),
ul#menu_2ndlayer.odd li:nth-child(2n) { /* liが奇数個のとき */
	-webkit-flex-basis:calc(50% - 1px);
	flex-basis:calc(50% - 1px);
	border-right:1px solid #999;
	max-width:100%;
}

ul#menu_2ndlayer li:nth-last-child(2),
ul#menu_2ndlayer li:last-child {
	border-bottom:1px solid #666;
}

.archive div#listing_style {
	text-align:center;
}

.archive section .movie_list {
	gap: 20px 0;
}

.archive section .movie_list li {
	width:100%;
}

.archive section .movie_list li div.visual {
	height:calc((100dvw - 6px)/16*9);
}

.archive section .movie_list li .title {
	font-size: 12pt;
    font-weight: 600;
    text-align:center;
    color:#555;
    margin-top:5px;
}

#youtubeplayer {
	width:96dvw;
	height:54dvw;
}

/* tablet is basically same as pc */

ul#architectures_list div.image_box {
	min-height:190px;
}

#architectures_subcategory_text {
	font-size:11pt;
	margin:40px 0px;
	color:#000;
}

/* architecture single */

ul#breadcrumb {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100% !important;
	height:inherit;

	margin:30px 0;
}

ul#breadcrumb li:nth-child(2) {
	padding-left:20px;
	margin-left:0px;
}

.single section#single_media ul#breadcrumb li:nth-child(2) {
	padding-left:20px;
	margin-left:0px;
	-webkit-flex-basis:-webkit-calc(100% - 52px);
	flex-basis:calc(100% - 52px);
}

ul#breadcrumb li:nth-child(3) {
	padding-left:20px;
	margin-left:20px;
}

ul#breadcrumb li:first-child {
	-webkit-flex-basis:100%;
	flex-basis:100%;
	text-align:center;
}

ul#breadcrumb li h1 {
	line-height:1.5em !important;
	margin-top:8px;
}

ul#breadcrumb li h1 span {
	line-height:1.5em !important;
}

section#single_architectures {
	margin:0 auto;
	width:-webkit-calc(100% - 10px);
	width:calc(100% - 10px);
}

ul#architecture_photo {
	width:100%;
	display: block;
}

ul#architecture_photo li {
	width:100%;
	margin-bottom:5px;
}

ul#architecture_photo li {

}

ul#architecture_photo li.left{
	float:none;
	width:100% !important;
	margin-right:0px;
}

ul#architecture_photo li.right {
	float:none;
	width:100% !important;
}

ul#architecture_photo li.land,
ul#architecture_photo li.land a {
	height:-webkit-calc((100vw - 10px)*0.66) !important;
	height:calc((100vw - 10px)*0.66) !important;
}

ul#architecture_photo li.port,
ul#architecture_photo li.port a {
	height: -webkit-calc((100vw - 10px)*1.5) !important;
	height:calc((100vw - 10px)*1.5) !important;
}

/* li 二つ目に movie が入ることがある */
ul#architecture_photo li.embeded_movie iframe {
	width:100%;
	height: calc((100vw - 10px)/16*9);
}

section#other_works {
	margin:40px 5px;
}

.horizontal_scroll_box ul#architectures_list {
	overflow-x:scroll;
}

.horizontal_scroll_box ul#architectures_list li {
	width: -webkit-calc((100% - 5px)/2);
	width: calc((100% - 5px)/2);
	min-width: -webkit-calc((100% - 5px)/2);
	min-width: calc((100% - 5px)/2);
	max-width: -webkit-calc((100% - 5px)/2);
	max-width: calc((100% - 5px)/2);
}

.horizontal_scroll_box ul#architectures_list li a div.spacer_block {
	width:100%;
	height:100%;
	min-height:190px;
}

/*sp only  */
@media only screen and (max-device-width : 767px) and (orientation : portrait),
       only screen and (max-device-width : 1023px) and (orientation : landscape) {
	.horizontal_scroll_box ul#architectures_list li {
		width:100%;
		min-width:100%;
		max-width:100%;
	}
}
/* sp only end */

#architectures_horizontal_scroll_box #bt_right,
#architectures_horizontal_scroll_box #bt_left {
	top:70px;
	bottom:auto;

}

ul#architectures_list div.data_box {
	display:block;
	text-align:center;
}

ul#architectures_list div.data_box div.data {
	display:block;
}

#architecture_data {
	display:block;
	margin:0 11px 0 11px;
	width:-webkit-calc(100% - 22px);
	width:calc(100% - 22px);
}

#architecture_data>div,
#architecture_data>div.concept,
#architecture_data>div.other {
	width:100%;
	font-weight:normal;
	-webkit-flex-basis:unset;
	flex-basis:unset;
	display:block;
	margin-right:0;
	margin-top:2em;
}

#architecture_data div div,
#architecture_data div dl {
	margin-bottom:1em;
}



/* pages */

.page .subsection>h3,
.archive .subsection>h3 {
	padding-top:50px;
	padding-bottom:50px;
}

.page section .subsection.dark a {
	color:#B2ED8D;
}

.subsection h3 span.lang_ja {
	margin-top:20px;
}

.page table {
	width:-webkit-calc(100% - 32px);
	width:calc(100% - 32px);
}

.page section table th {
	white-space:nowrap;
}

.page section table td {
	padding-left:2em;
}

.page section table th,
.page section table td {
	font-size:10pt;
}

.page section .subsection table td div.name.lang_ja {
	font-size: 16pt;
}

.page section .subsection table.history td {
	padding-left:1em;
}

.page section .subsection table.history tbody.only_sp {
	display:table-row-group;
}

.page section .subsection table.history tbody.only_sp td {
	text-align:center;
	font-size:12pt;
	font-weight:bold;
	padding-bottom:0.5em;
}

.page section .subsection table.history tr th:first-child {
	display:none;
}

.page section .subsection table.history tr td:first-of-type {
	padding-left:0;
}

.page section .subsection table.staff,
.page section .subsection table.staff tbody,
.page section .subsection table.staff tr {
	display:block;
}
.page section .subsection table.staff td,
.page section .subsection table.staff th {
	display:block;
	padding-left:0;
	text-align:center;
	margin-bottom:0.5em;
}

.page section .subsection ul.data li {
	float:none;
	margin-left:0;
	text-align:center;
}

.page section ul.data li.stafflist02 ~ li.stafflist02 {
	margin-left:0;
	margin-top:0;
}

.page section .subsection table.company_info {
	/*width:calc(100% - 64px);*/
	width:inherit;
}

.page section .subsection table.recruit {
	width: -webkit-calc(100% - 64px);
	width: calc(100% - 64px);
}

.page section .subsection table.recruit,
.page section .subsection table.recruit tbody,
.page section .subsection table.recruit tr {
	display:block;
}
.page section .subsection table.recruit td,
.page section .subsection table.recruit th {
	display:block;
	padding-left:0;
	text-align:left;
	margin-bottom:0.5em;
	width:auto;
}

.page section .subsection:last-child,
.archive section .subsection:last-child {
	padding-bottom: 70px;
}

.page .subsection_description {
	width:calc(100% - 20px);
	margin-left:auto;
	margin-right:auto;
}

.page .subsection.staff h4 {
	font-size:20px;
	padding-top:40px;
	padding-bottom:40px;
}

.page .subsection.staff h3 + h4 {
    padding-top: 0px;
}

.page section ul.staff {
    max-width: none;
    width: calc(100% - 32px);
    margin: 0 auto;
    text-align: center;
}

.page section ul.staff li {
	width:100%;
	margin-bottom:30px;
}

.page section ul.staff li:nth-last-child(-n+3) {
	margin-bottom:40px;
}

.page section ul.staff li:last-child {
	margin-bottom:0px;
}

ul.staff li div {
	line-height:24px;
}

ul.staff li div.role,
ul.staff li div.company {
	font-size:12px;
}

ul.staff li div.name {
	font-size:16px;
}

.page section .subsection.staff {
    padding-bottom: 40px;
}

/* page#process */

.page section#process #photo_block01 {
	height:inherit;
}

.page section#process #photo_block01>div>h3 {
	font-size:12pt;
}

.page section#process #photo_block01>div>h3 span.lang_en {
	font-size:14pt;
}

.page section#process #photo_block01>div {
	font-size:11pt;
	width:-webkit-calc(100% - 20px);
	width:calc(100% - 20px);
	position:relative;
	padding:10px;
	margin-top:0;
	margin-left:0;
	top:0;
	left:0;
	word-break: keep-all;
	max-width:100%;
}

.page section#process #photo_block01>div>div {
	
}

.page section#process .subsection {
	padding-top:0;
}

.page section .subsection table.process {
	width:100%;
}

.page section .subsection table.process,
.page section .subsection table.process tbody,
.page section .subsection table.process tr {
	display:block;
}
.page section .subsection table.process td,
.page section .subsection table.process th {
	display:block;
	width:inherit;
	padding:16px 16px;
	text-align:left;
	margin-bottom:0.5em;
}

.page section .subsection table.process th {
	text-align:center;
	background-color:#CCC;
}

table.process td div.lead, table.faq td div.lead {
	font-size:12pt;
}

table.process td p {
	float:none;
	width:100%;
	font-size:11pt;
	line-height:1.6em;
}

table.process td img {
	float:none;
	margin:1em auto;
}

.page section#process .subsection {
}

.page section#process .subsection:last-child {
	padding-bottom:0px;
}

.page section#faq dl.contact {
	width: -webkit-calc(100% - 32px);
	width: calc(100% - 32px);
}

.page section#faq dl.contact .pp {
	font-size:10pt;
}

.page section#faq dl.contact .pp strong {
	white-space:nowrap;
	display:block;
	text-align:center;
	margin-bottom:0.5em;
}

.wpcf7-response-output {
	width:-webkit-calc(100% - 2em - 36px);
	width:calc(100% - 2em - 36px);
	margin: 0 auto;
}

.page section#faq .button_box {
	/*width:calc(100% - 16px);*/
}

.page section#faq button {
	width:100%;
}

/* pages:faq */

.page section#faq h2 {
	background-size: 193.3px 52px;
}

.page section#faq table.faq th {
	text-align:left;
}

.page section#faq table.faq td {
	padding-left:0.5em;
}

#faq .button_box {
	width:-webkit-calc(100% - 32px) !important;
	width:calc(100% - 32px) !important;
}

.page section#faq input[type=submit] {
	margin:0 auto;
	padding:0;
	max-width:100%;
}

/* archives:media */
.archive section#media h2 {
	background-size:263.3px 52.3px;
}

.archive section#media ul.media_list {
	width:-webkit-calc(100% - 32px);
	width:calc(100% - 32px);
	flex-wrap:-webkit-wrap;
	flex-wrap:wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.archive section#media ul.media_list li {
	-webkit-flex-basis: -webkit-calc(33% - 10px);
	flex-basis: calc(33% - 10px);
	margin-bottom:16px;
}

.home ul.media_list {
	width:-webkit-calc(100% - 32px) !important;
	width:calc(100% - 32px) !important;
	display:block;
	display:-webkit-flex;
	display:flex;
	flex-wrap:-webkit-wrap;
	flex-wrap:wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.home ul.media_list li {
	width: 33%;
	float:left;
	flex-basis: 33%;
	-webkit-flex-basis: -webkit-calc((100% - 10px)/3);
	flex-basis: calc((100% - 10px)/3);
	margin-bottom:16px;
}

.archive section#media ul.media_list li:nth-child(3n) {
}

.archive section#media ul.media_list li div.mag_image,
.home ul.media_list li div.mag_image {
	max-width:100%;
	width:inherit;
	height:-webkit-calc( ( (100vw - 16px)/3 - 10px) * 1.3);
	height:calc( ( (100vw - 16px)/3 - 10px) * 1.3);
	background-size: auto 100%;
	background-position:center center;
}

.archive section#media ul.media_list li div.mag_title,
.archive section#media ul.media_list li div.mag_date,
.archive section#media ul.media_list li div.mag_text {
	font-size:9pt;
	padding:0.5em 0em 0 0em;
	margin:0;
}

.archive section#media div.nav_box {
	width:-webkit-calc(100% - 16px);
	width:calc(100% - 16px);
}

.archive section#media ul#information_list {
	width:-webkit-calc(100% - 16px);
	width:calc(100% - 16px);
	padding-bottom:40px;
}

.archive section#media ul#information_list li div.date,
.archive section#media ul#information_list li div.title {
	float:none;
}

.archive section#media ul#information_list li div.title,
.archive section#media ul#information_list li div.text {
	padding-left:0;
	padding-top:0.5em;

}

.archive section#media ul#information_list li div.title {
	padding-left:8px;
	width:100%;
}

.archive section#media ul#information_list li div.text p {
	padding:0.2em 8px;
}

.archive section#media ul#information_list li div.text a {
	padding-left:8px;
	font-weight:bold;
}

.archive section#media ul#information_list li div.text div.media_image_gallery {
	float:none;
	width:100%;
}

.archive section#media ul#information_list li div.text div.media_image_gallery+p {
	float:none;
	width:100%;
}

.archive section#media ul#information_list li div.text .main_gallery {
	width:100%;
}

.archive section#media ul#information_list>li ul#media_photo>li>a {

}

.home section#media div#media_block>div:first-child {
	border-right:0;
}

.home section#media div#media_block>div>a.viewmore {
	position:relative;
	margin:30px auto 0 auto;
	left:auto;
	right:auto;
}

.home section#media div#media_block>div {
	padding-bottom:68px;
}

/* single media */
section#single_media {
	width:100%

}

section#single_media div.media_main {
	width:-webkit-calc(100% - 32px);
	width:calc(100% - 32px);
	margin: 0 auto;
}

section#single_media div.media_gallery {
	width:100%;
	background-color:#F0F0F0;
}

ul#media_photo {
	width:100%;
}

ul#media_photo li {
	-webkit-flex-basis: 100%;
	flex-basis: 100%;
	height:-webkit-calc((100vw -32px)*0.75);
	height:calc((100vw -32px)*0.75);
    margin-right:0 !important;
    margin-bottom: 5px;
}

ul#media_photo li:nth-child(2n+1) {
	margin-right:0;
}

ul#media_photo li a {
	height:-webkit-calc((100vw -32px)*0.75);
	height:calc((100vw -32px)*0.75);
	background-color:transparent;
}

#single_media div.date {
	width:-webkit-calc(100% - 14px);
	width:calc(100% - 14px);
	padding-right:14px;
}

/* spot */

section#spot {
	margin:0 auto;
	width:-webkit-calc(100% - 10px);
	width:calc(100% - 10px);
}

#spot .spot_maintext {
	width:calc(100% - 10px);
	font-size:12pt;
}

#spot h3 span:first-child {
    font-size: 20pt;
}

#spot h3 span:last-child {
    font-size: 16pt;
}

/* clip */

div.modal>div {
	padding:5px 16px;
	width: -webkit-calc(100% - 32px);
	width: calc(100% - 32px);
}

ul#clips {
	margin: 20px 0px;
	width: 100%;
}

ul#clips li {
	-webkit-flex-basis: -webkit-calc(( 100% - 20px ) / 3);
	flex-basis: calc(( 100% - 20px ) / 3);
	height: -webkit-calc((100vw - 52px)/3);
	height: calc((100vw - 52px)/3);
}

ul#clips li a {
	height:100%;
}

ul#clips li:nth-child(10n) {
	margin-right:10px;
}

ul#clips li:nth-child(3n) {
	margin-right:0;
}

ul#clips li .bt_remove {
	display:block;
}

/* rc tablet */
.page #rc_architectures section.rc_content {
	height:auto;
}

#rc_cont01.rc_content .wrap {
	padding:40vh 0 60vh;
}

.rc_content .wrap {
	padding:20vh 0 20vh;
}

.rc_content .text_block {
	padding:30px;
	margin:0 auto;
	width:calc(100vw - 100px);
}

.rc_content:nth-child(2n + 1) .text_block {
	margin:0 auto;
}

#rc_cont05 {
	padding-top:0vh;
	padding-bottom:0vh;
}

	@media only screen and (orientation : portrait) {
		#rc_cont05_bg {
			height:100vh;
			width:auto;
			/*margin-left:-400px;*/
		}
	}

#rc_cont05 .text_block {
	padding:10px;
	margin:0 auto;
	width:100%;
	min-height:60vh;
	padding-top:20vh;
	padding-bottom:20vh;
}

/* SPのみ */
@media only screen and (max-device-width : 767px) and (orientation : portrait),
       only screen and (max-device-width : 1023px) and (orientation : landscape) {
	
	.show_only_sp {
		display:block !important;
	}

	.show_only_sp.inline {
		display:inline !important;
	}
		
	ul#ar_categories li {
		min-height:auto;
		height: 150px;
		height: -webkit-calc((50vw - 25px)*0.7);
		height: calc((50vw - 25px)*0.7);
		-webkit-flex-basis: -webkit-calc((100% - 5px)/2);
		flex-basis: calc((100% - 5px)/2);
	}

	ul#ar_categories li a {
		min-height:auto;
		height:130px;
		height:-webkit-calc(100% - 20px);
		height:calc(100% - 20px);
		background-size:contain !important;
	}

	.archive ul#architectures_list li {
		width:100%;
		/*flex-basis: calc( (100vw - 6px) );*/
		-webkit-flex-basis : 100%;
		flex-basis : 100%;
		margin-right: 0px;
		margin-bottom: 24px;
	}

	.archive ul#architectures_list li a div.spacer_block {
		height: -webkit-calc((100vw - 6px) * 0.66 );
		height:calc((100vw - 6px) * 0.66 );
		min-height:207px;/* 320pxからの計算 */
	}

	.archive ul#architectures_list div.image_box { /* アーカイブ 事例の画像 */
		height:-webkit-calc((100vw - 6px) * 0.66 );
		height:calc((100vw - 6px) * 0.66 );
		min-height:207px;/* 320pxからの計算 */
	}

	.archive ul#architectures_list div.data_box {
		padding:5px 5px 0 5px;
		/*display:block;*/
	}

	.archive ul#architectures_list div.data_box div.data span {
		/*display:block;*/
	}

	.archive ul#architectures_list div.data_box div.data span::after {
		/*content:"";*/
	}

	.button_box {
		width: 100%;
		margin: 30px auto 40px auto;
	}

	.button_box div {
		padding-right:0px;
		/*width:calc((100% - 4px)/2); */
		width:100%;
		background-image:none;
	}
	
	/* rc architectures */
	
	#rc_cont01 #logo_box {
		top: calc(50vh - 100px);
		width:100%;
		height:auto;
	}
	
	#rc_cont01 #taa_logo {
		margin:auto;
		right:0;
		width:68px;
		height:68px;;
	}
	
	#rc_cont01 h1 {
		width:66vw;
		height:7.5vw;
		top: 92px;
		right:0;
		left:0;
		margin:auto;
	}
	
	#rc_cont01 #taa_logo_x {
		left:0;
		right:0;
		margin:auto;
		top: calc(7.5vw + 117px);
	}
	
	#rc_cont01 #taa_logo_rca {
		left:0;
		right:0;
		margin:auto;
		top: calc(7.5vw + 171px);
	}
	
	.rc_content h1 {
		text-align:center;
	}
	
	@media only screen and (orientation : portrait) {
		.rc_content h1 {
			/* vw 相対表記に文字サイズを変更 */
			font-size:7vw;
		}
	}
	
	.page #rc_architectures section.rc_content {
		height:auto;
	}
	
	#rc_cont01.rc_content .wrap {
		padding:40vh 0 60vh;
	}
	
	.rc_content .wrap {
		padding:20vh 0 20vh;
	}
	
	.rc_content .text_block {
		padding:30px 10px;
		margin:0 auto;
		width:calc(100vw - 60px);
	}
	
	.rc_content:nth-child(2n + 1) .text_block {
		margin:0 auto;
	}
	
	#rc_cont05 {
		padding-top:0vh;
		padding-bottom:0vh;
	}
	
	#rc_cont05 .text_block {
		padding:10px;
		margin:0 auto;
		width:calc(100% - 20px);
		min-height:60vh;
		padding-top:20vh;
		padding-bottom:20vh;
	}
	
	#rc_cont05 .text {
		font-size:22px;
		word-break: keep-all;
	}
	
	#rc_cont06 ul#architectures_list li {
		flex-basis:100%;
		margin-right:0;
		padding-bottom:20px;
	}

}

/* 初期のデバイス向け */
@media only screen and (min-device-pixel-ratio: 1),(-webkit-min-device-pixel-ratio: 1),(min--moz-device-pixel-ratio: 1),(-o-min-device-pixel-ratio: 1) {

}


} /* wrapping arc end */

/* 初期のデバイス 320px向け */
@media only screen and (max-device-width : 320px) and (orientation : portrait),
       only screen and (max-device-width : 480px) and (orientation : landscape) {

	#top_slide .logobox.secondpos .title {
		left:64px;
		background-size:178px 16px;
	}

	ul#ar_categories li {
		width:157.5px;
		height:94px;
	}

	ul#ar_categories li a {
		min-height:auto;
		width:137px;
		height:74px;
		background-size:90px 15.3px;
		background-position:center center;
	}

	.home footer a#bt_facebook {
		bottom:16px;
	}

	nav #nav_header .logo {
		padding-right:5px;
	}

	#top_slide .logobox.secondpos .title {
		width:178px;
	}

	#company_info {
		width:-webkit-calc(100% - 20px);
		calc(100% - 20px);
	}

	.home section#company #company_block div.moving,
	.page section#company #photo_block01 div.moving {
		font-size: 11pt;
	}

	#footer_signature {
		width:100%;
		margin:10px 0;
	}

	ul#banners li {
		display:inline-block;
		width:30%;
		width:-webkit-calc((100% - 20px)/3);
		width:calc((100% - 20px)/3);
	}

}

