/*

 top 

------------------------------------- */
#mainv {
        background: #75D5EF;
        background: -moz-linear-gradient(left,  #75D5EF 0%, #75D5EF 0%, #5190b2 50%);
        background: -webkit-linear-gradient(left,  #75D5EF 0%,#75D5EF 50%,#5190b2 50%);
        background: linear-gradient(to right,  #75D5EF 0%,#75D5EF 50%,#5190b2 50%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#75D5EF', endColorstr='#5190b2',GradientType=1 );
}

.mainv {
    position: relative;
}
.mtitle {
   position: absolute;
   top: 40px;
   left: 0;
}
.mtitle h1{
   font-size: 1.5em;
}
.mtext {
   position: absolute;
   top: 140px;
   left: 0;
}
.mtext p {
    line-height: 1.3em !important;
}
.mapply {
   position: absolute;
   top: 300px;
   left: 0;
}
.mlogin {
    position: absolute;
    top: 20px;
    right: 20px;
}
.loginbtn {
    background: #fff;
    line-height: 0.75em;
    text-align: center;
}
.loginbtn a {
    text-decoration: none;
    padding:9px 8px;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
    display: block;
}
.loginbtn a span {
    line-height: 0.75;
    font-size: 0.675rem;
    color: #006ec8;
    font-weight: 600;
}

.mpoint {
    position: absolute;
    top: 270px;
    right: 0;
    width:620px;
}
.mpoint .elem_paragraph dt {
   background-color: #07435E;
   color: #fff;
   padding: 6px;
}
.mpoint .elem_paragraph dd {
   background-color: #fff;
   padding: 6px !important;
}
.mpoint .elem_paragraph li {
   background-color: #07435E;
   color: #fff;
   padding: 5px 8px !important;
   margin-bottom: 6px !important;
}


/*--------flogin----------*/

.elem_custom_input input.var_bg_white {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
}
.formwrap {
   padding: 0 200px;
}

/*------------------------*/


#elem_category_title ul.button li a.var_link {
     padding: 8px 7px 8px 2px  !important;
     background: #006ec8 url(/library/new/common/content_images/arrow/arrow_right_small.png) right 50% no-repeat !important;
}

.hidden, .hide_text {
  display: none;
}
.modaal-content-container, .modaal-content-container .elem_column_block {
    padding:0 !important;
}
input.vm[type=check] {
    width: 18px;
    height: 18px;
}
.elem_heading_lv2 h2 .sub_text {
   font-weight: normal;
}

/*

 mypage main  

------------------------------------- */

#elem_category_title {
   background: none !important;
}
#elem_category_title .hside_block,
#elem_heading_lv1 .hside_block {
    position: absolute;
    right: 12px;
    top: 15px;
}
#elem_category_title .elem_text_list.main {
  position: relative;
}
.titlebar {
background: #75d5ef;
background: -moz-linear-gradient(top,  #75d5ef 0%, #ffffff 69%);
background: -webkit-linear-gradient(top,  #75d5ef 0%,#ffffff 69%);
background: linear-gradient(to bottom,  #75d5ef 0%,#ffffff 69%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#75d5ef', endColorstr='#ffffff',GradientType=0 );

}
#elem_category_title ul.button li a.var_link {
     padding: 8px 7px 8px 2px  !important;
     background: #006ec8 url(/library/new/common/content_images/arrow/arrow_right_small.png) right 50% no-repeat !important;
}
a.withmore, a .withmore {
    padding: 0 0 10px 24px;
    background: url(/library/icons/icon_more_belowb.png) no-repeat left 0.2em;
}

.elem_table_basic.elem_table_mypage .th {
        padding: 6px 8px !important;
}
.elem_table_basic.elem_table_mypage .cate {
    min-width: initial;
    margin-bottom: 2px;
}
.elem_column_block .color_base {
    background: #E0F5FC !important;
}

.tab_events {
   position: relative;
}
.tab_events:before {
   position: absolute;
   content: "";
   display: block;
   top: -30px;
  left:10px;
}


.elem_column_block.my_condition .elem_heading_lv3:first-child {
   padding-top: 10px;
   padding-bottom: 3px;
}
.follow-box-wrap {
    position:absolute;
    top: -100px;
}
.follow-box {
    margin-bottom: 2px;
}
.follow-box-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: solid 1px #cacaca;
    background: #fff;
    /*box-shadow: 0 7px 11px rgba(0, 0, 0, 0.05), 0 1px 5px rgba(0, 0, 0, 0.1);*/
}

.follow-box-inner dl {
   padding: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.follow-box-inner dl dt {
    box-sizing: border-box;
    background-color: #6D6D6D;
    color: #fff;
    min-width: 60px;
    height: 100%;
    padding: 2px 7px;
   text-align: center;
}
.follow-box-inner dl dt  span  {
    width: 100%;
    font-size: 0.75em;
    /*letter-spacing: 2px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;*/
}
.follow-box-inner dl dd {
    padding: 2px 7px;
   font-size: 0.75em;
}
.follow-box-inner dl dd .elem_text_list {
    padding: 0;
}
.follow-box-inner dl dd .elem_text_list ul li {
   padding-bottom:0;
}
.elem_list_news li .title {
    width: 500px;
}
.elem_list_news li .btn_read,
.elem_list_news li .btn_unread,
.elem_list_news li .btn_delete {
    display: table-cell;
    vertical-align: middle;
    padding-left: 10px;
}
.elem_list_news li .btn_read span,
.elem_list_news li .btn_unread span,
.elem_list_news li .btn_delete span {
    background: #656565 none repeat scroll 0 0;
    color: #fff;
    display: inline-block;
    font-size: 0.85em;
    margin-top: 2px;
    min-width: 40px;
    padding: 6px 5px;
    text-align: center;
}

.elem_list_news li .btn_unread span {
    background: #0033a8 none repeat scroll 0 0;
}
.elem_list_news li .btn_read span {
    background: #fff none repeat scroll 0 0;
    color: #0033a8 ;
    border: 2px solid #0033a8;
   padding: 4px 3px;
}

.tab-balloon-wrap {
  position: absolute;
  top: -73px;
  padding-left:10px;
}
.tab-balloon {
  position: relative;
  display: inline-block;
  margin: 1.2em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  border-radius: 10px;
  color: #555;
  font-size: 16px;
  background: #FACC8D;
}

.tab-balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FACC8D;
}

.tab-balloon p {
  margin: 0;
  padding: 0;
  font-weight: bold;
}


/*
 confirm
------------------------------------- */
#elem_heading_lv1 {
   position: relative;
   padding: 10px 0 30px !important;
}
.sub_text {
   color: #000 !important;
}
.elem_heading_lv2 .note,
.elem_heading_lv3 .note {
    position: absolute;
    right:0;
    bottom:3px;
   letter-spacing: normal;
}

.confirm .follow-box-inner dl  {
  width: 100%;
}

.confirm .follow-box-inner dl dt {
    box-sizing: border-box;
    background-color: #014099;
    color: #fff;
    width: 80px;
    min-width: auto;
    height: 100%;
    padding: 3px 7px;
  text-align: left;
}
.confirm .follow-box-inner dl dt  span  {
    width: 100%;
    text-align: center;
    font-size: 0.75em;
    letter-spacing: 2px;
}
.confirm .follow-box-inner dl dd {
    padding: 3px 7px;
    font-size: 0.875em;
    width: calc(100% - 80px);
}
/*
 flogin
------------------------------------- */
.elem_custom_input input.var_bg_white {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
}
.formwrap {
   padding: 0 200px;
}
@media screen and (max-width: 780px) {
    .formwrap {
        padding: 0;
     }
}

/*
 setting
------------------------------------- */
.setting .follow-box-inner dl dt {
    box-sizing: border-box;
    background-color: #014099;
    color: #fff;
    width: 30px;
    min-width: auto;
    height: 100%;
    padding: 3px 7px;
    text-align: left;
}
.setting  .follow-box-inner dl dt  span  {
    width: 100%;
    text-align: center;
    font-size: 0.75em;
    letter-spacing: 2px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.setting .follow-box-inner dl dd {
    padding: 3px 7px;
}
.condition_set.elem_column_block .var_radius6 {
}
.condition_set.elem_column_block #page_event{
    border-color: #C9E1FA;
}
.condition_set.elem_column_block .var_radius6.var_error,
.condition_set.elem_column_block #page_event.var_error {
    border-color: #FA8080;
}
.elem_column_block .color_base.var_error {
    background: #FFE0E0 !important;
}
.select_country.elem_form_list > ul.liner {
    margin: -10px 0 0 -12px !important;
}
.select_country.elem_form_list > ul li label span {
    padding: 0 0 0 4px !important;
}
input[type="checkbox"]:checked {
  box-shadow: 0 0 0 1px red;
}
.select_country .balloon {
    position: relative;
    min-height: 160px;
    padding: 0 0 0 12px !important;
}
.select_country .balloon p {
   padding-left: 3px !important;
}
.select_country .balloon .balloon_inner {
    position: absolute;
    z-index: 5;
    left: 15px;
}
.select_country .balloon .balloon_content {
    padding: 8px 0 0 0;
    position: relative;
}
.select_country .balloon .balloon_content:before {
    content: "";
    border: 12px solid transparent;
    border-bottom: 12px solid #e6f1f9;
    position: absolute;
    left: 2%;
    top: -11px;
    z-index: 4;
}

.select_country .balloon .balloon_content:after {
    content: "";
    border: 12px solid transparent;
    border-bottom: 12px solid #b1d6f6;
    position: absolute;
    left: 2%;
    top: -14px;
    z-index: 3;
}
.select_country .balloon:nth-of-type(1) .balloon_content {left: -9px;}
.select_country .balloon:nth-of-type(2) .balloon_content {left: -78px;}
.select_country .balloon:nth-of-type(3) .balloon_content {left: -175px;}
.select_country .balloon:nth-of-type(4) .balloon_content {left: -230px;}
.select_country .balloon:nth-of-type(5) .balloon_content {left: -299px;}
.select_country .balloon:nth-of-type(6) .balloon_content {left: -354px;}
.select_country .balloon:nth-of-type(7) .balloon_content {left: -460px;}
.select_country .balloon:nth-of-type(8) .balloon_content {left: -515px;}
.select_country .balloon:nth-of-type(2) .balloon_content:before,
.select_country .balloon:nth-of-type(2) .balloon_content:after {left: 90px;}
.select_country .balloon:nth-of-type(3) .balloon_content:before,
.select_country .balloon:nth-of-type(3) .balloon_content:after {left: 179px;}
.select_country .balloon:nth-of-type(4) .balloon_content:before,
.select_country .balloon:nth-of-type(4) .balloon_content:after {left: 237px;}
.select_country .balloon:nth-of-type(5) .balloon_content:before,
.select_country .balloon:nth-of-type(5) .balloon_content:after {left: 300px;}
.select_country .balloon:nth-of-type(6) .balloon_content:before,
.select_country .balloon:nth-of-type(6) .balloon_content:after {left: 388px;}
.select_country .balloon:nth-of-type(7) .balloon_content:before,
.select_country .balloon:nth-of-type(7) .balloon_content:after {left: 463px;}
.select_country .balloon:nth-of-type(8) .balloon_content:before,
.select_country .balloon:nth-of-type(8) .balloon_content:after {left: 531px;}

.select_country .balloon .balloon_content .section_wrap {
    width: 600px;
    padding: 13px 13px 8px;
    margin: 0px;
    background: #e6f1f9;
    border: 2px solid #b1d6f6;
    min-height: 100px;
    border-radius: 8px;
}
.select_country .elem_form_list ul.liner {
    margin: -10px 0 0 -13px !important;
}
.select_country .elem_form_list ul li label span {
    padding: 0 0 0 3px !important;
}
.select_country .balloon .balloon_content .section_wrap .elem_form_list {
    padding: 10px 0 0 !important;
}
.select_country .balloon .elem_form_list ul.liner li:first-child {
    display: block;
    padding-bottom: 4px;
}
.select_country .pbNestedWrapper {
  overflow: visible;
}
input.vm[type=radio] {
    width: 18px;
    height: 18px;
}

/*
 SP custom
------------------------------------- */

.clear_btn {
  cursor: pointer;
}

/* もっと見る   ------------*/
.more {
  position: relative;
}
.more dl {
  width: 100%;
  position: relative;
}
.more.active dd {
  height: 117px;
  overflow: hidden;
  margin-bottom: 20px;
}
.more .more-box {
  display: none;
}
.more.active .more-box {
  display: block;
  cursor: pointer;
  position: absolute;
  right: 12px;
  bottom: 5px;
  font-size: 0.75em;
}
.read_more {
  cursor: pointer;
}
.follow-box .follow-box-inner:nth-of-type(n+2) {
  border-top: none;
}


@media screen and (max-width: 640px) {
/*--------top-------------*/

#mainv {
    margin-left: -12px;
    margin-right: -12px;
}
.mtitle {
   top: 5vw;
   left: 10%;
   width: 100%;
}
.mtitle #elem_heading_lv1 {
    padding:0 !important;
}
.mtitle h1 {
    display: block !important;
    font-size: 5.0vw  !important;
    line-height: 1.4em !important;
}
.mtitle h1 span {
   font-size:6.4vw;
}
.mtext {
    top: 21vw;
    left: 10%;
    width: 100%;
}
.mtext p.font16 {
    font-size: 4vw !important;
}
.mapply {
    bottom: 3vw;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    min-width: 250px;
}
.mapply .linkbox {
    width: 50vw;
}
.mapply .linkbox .font20 {
    font-size: 4.5vw !important;
}

.mlogin {
    top: 3vw;
    right: 4vw;
}
.loginbtn a span {
    font-size: 0.5rem;
}
.mpoint {
   top: 50vw;
   left: 5vw;
   width: 40vw;
}
.mpoint .elem_paragraph > dl > dt {
   font-weight: normal;
   text-align: center;
   font-size: 3.5vw;
   margin-bottom: 1.0vh !important;
}
.mpoint .elem_paragraph > dl > dd {
   display: none;
}
.mpoint .elem_paragraph {
    padding: 0;
}
.mpoint .elem_paragraph li {
   text-align: center;
   font-size: 3.5vw;
   margin-bottom: 1.0vh !important;
}
.mpoint .elem_content_divide_block .elem_content_divide_box {
    margin-bottom: 0;
}
.mpic img {
   width: 100%;
}
.elem_heading_lv2 ul.var_icon_arrow {
    position: relative;
    top: 5px;
}

/*-----common title--------*/

.titlebar {
    margin-left: -12px;
    margin-right: -12px;
}
.titlebar #elem_category_title {
   padding-left: 12px;
}
.titlebar #elem_category_title h1 img{
   width: 20vw;
}

#elem_category_title .hside_block,
#elem_heading_lv1 .hside_block {
    position: relative;
    right:5px;
}
.hside_block_link {
    position: absolute;
    right:5px;
    top:12px
}

.elem_heading_lv2 .note,
.elem_heading_lv3 .note {
    position: absolute;
    right:0;
    bottom:3px;
   letter-spacing: normal;
}
#elem_category_title ul.button li a.var_link {
     padding: 8px 7px 8px 2px  !important;
     background: #006ec8 url(/library/new/common/content_images/arrow/arrow_right_small.png) right 50% no-repeat !important;
}
.elem_list_news li .title {
    width:auto;
}


/*-----------------------------------
 setting 
------------------------------------- */

/* sp accordion*/


.select_sp .elem_form_list {
    display: none; 
    padding: 0;
}
.select_sp .elem_form_list ul {
    margin: 0;
}
.select_sp .elem_form_list ul li {
    padding: 7px 0 5px 20px;
    background: none;
    border-bottom: 1px solid #cdcdcd;
    border-right: 1px solid #cdcdcd;
    border-left: 1px solid #cdcdcd;
}
.select_sp li p {
    padding: 3px;
    font-weight: bold;
    border: 1px solid #cdcdcd;
    border-bottom: none;
    background-color: #cbe9f2;
    position: relative;
    font-size: 1.125em;
}
.select_sp li p.sc_area {
   padding-left: 15px;
   background-color: #E6F7FC;
}
.select_sp li p.sc_area label {
  display:table;
}
.select_sp li p.sc_area label input {
  display:table-cell;
  line-height:1.3;
}
.select_sp li p.sc_area label span,
.select_sp li p.sc_area label a {
  display:table-cell;
  line-height:1.3;
  padding:0 0 0 5px;
}
.select_sp > li:last-child p {
    border-bottom: 1px solid #cdcdcd;
}
.spmix .linkBox {
   padding: 0 !important;
}
.spmix .linkBox  a {
   height: auto !important;
}
.spmix .linkBox a.var_gray {
    border: 1px solid #666;
}
.open_all_btn  a {
    background: #fff;
    border: solid 1px #006ec8;
    position: relative;
    min-width: 100px;
}
.open_all_btn  a span {
    color: #006ec8;
}
.open_all_btn a:before,
.select_sp > ul > li > p a:before {
    position: absolute;
    content: "";
    left: 10px;
    top: 18%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #006ec8;
    border-left: 2px solid #006ec8;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.open_all_btn.open a:before,
.select_sp > ul > li > p a.open:before {
    top: 40%;
    border-bottom: 2px solid #006ec8;
    border-right: 2px solid #006ec8;
    border-top: none;
    border-left: none;
}
.select_sp > ul > li > p a:before {
   right: 12px;
   left: auto;
}
.open_all_btn a {
    padding-left: 15px;
}
.open_all_btn a:before {
    top: 2px;
    left: 10px;
}
.open_all_btn.open a:before {
    top: 5px;
}
.open_all_btn a:hover {
    background: #fff;
}
.select_sp li a span {
    margin-left: -9999px;
}
.select_country_sp li a:before {
     position: absolute;
     content: '';
     width: 17px;
     height: 17px;
     background: #006ec8;
     border-radius: 50%;
     top: 20%;
     right: 10px;
}
.select_country_sp li a:after {
     position: absolute;
     content: '';
     width: 4px;
     height: 4px;
     border-bottom: solid 1px #fff;
     border-right: solid 1px #fff;
     -webkit-transform: rotate(45deg);
     transform: rotate(45deg);
     top: 40%;
     right: 16px;
     margin-top: -1px;
}
.select_country_sp li a.open:after {
     border-top: solid 1px #fff;
     border-left: solid 1px #fff;
     border-bottom: none;
     border-right: none;
     top: 47%;
}

a.withmore, a .withmore {
    padding: 0 0 10px 24px;
    background: url(/library/icons/icon_more_belowb.png) no-repeat left 0.2em;
}

/*sp*/
.mm-page .elem_content_divide_box .elem_column_block .elem_column_block_pad {
    padding: 15px 10px 5px !important;
}
.mm-page .elem_heading_lv2 ul.button, .mm-page .elem_heading_lv3 ul.button {
    position: absolute;
    top: 0;
}
#elem_heading_lv1 {
   position: relative;
   padding: 12px 12px 20px !important;
}

#elem_category_title ul.button li a.var_link {
     padding: 8px 7px 8px 2px  !important;
     background: #006ec8 url(/library/new/common/content_images/arrow/arrow_right_small.png) right 50% no-repeat !important;
}
a.withmore, a .withmore {
    padding: 0 0 10px 24px;
    background: url(/library/icons/icon_more_belowb.png) no-repeat left 0.2em;
}

.elem_table_basic.elem_table_mypage .th {
        padding: 6px 8px !important;
}
.elem_table_basic.elem_table_mypage .cate {
    min-width: initial;
    margin-bottom: 2px;
}
.elem_column_block .color_base {
    background: #E0F5FC !important;
}

.tab_events {
   position: relative;
}
.tab_events:before {
   position: absolute;
   content: "";
   display: block;
   top: -30px;
  left:10px;
}

.checkTab .elem_heading_lv2 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}
.checkTab .tabNav {
  overflow: initial;
}
.tab-balloon-wrap {
  top: -73px;
  right: 0;
}

.tab-balloon:before {
  left: 70%;
  margin-left: -15px;
}

.tab-balloon p {
  margin: 0;
  padding: 0;
  font-weight: bold;
}

.more-box p {
  font-size: 0.75em;
}
}
