@charset "utf-8";
/***************************
common
***************************/

.pcOnly {
    display: none;
}

.spOnly {
    display: block;
}
.mt15{margin-top:15px !important;}
.mt30{margin-top:30px !important;}
.mb10{margin-bottom:10px !important;}
.mb30{margin-bottom:30px !important;}
.cmt_indent{
padding-left:1em;
text-indent:-1em;
}

/***************************
header
***************************/

.header {
    font-size: 12px;
    font-size: 1.2rem
}

.header .header_top {
    background: #006;
    height: 50px;
    color: #fff;
    padding: 9px 0
}

.header_top_inner {
    width: 100%;
    margin: 0 auto
}

.header .header_top ul {
    float: right
}

.header .header_top ul li {
    float: left;
    padding: 8px;
    margin: 0 5px
}

.header .header_top ul li.help {
    padding: 8px 8px 8px 26px;
    background: url(../img/icon_help.svg) 12% 50% no-repeat
}

.header .header_top ul li.logout {
    padding: 8px 8px 8px 26px;
    background: url(../img/icon_logout.svg) 12% 50% no-repeat
}

.header .header_top ul li.print {
    padding: 8px 8px 8px 26px;
    background: url(../img/icon_print.svg) 15% 50% no-repeat
}

.header .header_top ul li.close {
    padding: 8px 8px 8px 26px;
    background: url(../img/icon_close.svg) 15% 50% no-repeat
}

.header .header_top ul li.login {
    padding: 8px 8px 8px 26px;
    background: url(../img/icon_login.svg) 15% 50% no-repeat
}

.header .header_top ul li.sub_navi {
    border: 1px solid #fff
}

.header .header_top ul li.sub_navi:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.header .header_top ul li.sub_navi a {
    color: #fff
}

.header .header_main {
    height: 95px
}

.header .header_main_inner {
    width: 100%;
    margin: 0 auto
}

.header .header_main .logo {
    float: left;
    width: 60%
}

.header .header_main .logo .corp_logo img {
    height: 40px
}

.header .header_main .logo .service_logo img {
    margin-left: 15px
}

.header .header_main .logo.print,
.header .header_main .logo.print .corp_logo,
.header .header_main .logo.print .service_logo {
    float: left
}

.header .header_main .logo.print .corp_logo img {
    margin-top: 5px
}

.header .header_main .logo.print .service_logo img {
    margin-top: 10px;
    margin-left: 10px
}

.header .header_main .global_navi {
    float: right;
    width: 100%;
    height: 30px;
    position: absolute;
    top: 50px
}

.header .header_main .global_navi ul li {
    float: left;
    text-align: left;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #fff;
    height: 70px;
    background: #fff
}

.header .header_main .global_navi ul li:last-child {
    border-bottom: none
}

.header .header_main .global_navi ul li a {
    display: block;
    font-size: 18px;
    font-weight: 700;
    padding: 15px 10px;
    color: #fff
}

.header .header_main .global_navi ul li a.link_private {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #036
}

.header .header_main .global_navi ul li a.link_receiver {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #603
}

.header .header_main .global_navi ul li a.link_customer {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #606
}

.header .header_main .global_navi ul li a.link_deathnotice {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #603
}

.header .header_main .global_navi ul li a.link_account {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #306
}

.header .header_main .global_navi ul li a .svg path {
    fill: #fff
}

.header .header_main .global_navi ul li a .svg,
.header .header_main .global_navi ul li a img {
    margin: 0 10px 0 5px;
    vertical-align: middle
}
/***************************
main_visual
***************************/

.main_visual {
    width: 100%;
    border-top: 5px solid #006;
    background: url(../img/bg_main_visual.png) 50% 50% no-repeat #9d9b98;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: .1em
}

.main_visual_inner {
    width: 100%;
    margin: 0 auto;
    height: 120px;
    line-height: 1.2;
    background: url(../img/main_visual.png) 50% 50% no-repeat;
    background-size: cover;
    color: #fff;
    padding: 0 3%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center
}
/***************************
breadcrumb
***************************/

.breadcrumb {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    background: #006;
    height: 50px
}

.breadcrumb::-webkit-scrollbar {
    height: 5px
}

.breadcrumb::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee
}

.breadcrumb::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #999
}

.breadcrumb ul {
    display: table;
    padding: 0 15px
}

.breadcrumb ul li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 50px;
    color: #fff;
    display: table-cell;
    white-space: nowrap;
    vertical-align: middle;
    padding-right: 30px;
    position: relative
}

.breadcrumb ul li:last-child {
    padding-right: 0
}

.breadcrumb ul li:last-child:after {
    display: none
}

.breadcrumb ul li:after {
    position: absolute;
    display: block;
    content: ">";
    top: 0;
    right: 8px
}

.breadcrumb ul li a {
    color: #fff;
    text-decoration: underline;
    padding-right: 10px
}

.breadcrumb ul li img {
    margin-right: 12px;
    vertical-align: middle;
    width: 14px
}
/***************************
footer
***************************/

.footer .footer_navi {
    font-size: 12px;
    font-size: 1.2rem;
    width: 100%;
    border-top: 1px solid #bfbfbf;
    padding: 15px 0
}

.footer .footer_navi ul {
    width: 100%;
    text-align: center
}

.footer .footer_navi ul li {
    display: inline;
    margin: 0
}

.footer .footer_navi ul li a {
    text-decoration: underline;
    background: url(../img/icon_footer_navi.svg) 0 50% no-repeat;
    padding: 0 15px
}

.footer .footer_navi ul li a:hover {
    text-decoration: none
}

.footer .copyright {
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
    color: #fff;
    background: #006;
    padding: 25px
}
/***************************
contents_home
***************************/

.contents {
    padding: 30px 0 100px;
    width: 100%;
    margin: 0 auto
}

.contents p.description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    width: 90%;
    margin: 0 auto 30px
}
.contents p.cmt {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
    width: 90%;
    margin: 0 auto 20px;
    padding-left:1em;
text-indent:-1em;
}

.contents .private_wrap .box_private {
    background: #f5f7f9;
    margin-bottom: 30px
}

.contents .private_wrap .box_private .ttl_private,
.contents .private_wrap .box_private2 .ttl_private {
    width: 100%;
    background: #036;
    height: 70px;
    line-height: 70px;
    color: #fff;
    font-size: 22px;
    font-size: 2.2rem;
    text-align: center;
    margin: 0 auto 20px
}

.contents .private_wrap .box_private img,
.contents .private_wrap .box_private2 img {
    float: none;
    width: 115px
}

.contents .private_wrap .box_private2 .box_private_inner,
.contents .private_wrap .box_private_inner {
    padding: 0 20px 20px;
    text-align: center
}

.contents .private_wrap .box_private p,
.contents .private_wrap .box_private2 p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    float: none;
    width: 100%;
    padding-top: 15px;
    text-align: left
}

.contents .private_wrap .box_private2 p strong {
    font-weight: bold;
    font-size:16px
}

.contents .private_wrap .box_private2 {
    background: #f5f7f9;
    margin-bottom: 30px
}

.contents .private_wrap .box_private_after,
.contents .private_wrap .box_private_before {
    margin: 0 auto 50px;
    width: 100%
}

.contents .private_wrap .box_private_after .ttl_private_after,
.contents .private_wrap .box_private_before .ttl_private_before {
    font-size: 24px;
    font-size: 2.4rem;
    color: #036;
    line-height: 50px;
    height: 50px;
    border-left: 8px solid #036;
    padding-left: 25px;
    margin: 0 10px 20px
}

.contents .private_wrap .box_private_after .btn_private_after,
.contents .private_wrap .box_private_before .btn_private_before {
    width: 100%;
    background: #f5f7f9;
    float: none;
    margin: 0 1% 10px;
    border: 3px solid #b0c0cf;
    padding: 15px 8px;
    text-align: center
}

.ttl_private_after_wrap {
    width: 90%;
    margin: 0 auto
}

.btn_private_after_wrap,
.btn_private_before_wrap {
    width: 90%;
    margin: 0 auto 20px
}

.btn_private_after_wrap2,
.btn_private_before_wrap2 {
    width: 90%;
    float: none;
    margin: 0 auto 20px
}

.ttl_outer {
    font-size: 20px;
    font-size: 2rem;
    color: #036;
    margin-bottom: 10px
}

.contents .private_wrap .box_private_after .btn_private_after:nth-child(4n),
.contents .private_wrap .box_private_before .btn_private_before:nth-child(4n) {
    margin-right: 0
}

.contents .private_wrap .box_private_after .btn_private_after .ttl,
.contents .private_wrap .box_private_before .btn_private_before .ttl {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2;
    color: #036;
    margin-bottom: 15px
}

.contents .private_wrap .box_private_after .btn_private_after img,
.contents .private_wrap .box_private_before .btn_private_before img {
    margin-bottom: 20px
}

.contents .private_wrap .box_private_after .btn_private_after p,
.contents .private_wrap .box_private_before .btn_private_before p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    text-align: left;
    margin-bottom: 20px
}

.contents .private_wrap .box_private_after .btn_private_after a,
.contents .private_wrap .box_private_before .btn_private_before a {
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
    line-height: 45px;
    height: 45px;
    background: url(../img/arrow_btn_bottom.svg) 93% 50% no-repeat #036;
    background-size: 14px;
    display: block;
    width: 100%;
    padding-right: 7%
}

.contents .other_wrap .box_customer:hover,
.contents .private_wrap .box_private_after .btn_private_after:hover,
.contents .private_wrap .box_private_before .btn_private_before:hover,
.contents .private_wrap .btn_detail_more a:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.contents .private_wrap .btn_detail_more {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 75px;
    height: 75px;
    text-align: center;
    margin-bottom: 70px
}

.contents .private_wrap .btn_detail_more a {
    display: block;
    color: #036;
    background: url(../img/arrow_btn_bottom_b.svg) 98% 50% no-repeat #e8ecf1;
    background-size: 18px;
    border-bottom: 3px solid #036
}

.contents .other_wrap .box_customer {
    width: 90%;
    float: none;
    margin: 0 auto 10px;
    background: #f2e9ee;
    border-bottom: 3px solid #606
}

.contents .other_wrap .box_customer .ttl {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    line-height: 75px;
    height: 75px;
    background: url(../img/arrow_btn_bottom.svg) 94% 50% no-repeat #606
}

.contents .other_wrap .box_account .ttl a,
.contents .other_wrap .box_customer .ttl a,
.contents .other_wrap .box_deathnotice .ttl a,
.contents .other_wrap .box_private2 .ttl a,
.contents .other_wrap .box_receiver .ttl a {
    color: #fff
}

.contents .other_wrap .box_customer .inner,
.contents .other_wrap .box_account .inner,
.contents .other_wrap .box_deathnotice .inner,
.contents .other_wrap .box_receiver .inner,
.contents .other_wrap .box_private2 .inner {
    padding: 20px 20px 10px
}

.contents .other_wrap .box_customer .inner2,
.contents .other_wrap .box_account .inner2,
.contents .other_wrap .box_deathnotice .inner2,
.contents .other_wrap .box_receiver .inner2,
.contents .other_wrap .box_private2 .inner2 {
    padding: 10px 20px 10px
}

.contents .other_wrap .box_account img,
.contents .other_wrap .box_customer img,
.contents .other_wrap .box_deathnotice img,
.contents .other_wrap .box_private2 img,
.contents .other_wrap .box_receiver img {
    float: left;
    width: 25%
}

.contents .other_wrap .box_account p.txt,
.contents .other_wrap .box_customer p.txt,
.contents .other_wrap .box_deathnotice p.txt,
.contents .other_wrap .box_private2 p.txt,
.contents .other_wrap .box_receiver p.txt {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    float: right;
    width: 70%
}
.contents .other_wrap .box_account p.cmt,
.contents .other_wrap .box_customer p.cmt,
.contents .other_wrap .box_deathnotice p.cmt,
.contents .other_wrap .box_private2 p.cmt,
.contents .other_wrap .box_receiver p.cmt {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.2;
    width: 100%;
    color:#603;
    font-weight:bold;
}

.contents .other_wrap .box_account {
    width: 90%;
    float: none;
    margin: 0 auto 10px;
    background: #eeeaf2;
    border-bottom: 3px solid #306
}

.contents .other_wrap .box_account:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.contents .other_wrap .box_account .ttl {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    line-height: 75px;
    height: 75px;
    background: url(../img/arrow_btn_bottom.svg) 94% 50% no-repeat #306
}



.contents .other_wrap .box_deathnotice {
    width: 90%;
    float: none;
    margin: 0 auto 10px;
    background: #f2e9ee;
    border-bottom: 3px solid #603
}

.contents .other_wrap .box_deathnotice:hover,
.contents .other_wrap .box_receiver:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.contents .other_wrap .box_deathnotice .ttl,
.contents .other_wrap .box_receiver .ttl {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    line-height: 75px;
    height: 75px;
    background: url(../img/arrow_btn_bottom.svg) 94% 50% no-repeat #603
}

.contents .other_wrap .box_deathnotice .inner,
.contents .other_wrap .box_receiver .inner {
    padding: 20px 20px 10px
}

.contents .other_wrap .box_private2 {
    width: 90%;
    float: none;
    margin: 0 auto 10px;
    background: #f5f7f9;
    border-bottom: 3px solid #036
}

.contents .other_wrap .box_private2:hover,
.tab .tab_inner ul li a:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.contents .other_wrap .box_private2 .ttl {
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    line-height: 75px;
    height: 75px;
    background: url(../img/arrow_btn_bottom.svg) 94% 50% no-repeat #036
}



.contents .other_wrap .box_receiver {
    width: 90%;
    float: none;
    margin: 0 auto 10px;
    background: #f2e9ee;
    border-bottom: 3px solid #603
}

a.link_private:hover .svg path {
    fill: #036;
    transition-duration: .3s
}

a.link_private:hover {
    color: #036!important
}

a.link_deathnotice:hover .svg path {
    fill: #603;
    transition-duration: .3s
}

a.link_deathnotice:hover {
    color: #603!important
}

a.link_customer:hover .svg path {
    fill: #606;
    transition-duration: .3s
}

a.link_customer:hover {
    color: #606!important
}

a.link_account:hover .svg path {
    fill: #306;
    transition-duration: .3s
}

a.link_account:hover {
    color: #306!important
}

a.link_receiver:hover .svg path {
    fill: #603;
    transition-duration: .3s
}

a.link_receiver:hover {
    color: #603!important
}

.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 100
}

.tab {
    height: 80px;
    background: #e8ecf1
}

.tab .tab_inner ul {
    width: 100%;
    text-align: center
}

.tab .tab_inner ul li {
    display: inline
}

.tab .tab_inner ul li .svg,
.tab .tab_inner ul li img {
    vertical-align: middle;
    margin-left: 5px;
    width: 12px
}

.tab .tab_inner ul li a,
.tab .tab_inner ul li a.current {
    display: inline-block;
    font-size: 14px;
    padding: 7px 3px;
    text-decoration: none;
    border-radius: 20px;
    box-shadow: 3px 3px #a8b8c9;
    margin: 19px 1px
}

.tab .tab_inner ul li a {
    color: #036;
    background: #c5d0dc
}

.tab .tab_inner ul li a path {
    fill: #036
}

.tab .tab_inner ul li a.current {
    color: #fff;
    background: #174574
}

.tab .tab_inner ul li a.current path {
    fill: #fff
}
/*********************
フォーム共通
******************/

input[type=email],
input[type=number],
input[type=tel],
input[type=text],
select {
    display: inline-block;
    border: 1px solid #b4b4b4;
    height: 60px;
    border-radius: 4px;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 5px;
    padding: .5em .6em;
    background: #fff
}

input[type=file] {
    width: 90%
}

input[type=checkbox],
input[type=radio] {
    width: 20px;
    height: 20px;
    display: none
}

.checkbox,
.radio {
    box-sizing: border-box;
    -webkit-transition: background-color .2s linear;
    transition: background-color .2s linear;
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 12px 12px 12px 40px;
    vertical-align: middle;
    cursor: pointer;
    width: 100%
}

.checkbox.disabled {
    opacity: .4;
    cursor: context-menu
}

.checkbox.disabled:hover {
    background: 0 0
}

.checkbox.disabled:hover:after {
    border-color: #bbb
}

.radio:after {
    border-radius: 50%;
    -webkit-transition: border-color .2s linear;
    transition: border-color .2s linear;
    left: 10px;
    margin-top: -10px;
    width: 18px;
    height: 18px;
    border: 1px solid #b4b4b4;
    background: #fff
}

.checkbox:after,
.radio:after,
.radio:before {
    position: absolute;
    top: 50%;
    display: block;
    content: ''
}

.checkbox:after {
    -webkit-transition: border-color .2s linear;
    transition: border-color .2s linear;
    left: 10px;
    margin-top: -10px;
    width: 18px;
    height: 18px;
    border: 1px solid #b4b4b4;
    background: #fff;
    border-radius: 4px
}

.radio:before {
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear;
    left: 15px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #eb1212;
    opacity: 0;
    z-index: 99
}

input[type=checkbox]:checked+.checkbox:before,
input[type=radio]:checked+.radio:before {
    opacity: 1
}

.checkbox:before {
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear;
    position: absolute;
    top: 50%;
    left: 16px;
    display: block;
    margin-top: -7px;
    width: 5px;
    height: 9px;
    border-right: 3px solid #eb1212;
    border-bottom: 3px solid #eb1212;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 99
}

.formBox input[type=email]:focus,
.formBox input[type=number]:focus,
.formBox input[type=password]:focus,
.formBox input[type=tel]:focus,
.formBox input[type=text]:focus,
.formBox select:focus {
    background: #e8f5fc!important;
    border: 2px solid #006
}
/*****************************
フォーム
*****************************/

.txt_err,
.txt_thanks {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 36px;
    text-align: center;
    padding: 30px 0 50px
}

.formStep {
    list-style: none;
    overflow: hidden;
    background: #ededed;
    margin-top: 20px;
    padding-left: 0;
    margin-bottom: 20px;
    font-size: 16px
}

.formStep li {
    float: left;
    position: relative;
    width: 33%
}

.formStep li::before {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 100
}

.formStep li p {
    color: #fff;
    padding: 16px 0 15px 20px;
    background: #ededed;
    position: relative;
    display: block;
    text-align: center;
    margin-bottom: 0
}

.formStep li:first-child p {
    color: #fff;
    padding: 16px 0 15px;
    background: #ededed;
    position: relative;
    display: block;
    text-align: center;
    margin-bottom: 0
}

.formStep li p i {
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 4px;
    margin-left: 15px
}

.formStep li.on p,
.tab_box .tab_area .one_tab a.select .tab_inner {
    background: #036
}

.formStep li.on p::after {
    border-left: 20px solid #036
}

.formStep li p::after,
.formStep li p::before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;
    position: absolute;
    top: 50%;
    margin-top: -40px
}

.formStep li p::before {
    border-left: 20px solid #fff;
    margin-left: 1px;
    left: 101%;
    z-index: 1
}

.formStep li p::after {
    border-left: 20px solid #ededed;
    left: 100%;
    z-index: 2
}

.formBox {
    width: 90%;
    margin: 0 auto
}

.formBox p.description,
.formBox p.cmt {
    width: 100%
}

.formBox h3,
.listTable h3 {
    color: #036;
    font-size: 20px;
    line-height: 50px;
    height: 50px;
    margin-bottom: 10px;
    padding-left: 18px;
    padding-bottom: 0;
    border-left: 8px solid #036
}

.zip_suggest {
    background: #fff;
    border: solid 1px #aaa;
    border-radius: 5px;
    width: 227px;
    padding: 5px;
    margin-top: 5px;
    position: relative
}

.zip_suggest li {
    padding: 2px
}

.zip_suggest li:hover {
    background: #efefef;
    cursor: pointer
}

.zip_suggest .button {
    position: absolute;
    top: 10px;
    right: 10px
}

.zip_suggest .button input {
    display: none
}

.zip_suggest .button input+label {
    background: #999;
    color: #fff;
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 50%;
    text-align: center;
    cursor: pointer;
    margin: 0
}

.zip_suggest .button input+label:hover {
    background: #aaa
}

.zip_suggest .button input+label::before {
    content: '×';
    width: 20px;
    height: 20px
}

.formBox table {
    border-collapse: collapse;
    margin: 0 auto;
    width: 100%;
    background: #fff
}

.formBox table tr {
    border-bottom: 1px solid #ccc
}

.formBox table tr:last-child {
    border-bottom: none
}
.formBox .is_doui table tr:last-child {
    border-bottom: 1px solid #ccc
}
/*.formBox table.doui_table tr:last-child {
    border-bottom: 1px solid #ccc
}*/

.formBox table td,
.formBox table th {
    border-spacing: 12px 2px;
    vertical-align: middle;
    font-size: 18px;
    width: 100%;
    display: block
}

.formBox table th {
    font-weight: 700;
    padding: 30px 70px 20px 10px;
    line-height: 1.1
}

.formBox table td {
    padding: 5px 0 25px 10px
}

.formBox textarea {
    width: 95%;
    height: 120px;
    padding: .5em .6em;
    margin: 0;
    border-radius: 4px;
    border: 1px solid #b4b4b4;
    font-size: 16px;
    line-height: 1.2
}

.formBox input[type=email],
.formBox input[type=number],
.formBox input[type=password],
.formBox input[type=tel],
.formBox input[type=text],
.formBox select {
    display: inline-block;
    border: 1px solid #b4b4b4;
    border-radius: 4px;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: .5em 1em;
    background: #fff;
    height: 60px;
    font-size: 16px;
    /*font-size: 1.6rem;*/
    width: 95%
}

.formBox input[type=checkbox],
.formBox input[type=radio] {
    width: 18px;
    height: 18px;
    margin: 10px 5px;
    vertical-align: middle
}

.w95 {
    width: 95%!important
}

.w45 {
    width: 45%!important
}

.w25 {
    width: 25%!important
}

.w20 {
    width: 20%!important
}

.w15 {
    width: 25%!important
}

.w10 {
    width: 20%!important
}

.formBox table tr th.must,
.formBox table tr th.option {
    position: relative
}

.formBox table tr th.must::after,
.formBox table tr th.option::after {
    font-weight: 400;
    padding: 3px 8px;
    color: #fff;
    border: 0;
    border-radius: 2px;
    position: absolute;
    right: 3%;
    top: 50%;
    margin-top: -13px
}

.formBox table tr th.must::after {
    content: "Required";
    background: #eb1212;
    font-size: 12px
}

.formBox table tr th.option::after {
    content: "Optinal";
    background: #aaa;
    font-size: 12px
}

.formBox .note {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.2
}
.formBox .note2 {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.2;
    padding-left:1em;
text-indent:-1em;
}
.formBox .doui_table .note {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.4
}

.formBox .fintxt {
    text-align: center;
    margin: 50px 0
}

.btn_bottom {
    width: 100%;
    padding: 20px 0 0
}

.btn_bottom.fixed_bottom {
    width: 100%;
    background: #006;
    padding: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000
}

.btn_bottom .back_btn,
.btn_bottom input[type=submit] {
    width: 90%;
    height: 55px;
    margin: 10px auto;
    border-radius: 5px;
    text-align: center;
    line-height: 55px;
    cursor: pointer;
    display: block;
    text-decoration: none;
    font-size: 20px;
    color: #fff
}

.btn_bottom input[type=submit] {
    background: url(../img/arrow_btn_bottom.svg) 90% 50% no-repeat #000;
    border: 1px solid #000
}

.btn_bottom input[type=submit].disable {
    background-color: #aaa;
    border: 1px solid #aaa;
    cursor: default
}

.btn_bottom .back_btn {
    background: url(../img/arrow_btn_bottom_back.svg) 10% 50% no-repeat #aaa!important;
    border: 1px solid #aaa!important
}

.notcheck {
    background: #ffefef
}

.err,
.err_box,
.err_msg {
    color: #eb1212;
    font-size: 14px
}

.err {
    margin-bottom: 5px
}

.err_box,
.err_msg {
    font-size: 1.4rem;
    width: 90%
}

.err_box {
    line-height: 28px;
    border: 1px solid #eb1212;
    padding: 7px 15px;
    margin: 0 auto 20px
}

.err_msg {
    line-height: 24px;
    padding: 0 15px;
    margin: 0 auto
}

.contactTxt {
    margin-top: 10px;
    margin-bottom: 15px
}

.contactTxt a {
    text-decoration: underline
}

.contactTxt a i {
    margin-left: 3px
}

#contents01,
#contents02,
#contents03 {
    padding-top: 150px!important;
    margin-top: -100px
}

.tab_box .tab_area {
    width: 100%;
    text-align: center
}

.tab_box .tab_area .one_tab {
    display: inline-block;
    margin-bottom: 8px
}

.tab_box .tab_area .one_tab a {
    display: block;
    text-decoration: none;
    transition-duration: .3s;
    text-align: center;
    color: #74869f;
    font-size: 12px
}

.tab_box .tab_area .one_tab a.select {
    color: #fff;
    font-size: 16px
}

.tab_box .tab_area .one_tab a:hover {
    opacity: .7;
    text-decoration: none
}

.tab_box .tab_area .one_tab .tab_inner {
    transition-duration: .3s;
    padding: 5px 12px;
    background: #e8ecf1;
    border-radius: 4px 4px 0 0
}

.contents_tab .tab_main {
    display: none;
    padding: 20px 15px;
    min-height: 280px;
    border: 2px solid #94ad73;
    transition-duration: .3s
}

.tab_main.is_show {
    display: block;
    border: 1px solid #ccc;
    border-top: 5px solid #036
}
.tab_main.is_doui {
display: block;
border: none;
padding: 0 0 20px;
}

.open .bg {
    position: fixed;
    top: 0;
    z-index: 1;
    left: 0;
    width: 100%;
    height: 10000px
}

.multi_form .copyright {
    padding-bottom: 130px
}

.form_txt {
    width: 90%;
    margin: 40px auto
}

.ttl_section {
    color: #036;
    font-size: 28px;
    line-height: 50px;
    height: 50px;
    margin-bottom: 10px;
    padding-left: 30px;
    border-left: 8px solid #036
}

p.txt_box,
p.txt_content,
p.txt_section {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 28px;
    margin: 0 auto 30px
}

.ttl_content,
.ttl_scroll {
    font-size: 20px;
    font-weight: 700
}

.ttl_content {
    margin-bottom: 10px;
    line-height: 1.4
}

.ttl_scroll {
    margin-bottom: 15px
}

.scroll {
    border: 1px solid #ccc;
    padding: 20px 25px 0;
    margin-bottom: 40px;
    height: 300px;
    overflow-y: scroll
}

.ttl_box {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px
}

p.txt_box {
    line-height: 1.6;
    margin: 0 auto 40px
}

p.txt_box a,
txt_content a {
    color: #0059fb;
    text-decoration: underline
}

.agree_box {
    width: 100%;
    margin: 0 auto 30px;
    font-size: 16px;
    line-height: 1.4
}
/***************************
static_html
***************************/

.w1000,
.w1220,
.w800 {
    width: 90%;
    margin: 0 auto
}

.w1000,
.w800 {
    width: 100%
}

.ttl1 {
    color: #036;
    font-size: 20px;
    line-height: 50px;
    height: 50px;
    margin-bottom: 10px;
    padding-left: 12px;
    padding-bottom: 0;
    border-left: 8px solid #036
}

.ttl2 {
    color: #036;
    font-size: 22px;
    font-weight: 700;
    line-height: 40px;
    height: 40px;
    text-align: center;
    border-bottom: 3px solid #036
}

.ttl2,
.ttl3,
ul.list li {
    margin-bottom: 10px
}

.ttl3 {
    font-size: 18px
}

p.txt14,
p.txt16,
p.txt18,
p.txt20 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
    margin: 0 auto 60px
}

p.txt14,
p.txt16,
p.txt18 {
    font-size: 16px;
    font-size: 1.6rem
}

p.txt14,
p.txt16 {
    font-size: 14px;
    font-size: 1.4rem
}

.ttl3,
span.txt_bold {
    font-weight: 700
}

span.txt_blue {
    color: #207db4
}

span.txt_red {
    color: #f01700
}

span.txt_underline {
    text-decoration: underline
}

a.txt_link,
a.txt_link:link {
    color: #207db4;
    text-decoration: underline
}

a.txt_link:hover {
    text-decoration: none;
    color: #777
}

p.txt_waku,
div.txt_waku {
    border: 1px solid #ccc;
    padding: 10px 20px
}

div.txt_waku p {
    float: left;
}

div.txt_waku a {
    float: right
}

div.txt_waku a.blue {
    background-size: 15px;
    border: 1px solid #204d79;
    font-size: 12px;
}

div.txt_waku a.blue:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.70;
    opacity: 0.70;
}

div.txt_waku p.w500 {
    width: 100% !important
}

ul.list {
    padding-left: 20px
}

ul.list li {
    font-size: 16px;
    line-height: 1.2;
    list-style-type: disc
}

a.btn_big,
a.btn_middle {
    width: 100%;
    display: inline-block
}

a.btn_big {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 75px;
    height: 75px;
    text-align: center;
    margin: 30px auto;
    color: #036;
    background: url(../img/arrow_btn_bottom_b.svg) 98% 50% no-repeat #e8ecf1;
    border-bottom: 3px solid #036
}

a.btn_big:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

a.btn_middle {
    height: 70px;
    margin: 10px 5px;
    border-radius: 5px;
    padding: 0 10px 0 0;
    line-height: 70px;
    cursor: pointer;
    text-decoration: none;
    font-size: 24px;
    color: #fff;
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #eb1212;
    background-size: 15px;
    border: 1px solid #eb1212
}
a.btn_middle.w500.blue {
    margin: 10px 5px;
    background: url(../img/arrow_btn_bottom_dl.svg) 98% 50% no-repeat #204d79;
}

a.btn_middle.w500 {
    width: 100%;
    font-size: 17px
}

a.btn_middle:hover {
    background: url(../img/arrow_btn_bottom.svg) 97% 50% no-repeat #ff9f00;
    border: 1px solid #ff9f00
}

.btn_center ul,
a.btn_middle {
    text-align: center
}

.btn_center ul li {
    display: inline
}

table.table {
    width: 100%
}

table.table tr th {
    background: #e8ecf1
}

.detail_wrap {
    width: 90%;
    margin: 0 auto
}

.detail {
    margin-bottom: 80px
}

.detail .ttl2 {
    margin-bottom: 15px
}

table.table {
    margin-bottom: 30px
}

.detail table.table tr th {
    width: 25%
}

table.table tr td,
table.table tr th {
    border: 1px solid #cad4df;
    font-size: 14px;
    line-height: 1.4;
    padding: 5px 10px
}
/*============================
12
============================*/

.listTable {
    width: 90%;
    margin: 0 auto
}

.listTable .list_number,
.list_detail {
    font-size: 16px;
    text-align: right;
    margin-bottom: 10px
}

.listTable .list_number p {
    margin-bottom: 10px
}

.listTable .list_number input {
    height: 50px;
    text-align: center
}

.listTable .list_number input[type=submit] {
    background: #204d79;
    border: 1px solid #204d79;
    border-radius: 5px;
    padding: 0 25px;
    color: #fff;
    cursor: pointer
}

.list_detail a {
    height: 50px;
    line-height: 50px;
    display: inline-block;
    text-align: center;
    background: #204d79;
    border: 1px solid #204d79;
    border-radius: 5px;
    padding: 0 25px;
    color: #fff
}

.list_detail img {
    vertical-align: middle;
    margin-right: 12px;
}

.listTable table tr:nth-child(even) {
    background: #fff
}

.listTable table tr th {
    background: #036;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
    border: 0
}

.listTable table tr td {
    border: 0
}

.listTable table tr td:nth-child(2) {
    text-align: left
}

.listTable table tr td:nth-child(3),
.listTable table tr td:nth-child(4) {
    white-space: nowrap
}

.listTable table tr td,
.listTable table tr th {
    font-size: 16px;
    padding: 0
}

.listTable table thead {
    display: none
}

.listTable table td {
    border: 0;
    display: block;
    width: 100%
}

.listTable table td p {
    padding: 10px 5%
}

.listTable table td:last-child {
    padding-bottom: 30px
}

.listTable table td:before {
    content: attr(data-title) " ";
    background: #036;
    color: #fff;
    font-weight: 700;
    padding: 10px 5%;
    display: block;
    width: 90%;
    font-size: 14px
}

.listTable table tr:nth-child(even) td:before {
    background: #6a8cae
}
/***************************
accordion
***************************/

.accordion_ttl {
    position: relative;
    cursor: pointer;
    background: #e8ecf1
}

.accordion_ttl::after,
.accordion_ttl::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 2px;
    background: #036
}

.accordion_ttl::before {
    transform: rotate(90deg);
    transition: all .3s ease-in-out
}

.accordion_ttl::after {
    transition: all .2s ease-in-out
}

.accordion_ttl.open::before {
    transform: rotate(180deg)
}

.accordion_ttl.open::after {
    opacity: 0
}
/***************************
print
***************************/

.print td.ttl {
    width: 15%
}

.print .detail_wrap {
    margin-top: 0
}

.btn_print {
    text-align: center;
    padding-top: 30px
}

.btn_print a {
    border: 1px solid #ccc;
    padding: 8px 20px;
    font-size: 20px
}

.btn_print img {
    margin-right: 10px
}

.btn_print a:hover {
    filter: alpha(opacity=70);
    -moz-opacity: .7;
    opacity: .7
}

.error.contactTxt {
color:#f00;
}