@charset "UTF-8";
@media screen and (min-width: 640px) {
.for_sp {
    display: none;
}
/*setting--------------*/
body {
    min-width: 1152px;
    transition: 0.5s opacity ease-in;
    animation-name: page-fade-in;
    animation-duration: 2s;
}
@keyframes page-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.contents_all_wrap {
    width: 100%;
    min-width: 1152px;
    position: relative;
}
.contents_inner_wrap {
    width: 1024px;
    min-width: 1024px;
    margin: 0 auto;
    position: relative;
}
h2 {
    display: inline-block;
    height: 40px;
    border-bottom: 2px solid #abdafb;
    font-size: 20px;
    letter-spacing: 4px;
}
h3 {
    line-height: 1.5em;
    margin: 20px 0;
    font-size: 36px;
}
.title_right {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 10px;
    background-color: #0071bc;
}
.title_right p {
    position: absolute;
    right: 30px;
    top: 0;
    transform: rotate(-90deg);
    transform-origin: calc(100% - 0.3em) 0;
    letter-spacing: 0.5em;
    color: #0071BD;
    white-space: nowrap
}
.title_left {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 10px;
    background-color: #0071bc;
}
.title_left p {
    position: absolute;
    left: 10px;
    top: 130px;
    transform: rotate(-90deg);
    transform-origin: calc(0% + 0.3em) 0;
    letter-spacing: 0.5em;
    color: #0071BD;
    white-space: nowrap
}
.page_title {
    font-size: 44px;
    letter-spacing: 0.2em;
    position: relative;
    top: -10px
}
.page_sub_title {
    font-size: 16px;
    letter-spacing: 0.2em;
    position: relative;
    top: -15px
}
#side_nav {
    position: fixed;
    right: 40px;
    bottom: 50px;
    z-index: 3;
    text-align: center;
    width: 21px;
}
#side_nav img {
    width: 19px;
}
#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: 17px;
    margin: 20px auto 0 auto;
}
.bt_segment {
    height: 2px;
    width: 16px;
    background-color: #777;
    margin: 20px auto 0 auto;
}
.dot_texture {
    background-image: url(../img/top_sp/dot.png);
    z-index: 0;
}
/*transition button main--------------------------------*/
.bt_transition_wrap {
    display: flex;
    justify-content: center;
    align-items: center; /*margin: 50px 0;*/
}
.bt_transition_item {
    display: flex;
    justify-content: center;
    align-items: center;
    /*margin: 50px 0;*/
    width: 400px;
}
	
	.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: 70px;
    width: 330px;
    color: #0071bc;
    font-size: 18px;
}
.bt_transition.letter_space{
		letter-spacing: 0.8em;
	}
.bt_transition_icon {
    border: 2px solid #0071bc;
    border-left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    width: 70px;
    color: #0071bc;
}
.bt_transition_back_icon {
    border: 2px solid #0071bc;
    border-right: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    width: 70px;
    color: #0071bc;
}
	
	/*transition double button main--------------------------------*/
.bt_transition_wrap.confirm_double_bt {
    display: flex;
    justify-content: space-between;
    align-items: center; /*margin: 50px 0;*/
	width: 800px;
	margin: 0 auto 50px auto!important;
}
.confirm_double_bt .bt_transition_item {
    display: flex;
    justify-content: center;
    align-items: center;
    /*margin: 50px 0;*/
    width: 398px;
}
	
/*country and date---------------------------------*/
.country_and_date {}
.country_and_date .tag_box {
    background-color: #0071B;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    padding: 0 10px;
    color: #fff;
    font-size: 15px;
}
.country_and_date .tag_box_country {
    background-color: #0071BC;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    padding: 0 10px;
    color: #fff;
    font-size: 15px;
}
.country_and_date .tag_box_information {
    background-color: #F85473;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    padding: 0 10px;
    color: #fff;
    font-size: 15px;
}
.country_and_date .tag_box_other {
    background-color: #50A875;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    padding: 0 10px;
    color: #fff;
    font-size: 15px;
}
.country_and_date .date {
    margin-top: 5px;
    color: #808080;
}
/*pager ------------------------------------------*/
.pager_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 40px;
    font-size: 18px;
}
.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: 28px;
    height: 18px;
    margin: 0 5px;
}
.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: 80px;
    top: 0;
    background-color: #fff;
    z-index: 4;
    min-width: 1152px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.10);
}
header .apex_logo {
    height: 48px;
    max-width: 264px;
    width: 19vw;
    min-width: 210px;
    position: absolute;
    top: 15px;
    left: 28px;
}
header .contents_inner_wrap {
    height: 100%;
}
header .header_menu_wrap {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    right: 100px;
    width: 900px;
    height: 80px;
    overflow: visible;
}
header .link_button {
    text-align: center;
    width: 165px;
    position: relative;
    height: 80px;
    display: block;
    border-bottom: 2px #fff;
    box-sizing: border-box;
}
header .link_button .title {
    font-size: 16px;
    letter-spacing: 0.2em;
    position: relative;
    top: 22px;
}
header .link_button .sub_title {
    font-size: 10px;
    margin-top: -2px;
    position: relative;
    top: 22px;
}
header .member_link {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 100px;
    height: 230px;
    background-color: #3fa9f5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.5s all;
    cursor: pointer;
}
header .member_link:hover {
    background-color: #5EBBFF;
}
header .member_link img {
    width: 40px;
    height: auto;
}
header .link_button:hover {
    border-bottom: 2px solid #000;
}
header .link_button .pulldown_menu_wrap {
    position: absolute;
    top: 80px;
    left: 0px;
    width: 100%;
    height: auto;
    background-color: #fff;
    box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.2);
    height: 0px;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}
header .link_button:hover .pulldown_menu_wrap {
    opacity: 1;
    height: auto;
    transition: all 0.3s ease-in-out;
}
header .link_button .pulldown_menu_wrap p {
    height: 40px;
    width: 90%;
    margin: 0 auto;
    background-image: linear-gradient(to right, #bfbfbf 50%, rgba(255, 255, 255, 0) 0%);
    background-position: top;
    background-size: 4px 1px;
    background-repeat: repeat-x;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    cursor: pointer;
}
header .pulldown_menu_wrap p:hover {
    font-weight: bolder;
}
header p.first_menu {
    background-image: none !important;
}
/*home=========================================*/
/*kv copy-------------------------------------*/
.copy_apex {
    height: 250px;
    width: 360px;
    background-color: #0071bc;
    position: absolute;
    right: 0;
    top: 230px;
    color: #fff;
    font-size: 33px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 0 30px;
    z-index: 2;
    line-height: 1.58em;
    letter-spacing: 0.18em;
    white-space: nowrap;
}
/*kv-----------------------------------------------------*/
.kv_wrap {
    overflow: hidden;
    height: 620px;
    padding-top: 80px;
    min-width: 1152px;
    position: relative;
}
.kv_name {
    position: absolute;
    top: calc(50% - 20px);
    left: 53px;
    color: #fff;
    letter-spacing: 0.4em;
    font-size: 28px;
    z-index: 2;
    display: none;
}
.kv_name::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-filter: blur(15px);
    filter: blur(15px);
    border-radius: 30%;
    z-index: -1;
}
.kv_description {
    position: absolute;
    top: calc(50% + 20px);
    left: 53px;
    color: #fff;
    letter-spacing: 0.4em;
    font-size: 18px;
    padding: 5px;
    display: none;
}
.kv_description::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-filter: blur(15px);
    filter: blur(15px);
    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.6);
} /*thailand*/
#slide_2 .kv_name::after, #slide_2 .kv_description::after {
    background-color: rgba(114, 101, 92, 0.3);
} /*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(11, 147, 215, 0.4);
} /*myanmar*/
#slide_5 .kv_name::after, #slide_5 .kv_description::after {
    background-color: rgba(219, 63, 64, 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 {
    background-color: rgba(186, 143, 94, 0.7);
} /*vietnam*/
 
/*for ie cancel*/
_:-ms-input-placeholder, :root #slide_1 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_1 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_2 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_2 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_3 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_3 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_4 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_4 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_5 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_5 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_6 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_6 .kv_description::after{background-color:transparent;}
_:-ms-input-placeholder, :root #slide_7 .kv_name::after{background-color:transparent;}
_:-ms-input-placeholder, :root  #slide_7 .kv_description::after{background-color:transparent;}
 
 
 

.kv_bg {
    overflow: hidden;
    height: 100%;
    width: 100%;
    min-width: 1152px;
    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: 230px;
    width: 100px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
#top_kv .down_page_wrap:hover {
    background-color: #F6F6F6;
}
#top_kv .slider_bt_wrap {
    position: absolute;
    bottom: 0;
    right: 100px;
    width: 345px;
    background-color: rgba(0, 0, 0, 0.5);
    height: 40px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
#top_kv .slider_bt_wrap p {
    letter-spacing: 0.5em;
    font-weight: normal;
    font-size: 10px;
}
#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: 345px;
    height: 40px;
    color: #fff;
}
#top_kv .kv_bt_wrap .kv_arrow_prev {
    position: absolute;
    top: 13px;
    left: 15px;
}
#top_kv .kv_bt_wrap .kv_arrow_next {
    position: absolute;
    top: 13px;
    right: 15px;
}
#top_kv .kv_next {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    cursor: pointer;
    width: 120px;
    text-align: right;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding-right: 30px;
}
#top_kv .kv_prev {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    cursor: pointer;
    width: 120px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding-left: 30px;
}
#top_kv .kv_bt_wrap .kv_arrow_segment {
    width: 4px;
    height: 40px;
    position: absolute;
    top: 13px;
    left: 50%;
}
#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 #slide_1 {
     background-image: url(../img/keyvisual_thailand.png);   
}
#top_kv #slide_2 {
    background-image: url(../img/keyvisual_cambodia.png);
}
#top_kv #slide_3 {
    background-image: url(../img/keyvisual_laos.png);
}
#top_kv #slide_4 {
    background-image: url(../img/keyvisual_myanmar.png);
}
#top_kv #slide_5 {
    background-image: url(../img/keyvisual_indonesia.png);
}
#top_kv #slide_6 {
    background-image: url(../img/keyvisual_shanghai.png);
}
#top_kv #slide_7, #top_kv #slide_7_loop {
     background-image: url(../img/keyvisual_vietnam.png);
}
/*company -----------------------------------------------------------*/
#top_company {
    margin-top: 228px;
    padding-bottom: 190px;
}
#top_company .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    left: calc(50% - 450px);
    top: -75px;
    height: 330px;
    width: 350px;
    background-size: 15px;
}
#top_company .image_visual {
    position: absolute;
    left: calc(50% - 720px);
}
#top_company .title_right {}
#top_company .copy_wrap {
    width: 550px;
    margin: 0 0 0 auto;
}
#top_company h2 {}
#top_company .copy_text {
    line-height: 2em;
}
#top_company .contents_button {
    border: 2px solid #0071bc;
    height: 40px;
    width: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 5px;
    color: #0071bc;
    float: right;
    margin-top: 45px;
}
#top_company .kv_bt_next {
    position: absolute;
    top: 20px;
    right: 20px;
}
#top_company .kv_bt_prev {
    position: absolute;
    top: 20px;
    left: 20px;
}
#top_company .kv_bt_segment {
    top: center;
    left: 50%;
}
/*business -----------------------------------------------------------*/
#top_business {
    background-image: url("../img/business_dot_2.png");
    background-repeat: no-repeat;
    background-position: center 200px;
    background-color: #f9f9f9;
    padding: 128px 0;
}
#top_business .title_left {
    top: 128px;
}
#top_business .business_title {
    text-align: center;
    margin-bottom: 100px;
}
#top_business .bisiness_content {
    width: calc(33.33% - 33.33px);
    text-align: center;
}
#top_business .image_visual img {
    width: 100%;
}
#top_business .bisiness_content h5 {
    margin-top: 20px;
    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: 35px;
    display: inline-block;
    font-size: 20px;
}
#top_business .text_copy {
    text-align: left;
    margin-top: 18px;
    /*line-height: 1.7em;*/
    line-height: 2em;
}
#top_business .contents_button {
    margin: 70px auto 0 auto;
}
/*video---------------------------------------------------------------*/
#top_movie {
    background-image: url("../img/business_dot_3.png");
    background-repeat: no-repeat;
    background-position: calc(50% - 400px) 60px;
    background-color: #fff;
    padding: 128px 0;
    height: 600px;
}
#top_movie .title_right {
    top: 128px;
}
.apex_video {
    position: absolute;
    width: 130%;
    right: 0px;
}
/*greeting -----------------------------------------------------------*/
#top_greeting {
    margin-top: 128px;
    padding: 128px 0;
    background-color: #F9F9F9;
    height: 680px;
}
#top_greeting .image_visual {
    position: absolute;
    left: calc(50% - -50px);
    top: 180px;
}
#top_greeting .image_visual img {
    width: 450px;
}
#top_greeting .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    right: calc(50% - 400px);
    top: 125px;
    height: 665px;
    width: 386px;
    background-size: 15px;
}
#top_greeting .title_left {
    top: 180px;
    height: calc(100% - 180px);
}
#top_greeting .copy_wrap {
    width: 500px;
}
#top_greeting h2 {
    margin-top: 50px;
}
#top_greeting h3 {
    font-size: 28px;
}
#top_greeting .copy_text {
    line-height: 2em;
}
#top_greeting .contents_button {
    margin: 50px 0 0 auto;
}
/*news     -----------------------------------------------------------*/
#top_news .title_right {
    top: 128px;
    height: calc(100% - 128px);
}
#top_news .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    left: calc(50% - 172px);
    top: 125px;
    height: 330px;
    width: 188px;
    background-size: 15px;
}
#top_news {
    padding: 128px 0;
}
#top_news .news_new {
    width: 505px;
    margin-right: 30px;
    position: relative;
}
#top_news .news_new img {
    width: 100%;
    margin-bottom: 20px;
}
#top_news .news_new .country_and_date {}
#top_news {
    font-size: 16px;
}
#top_news .news_list {
    width: 485px;
    height: 460px;
    overflow-y: auto;
    margin-top: 70px;
    box-sizing: border-box;
}
#top_news .news_list .country_and_date {}
#top_news h2 {
    margin-bottom: 30px;
    position: absolute;
    top: 20px;
    display: block;
}
#top_news .new_find_out {
    font-size: 17px;
}
#top_news .find_out {
    font-size: 15px;
    padding-right: 10px;
}
#top_news .list_item {
    border-bottom: 1px solid #bfbfbf;
    padding-bottom: 20px;
    margin-top: 20px;
}
#top_news .contents_button {
    margin: 40px 0 0 auto;
}
/*news zoom animation------------------------------------------------*/
.news_animation:hover .find_out, .news_animation:hover .new_find_out, .news_animation:hover .news_title {
    color: #0071BD;
    transition: all 0.2s ease-in-out;
}
#top_news .news_image_wrap {
    height: 300px;
    width: 100%;
    margin: 90px 0 10px 0;
    overflow: hidden;
    transition: 0.2 all ease-in-out;
}
#top_news .news_image {
    display: block;
    height: 100%;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 0.2s ease-in-out;
}
#top_news .news_animation:hover .news_image {
    overflow: hidden;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
#news .news_image_wrap {
    width: 512px;
    height: 330px;
    overflow: hidden;
}
#news .list_news_item .news_image_wrap {
    width: 310px;
    height: 200px;
    overflow: hidden;
    margin-bottom: 15px;
}
#news .news_animation:hover .top_news_image {
    overflow: hidden;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    transition: all 0.2s ease-in-out;
}
/*footer   -----------------------------------------------------------*/
footer .flower {
    height: 320px;
    width: 100%;
    background-image: url("../img/footer_image.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}
.footer_info_wrap {
    background-color: #F2f2f2;
    padding: 30px 0;
}
.footer_items_wrap {
    display: flex;
    font-size: 14px;
}
footer .footer_items_wrap .footer_company_info {
    width: 360px;
    text-align: center;
    margin-right: 50px;
    padding-top: 20px;
}
.adress_info {
    line-height: 1.5em;
    margin: 10px 0 36px 0;
}
footer .footer_items_wrap .footer_site_map {
    width: 200px;
    margin-left: 50px;
}
footer .copyright_wrap {
    background-color: #1b75bc;
    height: 30px;
    width: 100%;
    font-size: 10px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
#footer .copyright_wrap .contents_inner_wrap {
    text-align: center;
    width: 100%;
}
#footer .footer_site_map {
    margin: 0 20px;
    font-size: 16px;
}
#footer .footer_site_map .map_heading {
    color: #1b75bc;
    height: 30px;
    border-bottom: 1px solid #98cdf4;
    margin: 20px 0 10px 0;
    font-size: 16px;
    letter-spacing: 0.4em;
    cursor: pointer;
}
footer .footer_site_map .map_link {
    color: #000;
    margin: 10px 0 10px 0;
    font-size: 14px;
}
#footer .footer_site_map .map_heading:hover, footer .footer_site_map .map_link:hover {
    font-weight: bold;
}
footer .footer_navi_wrap {
    background-color: #fff;
    height: 75px;
    color: #1b75bc;
    font-size: 14px;
}
footer .footer_navi_wrap .footer_bt_top {
    position: absolute;
    left: 0px;
    top: 30px;
}
footer .footer_navi_wrap .footer_bt_company {
    position: absolute;
    text-align: center;
    width: 600px;
    left: calc(50% - 300px);
    top: 30px;
}
footer .footer_navi_wrap .footer_bt_top img {
    width: 20px;
    height: 20px;
    position: relative;
    top: 5px;
    margin-right: 5px;
}
#footer .footer_sns_icon_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 130px;
    margin: 0 0 0 auto;
    height: 75px;
}
#footer .footer_sns_icon_wrap img {
    width: 30px;
    height: 30px;
}
footer .footer_logos img {
    width: 300px;
}
/*extra---------------------------------------*/
.contents_button {
    border: 2px solid #0071bc;
    height: 40px;
    width: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 5px;
    color: #0071bc;
    cursor: pointer;
}
.contents_button:hover {
    background-color: #DEF2FF;
    cursor: pointer;
    transition: all 0.2s ease-out;
}
.anchorLink {
    position: relative;
    top: -80px;
}
/*contact page==============================================*/
.page_title_wrap {
    width: 500px;
    display: flex;
    padding-top: 170px;
}
#contact .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    left: 0px;
    height: 330px;
    width: 188px;
    background-size: 15px;
}
.page_title_wrap .page_title_box {
    height: 70px;
    width: 150px;
    background-color: #0071bc;
}
.title_name_wrap {
    margin-left: 10px;
}
#top_contact {
    margin-top: 100px;
}
#contact .title_right {}
#contact .contact_form_wrap {
    width: 800px;
    margin: 100px auto 0 auto;
    /*padding-bottom: 100px;*/
}
#contact .input_item {
    margin: 20px 0;
}
#contact .input_item_error {
    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: 2px 2px 2px 5px;
    width: calc(100% - 2px);
    box-sizing: border-box;
    position: relative;
}
#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: 2px 2px 2px 5px;
    width: calc(100% - 2px);
    box-sizing: border-box;
    position: relative;
}
#contact select {
    background-image: url("../img/common/select_pulldown_black_bt.svg");
    background-position: right 10px top 10px;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}
#contact .varidation_message {
    color: #f00;
    margin: 5px;
}
#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 {
    margin-bottom: 100px;
}
#contact .privacy_discription {
    height: 300px;
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #000;
    padding: 10px;
    width: calc(100% - 2px);
    box-sizing: border-box;
    overflow: auto;
    font-size: 15px;
}
#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: 50px 0;
}
#contact .privacy_policy_confirm_check_wrap input[type="checkbox"] {
    margin-right: 10px;
}
#contact .bt_transition_wrap {
    margin: 0 0 50px 0;
}
/*products_page======================================*/
/*products--------------------------------------------*/
#products.contents_all_wrap {
    padding: 100px 0;
}
#products .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 100px;
    left: 0px;
    height: 770px;
    width: 88px;
    background-size: 15px;
}
#products .title_right {
    top: 80px;
    height: calc(100% - 80px);
}
#products .contents_title_wrap {
    text-align: center;
}
#products .contents_title_wrap p {
    margin: 30px 0;
    font-size: 20px;
}
#products .product_content {
    text-align: center;
    width: 25%;
}
#products .product_content h2 {
    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: 35px;
    display: inline-block;
    font-size: 20px;
    border-bottom: 0;
}
#products .text_copy {
    line-height: 2em;
    margin-top: 20px;
    margin: 20px 15px 0 15px;
    text-align: left;
    letter-spacing: 0.05em;
}
#products .contents_button {
    width: 300px;
    height: 40px;
    margin: 50px auto 0 auto;
    font-size: 14px;
}
#products .to_member_bt_description {
    text-align: center;
    color: #0071bc;
    font-size: 14px;
    padding: 10px auto 50px auto;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center; /* margin-bottom: 50px; */
}
/*countries--------------------------------------------*/
#countries.contents_all_wrap {
    padding: 120px 0;
    background-color: #f9f9f9;
}
#countries .title_left p {
    top: 150px;
}
#countries .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 290px);
    height: 80px;
    width: 580px;
    background-size: 15px;
}
#countries .title_left {
    top: 120px;
    height: calc(100% - 120px);
}
#countries .contents_title_wrap {
    text-align: center;
}
#countries .contents_sub_title_wrap {
    text-align: left;
}
#countries .contents_title_wrap p {
    margin: 30px 0;
    font-size: 20px;
}
#countries .product_content {
    text-align: center;
}
#countries .flag_area_wrap h2 {
    margin: 20px 0;
    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: 35px;
    display: inline-block;
    font-size: 20px;
    border-bottom: 0;
}
#countries .flag_wrap {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-left: 20px;
    width: calc(100% - 20px);
}
#countries .flag_item {
    width: 26.5%;
    display: flex;
    flex-shrink: 0;
    margin: 10px 0;
    align-items: center;
}
#countries .flag_item:nth-child(4n) {
    width: 20%;
}
#countries .flag_item img {
    width: 35px;
    margin-right: 5px;
}
#countries .text_copy {
    line-height: 2em;
    margin-top: 20px;
    margin: 20px 10px 0 10px;
    text-align: left;
}
.button_wrap {
    width: 304px;
    margin: 0 0 0 auto;
}
#countries .contents_button {
    width: 300px;
    height: 40px;
    margin: 50px auto 0 auto;
    font-size: 14px;
}
#countries .to_member_bt_description {
    text-align: center;
    color: #0071bc;
    font-size: 14px;
    margin: 10px auto 120px auto;
}
/*news_page======================================*/
/*search_field-----------------------------------*/
.search_select_wrap select {
    background-image: url("../img/common/select_pulldown_bt.svg");
    background-position: right 10px top 10px;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}
.search_field_wrap {
    position: absolute;
    right: 0px;
    top: -100px;
    width: 600px;
    display: flex;
}
.search_field_wrap p {
    height: 25px;
    color: #0071bc;
}
.search_field_wrap .search_field_wrap {
    color: #0071bc;
}
.search_field_wrap select {
    width: 230px;
    color: #0071bc;
    cursor: pointer;
}
.search_field_wrap input {
    height: 40px;
    width: 315px;
    cursor: pointer;
    color: #0071bc;
}
.search_field_wrap .search_input_wrap {
    margin-left: 10px;
}
.search_field_wrap .search_roope_button {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0071bc;
    height: 40px;
    width: 40px;
    bottom: 0px;
    position: relative;
    top: 25px;
    cursor: pointer;
    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:hover {
    opacity: 0.8;
}
.search_field_wrap input, .search_field_wrap select {
    background-color: #fff;
    border-radius: 0px;
    border: 1px solid #0071bc;
    padding: 3px 3px 3px 10px;
    box-sizing: border-box;
    height: 40px;
}
/*news--------------------------------------------*/
#news.contents_all_wrap {
    padding: 0 0 100px 0;
}
#news.contents_all_wrap {}
#news .contents_inner_wrap_for_news {
    width: 1024px;
    min-width: 1024px;
    margin: 0 auto;
    position: relative;
}
#news .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 50px;
    left: calc(50% - 560px);
    height: 330px;
    width: 415px;
    background-size: 15px;
}
#news .title_right {
    top: 100px;
    height: calc(100% - 100px);
}
#news .contents_title_wrap {
    text-align: center;
    margin-top: 80px;
}
#news .top_news_wrap {
    display: flex;
    margin-top: 50px;
    width: 100%;
    justify-content: space-between;
}
 
 _:-ms-input-placeholder, :root #news .top_news_wrap {
    height: 400px;
}
 
#news .top_news_image {
    width: 512px;
    height: 330px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all 0.2s ease-in-out;
    position: relative;
}
#news .top_news_text {
    width: 480px;
    height: 330px;
    margin-left: 40px;
}
#news .top_news_text .text {
    margin-top: 20px;
}
#news .country_and_date {
    margin: 0 0 20px 0;
}
#news .tag_box {
    background-color: #3fa9f5;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 140px;
    height: 30px;
    padding: 0 10px;
    color: #fff;
    font-size: 15px;
}
#news .date {
    color: #808080;
}
#news .find_out {
    font-size: 30px;
}
#news .list_news_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 90px;
}
#news .list_news_wrap::after {
    content: "";
    display: block;
    width: 30%; /*flex control*/
}
#news .list_news_item {
    width: 314px;
    margin-bottom: 70px;
    min-height: 450px;
}
#news .list_news_item .top_news_image {
    width: 310px;
    height: 200px;
    transition: 0.2s all ease-in-out;
}
#news .list_news_item .find_out {
    font-size: 21px;
    margin-bottom: 15px;
    max-height: 4.5em;
    -moz-text-overflow: '...';
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    line-height: 1.5em;
}
#news .list_news_item .text {
    font-size: 16px;
}
#news .no_search_result {
    margin: 127px auto 50px auto;
    font-size: 18px;
    width: 100%;
    text-align: center;
}
/*news detail page=====================================*/
/*news detail------------------------------------------*/
#news_detail {
    margin-top: 100px;
}
#news_detail.contents_all_wrap {
    padding: 0 0 100px 0;
}
#news_detail .tag_box {
    min-width: 140px;
    font-size: 14px;
}
#news_detail .news_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}
#news_detail .news_new_wrap {
    width: 600px;
}
#news_detail .news_list_wrap {
    width: 340px;
}
#news_detail .news_new_wrap .top_news_image {
    height: 380px;
    width: 600px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}
#news_detail .news_list_wrap .top_news_image {
    height: 280px;
    width: 340px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}
#news_detail .news_list_wrap .contents_title_wrap h2 {
    margin-top: 20px;
    font-size: 16px;
    margin-bottom: 20px;
}
#news_detail .news_list_wrap {
    overflow-y: auto;
}
#news_detail .news_new_wrap .country_and_date {
    padding-bottom: 15px;
    margin-bottom: 35px;
    border-bottom: 2px solid #cccccc;
}
#news_detail .news_new_wrap .text {
    margin-top: 60px;
    font-size: 18px;
    line-height: 1.8em;
}
#news_detail .news_list_wrap .news_list_item {
    padding-bottom: 15px;
    margin-bottom: 35px;
    border-bottom: 2px solid #bfbfbf;
    font-size: 16px;
}
#news_detail .news_list_wrap .country_and_date {
    margin-bottom: 5px;
}
#news_detail .find_out {
    font-size: 25px;
}
#news_detail .news_list_wrap .news_title {
    line-height: auto;
}
#news_detail .no_search_result {
    margin: 50px auto;
    font-size: 18px;
    width: 100%;
    text-align: center;
}
/*company_page======================================*/
/*company----------------------------------------*/
#company.contents_all_wrap {}
#company {
    margin-top: 128px;
    height: 460px;
    padding-bottom: 128px;
}
#company .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    left: calc(50% - 450px);
    top: -75px;
    height: 330px;
    width: 350px;
    background-size: 15px;
}
#company .image_visual {
    position: absolute;
    left: calc(50% - 720px);
}
#company .title_right {
    height: 100%;
}
#company .copy_wrap {
    width: 550px;
    margin: 0 0 0 auto;
}
#company h2 {}
#company .copy_text {
    line-height: 2em;
}
#company .contents_button {
    border: 2px solid #0071bc;
    height: 40px;
    width: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 5px;
    color: #0071bc;
    float: right;
    margin-top: 45px;
}
/*greeting -----------------------------------------------------------*/
#greeting {
    padding: 128px 0;
    background-color: #F9F9F9;
}
#greeting .image_visual {
    position: absolute;
    left: calc(50% - -50px);
    top: 180px;
}
#greeting .image_visual img {
    width: 450px;
}
#greeting .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    right: calc(50% - 400px);
    top: 125px;
    height: 665px;
    width: 386px;
    background-size: 15px;
}
#greeting .title_left {
    top: 180px;
    height: calc(100% - 180px);
}
#greeting .copy_wrap {
    width: 500px;
}
#greeting h2 {
    margin-top: 50px;
}
#greeting h3 {
    font-size: 28px;
}
#greeting .copy_text {
    line-height: 2em;
}
#greeting .contents_button {
    margin: 50px 0 0 auto;
}
/*overview---------------------------------------*/
#overview {
    padding-bottom: 126px;
}
#overview .title_right {
    top: 128px;
    height: calc(100% - 128px);
}
#overview h2 {
    margin: 125px 0 50px 0;
    font-weight: 500;
}
#overview .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 250px);
    height: 4vw;
    width: 500px;
    background-size: 15px;
}
#overview .company_heading {
    font-size: 16px;
    width: 130px;
    font-weight: bold;
    text-align: left;
    display: flex;
    align-items: center;
}
#overview .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 250px);
    height: 4vw;
    width: 500px;
    background-size: 15px;
}
#overview .contents_inner_wrap {
    text-align: center;
}
#overview .overview_contents_first_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 27.5px 0;
    width: 460px;
}
#overview .overview_contents_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #000;
    padding: 27px 0;
    width: 460px;
}
#overview .overview_contents_last_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    padding: 27px 0;
    width: 460px;
    border-bottom: solid 1px #000;
}
#overview .copy_wrap {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    width: 100%;
    text-align: left;
}
#overview .overview_work_contents {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #000;
    padding: 27px 0;
}
#overview .copy_text {
    text-align: left;
    width: 320px;
}
#overview .copy_text_lines {
    text-align: left;
    width: 320px;
}
#overview .overview_contents_wrap_lines {
    display: flex;
    justify-content: space-between;
    flex: wrap;
    border-bottom: solid 1px #000;
    width: 460px;
    padding: 14px 0;
}
#overview .copy_wrap_contents {
    text-align: left;
}
#overview .overview_work_detail {
    text-align: left;
    width: calc(100% - 140px);
}
/*history-----------------------------------------------------*/
#history.contents_all_wrap {
    padding: 125px 0;
}
#history {
    background-color: #f9f9f9;
    position: relative;
}
#history .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 34vw);
    height: 150px;
    width: 200px;
    background-size: 15px;
}
#history .history_title {
    height: 140px;
}
#history .title_left {
    top: 128px;
    height: calc(100% - 125px);
}
#history h2 {
    margin: 0 0 80px 0;
    font-weight: 500;
}
#history .contents_all_wrap {
    background-color: #f8f8f8;
}
#history .history_work_contents {
    width: 100%;
    border-bottom: solid 1px #000;
    padding: 27px 0;
    display: flex;
    justify-content: flex-start;
}
#history .history_work_contents_noline {
    width: 100%;
    padding: 27px 0 0 0;
    display: flex;
    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;
    justify-content: flex-start;
    padding: 0 0 27px 0;
    border-bottom: 1px solid #000;
}
#history .history_work_contents_top {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 27px 0;
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
}
#history .contents_inner_wrap {
    text-align: center;
}
#history .history_year {
    text-align: left;
    width: 11%;
    font-size: 16px;
}
#history .history_month {
    text-align: left;
    width: 6%;
    font-size: 16px;
}
#history .copy_text {
    text-align: left;
    width: 83%;
}
#history .bt_transition_wrap {
    margin-top: 100px;
}
/*office_page ==============================================*/
/*office japan---------------------------------------------*/
#japan.contents_all_wrap {
    padding: 100px 0;
}
#japan {
    background-color: #fff;
}
#japan .title_right {
    top: 128px;
    height: calc(100% - 128px);
}
#japan h2 {
    margin: 0px 0 70px 0;
    font-weight: 500;
}
#japan .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    left: 0;
    height: 1200px;
    width: 100px;
    background-size: 15px;
}
#japan .heading_wrap {
    width: 100%;
    text-align: center;
}
#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;
    margin-bottom: 70px;
}
#japan .map_box {
    width: 480px;
    height: 250px;
    margin-bottom: 30px;
    background-color: #aaa;
}
#japan .office_location_name {
    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;
    display: inline-block;
    margin-bottom: 20px;
    width: auto;
    display: inline-block;
    height: 40px;
    font-size: 18px;
    letter-spacing: 0.2em;
}
/*oversea---------------------------------------------------*/
#oversea.contents_all_wrap {
    padding: 100px 0;
}
#oversea {
    background-color: #f9f9f9;
}
#oversea .title_left {
    top: 128px;
    height: calc(100% - 125px);
}
#oversea h2 {
    font-weight: 500;
}
#oversea .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    top: 0;
    right: calc(50% - 600px);
    width: 330px;
    height: 150px;
    background-size: 15px;
}
#oversea h2 {
    margin-bottom: 40px;
}
#oversea .oversea_item {
    min-height: 55px;
    border-bottom: 1px solid #bfbfbf;
    display: flex;
    align-items: center;
    position: relative;
}
#oversea .oversea_item_country {
    width: 160px;
    text-align: left;
    display: block;
}
 _:-ms-input-placeholder, :root #oversea .oversea_item_country {
margin-top: 18px;
} 

#oversea .oversea_item_company {
    display: inline-block;
}
 
 _:-ms-input-placeholder, :root #oversea .oversea_item_company {
margin-top: 18px;
}
 
 
#oversea .oversea_item_company a {
    text-decoration: underline;
}
#oversea .oversea_item_company a:hover {
    color: #0071BD;
}
#oversea .oversea_item_company_jp {
    width: 380px;
    margin: 0 0 0 auto;
    position: absolute;
    right: 0px;
    text-align: right;
}
#oversea .contents_inner_wrap {}
/*privacy page===========================================*/
/*privacy------------------------------------------------*/
#privacy .privacy_wrap {
    width: 800px;
    margin: 0 auto;
    padding: 100px 0;
    line-height: 1.8em;
}
#privacy .title_wrap {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 50px;
}
#privacy .dot_texture {
    background-image: url(../img/top_sp/dot.png);
    position: absolute;
    left: 0px;
    height: 330px;
    width: 150px;
    background-size: 15px;
}
#privacy .section_indent {
    padding-left: 1.1em;
    width:calc(100% - 1.1em);
}
#privacy .text_indent {
    text-indent: -1.1em;
    padding-left: 1em;
}
/*end-----------------------------------------------------*/
}
