/* z-index map
#bt_clip_open		1000
#swipebox-overlay	999
.modal				500
#mask				500
nav 				300
footer				200
header				200
div#top_slide div.bt_addtoclip	101
#top_slide			100
#scrolltop			90
#fixed_header		90

*/


* {
	/*-webkit-tap-highlight-color: rgba(0, 0, 0, 0)*/
}

html {
	overscroll-behavior: none;
}
body {
	width: 100%;
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-text-size-adjust: none;
	-webkit-user-select: default;
	-webkit-font-smoothing: antialiased;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	/*text-shadow: 0 1px 1px #000000;*/
	font-size: 12px;
	color:#000000;

	font-weight:bold;

}

.en {
	/*font-family: 'Lato', sans-serif;*/
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	letter-spacing:0.03em;
}

h1,h2,h3,h4,h5,h6 {
	font-weight:bold;
}

ul,
p,
h3,
form {
	margin: 0;
	padding: 0
}
input {
	outline: none
}
li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-indent: 0
}
a {
	text-decoration: none;
	color: #000000;
}

a:hover {
	color:#999999;
}

a:active {
	color:#999999;
}

a img {
	border: none
}

.fbox {
	zoom: 100%;
}

.fbox:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

sup {
	position:relative;
	top:-0.4em;
	_top:0px;
}

.hd {
	text-indent:-9999px;
}

.opa60 {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";

	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

.opa60:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";

	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

.extra-bold {
	text-shadow: 0.1px 0.5px 0 #222;
}

.lang_en {
	font-family:"Merriweather Sans";
	font-weight:400;
}

.show_only_ja {
	display:none !important;
}

.langset_ja .show_only_ja {
	display:inline !important;
}

.show_only_en {
	display:none !important;
}

.langset_en .show_only_en {
	display:inline !important;
}

.langset_ja .show_only_ja.block {
	display:block !important;
}

.langset_en .show_only_en.block {
	display:block !important;
}

.show_only_pc {
	display:block !important;
}
.show_only_pc.inline {
	display:inline;
}

.show_only_mobile {
	display:none !important;
}

.show_only_mobile.inline {
	display:none;
}

.show_only_sp {
	display:none !important;
}

.show_only_sp.inline {
	display:none;
}

.onlymembers {
	border-top:1px dotted #FFCCCC;
	border-bottom:none;
	padding:10px 0;
	text-align:center;
	color:#FFCCCC;
}

.onlymembers.end {
	border-bottom:1px dotted #FFCCCC;
	border-top:none;
}

/* contents */

body {
	position:relative;
}

#container {
	width:100%;
	margin:0 auto;
	position:relative;

	min-width:1280px;
}

/* header */

#top_slide {
	width: 100vw;
	top:0;
	left:0;
}

#top_slide {
	position:absolute;
	height:100vh;
	width:100%;
	margin:0;
}

#top_slide .logobox {
	width:267px; /* 200px(text) */
	height:162px; /* 88px + 48px + margin 26px */
	position:absolute;
	display:none;

	left: 50%;
	top: 50%;
	margin-left: -134px;
	margin-top:-81px;
}

#top_slide div.logo_frame {
	width:88px;
	height:88px;
	background:url(../images/tai_logo_frame.png) center center no-repeat;
	background-size:contain;
	margin:0 auto;
}

#top_slide div.logo {
	width:88px;
	height:88px;
	background:url(../images/tai_logo.png) center center no-repeat;
	background-size:contain;
	cursor:pointer;
	display:none;
}

#top_slide .secondpos div.logo  {
	display:block;
}

#top_slide .title {
	width:267px;
	height:24px;
	top:114px; /* 88px + margin 26px */
	background:url(../images/tai_title.png) 50% top no-repeat;
	background-size:contain;
	display:none;
	position:absolute;
	cursor:pointer;
}

/* アニメーション完了後の位置 */

#top_slide .logobox.secondpos {
	left:22px;
	top:22px;
	display:none;
	width:396px;
	height:65px;

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

#top_slide .secondpos .logo_frame {
	margin:0;
	width:65px;
	height:65px;
	background-size:contain;
}

#top_slide .secondpos .logo {
	margin:0;
	width:65px;
	height:65px;
	background-size:contain;
}

#top_slide .logobox.secondpos .title {
	display:block;
	left:101px;
	height:65px;
	width:295px;
	background-position:right center;
	top:-2px; /* (88 - 24)/2 - 2 */
}

#top_slide #bt_menu {
	width:40px;
	height:28px;
	position:absolute;
	right:16px;
	top:16px;
	background:url(../images/bt_menu_three.png) right top no-repeat;
	background-size:cover;
	display:block;
	cursor:pointer;
}

/* top_slide */
div#top_slide {
	width:100%;
	height:100vh;
	min-height:660px;
	position:relative;
	z-index:100;
}

div#top_slide ul#slide_photobox {
	width:100%;
	height:100vh;
	min-height:660px;
	overflow:hidden;
}

div#top_slide ul#slide_photobox li {
	width:100%;
	height:100vh;
	min-height:660px;
	background-size:cover;
	background-position:55% center;/* 縦長画面のときleftが作用する */
	background-repeat:no-repeat;
}

div#top_slide div.bt_slide_left {
	width:26px;
	height:50px;
	background:url(../images/bt_slide_left.png) left top no-repeat;
	background-size:contain;
	position:absolute;
	left:16px;
	top:-webkit-calc(44vh - 25px);
	top:calc(44vh - 25px);
	cursor:pointer;
}

div#top_slide div.bt_slide_right {
	width:26px;
	height:50px;
	background:url(../images/bt_slide_right.png) left top no-repeat;
	background-size:contain;
	position:absolute;
	right:16px;
	top:-webkit-calc(44vh - 25px);
	top:calc(44vh - 25px);

	cursor:pointer;
}

.bt_addtoclip {
	width:40px;
	height:40px;
	background:url(../images/bt_addtoclip.png) no-repeat;
	cursor:pointer;
	background-size:contain;
	touch-action: none;
}

div#top_slide div.bt_addtoclip {
	position:absolute;
	/*top:56px;*/
	top:60px;
	right:16px;

	z-index:101;
}

div#top_slide .bt_addtoclip_msg {
	position:absolute;
	right:10px;
	top:116px;
	background-color:#FFF;
	color:#000;
	display:none;
	height:1em;
	line-height:1em;
	padding:4px 10px;
}

body.type02 div#top_slide div.bt_addtoclip  {
	top:96px;
	right:16px
}

div#top_slide div.photo_credit {
	position:absolute;
	bottom:16px;
	right:16px;
	color:#FFFFFF;
	font-weight:normal;
}

div#top_slide a#bt_facebook {
	position:absolute;
	display:block;
	left:16px;
	bottom:16px;
	width:32px;
	height:32px;
	background:url(../images/ic_fb.png) left top no-repeat;
	background-size:contain;
	text-align:left;
}

#bt_down_ar {
	width:50px;
	/*height:26px;*/
	height:44px;
	background:url(../images/bt_down_ar_c.png) left top no-repeat;
	background-size:contain;
	position:absolute;
	display:block;
	margin: auto;
	left:-5000px;
	right:-5000px;
	/*bottom:16px;*/
	bottom:5px;
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
	cursor:pointer;
	display:none;
}

/* スライドドット */
ul#slide_dots {
	height:3px;
	width:100%;
	background-color:#000;
	display: block;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack:justify;/* And */
    -ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	box-align:stretch;
	flex-align:stretch;
	align-items: stretch;
	padding:0;
}

ul#slide_dots li {
	display:block;
	background-color:#999999;
	height:2px;
	margin-right:1px;
	cursor:pointer;
	width:8%;
	float:left;
	flex-shrink:0;
	-webkit-flex-basis:-webkit-calc(10% - 1px);
	flex-basis:calc(10% - 1px);
}

ul#slide_dots li.on  {
	background-color:#FFFFFF;
}

/* 固定 thin ヘッダー */

div#fixed_header_case {
	position:relative;
	height:61px;
	width:100%;
}

div#fixed_header {
	width:100%;
	min-width:1280px;
	height:40px;
	position:absolute;
	top:0;
	left:0;
	padding:10px 0;
	/*background-color:rgba(237,240,241,0.6);*/
	background-color:rgba(255,255,255,0.9);
	border-bottom:1px solid #CCCCCC;
	/*visibility:hidden;*/
	z-index:90;
}

ul#text_menu {
	display:none;
}

body.type02 #bt_menu {
	display:none !important;
}

body.type02 ul#text_menu{
	display:-webkit-flex;
	display:flex;

	position:absolute;
	right:16px;
	top:51px;
}

body.type02 ul#text_menu li {
	margin-right:30px;
	font-size:12pt;
}

body.type02 ul#text_menu li:last-child {
	margin-right:0;
}

body.type02 ul#text_menu li a{
	color:#FFFFFF;
}

body.type02 ul#text_menu li a:hover {
	opacity:0.6;
}

body.type02 div#fixed_header {
	display:block;
}

div#fixed_header a#fixed_logo_box {
	width:238px;
	height:40px;
	display:block;
	position:relative;
	background-size:contain;
	margin-left:32px;
}

div#fixed_header a#fixed_logo_box div#fixed_logo {
	width:40px;
	height:40px;
	background:url(../images/tai_logo_black.png) left top no-repeat;
}

div#fixed_header a#fixed_logo_box div#fixed_title {
	width:198px;
	height:40px;
	background:url(../images/tai_title_black.png) right top no-repeat;
	background-size:contain;
	position:absolute;
	top:0px;
	right:1px;
}

div#fixed_header  > ul {
	display:block;
	display:-webkit-flex;
	display:flex;
	/*-webkit-justify-content: space-between;
	justify-content: space-between;*/
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-flex-wrap:nowrap;
	flex-wrap:nowrap;
	position:absolute;
	right:32px;
	top:0px;
	height:60px;
	width:1010px;
	text-align:right;
}

div#fixed_header > ul > li {
	display:inline-block;
	height:60px;
	line-height:62px;
	margin-right:20px;
	font-size:12pt;
	position:relative;
}

div#fixed_header > ul > li:last-child {
	margin-right:0;
}

div#fixed_header ul li a {
	color:#666666;
	font-family:"Merriweather Sans";
	font-weight:400;
	height:58px;
	line-height:62px;
	display:block;
	padding:0 5px;
}
div#fixed_header > ul > li > a {
	border-bottom:2px solid #FFFFFF;
}

div#fixed_header > ul > li > a:hover,
div#fixed_header > ul > li > a:active {
	color:#999;
	border-bottom:2px solid #999;
}

div#fixed_header ul li a:hover,
div#fixed_header ul li a:active {
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

div#fixed_header > ul > li > a.on {
	border-bottom:2px solid #777777;
}

div#fixed_header > ul > li > a#mail {
	padding-left:30px;
	background:url(../images/ic_mail.png) left center no-repeat;
	background-size:contain;

}

div#fh_menu {
	display:none;
}

div#fixed_header > ul > li > ul {
	display:none;
	position:absolute;
	top:60px;
	left:0;
	text-align:left;
	background-color:#fff;
	border: 1px solid #CCCCCC;
	border-top:0px;
}

div#fixed_header > ul > li:hover > ul {
display:block;
}

div#fixed_header > ul > li > ul > li > a {
	word-break: keep-all;
	white-space:nowrap;
	text-align:left;
	color:#666666;
	padding:0 15px;
	font-weight: 400;
	height:48px;
	line-height:48px;
}

/* nav menu */
nav {
	display:none;
	/*position:absolute;*/
	position:fixed;
	width:100%;
	width:100vw;
	background-color:#FFF;
	height:100vh;
	right:0px;
	top:0;
	z-index:300;
	/*margin-right:-300px;*/
	padding:0px;
	overflow:auto;
}

nav.on {
	display:block;
}

nav h1 {
	font-size:20px;
	font-weight:bold;
}

nav #nav_header {
	padding:0;
	position:relative;
	width:100vw;
	height:60px;

	border-bottom:1px solid #CCC;
}

nav #nav_header .bt_close {
	position:absolute;
	right:14px;
	top:10px;
	width:40px;
	height:40px;
	/*background:url(../images/bt_close.png) no-repeat;*/
	background: url(../images/bt_menu_three_black.png) center center no-repeat;
	background-size:contain;
	cursor:pointer;
}

nav #nav_header .logo {
	width:238px;
	max-width:-webkit-calc(100% - 60px);
	max-width:calc(100% - 60px);
	height:40px;
	position:absolute;
	top:0px;
	left:0px;
	padding:10px 14px;
	background:url(../images/tai_logo_white.png) #394F64 14px 10px no-repeat;
	background-size: 238px 40px;
}

nav>ul#menu {
	margin:20px 10px 10px 10px;
}

nav>ul#menu>li {
	font-size:12pt;
	line-height:1.5em;
	margin-bottom:0.5em;
	font-family: "Merriweather Sans";
	font-weight:normal;
	padding-bottom:0.5em;
	padding-left:0.5em;
	border-bottom:1px solid #CCC;
}

nav>ul#menu>li>div {
	width:-webkit-calc(100% - 10px);
	width:calc(100% - 10px);
	background-image: url(../images/bt_arrow_updown.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 18px 72px;
}

nav>ul#menu>li>div.on {
	background-position: right top;
}

nav ul#menu li ul{
	padding-left:20px;
	margin-top:10px;
	display:none;
}

nav ul#menu li ul li {
	font-weight:200;
	font-size:12pt;
	line-height:2em;
	height:2em;
	color:#333;
}

/* mask, modals */
div#mask,
div.modal {
	width:100%;
	position:fixed;
	top:0;
	left:0;
	height:100vh;
	display:none;
	z-index:500;
	background-color:rgba(255,255,255,0.9);
	overflow-y:scroll;
}

div.modal>div {
	padding:5px;
	position:absolute;
	width:-webkit-calc(100% - 10px);
	width:calc(100% - 10px);
}

div.modal h2 {
	font-size:20pt;
	margin-top:5px;
	margin-bottom:0.5em;
	color:#484D50;
}

div.modal div button {
	padding:10px 40px;
	background-color:#484D50;
	color:#FFF;
	border:none;
	font-weight:bold;
	cursor:pointer;
}

div.modal div button:hover {
	opacity:0.8;
}

div.modal div div.bt_close {
	width:30px;
	height:30px;
	background:url(../images/bt_close_black.png) left top no-repeat;
	position:absolute;
	background-size:contain;
	right:5px;
	top:5px;
	cursor:pointer;
}

ul#clips {
	margin:30px 40px;
	width:-webkit-calc(100% - 80px);
	width:calc(100% - 80px);
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

ul#clips li {
	-webkit-flex-basis: -webkit-calc((100% - 90px)/10);
	flex-basis: calc((100% - 90px)/10);
	height:-webkit-calc((100vw - 180px)/10);
	height:calc((100vw - 180px)/10);

	margin-right:10px;
	margin-bottom:10px;

	position:relative;

	background-color:#CCC;
}

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

ul#clips li a {
	display:block;
	background-size:cover;
	background-position: center center;
	width:100%;
	height:-webkit-calc((100vw - 180px)/10);
	height:calc((100vw - 180px)/10);
	cursor:pointer;
}

ul#clips li .bt_remove {
	position:absolute;
	top:-5px;
	right:-5px;
	background-image:url(../images/bt_remove_clip.png);
	width:20px;
	height:20px;
	background-size:contain;
	display:none;
	cursor:pointer;
}

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

/* save clip */
dl.clip_form {
	width:600px;
	margin:100px auto;
	color:#474E51;
}

dl.clip_form dt {
	font-size:14pt;
}

dl.clip_form dd {
	margin-bottom:2em;;
}

dl.clip_form dd div.input_box {
	border:1px solid #474E51;
	padding:3px;
	background-color:#FFF;
}

dl.clip_form dd input {
	border:none;
	float:left;
	width:-webkit-calc(100% - 100px);
	width:calc(100% - 100px);
	height:24px;
	line-height:24px;
	font-size:12pt;
	color:#474E51;
}

dl.clip_form dd button {
	height:24px;
	padding:0;
	line-height:24px;
	width:100px;
}

dl.clip_form dd div.share_box {
	margin-top:1.5em;

}

dl.clip_form dd div.share_box h5 {
	font-size:12pt;
	line-height:32px;
	height:32px;
	display:block;
	float:left;
	margin-right:10px;;
}

ul.sns_share {
	display:block;
	float:left;
	height:32px;
	vertical-align:middle;
}

ul.sns_share li {
	display:inline-block;
	margin-right:10px;
}

ul.sns_share li a {
	width:32px;
	height:32px;
	background-size:contain;
	display:block;
}

ul.sns_share li#share_fb a {
	background-image:url(../images/ic_fb_white.png);
}

ul.sns_share li#share_tw a {
	background-image:url(../images/ic_tw_white.png);
}

ul.sns_share li#share_pn a {
	background-image:url(../images/ic_pn_white.png);
}

ul.sns_share li#share_ml a {
	background-image:url(../images/ic_ml_white.png);
}

/* top architectures */
.home section#architecture {
	min-width:1280px;
	padding-top:55px;
	margin-top:-55px;
}

.home section#architecture h2 {
	height:250px;
	width:100%;
	background:url(../images/ti_architectures.png) center center no-repeat;
	background-size:261px 79px;
}

ul#ar_categories {
	width:100%;
	display:block;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
	flex-flow: row wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-align:stretch;
	align-items: stretch;
	padding:0 0 1px 1px;
}

ul#ar_categories li {
	display:block;
	float:left;
	background-color:#999999;
	min-width: -webkit-calc(50% - 2.5px);
	min-width: calc(50% - 2.5px);
	width: 49.5%;
	width: -webkit-calc(50% - 2.5px);
	width: calc(50% - 2.5px);
	-webkit-box-flex:1.0;
	-webkit-flex-basis: -webkit-calc((100% - 5px)/2);
	flex-basis: calc((100% - 5px)/2);
	flex-shrink:0;

	-ms-flex-flex-item-align:stretch;
	-webkit-align-self: stretch;
	align-self: stretch;
	min-height:455px;
	overflow:hidden;
	margin-bottom:3px;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}

ul#ar_categories li a {
	display:block;
	min-height:455px;
	background-color:rgba(0,0,0,0);
	transition-property: background-color;
	transition-duration: 0.5s;
}

ul#ar_categories li:hover a {
	background-color:rgba(0,0,0,0.2);
	transition-property: background-color;
	transition-duration: 0.5s;
}

ul#ar_categories li:hover a.black { /* 文字画像色が黒いとき */
	background-color:rgba(255,255,255,0.2);
	transition-property: background-color;
	transition-duration: 0.5s;
}

ul#ar_categories li:nth-child(2n+1) {
	margin-right:2px;
	clear:left;
}

ul#ar_categories li:nth-child(2n) {
	margin-left:1px;
}

ul#ar_categories li:nth-child(1) {
	background-image:url(../images/pic_ar01.jpg);
}

ul#ar_categories li:nth-child(2) {
	background-image:url(../images/pic_ar02.jpg);
}

ul#ar_categories li:nth-child(3) {
	background-image:url(../images/pic_ar03.jpg);
}

ul#ar_categories li:nth-child(4) {
	background-image:url(../images/pic_ar04.jpg);
}

ul#ar_categories li:nth-child(5) {
	background-image:url(../images/pic_ar05.jpg);
	margin-bottom:0;
}

ul#ar_categories li:nth-child(6) {
	background-image:url(../images/pic_ar06.jpg);
	margin-bottom:0;
}


ul#ar_categories li a {
	width:100%;
	height:-webkit-calc(50vw * 0.7);
	height:calc(50vw * 0.7);
	display:block;

	background-repeat:no-repeat;
	background-position:center center;

	background-size:357px 61px;
}

ul#ar_categories li:nth-child(1) a {
	background-image:url(../images/ti_ar_cat01.png);
}

ul#ar_categories li:nth-child(2) a {
	background-image:url(../images/ti_ar_cat02.png);
}

ul#ar_categories li:nth-child(3) a {
	background-image:url(../images/ti_ar_cat03.png);
}

ul#ar_categories li:nth-child(4) a {
	background-image:url(../images/ti_ar_cat04.png);
}

ul#ar_categories li:nth-child(5) a {
	background-image:url(../images/ti_ar_cat05.png);
}

ul#ar_categories li:nth-child(6) a {
	background-image:url(../images/ti_ar_cat06.png);
}

/* top concept/process */
.home section#concept {
	min-width:1280px;
}

.home section#concept h2 {
	height:250px;
	width:100%;
	background:url(../images/ti_concept.png) center center no-repeat;
	background-size:364px 78px;
}

#concept_block {
	background:url(../images/bg_concept.jpg) center center no-repeat;
	background-size:cover;
	width:100%;
	background-attachment: fixed;
	min-height:100vh;
}

/* concept */
#concept_block>div:first-child {
	border-bottom:3px solid #FFF;
}

h3#concept_concept {
	height:200px;
	width:100%;
	background:url(../images/ti_co_concept.png) center center no-repeat;
	background-size:163px 43px;
}

#concept_block>div:first-child ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	align-items: stretch;
	padding:0px 128px 94px 128px;
	width:1024px;
	margin:0 auto;
}

#concept_block>div:first-child ul li {
	-webkit-flex-basis: -webkit-calc((100% - 128px)/3);
	flex-basis: calc((100% - 128px)/3);
	align-self: stretch;
	color:#FFFFFF;
	/*background-color:rgba(0,0,0,0.43);*/
	margin-right:64px;
	/*padding:55px 24px;*/
	font-size:15px;
	font-weight:normal;
}

#concept_block>div:first-child ul li:last-child{
	margin-right:0;
}

/* process */
#concept_block>div:last-child {
	padding-bottom:35px;
	margin-bottom:32px;
}

h3#concept_process {
	height:200px;
	width:100%;
	background:url(../images/ti_co_process.png) center center no-repeat;
	background-size:145.5px 32.5px;
}

#concept_block>div:last-child div.text {
	color:#fff;
	text-align:center;
	font-weight:normal;
	font-size:15px;
}

#concept_block>div:last-child a.viewdetail {
	margin:35px auto;
	display:block;
	width:134px;
	height:18px;
}

#concept_block>div:last-child a.viewdetail:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}

a.viewdetail.white {
	background:url(../images/bt_viewdetail_white.png) center center no-repeat;
	background-size: contain;
}

a.viewdetail.black {
	background:url(../images/bt_viewdetail_black.png) center center no-repeat;
	background-size: contain;
}

a.viewmore.white {
	background:url(../images/bt_viewmore_white.png) center center no-repeat;
	background-size: contain;
}

a.viewmore.black {
	background:url(../images/bt_viewmore_black.png) center center no-repeat;
	background-size: contain;
}

a.viewmore:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

a.viewdetail:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

/* resort and retreat */
.home.page section#randr h2 {
	height:250px;
	width:100%;
	background-image:url(../images/ti_randr.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:368px 78px;
}

.home section#randr div#randr_block {
	min-height:400px;
	padding-top:200px;
	background-size: cover;
	margin: 0 0 0 0;
	background-attachment: fixed;
}

.home section#randr div.text {
	color: #333333;
	color:#FFF;
	text-align: center;
	font-weight: normal;
	font-size: 15px;
	word-break: keep-all;
	padding:0 20px;

}

.home section#randr a.viewdetail {
    margin: 35px auto;
    display: block;
    width: 134px;
    height: 18px;
}

/* consulting / rc */
.home.page section#consulting h2,
.home.page section#taaxrc h2 {
	height:250px;
	width:100%;
	background-image:url(../images/ti_consulting.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:313px 78px;
}

.home.page section#taaxrc h2 {
	background-image:url(../images/ti_rc.png?v2);
	background-size:463px 78px;
}

.home section#consulting div#consulting_block,
.home section#taaxrc div#rc_block {
	min-height:400px;
	padding-top:200px;
	background-size: cover;
	margin: 0 0 0 0;
	background-attachment: fixed;
}

.home section#consulting h3#consulting_title,
.home section#taaxrc h3#rc_title {
	height:160px;
	width:100%;
	background:url(../images/ti_consulting.png) center center no-repeat;
	background-size:215px 80px;
}

.home section#consulting div.text,
.home section#taaxrc div.text {
	color: #333333;
	color:#FFF;
	text-align: center;
	font-weight: normal;
	font-size: 15px;
	word-break: keep-all;
	padding:0 20px;

}

.home section#consulting a.viewdetail,
.home section#taaxrc a.viewdetail {
    margin: 35px auto;
    display: block;
    width: 134px;
    height: 18px;
}

/* faq */
.home section#faq {
	/*background-color:#F0F0F0;*/
	/*padding-bottom:55px;*/

}

.home section#faq h2 {
	height:250px;
	width:100%;
	background:url(../images/ti_faq.png) center center no-repeat;
	background-size:289.5px 78px;
}

.home section#faq #faq_block {

	background:url(../images/bg_faq03.jpg) center 70% no-repeat;
	background-size:cover;
	width:100%;
	background-attachment: fixed;
	padding:0;
	opacity:1;
	color:#fff;
	min-height:100vh;
}

.home section#faq #faq_block div {
	padding-top:0px;
}

h3#fa_faq {
	height:160px;
	width:100%;
	background:url(../images/ti_fa_faq.png) center center no-repeat;
	background-size:171px 78px;
}

h3#fa_contact {
	height:160px;
	width:100%;
	background:url(../images/ti_fa_contact.png) center center no-repeat;
	background-size:192px 78px;
}

#faq_block>div:first-child ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	align-items: stretch;
	padding:20px 128px 0px 128px;
	width:1024px;
	margin:2em auto 0 auto;
}

#faq_block>div:first-child ul li {
	-webkit-flex-basis: -webkit-calc((100% - 128px)/3);
	flex-basis: calc((100% - 128px)/3);
	align-self: stretch;
	color:#FFFFFF;
	/*background-color:rgba(0,0,0,0.43);*/
	margin-right:64px;
	/*padding:55px 24px;*/
	font-size:15px;
	font-weight:normal;
}

#faq_block>div:first-child ul li:last-child{
	margin-right:0;
}

#faq_block>div:first-child ul li h4 {
	line-height:1.5em;
	height:3em;
	margin-bottom:1em;
}



.home section#faq div.text {
	text-align:center;
	font-size:15px;
}

.home section#faq a.viewmore {
	margin:35px auto;
	display:block;
	width:131px;
	height:18px;
}

.home section#faq a.viewdetail {
	margin:35px auto;
	display:block;
	width:134px;
	height:18px;
}

#faq_block>div:first-child {
	border-bottom:3px solid #FFF;
	padding-bottom:35px;
}

#faq_block>div:last-child {
	padding-bottom:35px;
}


/* media/news */
.home section#media {
}

.home section#media h2 {
	height:250px;
	width:100%;
	background:url(../images/ti_media.png) center center no-repeat;
	background-size:395px 78.5px;
}

.home section#media div#media_block {
	width:100%;
	margin:0 auto;
	display:block;
	display:-webkit-flex;
	display:flex;
	background-color:#F0F0F0;
}

.home section#media div#media_block>div {
	float:left;
	width:632px;
	display:block;
	position:relative;
	padding-bottom:88px;
	position:relative;
	background-color:#F0F0F0;
	-webkit-flex-basis: 632px;
	flex-basis: 632px;
}

.home section#media div#media_block>div:first-child {
	border-right:5px solid #FFFFFF;
	width:49%;
	padding-left:-webkit-calc((100% - 5px)/2 - 632px );
	padding-left:calc((100% - 5px)/2 - 632px );
	text-align:right;
}

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

/* media:horizontal scroll box */
.home section#media div#media_block div.horizontal_scroll_box {
	/*padding-top:60px;
	margin: 0 60px 0px auto;*/
	padding: 60px 60px 0px 60px;
	width:512px !important;
}

.home section#media div#media_block div.horizontal_scroll_box>div.horizontal_scroll {
	width:512px;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;

	overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: hidden;

    position:relative;
}

.home section#media div#media_block div.horizontal_scroll_box>div.horizontal_scroll>ul.media_list {
	/*float:left;
	display:block;*/
	-webkit-flex-basis:512px;
	flex-basis:512px;
	min-width:512px;
	max-width:512px;
}

.home section#media div#media_block div.horizontal_scroll_box div#bt_right {
	right:10px !important;
}

.home section#media div#media_block div.horizontal_scroll_box div#bt_left {
	left:10px !important;
}

.home ul.media_list+ul.media_list {
	position:absolute;
	left:512px;
	top:0;
}

/* information ul  */


.home section#media div#media_block>div:last-child ul {
	/*width:632px;*/
	width:512px;
	overflow:hidden;
	padding:60px 60px 0px 60px;
}


.home section#media div#media_block>div>a.viewmore {
	margin:40px auto 60px auto;
	display:block;
	width:131px;
	height:18px;
	position:absolute;
	bottom:0;
	text-align:left;
	left:-1000px;
	right:-1000px;
}

ul.media_list {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

ul.media_list li {
	width:33%;
	display:block;
	float:left;
	-webkit-flex-basis:33%;
	flex-basis:33%;
	align-self: stretch;
	font-weight:200;
}

ul.media_list li:nth-child(3n + 1) {
	clear:left;
}

ul.media_list li div.mag_image {
	margin:0 auto;
	/*width:112px;*/
	width:100%;
	height:140px;
	background-size:auto 140px;
	background-position:center center;
	background-repeat:no-repeat;
}

ul.media_list li div.mag_title {
	font-size:14px;
	padding:10px 8px 0px 8px;
	font-weight:bold;
}

ul.media_list li div.mag_date {
	font-size:14px;
	padding:0px 8px 32px 8px;
}

ul#information_list {
	margin-right:0;
	display:table;
}

ul#information_list li {
	display:block;
	line-height:1.2em;
	margin-bottom:15px;
	font-weight:200;
	font-size:10pt;
}

ul#information_list li a {
	display:block;
	zoom: 100%;
}

ul#information_list li a:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

ul#information_list li>a>div {
	display:block;
	float:left;
	padding:0 10px 0 0;

}

ul#information_list li>a>div.date {
	font-weight:bold;
	width:4em;
	clear:left;
}

ul#information_list li div.title {
	padding-right:0px;
	line-height:1.5em;
	width:448px;
	float:left;
	width:-webkit-calc(100% - 10px - 4em);
	width:calc(100% - 10px - 4em);
	word-break: break-all;
}

h3#me_media {
	height:160px;
	width:100%;
	background:url(../images/ti_media_media.png) center center no-repeat;
	background-size:121px 34px;
	display:none;
}

h3#me_news {
	height:160px;
	width:100%;
	background:url(../images/ti_media_news.png) center center no-repeat;
	background-size:108px 33px;
	display:none;
}

/* company infomation */

.home section#company h2 {
    height: 250px;
    width: 100%;
    background: url(../images/ti_aboutus.png) center center no-repeat;
    background-size: 186px 77px;
}

.home section#company #company_block {
    width: 100%;
    height: 840px;
    height: -webkit-calc( 100vw * 0.589 );
    height: calc( 100vw * 0.589 );
    background-attachment: fixed;
    padding: 0;
    opacity: 1;
    color: #fff;

    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
}

.home section#company #company_block div.photo_credit {
	position:absolute;
	right:16px;
	bottom:16px;
	font-size:12px;
}

#company_block .grayblock {
	position:absolute;
	width:100%;
	height: -webkit-calc( 100vw * 0.589 );
	height: calc( 100vw * 0.589 );
	display:block;
	background-color:rgba(0,0,0,0.1);
}

#company_block .logobox,
#company #photo_block01 .logobox {
	width:267px; /* 200px(text) */
	height:162px; /* 88px + 48px + margin 26px */
	position:absolute;
	display:block;

	left: 50%;
	top: 40%;
	margin-left: -134px;
	margin-top:-81px;
}

#company_block div.logo_frame,
#company #photo_block01 div.logo_frame {
	width:88px;
	height:88px;
	background:url(../images/tai_logo_frame.png) center center no-repeat;
	background-size:contain;
	margin:0 auto;
	display:block;
}

#company_block div.logo,
#company #photo_block01 div.logo {
	width:88px;
	height:88px;
	background:url(../images/tai_logo.png) center center no-repeat;
	background-size:contain;
	display:block;
}

#company_block .title,
#company #photo_block01 .title {
	width:267px;
	height:24px;
	top:114px; /* 88px + margin 26px */
	background:url(../images/tai_title.png) 50% top no-repeat;
	background-size:contain;
	display:block;
	position:absolute;
}

.home section#company #company_block div.moving {
	/*width:1020px;*/
	margin:auto;
	font-size:18pt;
	font-weight:200;
	line-height:170% !important;
	text-align:center;
	width:100%;
	height:-webkit-calc(18pt * 5.1);
	height:calc(18pt * 5.1);
	/*margin-top:-webkit-calc( -18pt * 2.55 );
	margin-top:calc( -18pt * 2.55 );*/
	position:absolute;
	top:53%;
	left:0;
}

.home section#company #company_block div.moving span.name {
	font-family: "Merriweather Sans";
	font-weight:200;
}

#company_block02 {
	width:100%;
	min-width:1264px;
	margin:0px auto 0 auto;
}

#company_block02>div {
	position:relative;
	float:left;
	display:block;
	background-color:#F0F0F0;
	width:50%;
	height:600px;
}

#company_block02>div:first-child {
	margin-right:0px;
	width:50%;
}

#company_block02>div:last-child {
	padding-right:0;
	width:50%;
	min-height:300px;

}

#company_info {
	padding: 60px 30px;
	padding-left:calc(100% - 632px + 30px);
}

#ci_logo {
	width:40px;
	height:40px;
	background-image:url(../images/tai_logo_black.png);
	background-repeat:no-repeat;
	background-size:contain;
	float:left
}

#ci_logo.white {
	background-image:url(../images/tai_logo.png);
}

#ci_title {
	float:left;
	width:198px;
	height:40px;
	background-image:url(../images/tai_title_black.png);
	background-position:right top;
	background-repeat:no-repeat;
	background-size:contain;
}

#ci_title.white {
	background-image:url(../images/tai_title_white.png);
}

#company_info h3 {
	clear:left;
	font-weight:bold;
	font-size:15px;
	padding:15px 0;
}

#company_info .text {
	font-size:14px;
	font-weight:200;
}

#company_info a.viewdetail {
	margin:67px auto 35px auto;
	display:block;
	width:134px;
	height:18px;
}

footer {
	margin-top:5px;
	background-color:#333333;
	color:#FFFFFF;
	padding-top:40px;
	position:relative;
}

footer>div#footer_nav {
	/*width:900px;*/
	width:1105px;
	margin:0 auto;
}

ul#footer_menu {
	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
	width:660px;
	float:left;
}

ul#footer_menu >li {
	font-size:13px;
	line-height:1.5em;
	float:left;
	display:block;
	margin-right:20px;
}

ul#footer_menu >li:last-child {
	margin-right:0;
}

ul#footer_menu a {
	color:#FFFFFF;
}

ul#footer_menu a:hover {
	color:#CCCCCC;
}

ul#footer_menu >li>ul {
	margin-top:5px;
	/*padding-left:16px;*/

	display:block;
}

ul#footer_menu > li > ul > li {
	font-size:11px;
	font-weight:200;
}

ul#footer_menu > li > ul + a {
	margin-top:10px;
	display:block;
}

ul#banners {
	float:left;
	width:405px;
	margin-left:40px;
}

ul#banners li {
	width:200px;
	display:block;
	margin-bottom:5px;
	margin-right:5px;
	float:left;
}

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

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

ul#banners li a {
	width:198px;
	height:48px;
	display:block;
	background-size:contain;
	background-repeat:no-repeat;
	border:1px solid #525252;
}

ul#banners li a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

ul#banners li a#bn_ja { background-image:url(../images/bn_ja.png); }
ul#banners li a#bn_dt { background-image:url(../images/bn_dt.png); }
ul#banners li a#bn_hz { background-image:url(../images/bn_hz.png); }
ul#banners li a#bn_sv { background-image:url(../images/bn_sv.png); }
ul#banners li a#bn_th { background-image:url(../images/bn_th2.png); }

ul#banners li a#bn_fb { background-image:url(../images/bn_fb.png); }
ul#banners li a#bn_ig { background-image:url(../images/bn_ig.png); }

#footer_signature {
	margin:40px auto 20px auto;
	/*width:900px;*/
	width:1105px;
}

#footer_taa_logo {
	background:url(../images/tai_logo_white.png) left top no-repeat;
	width: 238px;
	height: 40px;
	background-size:contain;
	float:left;
	margin-right:30px;
	margin-bottom:7px;
}

div.sns {
	float:left;
	margin:10px 0 20px 18px;
	display:block;
}

div.sns a {
	padding-left:34px;
	height:26px;
	line-height:26px;
	display:block;
	color:#FFF;
	background-size:26px 26px !important;
}

div.sns a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

a#footer_fb {
	background:url(../images/ic_fb.png) left top no-repeat;
}

a#footer_ig {
	background:url(../images/ic_ig.png) left top no-repeat;
}

#footer_signature>ul {
	clear:both;
	margin-top:10px;
	display:block;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content: space-between;
}

#footer_signature>ul li {
	float:left;
	width:50%;
	font-size:14px;
	font-weight:200;
	text-align:center;
}

#footer_signature>ul li:first-child {
	font-weight:bold;
	text-align:left;
	width:25%;
}

#footer_signature>ul li:last-child {
	width:25%;
	text-align:right;
}

#footer_signature>ul li a {
	color:#FFF;
}

footer #copyright {
	background-color:#FFF;
	font-size:9pt;
	font-family: "Merriweather Sans";
	font-weight:200;
	height:36px;
	line-height:36px;
	text-align:center;
	color:#333333;
	white-space:nowrap;
}

/* clip */
#bt_clip_open {
	position:fixed;
	bottom:36px;
	left:0px;
	font-weight:normal;
	font-family: "Merriweather Sans";
	color:#333333;
	font-size:24px;
	cursor:pointer;
	padding:10px 20px;
	background-color:rgba(255,255,255,0.5);
	z-index:999998;

	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";

	touch-action: none;
}

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

/* scrolltop */
#scrolltop {
	width:36px;
	height:36px;
	background:url(../images/bt_ar_up.png) left top no-repeat;
	background-size:contain;
	position:fixed;
	bottom:36px;
	right:5px;
	z-index:90;
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	cursor:pointer;
}

section#notfound {
	padding-top:100px;
	padding-bottom:100px;
	max-width:100%;
	width:1280px;
	margin:0 auto;

}

/* css loading animation */
.loader {
	width: 100%;
    height: -webkit-calc( (100vw - 46px) * 0.22 );
    height: calc( (100vw - 46px) * 0.22 );
    min-height: 264px;
    background:url(../images/loading_oval.svg) center center no-repeat;
}

/* recaptcha badge */
.grecaptcha-badge {
	bottom:90px !important;
}


/* tempolary set */
/*.fixedbg {
	background-attachment:scroll !important;
	background-position:center bottom !important;
}

#bt_clip_open {
	position:absolute !important;
}
*/

/* top movies */

.home #movies {
	width:100%;
	height:calc(50vw* 0.35);
	position:relative;
}

.home #movies .title {
	position:absolute;
	text-align:center;
	width:100%;
	color:white;
}

.home #movies .title.en {
	font-size:36px;
	top:calc(50% - 1em);
	left:0;
	font-family: "Merriweather Sans";
    font-weight: 400;
}

.home #movies .title.jp {
	font-size:17px;
	top:calc(50% + 0.5em);
	font-weight:200;
}

.home #movies {
	margin-top:2px;
}

.home #movies ul {
	position:absolute;
	height:100%;
	width:calc(100% - 3px);
	top:0px;
	left:1px;
	overflow:hidden;
}

.home #movies ul li {
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	overflow:hidden;
	
	background-position:center center;
	background-size:100vw auto;
	
	
}

.home #movies ul li.grow {
	animation: growBackground 10s linear infinite alternate;
}

@keyframes growBackground {
  0% {
    background-size: 100vw auto;
  }
  100% {
    background-size: 116vw auto;
  }
}

.home #movies ul li.mov video {
	width:100%;
	height:100%;
	object-fit:cover;
}

.home #movies ul li.mov .sha {
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	/*background:url(../images/sha.gif) repeat;*/
	background-color:rgba(0,0,0,0.5);
}
