@charset "UTF-8";
@media screen and (max-width: 639px) and (min-width: 0px) {
.for_pc {
    display: none !important;
}
	html{
		overflow-x:hidden;
	}
/*setting--------------*/ p body, html {
    width: 100%;
    transition: 0.5s opacity ease-in;
    animation-name: page-fade-in;
    animation-duration: 2s;
    min-width: 300px;
}
body {
    overflow-x: hidden;
}
@keyframes page-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.contents_all_wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
}
.contents_inner_wrap {
    width: 80%;
    max-width: 80%;
    margin: 0 auto;
    position: relative;
}
h2 {
    display: inline-block;
    height: 1.8em;
    border-bottom: 1px solid #abdafb;
    font-size: 4vw;
}
h3 {
    font-size: 5vw;
    line-height: 1.5em;
    text-align: left;
}
.title_right {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 1vw;
    background-color: #0071bc;
}
.title_right p {
    position: absolute;
    right: 4vw;
    top: 1vw;
    transform: rotate(-90deg);
    transform-origin: calc(100% - 0.3em) 0;
    letter-spacing: 0.3em;
    color: #0071BD;
    white-space: nowrap;
    font-size: 2vw;
}
.title_left {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1vw;
    background-color: #0071bc;
}
.title_left p {
    position: absolute;
    top: 0;
    transform: rotate(-90deg);
    transform-origin: calc(100% + 0.3em) 0;
    letter-spacing: 0.3em;
    color: #0071BD;
    white-space: nowrap;
    font-size: 2vw;
}
.page_title {
    font-size: 6vw;
    letter-spacing: 0.2em;
    position: relative;
}
.page_sub_title {
    font-size: 3.5vw;
    letter-spacing: 0.2em;
    position: relative;
    top: -1.5vw;
}
.all_width_image {
    width: 100%;
    position: relative;
}
.copy_text {
    text-align: left;
    font-size: 3.5vw;
}
#side_nav {
    position: fixed;
    right: 4.5vw;
    bottom: 5vw;
    z-index: 3;
    text-align: center;
}
#side_nav img {
    width: 3vw;
}
#side_nav #bt_to_top, #side_nav #bt_to_up, #side_nav #bt_to_dn {
    cursor: pointer;
}
#bt_to_up img, #bt_to_down img {
    width: 2.5vw;
    margin: 3vw auto 0 auto;
}
.bt_segment {
    height: 1px;
    width: 100%;
    background-color: #777;
    margin-top: 3vw;
}
/*transition button main--------------------------------*/
.bt_transition_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}
.bt_transition_item {
    display: flex;
    justify-content: center;
    align-items: center;
    /*   margin: 15vw 0;*/
    width: 70vw;
}
		.bt_transition_item.left_overwrap{
		position:relative;
		left:1px;
	}
		.bt_transition_item.right_overwrap{
		position:relative;
		right:1px;
	}
.bt_transition_item:hover {
    background-color: #DEF2FF;
    cursor: pointer;
    transition: all 0.2s ease-out;
}
.bt_transition {
    border: 2px solid #0071bc;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12vw;
    width: 70vw;
    color: #0071bc;
    font-size: 3.5vw;
    letter-spacing: 0.2em;
}
	.bt_transition.letter_space{
		letter-spacing: 0.6em;
	}
.bt_transition_icon {
    border: 2px solid #0071bc;
    border-left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12vw;
    width: 15vw;
    color: #0071bc;
}
.bt_transition_back_icon {
    border: 2px solid #0071bc;
    border-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12vw;
    width: 15vw;
    color: #0071bc;
}
		/*transition double button main--------------------------------*/

	.bt_transition_wrap.confirm_double_bt {
    display: flex;
    justify-content: space-around;
    align-items: center;
		width: 80vw;
		margin: 0 auto;
}
.confirm_double_bt .bt_transition_item {
    display: flex;
    justify-content: center;
    align-items: center;
    /*   margin: 15vw 0;*/
   	width: calc(40vw - 4px)!important;
	   flex-shrink: 0;
}
	
/*country and date---------------------------------*/
#country {
    background-color: #f9f9f9;
}
.country_and_date {
    margin: 1vw 0 0 0;
}
.country_and_date .tag_box_country {
    background-color: #0071BC;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 5vw;
    padding: 0 10px;
    color: #fff;
    font-size: 3.5vw;
}
.country_and_date .tag_box_information {
    background-color: #F85473;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 5vw;
    padding: 0 10px;
    color: #fff;
    font-size: 3.5vw;
}
.country_and_date .tag_box_other {
    background-color: #50A875;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 5vw;
    padding: 0 10px;
    color: #fff;
    font-size: 3.5vw;
}
.country_and_date .date {
    margin-top: 0;
    color: #808080;
    font-size: 3.5vw;
    margin-top: 2vw;
}
/*pager ------------------------------------------*/
.pager_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10vw;
    padding-bottom: 10vw;
    font-size: 3.5vw
}
.pager_wrap .culent_page_number {
    color: #006FB5;
    display: inline-block;
    font-weight: bold;
}
.pager_wrap a:hover {
    color: #006FB5;
    cursor: pointer;
}
.pager_wrap a {
    display: inherit;
}
.pager_wrap .pager_number {
    display: flex;
}
.pager_wrap .culent_page_number {
    color: #000;
    display: inline-block;
    margin: 0 12px;
}
.pager_wrap .page_number {
    display: inline-block;
    margin: 0 12px;
}
.pager_wrap .page_number:hover {
    color: #0071BD;
}
.bt_prev_all, .bt_prev, .bt_next_all, .bt_next {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 6vw;
    height: 4vw;
    margin: 0 2vw;
}
.bt_prev_all {
    background-image: url(../img/news/bt_all_prev.svg);
}
a:hover .bt_prev_all {
    background-image: url(../img/news/bt_all_prev_on.svg);
}
.bt_prev {
    background-image: url(../img/news/bt_prev.svg);
}
a:hover .bt_prev {
    background-image: url(../img/news/bt_prev_on.svg);
}
.bt_next_all {
    background-image: url(../img/news/bt_all_next.svg);
}
a:hover .bt_next_all:hover {
    background-image: url(../img/news/bt_all_next_on.svg);
}
.bt_next {
    background-image: url(../img/news/bt_next.svg);
}
a:hover .bt_next {
    background-image: url(../img/news/bt_next_on.svg);
}
.pager_wrap .pager_disabled_bt {
    opacity: 0;
    pointer-events: none;
}
.pager_wrap .prev_bt_detail, .pager_wrap .next_bt_detail {
    display: flex;
    justify-content: center;
    align-items: center;
}
/*header--------------------------------------------*/
header {
    position: fixed;
    width: 100%;
    height: 15vw;
    top: 0;
    background-color: #fff;
    z-index: 4;
    min-width: 100%;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.10);
}
header .apex_logo {
    height: 100%;
    width: 55vw;
    position: absolute;
}
header .contents_inner_wrap {
    height: 100%;
}
header .header_menu_wrap {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    right: 50vw;
    height: 10vw;
    width: 50vw;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}
header .pulldown_menu_wrap {
    width: 45vw;
    background-color: #fff;
    position: fixed;
    top: 0;
    right: -48vw;
    transition: all 0.3s ease-in-out;
    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5);
    -webkit-tap-highlight-color: transparent;
}
header .pulldown_menu_wrap .header_sns_icon_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 8vw;
    width: 31vw;
    margin: 5vw 2.5vw 5vw auto;
}
header .pulldown_menu_wrap .header_sns_icon_wrap img {
    max-width: 7vw;
    height: 7vw;
}
header .toggle_switch {
    right: 0vw;
    transition: all 0.3s ease-in-out;
}
header .pulldown_header_button_wrap {
    display: flex;
    justify-content: flex-end;
    height: 15vw;
    width: 100%;
}
header .link_button {
    text-align: center;
    margin: 0 auto;
    text-align: right;
    height: 14vw;
    border-bottom: dotted 1px #aaa;
    display: flex;
    width: 38vw;
    justify-content: flex-end;
    align-items: center;
}
header .sub_link {
    width: 41vw;
    text-align: right;
    margin: 0 auto;
    height: 8vw;
    font-size: 3vw;
}
header .sub_link_wrap {
    margin-top: 15vw;
}
header .link_button .title {
    font-size: 3.5vw;
}
header .link_button .sub_title {
    font-size: 2vw;
}
header .member_link {
    height: 50vw;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 10vw;
    background-color: #3fa9f5;
    display: flex;
    align-items: center;
    justify-content: center;
}
header .member_link img {
    width: 6vw;
    height: auto;
    font-size: 2.5vw;
}
header .bt_header_menu {
    width: 8vw;
    height: 8vw;
    margin: 3vw 13vw 0 auto;
    cursor: pointer;
}
header .bt_header_menu img {
    width: 9vw;
}
header #menu_outer_bg {
    position: fixed;
    top: 0vw;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
}
header .bt_shrink_login {
    background-color: #0071BD;
    height: 15vw;
    width: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
header .bt_shrink_login img {
    height: 8vw;
}
header .bt_shrink_close {
    background-color: #000;
    height: 15vw;
    width: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
header .bt_shrink_close img {
    height: 8vw;
}
/*home=========================================*/
/*kv copy-------------------------------------*/
.copy_apex {
    height: 30.2vw;
    width: 45vw;
    background-color: #0071bc;
    position: absolute;
    right: 0;
    top: 50vw;
    color: #fff;
    font-size: 5vw;
    line-height: 1.58em;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding-right: 4vw;
    white-space: nowrap;
    letter-spacing: 0.18em;
}
/*kv-----------------------------------------------------*/
.kv_wrap {
    overflow: hidden;
    padding-top: 15vw;
    height: 110vw;
    min-width: 100%;
    position: relative;
}
.kv_name {
    position: absolute;
    top: 20%;
    left: 5vw;
    color: #fff;
    letter-spacing: 0.4em;
    font-size: 4vw;
    padding-left: 0.2em;
    z-index: 2;
    display: none;
}
.kv_name::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-filter: blur(5vw);
    filter: blur(5vw);
    border-radius: 30%;
    z-index: -1;
}
.kv_description {
    position: absolute;
    top: 25%;
    left: 5vw;
    right: 10vw;
    color: #fff;
    letter-spacing: 0.4em;
    font-size: 3vw;
    line-height: 1.75em;
    display: none;
}
.kv_description::after {
    content: "";
    position: absolute;
    color: #fff;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-filter: blur(5vw);
    filter: blur(5vw);
    border-radius: 30%;
    z-index: -1;
}
.kv_discription span , .kv_name span{
  z-index:1;
}
#slide_1 .kv_name::after, #slide_1 .kv_description::after {    background-color: rgba(90, 107, 89, 0.3);
} /*thailand*/ 
#slide_2 .kv_name::after, #slide_2 .kv_description::after {
    background-color: rgba(114, 101, 92, 0.5);
} /*cambodia*/
#slide_3 .kv_name::after, #slide_3 .kv_description::after {
    background-color: rgba(70, 88, 66, 0.5);
} /*laos*/
#slide_4 .kv_name::after, #slide_4 .kv_description::after {
    background-color: rgba(78, 118, 142, 0.5);
} /*myanmar*/
#slide_5 .kv_name::after, #slide_5 .kv_description::after {
    background-color: rgba(81, 79, 90, 0.7);
} /*indonesia*/
#slide_6 .kv_name::after, #slide_6 .kv_description::after {
    background-color: rgba(71, 75, 100, 0.4);
} /*shanghai*/
#slide_7 .kv_name::after, #slide_7 .kv_description::after, #slide_7_loop .kv_name::after, #slide_7_loop .kv_description::after {
} /*vietnam*/
.kv_bg {
    overflow: hidden;
    height: 100%;
    min-width: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
}
#top_kv .down_page_wrap {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 49vw;
    width: 10vw;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
#top_kv .down_page_wrap img {
    width: 3vw;
}
#top_kv .slider_bt_wrap {
    position: absolute;
    bottom: 0;
    width: 90vw;
    background-color: rgba(0, 0, 0, 0.5);
    height: 38px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}
#top_kv .kv_next {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    cursor: pointer;
    width: 50%;
    text-align: right;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
#top_kv .kv_prev {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    cursor: pointer;
    width: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
#top_kv .kv_country_name {
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    display: none;
}
#top_kv .letter {
    display: inline-block;
    line-height: 1em;
}
#top_kv .kv_pager_bt {
    position: relative;
    top: 0;
    left: 0;
    opacity: 1;
    transition: all 0.2s ease-in-out;
}
/*button layout */
.kv_bt_wrap {
    position: relative;
    width: 100%;
    height: 40px;
    color: #fff;
}
#top_kv .kv_bt_wrap .kv_arrow_prev {
    position: absolute;
    top: calc(50% - 2vw);
    left: 2vw;
}
#top_kv .kv_bt_wrap .kv_arrow_next {
    position: absolute;
    top: calc(50% - 2vw);
    right: 2vw;
}
#top_kv .kv_bt_wrap .kv_arrow_segment {
    position: absolute;
    top: calc(50% - 2vw);
    left: 50%;
}
#top_business .bisiness_content h5 {
    background-image: linear-gradient(to right, #abdafb 33.33%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 6px 1px;
    background-repeat: repeat-x;
    height: 8vw;
    display: inline-block;
    font-size: 4vw;
}
#top_kv .slider_bt_wrap p {
    letter-spacing: 0.5em;
    font-weight: normal;
    font-size: 2.5vw;
}
#top_kv .kv_next, #top_kv .kv_prev {
    cursor: pointer;
}
#top_kv #slide_1 {
    background-image: url(../img/top_sp/keyvisual_thailand.jpg);
}
#top_kv #slide_2 {
    background-image: url(../img/top_sp/keyvisual_cambodia.jpg);
}
#top_kv #slide_3 {
    background-image: url(../img/top_sp/keyvisual_laos.jpg);
}
#top_kv #slide_4 {
    background-image: url(../img/top_sp/keyvisual_myanmar.jpg);
}
#top_kv #slide_5 {
    background-image: url(../img/top_sp/keyvisual_indonesia.jpg);
}
#top_kv #slide_6 {
    background-image: url(../img/top_sp/keyvisual_shanghai.jpg);
}
#top_kv #slide_7, #top_kv #slide_7_loop {
    	background-image: url(../img/top_sp/keyvisual_vietnam.jpg);
}
/*company -----------------------------------------------------------*/
#top_company {
    padding-bottom: 10vw;
    margin-top: 15vw;
}
#top_company .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: -8vw;
    left: 6vw;
    height: 68vw;
    width: 45vw;
    background-size: 3vw;
}
#top_company .title_visual {
    padding-bottom: 10vw;
    margin-top: 10vw;
}
#top_company .copy_wrap {
    margin: 0 auto;
}
#top_company h2 {
    margin-top: 5vw;
}
#top_company h3 {
    margin: 6vw 0 0 0;
}
#top_company .copy_text {
    line-height: 2em;
    margin-top: 6vw;
    text-align: left;
    font-size: 3.5vw;
}
#top_company .contents_button {
    border: 2px solid #0071bc;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1vw;
    color: #0071bc;
    margin: 10vw 0 5vw 0;
}
/*business -----------------------------------------------------------*/
#top_business {
    background-position: center 200px;
    background-color: #f9f9f9;
    padding: 5vw 0;
    display: flex;
}
#top_business .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 10vw;
    left: 6vw;
    height: 152vw;
    width: 25vw;
    background-size: 3vw;
}
#top_business .image_visual {
    width: calc(50% - 10px);
}
#top_business .image_visual img {
    width: 100%;
}
#top_business .image_copy {
    width: 45%;
}
#top_business .title_left {
    top: 10vw;
    height: calc(100% - 10vw);
}
#top_business .title_left p {
    left: -6.5em;
}
#top_business .business_title {
    text-align: center;
    margin: 5vw 0 10vw 0;
}
#top_business .bisiness_content {
    width: 98vw;
    margin: 0 auto;
    text-align: left;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 14vw;
}
#top_business .bisiness_content h2 {
    margin: 0;
    border-bottom: dotted #abdafb;
}
#top_business .text_copy {
    text-align: left;
    margin-top: 2vw;
    line-height: 1.8em;
    font-size: 3.3vw;
}
#top_business .contents_button {
    border: 2px solid #0071bc;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1vw;
    color: #0071bc;
    margin: 0vw 0 10vw 0;
}
/*video---------------------------------------------------------------*/
#top_movie {
    padding: 15vw 0 0 0;
    height: 66vw;
}
#top_movie .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 7vw;
    right: 16vw;
    height: 66vw;
    width: 34vw;
    background-size: 3vw;
}
#top_movie .title_right {
    top: 15vw;
    height: calc(100% - 15vw);
}
.apex_video {
    width: 90%;
    right: 0px;
    position: relative;
}
/*top_greeting -----------------------------------------------------------*/
#top_greeting {
    padding: 15vw 0;
    background-color: #F9F9F9;
}
#top_greeting h2 {}
#top_greeting .title_left {
    top: 15vw;
    height: calc(100% - 15vw);
}
#top_greeting .title_left p {
    left: -7em;
}
#top_greeting .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 8vw;
    right: 10vw;
    height: 50vw;
    width: 44vw;
    background-size: 3vw;
}
#top_greeting .copy_wrap {}
#top_greeting h2 {
    margin-top: 5vw;
}
#top_greeting h3 {
    margin-top: 5vw;
    font-size: 4.5vw;
}
#top_greeting .copy_text {
    margin-top: 5vw;
    line-height: 2em;
    font-size: 3.5vw;
}
#top_greeting .contents_button {
    margin: 10vw auto 0 auto;
}
#top_greeting .special_title {
    margin-bottom: 5vw;
}
/*news    -----------------------------------------------------------*/
#top_news .title_right {
    top: 15vw;
    height: calc(100% - 15vw);
}
#top_news {
    padding: 15vw 0;
}
#top_news .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 16vw;
    right: 16vw;
    height: 20vw;
    width: 34vw;
    background-size: 3vw;
}
#top_news .news_new {
    width: 100%;
    margin-left: 30px;
    margin-right: 30px;
    position: relative;
}
#top_news .news_new img {
    width: 100%;
}
#top_news {
    font-size: 16px;
}
#top_news .news_list {
    width: 100%;
    min-height: 50vw;
    box-sizing: border-box;
}
#top_news h2 {
    margin-bottom: 4vw;
}
#top_news .new_find_out {
    font-size: 3.5vw;
    margin-top: 2vw;
}
#top_news .date {
    font-size: 3.5vw;
    margin-top: 2vw;
}
#top_news .find_out, #top_news .new_find_out {
    font-size: 15px;
    margin-top: 1vw;
    font-size: 3.0vw;
    line-height: 1.5em;
}
#top_news .list_item {
    border-bottom: 1px solid #bfbfbf;
    padding-bottom: 10px;
    margin: 4vw 0;
    padding-bottom: 4vw;
}
#top_news .contents_button {
    margin: 10vw 0 0 auto;
}
#top_news .sp_border_new {
    border-bottom: solid #bfbfbf 1px;
    padding-bottom: 5vw;
    padding-top: 2vw;
}
/*footer   -----------------------------------------------------------*/
footer .flower {
    width: 100%;
    background-image: url("../img/footer_image.png");
    background-size: cover;
    background-repeat: no-repeat;
    height: 50vw;
    position: relative;
}
footer .footer_info_wrap {
    background-color: #fff;
    padding: 10vw 0 5vw 0;
}
footer .footer_items_wrap {
    display: flex;
    font-size: 14px;
}
footer .footer_items_wrap .footer_company_info {
    width: 100%;
    text-align: center;
}
footer .adress_info {
    line-height: 1.5em;
    margin: 10px 0 36px 0;
    font-size: 3vw;
    line-height: 2em;
}
footer .footer_items_wrap .footer_site_map {
    width: 20vw;
    margin-left: 50px;
}
footer .copyright_wrap {
    background-color: #1b75bc;
    width: 100%;
    font-size: 2.1vw;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2vw 0;
}
#footer .copyright_wrap .contents_inner_wrap {
    text-align: center;
    width: 100%;
}
#footer .footer_logo img {
    width: 50%;
}
#footer .footer_apex_name {
    font-size: 3.5vw;
    line-height: 1.5em;
    margin: 2vw 0;
}
#footer .footer_logos img {
    width: 100%;
}
#footer .footer_apex_adress {
    font-size: 3.5vw;
    line-height: 1.5em;
}
/*extra---------------------------------------*/
.contents_button {
    border: 2px solid #0071bc;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1vw;
    color: #0071bc;
    margin: 5vw 0 10vw 0;
    font-size: 3.5vw;
}
.anchorLink {
    position: relative;
    top: -15vw;
}
/*under page common--------------------------------------*/
.title_name_wrap {
    margin-left: 1vw;
}
.page_title_wrap {
    width: 50vw;
    display: flex;
    padding-top: 30vw;
}
.page_title_wrap .page_title_box {
    height: 12vw;
    min-width: 6vw;
    background-color: #0071bc;
}
/*contact page==============================================*/
#contact {
    padding: 15vw 0;
}
#contact .title_right {
    height: calc(100% - 45vw);
    top: 45vw;
}
#contact .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0vw;
    left: 0;
    height: 40vw;
    width: 6vw;
    background-size: 3vw;
}
#contact .contact_form_wrap {
    width: 80vw;
    margin: 0 auto;
    font-size: 3.5vw;
    line-height: 2em;
}
#contact .input_item {
    margin: 20px 0;
}
#contact .input_item span {
    color: #f00;
}
#contact input, #contact select, #contact textarea {
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #000;
    padding: 3px 3px 3px 10px;
    width: calc(100% - 2px);
    box-sizing: border-box;
}
#contact input:disabled, #contact select:disabled, #contact textarea:disabled {
    background-color: #eee;
    border-radius: 0px;
    border: 1px solid #000;
    padding: 3px 3px 3px 10px;
    width: calc(100% - 2px);
    box-sizing: border-box;
}
#contact input.error, #contact select.error, #contact textarea.error {
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #f00;
    padding: 3px 3px 3px 10px;
    width: calc(100% - 2px);
    box-sizing: border-box;
}
#contact select {
    background-image: url("../img/common/select_pulldown_black_bt.svg");
    background-position: right 2vw top 4vw;
    background-repeat: no-repeat;
    background-size: 3.5vw 3.5vw;
}
#contact .varidation_message {
    color: #f00;
    margin: 1vw;
}
#contact input {
    height: 40px;
}
#contact select {
    height: 40px;
    cursor: pointer;
}
#contact textarea {
    height: 400px;
}
#contact input[type="checkbox"] {
    height: auto;
    width: auto;
}
#contact .contact_discription_text {
    font-size: 3.5vw;
    line-height: 2em;
}
#contact .privacy_discription {
    height: 200px;
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #000;
    padding: 3px 3px 3px 10px;
    width: calc(100% - 2px);
    box-sizing: border-box;
    overflow: auto;
    font-size: 3vw;
    line-height: 2em;
}
#contact .input_2_lines {
    display: flex;
    width: 100%;
}
#contact .input_2_lines_item {
    width: 50%;
}
#contact .privacy_policy_confirm_check_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5vw 0;
}
#contact .privacy_policy_confirm_check_wrap input[type="checkbox"] {
    margin-right: 10px;
}
	
#contact .confirm_double_bt .bt_transition {
    width: 30vw;
}
#contact .confirm_double_bt .bt_transition_item {
    width:inherit;
}
#contact .confirm_double_bt .bt_transition_icon {
    width: 10vw;
}
#contact .confirm_double_bt .bt_transition_back_icon {
    width: 9vw;
}
	
/*products_page======================================*/
/*products--------------------------------------------*/
#products .title_right {
    top: 80px;
    height: 100%;
}
#products .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 2vw;
    left: 0px;
    height: 380vw;
    width: 5vw;
    background-size: 3vw;
}
#products .title_right p {
    left: -8em;
    top: 3vw;
}
#products .contents_title_wrap {
    text-align: left;
    margin-top: 5vw;
}
#products .contents_title_wrap p {
    margin: 2vw 0;
    font-size: 3.5vw;
    line-height: 2em;
}
#products .product_content {
    text-align: center;
}
#products .product_content img {
    width: 40%;
    margin-top: 2vw;
}
#products .product_content h2 {
    border-bottom: 1px dashed #0071bc;
    letter-spacing: 0.3em;
}
#products .text_copy {
    line-height: 2em;
    margin-top: 20px;
    margin: 20px 10px 0 10px;
    text-align: left;
    font-size: 3.5vw;
}
#products .contents_button {
    margin: 10vw auto 0 auto;
    font-size: 3.5vw;
}
#products .to_member_bt_description {
    text-align: center;
    color: #0071bc;
    font-size: 3vw;
    margin: 5vw auto 10vw auto;
}
/*countries--------------------------------------------*/
#countries.contents_all_wrap {
    padding: 0 0 5vw 0;
    background-color: #f9f9f9;
}
#countries .title_left {
    top: 15vw;
}
#countries .contents_title_wrap h2 {
    margin: 15vw 0 0 0;
}
#countries .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 35vw);
    height: 10vw;
    width: 70vw;
    background-size: 3vw;
}
#countries .title_left p {
    left: -7.5em;
}
#countries .contents_title_wrap {
    text-align: center;
}
#countries .contents_title_wrap p {
    margin: 5vw 0 10vw 0;
    font-size: 3.5vw;
}
#countries .product_content {
    text-align: center;
}
#countries .flag_area_wrap h2 {
    border-bottom: 1px dashed #0071bc;
    margin: 5vw 0 3vw 0;
}
#countries .flag_wrap {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-left: 20px;
    width: calc(100% - 20px);
}
#countries .flag_item {
    width: 60%;
    display: flex;
    flex-shrink: 0;
    margin: 1.5vw 0;
    align-items: center;
    text-align: center;
    font-size: 3.5vw;
}
#countries .flag_item:nth-child(2n) {
    width: 40%;
}
#countries .flag_item img {
    width: 6vw;
    margin-right: 5px;
}
#countries .text_copy {
    line-height: 2em;
    margin-top: 20px;
    margin: 20px 10px 0 10px;
    text-align: left;
}
.button_wrap {
    margin: 0 0 0 auto;
}
#countries .contents_button {
    margin: 10vw auto 0 auto;
    font-size: 3.5vw;
}
#countries .to_member_bt_description {
    text-align: center;
    color: #0071bc;
    font-size: 3vw;
    margin: 5vw auto 10vw auto;
}
/*news_page======================================*/
/*search_field-----------------------------------*/
.search_select_wrap select {
    background-image: url("../img/common/select_pulldown_bt.svg");
    background-position: right 2vw top 2.3vw;
    background-repeat: no-repeat;
    background-size: 3.5vw 3.5vw;
}
.search_field_wrap {
    display: flex;
    margin: 4vw 0;
    width: 100%;
    position: relative;
}
.search_field_wrap p {
    color: #0071bc;
    font-size: 3.5vw;
}
.search_field_wrap .search_field_wrap p {
    height: 5vw;
}
.search_field_wrap .search_field_wrap {
    color: #0071bc;
    font-size: 3.5vw;
}
.search_field_wrap .search_select_wrap {
    width: 30%;
}
.search_field_wrap select {
    color: #0071bc;
    cursor: pointer;
}
.search_field_wrap input {
    height: 40px;
    cursor: pointer;
    color: #0071bc;
}
.search_field_wrap .search_input_wrap {
    margin-left: 10px;
    width: 52%;
}
.search_field_wrap .search_roope_button {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0071bc;
    height: 8vw;
    width: 8vw;
    flex-shrink: 0;
    bottom: 0;
    right: 5vw;
    cursor: pointer;
    position: absolute;
    background-image: url(../img/news/search_bt_roope.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}
.search_field_wrap .search_roope_button img {
    height: 5vw;
    width: 5vw;
}
.search_roope_button:hover {
    opacity: 0.8;
}
.search_field_wrap input, .search_field_wrap select {
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #0071bc;
    padding: 1vw 1vw 1vw 1vw;
    box-sizing: border-box;
    height: 8vw;
    width: 100%;
    font-size: 3.5vw;
}
.search_form_title {
    position: relative;
    top: -1vw;
}
/*news--------------------------------------------*/
#news .contents_all_wrap {
    background-image: url("../img/news/dot.png");
    background-position: calc(50% - 400px) 20px;
    background-repeat: no-repeat;
    height: auto;
}
#news .contents_title_wrap h2 {
    position: relative;
    left: -8vw;
}
#news .contents_inner_wrap {
    padding-bottom: 0vw;
}
#news .contents_inner_wrap_for_news {
    width: 80%;
    max-width: 80%;
    margin: 0 auto;
}
#news .title_right {}
#news .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 8vw;
    right: 5vw;
    height: 68vw;
    width: 45vw;
    background-size: 3vw;
}
#news .contents_title_wrap {
    text-align: center;
    margin-top: 80px;
    width: 80%;
    text-align: left;
    margin: 10vw auto 5vw auto;
}
#news .top_news_wrap {
    margin-top: 5vw;
}
#news .top_news_text {}
#news .top_news_text .text {
    margin: 5vw 0;
    font-size: 3.5vw;
    line-height: 2em;
}
#news .tag_box {
    background-color: #3fa9f5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 34vw;
    padding: 1vw 2vw;
    color: #fff;
    font-size: 3.5vw;
}
#news .date {
    color: #808080;
}
#news .find_out {
    font-size: 4vw;
}
#news .list_news_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 2vw;
    border-top: 1px solid #bfbfbf;
    padding-top: 5vw;
}
#news .list_news_item {
    margin-bottom: 2vw;
}
#news .top_news_image {
    width: 90%;
    height: 60vw;
    margin: 2vw 2vw 0 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}
#news .list_news_item .top_news_image {
    width: 38vw;
    height: 25vw;
    margin: 2vw 4vw 0 0;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#news .list_news_item .find_out {
    margin: 0 0 0 1vw;
    font-size: 3vw;
    max-height: 8em;
    -moz-text-overflow: '...';
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    line-height: 2em;
}
#news .list_news_item .text {
    font-size: 16px;
}
#news .news_item_wrap_for_sp {
    display: flex;
}
#news .news_item_wrap_for_sp .find_out {
    font-size: 3.5vw;
    width: 50%;
}
#news .no_search_result {
    margin: 15vw auto;
    font-size: 4vw;
    width: 100%;
    text-align: center;
}
/*news detail page=====================================*/
/*news detail------------------------------------------*/
#news_detail {
    margin-top: 5vw;
}
#news_detail .contents_inner_wrap {
    height: auto;
    padding-bottom: 0vw;
}
#news_detail .title_right {
    top: 100px;
    height: 100%;
}
#news_detail .contents_title_wrap {
    text-align: center;
    margin-top: 80px;
}
#news_detail .contents_title_wrap {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 5vw;
}
#news_detail .top_news_image {
    width: 90vw;
    height: 330px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-top: 5vw;
}
#news_detail .top_news_text .text {
    margin-top: 5vw;
    font-size: 3.5vw;
    line-height: 2em;
}
#news_detail .tag_box {
    background-color: #3fa9f5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 34vw;
    padding: 1vw 2vw;
    color: #fff;
    font-size: 3.5vw;
}
#news_detail .news_wrap {
    margin-bottom: 10vw;
}
#news_detail .news_list_wrap {}
#news_detail .news_list_wrap .contents_title_wrap h2 {
    margin: 5vw auto;
}
#news_detail .news_list_wrap {
    overflow-y: auto;
}
#news_detail .news_new_wrap .text {
    font-size: 3.5vw;
    line-height: 2em;
}
#news_detail .news_list_wrap .news_list_item {
    padding-bottom: 15px;
    margin-bottom: 35px;
    border-bottom: 1px solid #000;
    font-size: 16px;
}
#news_detail .find_out {
    max-height: 3em;
    flex-shrink: 0;
    -moz-text-overflow: '...';
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.5em;
    font-size: 4vw;
}
#news_detail .news_list_wrap .news_title {
    line-height: auto;
    font-size: 4vw;
}
#news_detail .country_and_date {
    margin: 2vw 0;
}
#news_detail .country_and_date .date {
    font-size: 3.5vw;
    margin-top: 2vw;
}
#news_detail .no_search_result {
    margin: 15vw auto;
    font-size: 4vw;
    width: 100%;
    text-align: center;
}
/*company_page======================================*/
/*company----------------------------------------*/
#company {
    margin-top: 10vw;
}
#company .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 10vw;
    left: 6vw;
    height: 68vw;
    width: 45vw;
    background-size: 3vw;
}
#company {
    padding-bottom: 10vw;
    margin-top: 15vw;
}
#company .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: -8vw;
    left: 6vw;
    height: 68vw;
    width: 45vw;
    background-size: 3vw;
}
#company .title_visual {
    padding-bottom: 10vw;
    margin-top: 10vw;
}
#top_company .copy_wrap {
    margin: 0 auto;
}
#company h2 {
    margin-top: 5vw;
}
#company h3 {
    margin: 6vw 0 0 0;
}
#company .copy_text {
    line-height: 2em;
    margin-top: 6vw;
    text-align: left;
    font-size: 3.5vw;
}
#company .contents_button {
    border: 2px solid #0071bc;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1vw;
    color: #0071bc;
    margin: 5vw 0;
}
/*greeting---------------------------------------*/
#greeting {
    padding: 15vw 0;
    background-color: #F9F9F9;
}
#greeting h2 {}
#greeting .title_left {
    top: 15vw;
    height: calc(100% - 15vw);
}
#greeting .title_left p {
    left: -6.7em;
}
#greeting .dot_texture {
    background-image: url("../img/top_sp/dot.png");
    position: absolute;
    top: 8vw;
    right: 10vw;
    height: 50vw;
    width: 44vw;
    background-size: 3vw;
}
#greeting .copy_wrap {}
#top_greeting h2 {
    margin-top: 5vw;
}
#greeting h3 {
    margin-top: 5vw;
    font-size: 4.5vw;
}
#greeting .copy_text {
    margin-top: 5vw;
    line-height: 2em;
    font-size: 3.5vw;
}
#greeting .contents_button {
    margin: 5vw auto 0 auto;
}
#greeting .special_title {
    margin-bottom: 5vw;
}
/*overview---------------------------------------*/
#overview {
    margin-bottom: 10vw;
}
#overview .title_right {
    top: 10vw;
    height: 100%;
}
#overview .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: 6vw;
    height: 7vw;
    width: 85vw;
    background-size: 3vw;
}
#overview h2 {
    margin: 10vw 0;
    font-weight: 500;
}
#overview .company_heading {
    width: 20vw;
    text-align: left;
    display: flex;
    align-items: center;
    font-size: 3.5vw;
}
#overview .contents_inner_wrap {
    text-align: center;
}
#overview .overview_contents_first_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-top: solid 1px #bfbfbf;
    border-bottom: solid 1px #bfbfbf;
    padding: 3vw 0;
}
#overview .overview_contents_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #bfbfbf;
    padding: 3vw 0;
}
#overview .overview_contents_last_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    padding: 3vw 0;
    border-bottom: solid 1px #bfbfbf;
    position: relative;
    bottom: -1px;
}
#overview .copy_wrap {
    width: 100%;
    text-align: left;
}
#overview .overview_work_contents {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #bfbfbf;
    padding: 3vw 0;
}
#over_view .overview_wrap {
    border-bottom: solid 1px #bfbfbf;
}
#overview .copy_text {
    text-align: left;
    font-size: 3.5vw;
    width: 55vw;
}
#overview .copy_text_lines {
    text-align: left;
    width: 32vw;
}
#overview .overview_contents_wrap_lines {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #bfbfbf;
    padding: 3vw 0;
}
#overview .copy_wrap_contents {
    text-align: left;
}
#overview .overview_work_detail {
    text-align: left;
    width: 55vw;
    font-size: 3.5vw;
}
.text_indent {
    padding-left: 1em;
    text-indent: -1em;
}
/*history-----------------------------------------------------*/
#history.contents_all_wrap {
    padding: 0 0 15vw 0;
    background-color: #f9f9f9;
}
#history {
    background-color: #f9f9f9;
    position: relative;
}
#history .dot3 {
    background-color: #f9f9f9;
    position: absolute;
    right: 12%;
    height: 120px;
    width: 15%;
}
#history .title_left {
    top: 10vw;
    height: calc(100% - 10vw);
}
#history .title_left p {
    left: -6.0em;
    letter-spacing: 0.3em;
}
#history h2 {
    margin: 10vw 0;
    font-weight: 500;
}
#history .history_work_contents {
    width: 100%;
    border-bottom: solid 1px #bfbfbf;
    padding: 3vw 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#history .history_work_contents_noline {
    width: 100%;
    padding: 3vw 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#history .history_work_contents_noyear {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}
#history .history_work_contents_noyear_last {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0 0 3vw 0;
    border-bottom: 1px solid #bfbfbf;
}
#history .history_work_contents_top {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 3vw 0;
    border-bottom: 1px solid #bfbfbf;
    border-top: 1px solid #bfbfbf;
}
#history .contents_inner_wrap {
    text-align: center;
}
#history .history_year {
    text-align: left;
    width: 100%;
    font-size: 3.5vw;
    margin-bottom: 1vw;
}
#history .history_month {
    text-align: right;
    width: 12%;
    font-size: 3.5vw;
}
#history .copy_text {
    text-align: left;
    width: 85%;
    font-size: 3.5vw;
    margin-left: 3%
}
#history .bt_transition_wrap {
    margin-top: 10vw;
}
/*office_page ==============================================*/
/*office japan---------------------------------------------*/
#japan.contents_all_wrap {
    padding: 5vw 0 10vw 0;
}
#japan {
    background-color: #fff;
    margin-top: 10vw;
}
#japan .title_right p {
    right: 4.5vw;
}
#japan h2 {
    position: relative;
    top: -6vw;
}
#japan .title_right {
    top: 10vw;
    height: calc(100% - 10vw);
}
#japan .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 10vw;
    left: 0;
    height: 500vw;
    width: 5vw;
    background-size: 3vw;
}
#japan .heading_wrap {
    width: 100%;
    text-align: left;
    margin: 0vw 0 2vw 0;
}
#japan .office_map_info_wrap {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
}
#japan .office_map_wrap {
    width: auto;
    border-bottom: 1px solid #bfbfbf;
    margin-bottom: 10vw;
    padding-bottom: 10vw;
    font-size: 3.5vw;
    line-height: 2em;
}
#japan .map_box {
    height: 50vw;
    margin-bottom: 30px;
    background-color: #aaa;
    max-width: 100%;
    width: 100%;
}
#japan .office_location_name_wrap {
    width: 100%;
    text-align: center;
}
#japan .office_location_name {
    border-bottom: dashed 1px #0071BD;
    margin-bottom: 5vw;
    width: auto;
    display: inline-block;
    font-size: 4vw;
}
/*oversea---------------------------------------------------*/
#oversea.contents_all_wrap {
    padding: 15vw 0;
}
#oversea {
    background-color: #f9f9f9;
}
#oversea .title_left {
    top: 15vw;
    height: calc(100% - 15vw);
}
#oversea .title_left p {
    left: -7em;
}
#oversea .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 30vw);
    height: 15vw;
    width: 40vw;
    background-size: 3vw;
}
#oversea .oversea_item {
    border-bottom: 1px solid #bfbfbf;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    flex-direction: column;
    padding: 5vw 0;
    line-height: 2em;
    font-size: 3vw;
}
#oversea .oversea_item_country {
    text-align: left;
    display: block;
}
#oversea .oversea_item p:nth-child(2) {
    -webkit-box-ordinal-group: +1;
    -moz-box-ordinal-group: +1;
    -webkit-flex-order: +1;
    -moz-flex-order: +1;
    -webkit-order: +1;
    -moz-order: +1;
    -ms-order: -1;
    order: +1;
}
#oversea .oversea_company_wrap {
    width: 100%;
}
#oversea .oversea_item_company {
    display: inline-block;
    width: auto;
}
#oversea .oversea_item_company a {
    text-decoration: underline;
}
#oversea .oversea_item_company a:hover {
    color: #0071BD;
}
#oversea .oversea_item_company_jp {
    margin: 0 0 0 auto;
    position: absolute;
    right: 0px;
    text-align: right;
}
#oversea .contents_inner_wrap {}
/*privacy page===========================================*/
/*privacy------------------------------------------------*/
#privacy .privacy_wrap {
    width: 80vw;
    margin: 0 auto;
    padding: 15vw 0;
    line-height: 1.8em;
    font-size: 3vw;
}
#privacy .title_wrap {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 10vw;
}
#privacy .title_right {
    top: 10vw;
    height: 100%;
}
#privacy .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 15vw;
    left: 0;
    height: 40vw;
    width: 6vw;
    background-size: 3vw;
}
#privacy .section_indent {
    padding-left: 1.1em;
    width: :calc(100% - 1.1em);
}
#privacy .text_indent {
    text-indent: -1.1em;
    padding-left: 1em;
}
/*end-----------------------------------------------------*/
}
