body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

main{
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,
img {
    border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
    font-weight: normal
}

ol,
ul {
    list-style: none
}

caption,
th {
    text-align: left
}

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

q::before,
q::after {
    content: ""
}

abbr,
acronym {
    border: 0;
    font-variant: normal
}

sup {
    vertical-align: text-top
}

sub {
    vertical-align: text-bottom
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit
}

legend {
    color: #000
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote::before,
blockquote::after,
q::before,
q::after {
    content: "";
    content: none
}

* {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    box-sizing: border-box
}

button,
select,
input[type=submit] {
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

select {
    position: relative
}

select::after {
    margin-top: -0.5em;
    content: "";
    line-height: 1.1;
    position: absolute;
    top: 50%;
    right: 10px
}

ul {
    list-style: none
}

ol {
    padding-left: 1.5em
}

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

html {
    margin-bottom: 1px;
    height: 100%
}

html,
body {
    scrollbar-base-color: #ccc;
    scrollbar-track-color: #eee;
    scrollbar-face-color: #fff;
    scrollbar-shadow-color: #fff;
    scrollbar-darkshadow-color: #ccc;
    scrollbar-highlight-color: #fff;
    scrollbar-3dlight-color: #ccc;
    scrollbar-arrow-color: #ccc
}

body {
    font-family: Verdana, "Meiryo", "メイリオ", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Helvetica, sans-serif, "icons";
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
    color: #333;
    background: #05acbb
}

a:link,
a:visited {
    color: #333;
    text-decoration: underline
}

a:hover,
a:active {
    color: #05acbb;
    text-decoration: underline
}

a:focus {
    outline: none
}

hr {
    display: none
}

img {
    vertical-align: bottom
}

.skip {
    position: absolute;
    top: -9999px;
    left: -9999px
}

.loading {
    background: url(../images/common/loader.gif) no-repeat 50% 50%
}

.pagetop {
    position: fixed;
    bottom: -15px;
    right: 5px
}

.pagetop a {
    font-size: 179%;
    line-height: 50px;
    color: #fff;
    border-radius: 40px;
    background: #05acbb;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagetop a i {
    color: #fff
}

#site_header {
    background: #fff;
    width: 100%
}

.header_body {
    margin: 0 auto;
    height: 90px;
    position: relative;
    z-index: 3
}

.site_logo {
    margin: 0 0 10px 0;
    padding: 33px 0 0 0;
    text-align: center;
    border-top: solid 2px #05acbb;
    background: #fff;
    width: 384px;
    height: 115px;
    position: relative;
    top: -35px
}

.site_logo a {
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
    background: url(../images/common/site_logo.png) no-repeat;
    background-size: cover;
    width: 234px;
    height: 50px;
    display: block
}

.site_logo_en {
    margin: 0 auto;
    width: 960px
}

.site_logo_en h1 {
    margin: -35px 0 10px 0;
    padding: 33px 0 0 0;
    text-align: center;
    box-sizing: border-box;
    border-top: solid 2px #05acbb;
    background: #fff;
    width: 384px;
    height: 115px
}

.site_logo_en h1 a {
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
    background: url(../en/images/common/site_logo.png) no-repeat;
    background-size: cover;
    width: 300px;
    height: 50px;
    display: block
}

a.btn_mypage {
    font-size: 86%;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border-radius: 2px;
    background: url(../images/common/btn_bg1.png) no-repeat 50% 50%;
    width: 192px;
    height: 30px;
    display: block;
    position: absolute;
    top: 30px;
    right: 0
}

a.btn_mypage::before {
    margin-right: 5px;
    font-size: 16px;
    line-height: 1.1;
    vertical-align: baseline;
    content: "";
    display: inline-block;
    position: relative;
    top: 2px
}

.sub_nav,
.sub_nav_en {
    margin: 0;
    text-align: right;
    background: #efefef;
    width: 100%
}

.sub_nav nav,
.sub_nav_en nav {
    margin: 0 auto;
    width: 960px
}

.sub_nav ul,
.sub_nav_en ul {
    margin: 0 auto;
    padding: 0 0 0 10px;
    line-height: 0;
    display: inline-flex
}

.sub_nav li,
.sub_nav li a,
.sub_nav_en li,
.sub_nav_en li a {
    height: 35px;
    width: 70px
}

.sub_nav ul {
    font-size: 0
}

.sub_nav_en ul {
    font-size: 79%
}

.sub_nav li,
.sub_nav_en li {
    background: #ccc;
    display: inline-block
}

.sub_nav li a,
.sub_nav_en li a {
    font-size: 11px;
    line-height: 33px;
    text-decoration: none;
    text-align: center;
    background: #efefef;
    display: block
}

.sub_nav a.selected span,
.sub_nav_en a.selected span {
    color: #05acbb;
    border-bottom: solid 2px #05acbb;
    height: 35px;
    display: inline-block
}

.language_bar {
    vertical-align: middle;
    display: inline-block
}

.language_bar li {
    width: 35px;
    height: 20px;
    display: inline-block;
    overflow: hidden
}

.language_bar li a,
.language_bar li span {
    width: 100%;
    font-size: 11px;
    line-height: 20px;
    text-align: center;
    display: block
}

.language_bar li span {
    color: #fff;
    background: #05acbb
}

.language_bar li a {
    color: #333;
    background: #ccc
}

.global_nav {
    border-bottom: solid 3px #ddd;
    width: 100%
}

.global_nav>ul {
    margin: 0 auto -3px auto;
    width: 960px;
    clear: both
}

.global_nav>ul>li {
    border-right: solid 1px #ccc;
    width: 192px;
    height: 45px
}

.global_nav>ul>li:first-of-type {
    border-left: solid 1px #ccc
}

.global_nav>ul>li>a {
    margin: -10px 0 0 0;
    padding: 10px 0 0 0;
    text-decoration: none;
    vertical-align: middle;
    border-bottom: solid 3px #ddd;
    height: 55px;
    display: block
}

.global_nav>ul>li>a:hover {
    border-bottom: solid 3px #fff
}

.global_nav>ul>li>a span {
    padding: 0 0 8px 0;
    background: url(../images/common/nav_mkr.png) no-repeat 50% 100%;
    display: block
}

.global_nav>ul>li>a.selected {
    color: #05acbb;
    border-bottom: solid 3px #05acbb
}

.global_nav>ul>li>ul {
    margin: 0;
    background: #fff;
    display: none
}

.global_nav>ul>li>ul>li {
    background: #fff;
    width: 100%;
    display: table;
    position: relative;
    z-index: 50
}

.global_nav>ul>li>ul>li>a {
    padding: 0 15px;
    font-size: 86%;
    line-height: 1.4;
    text-align: left;
    text-decoration: none;
    vertical-align: middle;
    border-style: solid;
    border-width: 0 0 1px 0;
    border-color: #ccc;
    background: #efefef;
    width: 100%;
    height: 50px;
    display: table-cell;
    position: relative
}

.global_nav>ul>li>ul>li>a::after {
    margin: -7px 0 0 0;
    content: "";
    font-size: 117%;
    line-height: 1.1;
    position: absolute;
    top: 25px;
    right: 7px
}

.global_nav>ul>li>ul>li>a:hover {
    color: #fff;
    background: #05acbb
}

.page_ttl {
    margin: 0;
    padding: 50px 0 0 0;
    background: url(../images/common/page_ttl_bg.jpg) no-repeat 50% 50%;
    background-size: cover;
    width: 100%;
    height: 170px;
    display: table
}

.page_ttl h2 {
    margin: 0 auto;
    font-size: 156%;
    letter-spacing: 1px;
    text-align: left;
    color: #fff
}

.page_ttl h2 span {
    padding: 0 0 0 20px;
    font-size: 55%;
    line-height: 1.1;
    vertical-align: middle;
    color: #04555f
}

.pankuzu {
    margin: 0 0 15px 0;
    padding: 0;
    font-size: 86%;
    line-height: 1.5;
    width: 100%;
    font-weight: normal;
}

.pankuzu ul {
    margin: 0 auto;
    padding: 10px 0
}

.pankuzu ul li {
    padding: 0 0 0 30px;
    display: inline;
    position: relative
}

.pankuzu ul li::before {
    font-family: "icons";
    margin: -7px 0 0 0;
    content: "";
    font-size: 90%;
    line-height: 1.1;
    color: #bbb;
    position: absolute;
    top: 9px;
    left: 10px
}

.pankuzu ul li a {
    text-decoration: none;
    color: #888
}

.pankuzu ul li a:hover {
    color: #bbb;
    text-decoration: underline
}

.pankuzu ul li.home::before {
    content: "" !important
}

.drawer-hamburger {
    width: 27px;
    padding: 15px 12px 24px;
    background: #05acbb;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100
}

.drawer-hamburger:hover {
    background: #05acbb;
    opacity: 1 !important
}

.drawer-hamburger .drawer-hamburger-icon {
    background: #fff;
    width: 20px
}

.drawer-hamburger .drawer-hamburger-icon::before,
.drawer-hamburger .drawer-hamburger-icon::after {
    background: #fff
}

.drawer-hamburger .drawer-hamburger-icon::before {
    top: -6px
}

.drawer-hamburger .drawer-hamburger-icon::after {
    top: 6px
}

.drawer-open .drawer-hamburger {
    top: 0;
    right: 0
}

.drawer-open .drawer-hamburger-icon {
    background: rgba(0, 0, 0, 0)
}

.drawer-open .drawer-hamburger-icon::before,
.drawer-open .drawer-hamburger-icon::after {
    width: 100%
}

.drawer-open .drawer-hamburger-icon::before {
    top: 0
}

.drawer-open .drawer-hamburger-icon::after {
    top: 0
}

.drawer-nav {
    z-index: 99
}

.drawer-overlay {
    background: rgba(0, 0, 0, .4);
    z-index: 98
}

.drawer-nav-list {
    padding: 10px 0 0
}

.drawer_nav_ttl {
    font-size: 1.8rem;
    color: #05acbb;
    margin: 0 0 10px 0
}

.drawer_btn_nav {
    margin-bottom: 20px
}

.drawer_global_nav {
    margin: 0 auto 20px;
    width: 90%;
    border-top: solid 1px #ddd;
    border-left: solid 1px #ddd;
    overflow: hidden
}

.drawer_global_nav li {
    padding: 10px 0;
    border-right: solid 1px #ddd;
    border-bottom: solid 1px #ddd
}

.drawer_global_nav li a {
    text-decoration: none;
    color: #333;
    display: block;
    position: relative
}

.drawer_global_nav li a::after {
    margin-top: -0.5em;
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    line-height: 1.1
}

.drawer_sub_nav {
    background: #efefef;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 20px 0;
    box-shadow: 0px 6px 4px -6px #aaa inset, 0px -6px 4px -6px #aaa inset
}

.drawer_sub_nav li {
    width: 50%;
    padding: 10px 0;
    border-bottom: 1px solid #ddd
}

.drawer_sub_nav li:nth-child(odd) {
    border-right: 1px solid #ddd
}

.drawer_sub_nav li a {
    text-decoration: none;
    color: #333;
    display: block
}

.contents {
    margin: 0;
    padding: 0 0 70px 0;
    background: #fff
}

.contents_inner {
    margin: 0 auto;
    text-align: left;
    position: relative
}

.article_body {
    width: 600px;
    float: left
}

.article_img {
    width: 300px;
    float: right
}

.main .article_body {
    width: 470px;
    float: left
}

.main .article_img {
    width: 200px;
    float: right
}

.main .article_img figcaption {
    padding: 5px 0 0 0;
    font-size: 79%;
    text-align: center
}

.sub h4 {
    font-size: 120%;
    color: #05acbb
}

.italic {
    font-style: italic
}

.italic_ttl {
    font-size: 100% !important;
    color: #fff !important;
    font-style: italic;
    margin: -4px 0 0 -15px;
    display: inline-block !important
}

.italic_sy {
    font-style: italic;
    display: inline-block !important;
    margin: -4px -15px 0 -15px
}

.tab_nav {
    margin: 0 0 40px 0;
    border-bottom: solid 1px #ccc;
    position: relative;
    z-index: 5
}

.tab_nav>ul {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 10
}

.tab_nav>ul>li {
    flex: 1;
    margin: 0 0 -1px 0;
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #ccc;
    background: #efefef;
    max-width: 240px;
    position: relative;
    overflow: hidden
}

.tab_nav>ul>li:first-of-type {
    border-left: solid 1px #ccc
}

.tab_nav>ul>li a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    min-height: 60px;
    font-size: 129%;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    width: 100%
}

.tab_nav>ul li.selected {
    background: #fff;
    border-bottom: solid 1px #fff !important
}

.ttl01 {
    margin: 0 0 20px 0;
    font-size: 200%;
    font-weight: lighter;
    line-height: 1.4;
    color: #404040;
    font-weight: bold;
}

.ttl01>.annotation02 {
    padding: 0 0 0 1.5em;
    font-size: 60%;
    color: #888
}

.ttl02 {
    margin: -5px 0 20px 0;
    padding: 0 0 10px 0;
    font-size: 129%;
    line-height: 1.4;
    /* color: #05acbb;
    border-bottom: solid 1px #05acbb */
    color: #1566ff;
    border-bottom: solid 1px #1566ff;
}

.article_block p,
.article_block ul,
.article_block_en p,
.article_block_en ul {
    margin: 0 0 1.5em 0;
}

.article_block p:last-child,
figure .article_block p:last-child,
.article_block ul:last-child,
figure .article_block ul:last-child,
.article_block_en p:last-child,
figure .article_block_en p:last-child,
.article_block_en ul:last-child,
figure .article_block_en ul:last-child {
    margin: 0
}

.article_block img,
.article_block_en img {
    width: 100%
}

.article_block .annotation01,
.article_block .annotation01_en,
.article_block_en .annotation01,
.article_block_en .annotation01_en {
    margin-top: -1em
}

.article_block .article_figure,
.article_block_en .article_figure {
    padding: 29px;
    border: solid 1px #e4e2d9;
    background: #f7f5ec
}

.article_block .article_figure figcaption,
.article_block_en .article_figure figcaption {
    margin: 0 0 -10px 0;
    padding: 15px 0 0 0;
    font-size: 79%;
    font-weight: bold
}

.article_block>.inquiry,
.article_block_en>.inquiry {
    margin: -10px 0 0 0
}

.annotation02_en {
    text-indent: -1em;
    padding: 0 0 0 1em;
    margin: -10px 0 25px 0;
    font-size: 120%;
    color: #888;
    display: block
}

.img_box {
    overflow: hidden
}

.local_nav>ul {
    margin: 0 0 20px 0
}

.local_nav>ul>li {
    width: 100%;
    height: 55px;
    display: table
}

.local_nav>ul>li:first-of-type {
    border-top: solid 1px #ccc
}

.local_nav>ul>li>a {
    padding: 2px 25px 0 15px;
    font-size: 86%;
    line-height: 1.4;
    vertical-align: middle;
    text-decoration: none;
    border-style: solid;
    border-width: 0 1px 1px 1px;
    border-color: #ccc;
    width: 100%;
    height: 50px;
    display: table-cell;
    position: relative;
    font-weight: normal;
}

.local_nav>ul>li>a::after {
    font-family: "icons";
    margin: -7px 0 0 0;
    content: "";
    font-size: 117%;
    line-height: 1.1;
    position: absolute;
    top: 27px;
    right: 10px
}

.local_nav>ul>li>a:hover {
    border-color: #bbb;
    background: #efefef
}

.local_nav>ul>li a.selected {
    color: #fff;
    border-color: #05acbb;
    background: #05acbb
}

.bnrs {
    margin: 0
}

.bnrs li {
    margin: 0 0 10px 0
}

.bnrs li:last-of-type {
    margin: 0
}

.bnrs li img {
    width: 100%
}

.bnrs_en {
    margin: 0 0 20px 0
}

.bnrs_en li {
    margin: 0 0 10px 0
}

.bnrs_en li:last-of-type {
    margin: 0
}

.bnrs_en li img {
    width: 100%
}

#site_footer {
    text-align: center;
    width: 100%
}

.footer_inner {
    margin: 0 auto;
    overflow: hidden
}

.footer_top {
    border-top: solid 2px #05acbb;
    background: #fff
}

.footer_top a {
    line-height: 38px;
    text-decoration: none;
    display: block
}

.footer_top .btn_home {
    background: #ccc;
    float: left
}

.footer_top .btn_home a {
    border-right: solid 1px #ccc;
    border-left: solid 1px #ccc;
    background: #fff
}

.footer_top .btn_pagetop {
    float: right
}

.footer_top .btn_pagetop a {
    color: #fff;
    background: #05acbb
}

.footer_main {
    margin: 0;
    border-top: solid 1px #ccc;
    background: #eaeaea;
    width: 100%
}

.footer_nav,
.footer_nav_en {
    margin: 0 0 25px 0;
    padding: 0 0 25px 0;
    text-align: center;
    border-bottom: solid 1px #c6c6c6
}

.footer_nav ul.footer_nav_list01 li,
.footer_nav ul.footer_nav_list02 li,
.footer_nav_en ul.footer_nav_list01 li,
.footer_nav_en ul.footer_nav_list02 li {
    margin: 0 0 10px 0;
    padding: 0;
    letter-spacing: .1em;
    color: #999
}

.footer_info {
    padding: 0;
    text-align: left;
    width: 100%;
    position: relative
}

.footer_info dl {
    overflow: hidden
}

.footer_info dl dt {
    text-align: left;
    text-indent: -9999px;
    background: url(../images/common/footer_logo.png) no-repeat;
    background-size: cover;
    width: 224px;
    height: 45px;
    display: block
}

.footer_info dl dd {
    line-height: 1.5
}

.footer_info_en {
    padding: 0;
    text-align: left;
    width: 100%;
    position: relative
}

.footer_info_en dl {
    overflow: hidden
}

.footer_info_en dl dt {
    text-align: left;
    text-indent: -9999px;
    background: url(../en/images/common/footer_logo.png) no-repeat;
    background-size: cover;
    width: 144px;
    height: 45px;
    display: block
}

.footer_language_bar {
    display: flex;
    justify-content: space-around;
    width: 220px;
    margin: 10px auto 0
}

.footer_language_bar li {
    width: 120px;
    height: 30px;
    margin: 0 10px
}

.footer_language_bar li span {
    color: #fff;
    background: #05acbb;
    text-align: center;
    display: block;
    line-height: 30px
}

.footer_language_bar li a {
    color: #333;
    background: #ccc;
    text-align: center;
    display: block;
    line-height: 30px
}

.social_btn_set {
    position: absolute;
    top: 0;
    right: 0
}

.social_btn_set ul {
    margin: 0
}

.social_btn_set ul li {
    margin: 0;
    padding: 0 0 0 10px;
    float: right
}

.copy {
    padding: 0;
    font-size: 79%;
    line-height: 80px;
    color: #fff
}

.copy small {
    display: block;
    padding: 30px 0
}

.copy span {
    display: inline-block
}

.copy a {
    color: #fff;
    text-decoration: none
}

.copy a:hover {
    text-decoration: underline;
    color: #fff
}

.article_block {
    margin: 0 0 70px 0
}

.article_block_en {
    margin: 0 0 50px 0
}

.contents_inner>.article_block:last-of-type,
.contents_inner .main>.article_block:last-of-type,
.contents_inner>.article_block_en:last-of-type,
.contents_inner .main>.article_block_en:last-of-type {
    margin: 0
}

.article_block>.article_block,
.article_block>.article_block_en,
.article_block_en>.article_block,
.article_block_en>.article_block_en {
    margin: 0 0 50px 0
}

.article_block>.article_block:last-child,
.article_block>.article_block_en:last-child,
.article_block_en>.article_block:last-child,
.article_block_en>.article_block_en:last-child {
    margin: 0
}

.article_block>.article_block:first-child,
.article_block>.article_block_en:first-child,
.article_block_en>.article_block:first-child,
.article_block_en>.article_block_en:first-child {
    padding: 50px 0 0 0
}

a.btn01 {
    vertical-align: middle;
    text-decoration: none;
    border-radius: 2px;
    box-sizing: border-box;
    display: block;
    position: relative
}

a.btn_std01,
a.btn_std02 {
    margin: 0 auto;
    padding: 1px 0 0 0;
    text-align: center;
    line-height: 40px;
    height: 40px
}

a.btn_std01 {
    color: #fff;
    background: #05acbb
}

a.btn_std02 {
    color: #333;
    border: solid 1px #ccc;
    background: #eee
}

a.btn_arw01 {
    margin: 0 auto;
    padding: 0 1.5em 0 1em;
    text-align: left;
    line-height: 40px;
    color: #fff;
    background: #05acbb;
    height: 40px
}

a.btn_arw01::after {
    margin: -7px 0 0 0;
    content: "";
    font-size: 117%;
    line-height: 1.1;
    position: absolute;
    top: 18px;
    right: 7px
}

a.btn_blank01 {
    margin: 0 auto;
    padding: 0 1.5em 0 1em;
    text-align: left;
    line-height: 43px;
    border: solid 1px #ccc;
    background: #eee;
    height: 45px
}

a.btn_blank01::after {
    margin: -7px 0 0 0;
    content: "";
    font-size: 72%;
    line-height: 1.1;
    position: absolute;
    top: 25px;
    right: 7px
}

.clr {
    clear: both
}

.cf,
.fbox,
.contents,
.tab_nav {
    *zoom: 1
}

.cf::before,
.fbox::before,
.contents::before,
.tab_nav::before {
    content: " ";
    display: table
}

.cf::after,
.fbox::after,
.contents::after,
.tab_nav::after {
    content: " ";
    display: table;
    clear: both
}

.fl {
    float: left
}

.fr {
    float: right
}

ul.fbox li,
ol.fbox li,
.tab_navi li,
.social_btn_set li {
    list-style: none;
    float: left;
    display: inline
}

.inquiry #contents h3:first-of-type {
    margin: 0 0 25px 0
}

.inquiry .read {
    margin: 0 0 10px 0
}

div.form_layout {
    border-top: solid 1px #ccc;
    width: 100%;
    position: relative
}

.form_layout .list_line {
    margin: 0;
    padding: 0;
    border-bottom: solid 1px #ccc;
    background: #efefef;
    position: relative;
    overflow: hidden
}

.form_layout .list_name {
    padding: 22px 0 0 1em;
    box-sizing: border-box;
    width: 25%;
    position: relative;
    float: left
}

.form_layout .list_name span.required {
    padding: 0 5px;
    font-size: 72%;
    line-height: 1.6;
    color: #fff;
    background: #fa3e58;
    position: absolute;
    top: 27px;
    right: 15px
}

.form_layout .list_contents {
    padding: 15px 0;
    background: #fff;
    box-sizing: border-box;
    width: 75%;
    float: right
}

.form_layout .list_contents .sec_list_line {
    border-top: none;
    padding: 5px 0;
    position: relative;
    overflow: hidden
}

.form_layout .list_contents .sec_list_name {
    padding: 8px 0 0 0;
    width: 15%;
    float: left
}

.form_layout .list_contents .sec_list_contents {
    padding: 0;
    border: none;
    width: 85%;
    float: right
}

.form_layout .list_contents div.list_contents_text {
    padding: 12px 0 10px 0
}

.form_layout .list_contents_inner {
    padding: 0 0 0 20px
}

.form_example {
    color: #999
}

.mail_sup {
    padding: 5px 0
}

.frame_block {
    margin: 0 0 15px 0;
    padding: 20px 25px;
    box-sizing: border-box;
    background: #efefef;
    width: 100%;
    height: 200px;
    overflow: auto
}

.frame_block .privacy_block,
.frame_block .privacy_inner,
.frame_block .privacy_block h3 {
    margin: 0 0 1em 0
}

.frame_block .privacy_block h3 {
    padding: 0 0 5px 0;
    font-weight: bold;
    border-bottom: solid 1px #ccc
}

.frame_block .privacy_block ul li,
.frame_block .ethics_block ul li {
    margin: 0 0 0 2em;
    list-style: circle
}

.ethics_number {
    list-style: decimal;
    margin: 0 0 1.5em 1.5em
}

.ethics_number2 {
    list-style: cjk-ideographic;
    margin: 0 0 1.5em 3em
}

.ethics_block p {
    margin: 0 0 .5em 0
}

.ethics_inner p {
    margin: 0 0 1.5em 0
}

.confirm .list_name {
    padding-top: 15px
}

.done_txt {
    padding: 0;
    text-align: center;
    border: solid 1px #05acbb;
    box-sizing: border-box;
    width: 100%;
    height: 350px;
    display: table
}

.done_txt_inner {
    vertical-align: middle;
    display: table-cell
}

.done_txt_inner p:first-of-type {
    margin: 0 0 15px 0;
    font-size: 179%
}

.form_layout input[type=text],
.form_layout textarea,
.form_layout select,
.form_layout option {
    line-height: 1.1;
    border-radius: 3px;
    border: solid 1px #ccc;
    box-sizing: border-box
}

.form_layout input[type=text]:focus,
.form_layout textarea:focus,
.form_layout select:focus,
.form_layout option:focus {
    background: #fff8e1
}

.form_layout input[type=text],
.form_layout select,
.form_layout option {
    font-size: 108%
}

.form_layout input[type=text],
.form_layout input[type=password] {
    padding: 10px
}

.form_layout select {
    padding: 7px 10px
}

.form_layout input[type=radio],
.form_layout input[type=checkbox] {
    margin-right: 3px;
    position: relative;
    top: 2px;
    top: 0px\9
}

.inputarea1 {
    width: 220px
}

.inputarea2 {
    width: 150px
}

.inputarea4 {
    width: 450px
}

.commentarea1 {
    padding: 10px;
    width: 100%;
    max-width: 100%;
    height: 200px
}

.submit {
    padding: 40px 0 0 0;
    text-align: center;
    overflow: hidden
}

.submit ul {
    margin: 0;
    padding: 0;
    position: relative;
    left: 50%;
    float: left
}

.submit li {
    padding: 0;
    margin: 0 10px;
    position: relative;
    left: -50%;
    float: left
}

.submit input[type=submit].submit_btn_send,
.submit input[type=submit].submit_btn_confirm,
.submit input[type=submit].submit_btn_back {
    margin: 0 auto;
    font-size: 129%;
    border-radius: 2px;
    border: none;
    width: 220px;
    height: 60px;
    cursor: pointer;
    outline: none;
    display: block
}

.submit input[type=submit].submit_btn_send,
.submit input[type=submit].submit_btn_confirm {
    color: #fff;
    background: #05acbb
}

.submit input[type=submit].submit_btn_back {
    color: #fff;
    background: #bbb
}

.form_layout input.error,
.form_layout select.error,
.form_layout textarea.error {
    font-weight: normal;
    border: solid 1px #fa4563;
    background: #fff2f4
}

p.error {
    padding-top: 3px;
    color: #e6243f
}

p.error::before {
    margin-right: 3px;
    line-height: 1.1;
    content: ""
}

.annotation01 li {
    padding: 0 0 0 1.5em;
    font-size: 86%;
    line-height: 1.5;
    color: #888;
    position: relative
}

.annotation01 li::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0
}

.annotation01_en li {
    padding: 0 0 0 1.5em;
    font-size: 86%;
    line-height: 1.5;
    color: #888;
    position: relative
}

.annotation01_en li::before {
    content: "*";
    position: absolute;
    top: 0;
    left: 0
}

.mkr01 li,
.mkr02 li {
    padding: 0 0 0 1.5em;
    position: relative
}

.mkr01 li::before,
.mkr02 li::before {
    content: "";
    font-family: "icons";
    position: absolute;
    top: 0;
    left: 0
}

.mkr01 li::before {
    color: #05acbb
}

.mkr02 li::before {
    color: #ccc
}

.block_list {
    border: dotted 1px #aaa
}

.block_list li {
    padding: 10px 15px 10px 2.5em;
    border-bottom: dotted 1px #aaa;
    position: relative
}

.block_list li:last-of-type {
    border: none
}

.block_list li::before {
    content: "";
    font-family: "icons";
    color: #05acbb;
    position: absolute;
    top: 10px;
    left: 1em
}

.box_list {
    position: relative;
    overflow: hidden
}

.box_list>ul,
.box_list>.box_list_inner {
    position: relative;
    left: 50%;
    float: left
}

.box_list>ul>li,
.box_list>.box_list_inner>.box_panel {
    background: #fff;
    position: relative;
    left: -50%;
    float: left;
    overflow: hidden
}

.mb5 {
    margin-bottom: 5px
}

.mb10 {
    margin-bottom: 10px
}

.mb15 {
    margin-bottom: 15px
}

.mb20 {
    margin-bottom: 20px
}

.mb25 {
    margin-bottom: 25px
}

.mb30 {
    margin-bottom: 30px
}

.mb35 {
    margin-bottom: 35px
}

.mb40 {
    margin-bottom: 40px
}

.mb45 {
    margin-bottom: 45px
}

.mb50 {
    margin-bottom: 50px
}

.mb55 {
    margin-bottom: 55px
}

.mb60 {
    margin-bottom: 60px
}

.mb65 {
    margin-bottom: 65px
}

.mb70 {
    margin-bottom: 70px
}

.mb75 {
    margin-bottom: 75px
}

.mb80 {
    margin-bottom: 80px
}

.mb85 {
    margin-bottom: 85px
}

.mb90 {
    margin-bottom: 90px
}

.mb95 {
    margin-bottom: 95px
}

.mb100 {
    margin-bottom: 100px
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

.table01,
.table01_en {
    border-top: solid 1px #ccc;
    background: #efefef
}

.table01>dl>dt {
    padding: 15px;
    width: 150px;
    float: left
}

.table01>dl>dd {
    padding: 0 0 0 170px;
    border-bottom: solid 1px #ccc
}

[lang="en"] .table01>dl>dt{
    width: 200px;
}

[lang="en"] .table01>dl>dd {
    padding: 0 0 0 200px;
}

.table01>dl>dd>div {
    padding: 15px;
    background: #fff
}

.table01_en>dl>dt {
    padding: 15px;
    width: 210px;
    float: left
}

.table01_en>dl>dd {
    padding: 0 0 0 180px;
    border-bottom: solid 1px #ccc
}

.table01_en>dl>dd>div {
    padding: 15px;
    background: #fff
}

.table02,
.table02_en {
    border-top: solid 1px #ccc;
    background: #efefef
}

.table02_en {
    font-size: 13px;
}

.table02>dl {
    border-bottom: solid 1px #ccc;
    overflow: hidden
}

.table02>dl>dt {
    padding: 20px 15px;
    line-height: 1.1;
    width: 150px;
    float: left
}

.table02>dl>dt.small {
    padding: 10px 15px;
}

.table02>dl>dd {
    padding: 0 0 0 170px
}

.table02>dl>dd>div {
    padding: 5px 15px;
    line-height: 1.1;
    background: #fff;
    display: block
}

.table02>dl>dd:first-of-type>div {
    padding-top: 20px
}

.table02>dl>dd.small:first-of-type>div {
    padding-top: 10px;
}

.table02>dl>dd:last-of-type>div {
    padding-bottom: 20px
}

.table02>dl>dd.small:last-of-type>div {
    padding-bottom: 10px
}

.table02_en>dl {
    border-bottom: solid 1px #ccc;
    overflow: hidden
}

.table02_en>dl>dt {
    padding: 20px 15px;
    line-height: 1.1;
    width: 180px;
    float: left
}

.table02_en>dl>dd {
    padding: 0 0 0 170px
}

.table02_en>dl>dd>div {
    padding: 5px 15px;
    line-height: 1.1;
    background: #fff;
    display: block
}

.table02_en>dl>dd:first-of-type>div {
    padding-top: 20px
}

.table02_en>dl>dd:last-of-type>div {
    padding-bottom: 20px
}

.table03 {
    border-top: solid 1px #ccc;
    background: #efefef
}

.table03>dl>dt {
    padding: 15px;
    box-sizing: border-box;
    width: 210px;
    float: left
}

.table03>dl>dd {
    padding: 0 0 0 180px;
    border-bottom: solid 1px #ccc
}

.table03>dl>dd>div {
    padding: 15px;
    box-sizing: border-box;
    background: #fff
}

.table04 {
    border-top: solid 1px #ccc;
    background: #efefef
}

.table04>dl {
    border-bottom: solid 1px #ccc;
    overflow: hidden
}

.table04>dl>dt {
    padding: 20px 15px;
    line-height: 1.1;
    box-sizing: border-box;
    width: 180px;
    float: left
}

.table04>dl>dd {
    padding: 0 0 0 170px
}

.table04>dl>dd>div {
    padding: 5px 15px;
    line-height: 1.1;
    box-sizing: border-box;
    background: #fff;
    display: block
}

.table04>dl>dd:first-of-type>div {
    padding-top: 20px
}

.table04>dl>dd:last-of-type>div {
    padding-bottom: 20px
}

.fs0 {
    font-size: 0;
    line-height: 0
}

.fs10 {
    font-size: 77%;
    line-height: 1.5
}

.fs11 {
    font-size: 85%;
    line-height: 1.5
}

.fs12 {
    font-size: 93%;
    line-height: 1.5
}

.fs14 {
    font-size: 108%;
    line-height: 1.5
}

.fs15 {
    font-size: 116%;
    line-height: 1.5
}

.fs16 {
    font-size: 124%;
    line-height: 1.5
}

.fs17 {
    font-size: 131%;
    line-height: 1.5
}

.fs18 {
    font-size: 139%;
    line-height: 1.5
}

.fs19 {
    font-size: 147%;
    line-height: 1.5
}

.fs20 {
    font-size: 154%;
    line-height: 1.5
}

.fs21 {
    font-size: 162%;
    line-height: 1.5
}

.fs22 {
    font-size: 170%;
    line-height: 1.5
}

.fs23 {
    font-size: 177%;
    line-height: 1.5
}

.fs24 {
    font-size: 185%;
    line-height: 1.5
}

.fs25 {
    font-size: 193%;
    line-height: 1.5
}

.fw {
    font-weight: bold
}

.lh12 {
    line-height: 1.2
}

.lh14 {
    line-height: 1.4
}

.lh16 {
    line-height: 1.6
}

.lh18 {
    line-height: 1.8
}

.lh20 {
    line-height: 2
}

.tl {
    text-align: left
}

.tc {
    text-align: center
}

.tr {
    text-align: right
}

.gray {
    color: #888
}

.blue {
    color: #0051c0
}

.red {
    color: #eb0a31
}

.orange {
    color: #f4650e
}

.green {
    color: #75a233
}

.officer .officer_name {
    width: 6em;
    display: inline-block
}

.officer .officer_name_en {
    width: 13em;
    display: inline-block
}

.assoc_history_detail {
    margin: -10px 0 0 0
}

.assoc_history_detail dt {
    padding: 10px;
    width: 170px;
    float: left
}

.assoc_history_detail dt::before {
    content: "";
    color: #05acbb;
    margin-right: 5px
}

.assoc_history_detail dd {
    padding: 10px 0 10px 170px;
    border-bottom: dotted 1px #ccc
}

.membership_total {
    margin: 0 0 10px 0 !important
}

.membership_count {
    padding: 5px 0 0 0;
    border-top: dotted 1px #ccc;
    overflow: hidden
}

.membership_count dd {
    float: left
}

.ethics_block {
    margin-bottom: 80px
}

.access_map {
    margin: 0 0 35px 0
}

.map_canvas {
    width: 100%;
    height: 500px
}

.access_info_area {
    overflow: hidden
}

.access_map iframe {
    width: 100%;
    height: 250px
}

.activities_list>ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: -13px;
    margin-right: -13px;
    margin-top: 20px;
}

.activities_list>ul>li {
    margin-bottom: 40px;
    width: calc(100%/3);
    padding: 0 13px;
    box-sizing: border-box;
}

.activities_list>ul>li:nth-child(4n+1) {
    margin-left: 0
}

.activities_panel {
    width: 100%;
    height: 290px;
    float: left;
    display: block;
    overflow: hidden;
    position: relative
}

.activities_panel:hover {
    color: #fff
}

.activities_panel_backdrop {
    width: 100%;
    display: none;
    position: absolute;
    top: 0
}

.activities_panel_backdrop img {
    width: 100%
}

.activities_panel_overlay {
    text-align: center;
    color: #fff;
    background: rgba(5, 172, 187, .9);
    width: 100%;
    height: 90px;
    display: none;
    z-index: 5;
    position: absolute;
    bottom: -30px
}

.activities_name {
    width: 100%;
    height: 60px;
    display: table
}

.activities_name span {
    padding: 0 15px;
    line-height: 1.4;
    vertical-align: middle;
    display: table-cell
}

.activities_panel_link {
    padding: 0 15px;
    font-size: 79%;
    line-height: 30px;
    color: #fff;
    background: #007c87
}

.activities_panel_link::after {
    content: "";
    margin-left: 4px
}

.activities_introduction {
    margin-bottom: 50px
}

.forum_archive_block {
    padding: 50px !important;
    text-align: left;
    width: 820px !important
}

.forum_archive_block>.article_block {
    margin: 0
}

.modal_close {
    margin-top: 50px;
    text-align: center
}

.modal_close .btn01 {
    margin: auto;
    min-width: 200px;
    display: inline-block
}

.article_block .newest-link {
    color: #05acbb;
}

.loss-adjuster_role .box_list_inner>.box_panel {
    margin: 0 0 0 30px;
    width: 300px
}

.loss-adjuster_role h4 {
    margin: 0 0 10px 0;
    font-size: 115%;
    font-weight: bold
}

.loss-adjuster_literacy .box_list_inner{
    all: unset;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.loss-adjuster_literacy .box_list_inner>.box_panel {
    margin: 0;
    padding: 20px;
    border: solid 1px #05acbb;
    width: calc(50% - 10px);
    float: unset;
    left: unset;
}

.loss-adjuster_literacy .box_list_inner>.box_panel:nth-child(2n+1) {
    margin-left: 0 !important
}

.loss-adjuster_literacy h4 {
    margin: 0 0 15px 0;
    padding: 5px 15px;
    font-size: 129%;
    /* border-left: solid 3px #05acbb; */
    background: #efefef;
    color: #fff;
}

.interview_header {
    padding: 0 !important;
    position: relative
}

.interview_header .interviewee {
    background: url(../images/common/bg01.png);
    width: 480px;
    height: 400px;
    display: table;
    position: absolute;
    top: 0;
    left: 0
}

.interview_header .interviewee .interviewee_inner {
    padding-top: 20px;
    text-align: center;
    vertical-align: middle;
    display: table-cell;
    position: relative
}

.interview_header .interviewee .label_interview {
    padding: 15px 0;
    font-size: 115%;
    line-height: 1.1;
    text-align: center;
    color: #fff;
    background: #05acbb;
    width: 150px;
    position: absolute;
    top: 0;
    left: 0
}

.interviewee_name {
    padding: 0 0 25px 0;
    border-bottom: solid 1px #05acbb;
    display: inline-block
}

.interviewee_name>.name {
    font-size: 392.9%;
    line-height: 1.1;
    letter-spacing: .15em
}

.interviewee_name>.name::first-letter {
    color: #05acbb
}

.interviewee_name>.roma {
    margin: 10px 0 0 0 !important;
    font-size: 108%;
    letter-spacing: .1em;
    color: #999
}

.interviewee_company {
    margin: 25px 0 0 0 !important;
    font-size: 129%;
    line-height: 1.5
}

.interview_article .article_txt {
    width: 530px;
    float: left
}

.interview_article .article_photo {
    margin: 5px 0 0 0;
    width: 350px;
    float: right
}

.interview_mov {
    padding: 29px;
    border: solid 1px #e4e2d9;
    background: #f7f5ec
}

.faq_block {
    margin: 0;
    position: relative
}

.btn_ctrl {
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden
}

.btn_ctrl li {
    margin: 0 0 0 5px;
    float: left
}

.btn_ctrl .btn_open,
.btn_ctrl .btn_close {
    margin: 0;
    color: #333;
    border-radius: 2px;
    border: solid 1px #ccc;
    background: #eee;
    width: 150px;
    height: 30px;
    cursor: pointer;
    display: block;
    outline: none;
    position: relative
}

.btn_ctrl .btn_open:hover,
.btn_ctrl .btn_close:hover {
    color: #05acbb
}

.faq_list_body,
.backnumber_list_body {
    border-top: dotted 1px #ccc
}

.faq_list_body section,
.backnumber_list_body section {
    margin: 0;
    padding: 0;
    border-bottom: dotted 1px #ccc
}

.faq_list_body section h4,
.backnumber_list_body section h4 {
    padding: 0;
    position: relative
}

.faq_list_body section h4::after,
.backnumber_list_body section h4::after {
    font-family: "icons";
    margin: 0;
    content: "";
    font-size: 143%;
    line-height: 1.1;
    color: #05acbb;
    position: absolute;
    top: 15px;
    right: 15px
}

.faq_list_body section h4 span {
    padding: 12px 45px;
    border-radius: 2px;
    position: relative;
    display: block;
    cursor: pointer
}

.backnumber_list_body section h4 span {
    padding: 12px 45px 12px 12px;
    border-radius: 2px;
    position: relative;
    display: block;
    cursor: pointer
}

.backnumber_list_body section h4 div {
    padding: 12px 45px 12px 12px;
    border-radius: 2px;
    position: relative;
    display: block;
}

.faq_list_body section h4 span::before {
    margin: 0;
    font-size: 143%;
    line-height: 1.1;
    color: #05acbb;
    content: "";
    position: absolute;
    top: 15px;
    left: 15px
}

.faq_list_body section h4 span:hover,
.backnumber_list_body section:not(:first-child) h4 span:hover {
    border-radius: 2px;
    background: #efefef
}

.faq_list_body section.simpleFAQShowing h4,
.backnumber_list_body section.simpleBacknumberShowing h4 {
    color: #05acbb;
    background: #fff
}

.faq_list_body section.simpleFAQShowing h4::after,
.backnumber_list_body section.simpleBacknumberShowing h4::after {
    margin: 0;
    font-size: 143%;
    line-height: 1.1;
    color: #05acbb;
    content: "";
    position: absolute;
    top: 15px;
    right: 15px
}

.faq_list_body section.simpleFAQShowing h4 span:hover,
.backnumber_list_body section.simpleBacknumberShowing h4 span:hover {
    border-radius: 2px;
    background: #efefef
}

.answer {
    margin: 10px 0 30px 45px;
    padding: 20px 20px 20px 25px;
    border-radius: 2px;
    border: solid 1px #f8f0cf;
    background: #fffcf0
}

.backnumber_list_body section ul.backnumber_list {
    margin: 10px 0 30px 45px;
}

.visual_area {
    margin: 0 0 40px 0;
    border-bottom: solid 2px #05acbb;
    background: url(../images/top/visual_bg.jpg) no-repeat 50% 50%;
    background-size: cover;
    width: 100%;
    height: 550px
}

.visual_inner,
.visual_inner_en {
    margin: 0 auto;
    padding: 110px 0 0 0;
    text-align: center
}

.visual_inner img {
    width: 547px
}

.visual_inner_en img {
    width: 730px
}

.visual_inner.-sub {
    padding-top: 60px
}

.news_area {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden;
    position: relative
}

.news_area h2 {
    position: absolute;
    top: -99999px;
    left: -99999px
}

.news_inner {
    margin: 0 auto;
    padding: 0 40px 0 0;
    text-align: left;
    width: 960px
}

.news_inner_en {
    margin-top: -10px;
    padding: 65px 40px;
    text-align: left;
    background: #efefef
}

.news_btn {
    position: absolute;
    top: 5px;
    right: 0
}

.news_btn li {
    margin: 0 0 0 10px;
    font-size: 79%;
    text-align: right;
    display: inline
}

.news_btn li a {
    text-decoration: none
}

.news_btn li a i {
    font-size: 118%;
    color: #ccc
}

.tabs {
    margin: 0 0 -1px 0;
    overflow: hidden
}

.tabs>li {
    margin: 0 5px 0 0;
    float: left
}

.tabs>li a {
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    color: #999;
    border-radius: 2px 2px 0 0;
    border: solid 1px #ccc;
    background: #efefef;
    width: 100px;
    display: block
}

.tabs>li.active a {
    color: #05acbb;
    border-bottom: solid 1px #fff !important;
    background: #fff
}

.tabs_content {
    padding: 10px 0 0 0;
    border-top: solid 1px #ccc;
    min-height: 230px
}

.tabs_content_en {
    padding: 10px 0 0 0;
    border-top: solid 1px #ccc;
    min-height: 194px
}

.tab_select_outer {
    width: 100%;
    position: relative;
    color: #333;
    display: block;
    overflow: hidden
}

.tab_select_outer::after {
    position: absolute;
    content: "";
    right: 1px;
    top: 1px;
    bottom: 0;
    line-height: 1.1;
    pointer-events: none;
    background-color: #05acbb;
    color: #fff;
    height: 26px;
    width: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0 5px 0 0
}

.tab_select_outer select {
    width: 100%;
    padding: 2px 5px 1px;
    height: 27px;
    font-size: 16px;
    border-radius: 7px 7px 0 0;
    background-color: #fff
}

.tab_select_outer select:focus {
    outline: none
}

.tab_select_outer select option:checked {
    outline: none
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.update_body>.loading {
    height: 230px
}

.update_body>.no_entry {
    padding: 30px;
    text-align: center;
    border: solid 1px #eee;
    background: #f2f2f2
}

.home .bnrs {
    padding: 0 0 0 0
}

.home .bnrs_en {
    padding: 36px 0 0 0
}

.top_attention {
    border: 1px solid #efb400;
    background-color: #fffade;
    padding-bottom: 1rem
}

.top_attention h3 {
    font-size: 1rem;
    font-weight: bold;
    background-color: #efb400;
    text-align: center;
    color: #222;
    padding: .5rem;
    margin-bottom: 1rem
}

.top_attention p {
    padding: 0 1rem
}

.top_attention ul {
    padding: 0 1rem;
    margin-left: 1rem
}

.top_attention a {
    color: #05acbb
}

.qualification_test {
    margin-bottom: 40px
}

.attention_box {
    margin: 0 0 40px 0;
    padding: 30px;
    border: solid 1px #f3c0cf;
    background: #fdecf1
}

.attention_box h3 {
    margin: -10px 0 10px -5px;
    font-size: 129%;
    line-height: 1.4
}

.attention_box h3 i {
    font-size: 122%;
    color: #e92c58
}

.member_meta {
    margin: 0;
    line-height: 1.4;
    text-align: right;
    color: #fa3e58;
    float: right
}

.member_map {
    margin-top: 20px;
    border: solid 1px #ccc
}

.member_map img {
    display: block;
    width: 100%
}

.member_map_link {
    margin-top: 30px
}

.member_map_link>a {
    width: 300px
}

.member_area_block {
    margin: 0 0 50px 0
}

.member_area_block>ul {
    border-left: dotted 1px #bbb;
    overflow: hidden
}

.member_area_block>ul>li {
    border-right: dotted 1px #bbb;
    border-bottom: dotted 1px #bbb;
    width: 50%;
    float: left
}

.member_area_block>ul>li a,
.member_area_block>ul>li span {
    padding: 10px 15px;
    text-decoration: none;
    display: block;
    position: relative
}

.member_area_block>ul>li a:hover {
    background: #efefef
}

.member_area_block>ul>li:first-child {
    border-top: dotted 1px #bbb
}

.member_info {
    position: relative
}

.member_info_detail {
    margin: 30px 0 0 0
}

.member_info_comment {
    margin: 30px 0 0 0
}

.member_info .ttl01 {
    margin-bottom: 0
}

.member_info .member_website {
    width: 140px;
    position: absolute;
    bottom: 0;
    left: 0
}

.member_info .member_website .btn_website {
    line-height: 35px;
    height: 35px
}

.member_info .member_website .btn_website:before {
    margin: 0 5px 0 0;
    font-family: "icons";
    color: #fff;
    content: ""
}

.member_info .member_website .btn {
    margin: 0 auto;
    text-align: center;
    text-decoration: none !important;
    border-radius: 2px;
    border: none;
    width: 100%;
    display: inline-block;
    cursor: pointer;
    outline: none
}

.member_info .member_manager {
    margin-top: .5rem
}

.member_info .member_info_detail table {
    border-top: solid 1px #ccc;
    width: 100%
}

.member_info .member_info_detail table th,
.member_info .member_info_detail table td {
    vertical-align: top
}

.member_info .member_info_detail table th {
    padding: 8px 2em 8px 1em;
    line-height: 1;
    background: #efefef
}

.member_info .member_info_detail table th.add {
    width: 50%
}

.member_info .member_info_detail table th.tel,
.member_info .member_info_detail table th.fax {
    width: 15%
}

.member_info .member_info_detail table td {
    padding: 5px;
    line-height: 1.4
}

.update_body .loading {
    width: 100%;
    height: 30px;
    background: url(../images/common/loading.gif) no-repeat center center
}

.update_body .feed_row {
    margin: 0;
    border-bottom: dotted 1px #ccc;
    display: block
}

.feed_row a {
    text-decoration: none;
    display: block
}

.feed_row a:hover {
    text-decoration: none;
    background: #efefef
}

.feed_row aa:hover .entry_ttl {
    text-decoration: underline
}

.feed_row a[target=_blank] .entry_ttl span::after {
    margin-left: 5px;
    content: "";
    font-size: 72%;
    line-height: 1.1
}

.feed_row dl {
    padding: 10px 0;
    width: 100%;
    display: flex;
    align-items: center
}

.feed_row dt,
.feed_row dd {
    line-height: 1.1
}

.feed_row dt {
    padding: 0 0 0 10px;
    width: 115px
}

.feed_row .entry_cate {
    padding: 0 30px 0 0;
    text-align: center;
    width: 140px
}

.feed_row .entry_cate .cate_label {
    margin: 0;
    padding: 4px;
    font-size: 79%;
    color: #fff;
    border-radius: 2px;
    width: 100%;
    display: block
}

.feed_row .entry_cate>.info {
    background: #efb400
}

.feed_row .entry_cate>.member {
    background: #1e96e6
}

.feed_row .entry_cate>.website {
    background: #ababab
}

.feed_row .entry_cate>.association {
    background: #05acbb
}

.feed_row .entry_ttl {
    padding: 0
}

.feed_row .entry_ttl span {
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    overflow: hidden
}

.result_page {
    margin: -10px 0 0 0;
    padding: 0 0 10px 0;
    text-align: right;
    color: #666
}

.entry_pager {
    margin: 0;
    padding: 50px 0 0 0
}

.entry_pager ul {
    margin: 0;
    padding: 0;
    text-align: center
}

.entry_pager li {
    margin: 0;
    padding: 0;
    display: inline
}

.entry_pager li span,
.entry_pager li a {
    margin: 0;
    padding: 5px 3px;
    font-size: 86%;
    text-align: center;
    text-decoration: none;
    border: solid 1px #ccc;
    background: #fff;
    display: inline-block;
    width: auto;
    min-width: 30px
}

.entry_pager li a:hover {
    background: #efefef
}

.entry_pager li span {
    color: #fff;
    border: solid 1px #05acbb;
    background: #05acbb
}

.entry_pager .prev a,
.entry_pager .next a {
    padding: 5px 10px
}

.entry_header {
    margin: -10px 0 20px 0
}

.entry_header h3 {
    margin: 0 0 10px 0;
    padding: 0 0 15px 0;
    font-size: 143%;
    font-weight: bold;
    border-bottom: solid 1px #ccc
}

.entry_meta {
    text-align: right;
    color: #999
}

.entry_body {
    padding: 0 0 30px 0;
    min-height: 300px
}

.entry_body strong {
    font-weight: bold
}

.entry_body p,
.entry_body ol,
.entry_body ul,
.entry_body blockquote {
    margin: 0 0 1.5em 0
}

.entry_body ol li {
    margin: 0 0 0 1.7em;
    list-style-type: decimal
}

.entry_body ul li {
    margin: 0 0 0 1.7em;
    list-style-type: disc
}

.entry_body blockquote {
    padding: 25px;
    color: #666;
    border-radius: 3px;
    border: solid 1px #f8f0cf;
    background: #fffcf0
}

.entry_body blockquote p:last-of-type,
.entry_body blockquote ol:last-of-type,
.entry_body blockquote ul:last-of-type {
    margin: 0
}

.entry_body img {
    max-width: 100%
}

.back_list {
    padding: 40px 0 0 0;
    text-align: center;
    border-top: solid 1px #ccc;
    width: 100%
}

.back_list>a {
    margin: 0 auto;
    width: 200px
}

.privacy .privacy_inner {
    margin: 0 0 30px 0
}

.sitemap_area {
    overflow: hidden
}

.sitemap_column {
    margin: 0 0 0 30px;
    width: 300px;
    float: left
}

.sitemap_column:first-of-type {
    margin: 0
}

.sitemap_column li {
    margin: 0 0 10px 0
}

.sitemap_column li ul {
    padding: 10px 0 0 0
}

.sitemap_column li a {
    padding: 15px 1em 15px 1.5em;
    text-align: left;
    text-decoration: none;
    line-height: 1.4;
    border-radius: 2px;
    border: solid 1px #dadada;
    background: .sitemap_column li a #fff;
    display: block;
    position: relative
}

.sitemap_column li a:hover {
    background: #efefef
}

.sitemap_column li li a {
    padding-left: 3em
}

.sitemap_column li li a::before {
    margin: -7px 0 0 0;
    content: "";
    font-size: 117%;
    line-height: 1.1;
    color: #ccc;
    position: absolute;
    top: 23px;
    left: 1.5em
}

@media screen and (min-width: 768px) {
    body {
        min-width: 960px
    }

    .header_body {
        width: 960px
    }

    .page_ttl h2 {
        padding: 0 30px;
        line-height: 70px;
        width: 960px;
        height: 70px;
        background: #05acbb url(../images/common/page_ttlbar_bg.png) no-repeat right 15px top 15px
    }

    .pankuzu ul {
        width: 960px;
        text-align: right
    }

    .drawer-hamburger {
        display: none
    }

    .contents_inner {
        width: 960px
    }

    .main {
        float: left;
        width: 720px
    }

    .sub {
        width: 192px;
        float: right
    }

    .footer_inner {
        width: 960px
    }

    .footer_top {
        font-size: 86%
    }

    .footer_top a {
        width: 192px
    }

    .footer_top .btn_home {
        width: 192px
    }

    .footer_top .btn_pagetop {
        width: 192px
    }

    .footer_main {
        padding: 30px 0 25px 0
    }

    .footer_nav ul.footer_nav_list01 li,
    .footer_nav ul.footer_nav_list02 li,
    .footer_nav_en ul.footer_nav_list01 li,
    .footer_nav_en ul.footer_nav_list02 li {
        font-size: 86%;
        display: inline
    }

    .footer_info dl dt {
        float: left
    }

    .footer_info dl dd {
        margin: 0 0 0 25px;
        padding: 0 0 0 25px;
        font-size: 79%;
        border-left: solid 1px #ccc;
        float: left
    }

    .footer_info_en dl dt {
        float: left
    }

    .footer_info_en dl dd {
        margin: 8px 0 0 25px;
        padding: 0 0 0 25px;
        font-size: 79%;
        line-height: 1.5;
        border-left: solid 1px #ccc;
        float: left
    }

    .pc-none {
        display: none !important
    }

    .box_list>ul>li:first-of-type,
    .box_list>.box_list_inner>.box_panel:first-of-type {
        margin: 0 !important
    }

    .visual_inner,
    .visual_inner_en {
        width: 960px
    }

    .tabs>li a {
        font-size: 86%
    }

    .member_area_block>ul>li:nth-child(2) {
        border-top: dotted 1px #bbb
    }

    .member_info h3 {
        margin-right: 220px
    }

    .member_info .member_website {
        top: 0;
        right: 0;
        bottom: initial;
        left: initial
    }

    .member_info .member_manager {
        font-size: 1.1rem
    }

    .member_info .member_info_detail table th,
    .member_info .member_info_detail table td {
        border-bottom: solid 1px #ccc
    }

    .member_info .member_info_detail table td {
        padding: 10px
    }

    .feed_row .entry_ttl span {
        width: 460px
    }
}

@media screen and (max-width: 767px) {
    body {
        width: 100%
    }

    a:link,
    a:visited {
        word-wrap: break-word;
        overflow-wrap: break-word
    }

    .header_body {
        height: auto;
        width: 100%;
        z-index: 0
    }

    .site_logo {
        margin: 0;
        padding: 49px 0 0 0;
        width: 100%;
        top: 0
    }

    .site_logo_en {
        width: 100%
    }

    .site_logo_en h1 {
        margin: 0;
        padding: 49px 0 0 0;
        width: 100%
    }

    a.btn_mypage {
        font-size: 100%;
        line-height: 48px;
        position: static;
        height: 48px;
        width: 100%;
        background-size: cover
    }

    .language_bar {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 0 auto 20px
    }

    .language_bar li {
        width: 130px;
        height: 40px;
        margin: 0 10px
    }

    .language_bar li a,
    .language_bar li span {
        font-size: 100%;
        line-height: 40px
    }

    .page_ttl {
        padding: 55px 15px;
        height: auto
    }

    .page_ttl h2 {
        padding: 16px 30px;
        line-height: 1.1;
        width: 100%;
        height: auto;
        background: #05acbb url(../images/common/page_ttlbar_bg.png) no-repeat right 15px center
    }

    .page_ttl h2 span {
        padding: 5px 0 0 0;
        display: block
    }

    .pankuzu {
        margin: 0 0 20px 0;
        font-size: 79%
    }

    .pankuzu ul {
        padding: 10px 0 10px 0;
        text-align: left;
        margin-left: 15px;
        margin-right: 15px
    }

    .pankuzu ul li {
        padding: 0 0 0 16px
    }

    .pankuzu ul li:first-child {
        padding: 0
    }

    .pankuzu ul li::before {
        left: 6px
    }

    .contents {
        padding: 0 0 50px 0
    }

    .contents_inner {
        padding-left: 15px;
        padding-right: 15px
    }

    .article_body {
        width: 100%;
        float: none;
        margin: 0 0 20px 0
    }

    .article_img {
        width: 100%;
        float: none
    }

    .main {
        width: 100%
    }

    .main .article_body {
        width: 100%;
        float: none
    }

    .main .article_img {
        width: 90%;
        margin: 15px auto 0;
        float: none
    }

    .sub {
        width: 100%;
        margin: 35px 0 0
    }

    .italic_ttl {
        margin: -4px 0 0 0
    }

    .tab_nav>ul {
        position: static;
        margin: 0 auto
    }

    .tab_nav>ul>li {
        width: 50%;
        position: static
    }

    .tab_nav>ul>li a {
        min-height: 55px;
        font-size: 86%
    }

    .ttl01 {
        margin: 0 0 10px 0;
        font-size: 140%
    }

    .ttl01>.annotation02 {
        text-indent: -1em;
        padding: 0 0 0 1em;
        display: block;
        font-size: 70%
    }

    .ttl02 {
        margin: 0 0 10px 0;
        font-size: 120%;
    }

    .article_block p,
    .article_block ul,
    .article_block_en p,
    .article_block_en ul {
        margin: 0 0 10px 0
    }

    .article_block .annotation01,
    .article_block .annotation01_en,
    .article_block_en .annotation01,
    .article_block_en .annotation01_en {
        margin: 0
    }

    .article_block .article_figure figcaption,
    .article_block_en .article_figure figcaption {
        font-size: 90%
    }

    .annotation02_en {
        padding: 0 0 0 1em;
        margin: 0 0 25px 0;
        font-size: 100%
    }

    .local_nav>ul {
        margin: 0
    }

    .local_nav>ul>li>a {
        font-size: 100%
    }

    .bnrs {
        margin: 35px 0 0 0
    }

    .footer_inner {
        width: 100%
    }

    .footer_top {
        font-size: 100%
    }

    .footer_top .btn_home {
        width: 50%
    }

    .footer_top .btn_pagetop {
        width: 50%
    }

    .footer_main {
        padding: 25px 0 25px 0
    }

    .footer_nav ul.footer_nav_list01,
    .footer_nav ul.footer_nav_list02,
    .footer_nav_en ul.footer_nav_list01,
    .footer_nav_en ul.footer_nav_list02 {
        display: flex;
        flex-wrap: wrap
    }

    .footer_nav ul.footer_nav_list01 li,
    .footer_nav ul.footer_nav_list02 li,
    .footer_nav_en ul.footer_nav_list01 li,
    .footer_nav_en ul.footer_nav_list02 li {
        margin: 0;
        font-size: 100%;
        width: 50%
    }

    .footer_nav ul.footer_nav_list01 li:nth-child(odd),
    .footer_nav ul.footer_nav_list02 li:nth-child(odd),
    .footer_nav_en ul.footer_nav_list01 li:nth-child(odd),
    .footer_nav_en ul.footer_nav_list02 li:nth-child(odd) {
        border-right: 1px solid #ddd
    }

    .footer_nav ul.footer_nav_list01 li a,
    .footer_nav ul.footer_nav_list02 li a,
    .footer_nav_en ul.footer_nav_list01 li a,
    .footer_nav_en ul.footer_nav_list02 li a {
        text-decoration: none;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .footer_nav ul.footer_nav_list01 {
        border-top: 1px solid #ddd
    }

    .footer_nav ul.footer_nav_list01 li {
        border-bottom: 1px solid #ddd
    }

    .footer_nav ul.footer_nav_list02 {
        border-bottom: 1px solid #ddd
    }

    .footer_nav ul.footer_nav_list02 li:not(:last-child) {
        border-bottom: 1px solid #ddd
    }

    .footer_nav_en ul.footer_nav_list01 {
        border-top: 1px solid #ddd
    }

    .footer_nav_en ul.footer_nav_list01 li {
        border-bottom: 1px solid #ddd
    }

    .footer_nav_en ul.footer_nav_list02 {
        border-bottom: 1px solid #ddd
    }

    .footer_nav_en ul.footer_nav_list02 li {
        border-bottom: 1px solid #ddd
    }

    .footer_nav_en ul.footer_nav_list02 li:nth-last-of-type(-n+2) {
        border-bottom: 0
    }

    .footer_info dl {
        width: 290px;
        margin: 0 auto
    }

    .footer_info dl dt {
        float: none
    }

    .footer_info dl dd {
        font-size: 90%;
        margin-top: 10px;
        border: 0
    }

    .footer_info_en dl {
        width: 290px;
        margin: 0 auto
    }

    .footer_info_en dl dt {
        float: none;
        margin: 0 auto
    }

    .footer_info_en dl dd {
        font-size: 90%;
        margin-top: 10px;
        border: 0
    }

    .copy {
        line-height: 1.5em
    }

    .article_block {
        margin: 0 0 35px 0
    }

    .article_block_en {
        margin: 0 0 35px 0
    }

    .article_block>.article_block,
    .article_block>.article_block_en,
    .article_block_en>.article_block,
    .article_block_en>.article_block_en {
        margin: 0 0 35px 0
    }

    .article_block>.article_block:last-child,
    .article_block>.article_block_en:last-child,
    .article_block_en>.article_block:last-child,
    .article_block_en>.article_block_en:last-child {
        margin: 0
    }

    .article_block>.article_block:first-child,
    .article_block>.article_block_en:first-child,
    .article_block_en>.article_block:first-child,
    .article_block_en>.article_block_en:first-child {
        padding: 0
    }

    div.form_layout {
        border: 0
    }

    .form_layout .list_line {
        margin: 0 0 10px;
        border: 0
    }

    .form_layout .list_line:last-child {
        margin: 0
    }

    .form_layout .list_name {
        padding: 10px 0 10px 10px;
        width: 100%;
        float: none
    }

    .form_layout .list_name span.required {
        top: 15px;
        right: 10px
    }

    .form_layout .list_contents {
        width: 100%;
        float: none
    }

    .form_layout .list_contents .sec_list_line {
        padding: 0 0 15px
    }

    .form_layout .list_contents .sec_list_name {
        padding: 0;
        width: 100%;
        float: none
    }

    .form_layout .list_contents .sec_list_contents {
        width: 100%;
        float: none
    }

    .form_layout .list_contents_inner {
        padding: 0
    }

    .form_layout input[type=text],
    .form_layout select,
    .form_layout option {
        font-size: 16px
    }

    .inputarea1 {
        width: 100%;
        float: none
    }

    .inputarea2 {
        width: 100%;
        float: none
    }

    .inputarea4 {
        width: 100%
    }

    .commentarea1 {
        font-size: 16px
    }

    .sp-none {
        display: none !important
    }

    .box_list>ul,
    .box_list>.box_list_inner {
        left: 0;
        float: none
    }

    .box_list>ul>li,
    .box_list>.box_list_inner>.box_panel {
        left: 0;
        float: none
    }

    .table01>dl>dt,
    [lang="en"] .table01>dl>dt{
        float: none;
        width: 100%;
        padding: 2px 15px
    }

    .table01>dl>dd,
    [lang="en"] .table01>dl>dd {
        padding: 0
    }

    .table01>dl>dd>div {
        padding: 10px
    }

    .table01_en>dl>dt {
        padding: 2px 15px;
        line-height: 1.8;
        float: none;
        width: 100%
    }

    .table01_en>dl>dt.small {
        padding: 2px 15px;
    }

    .table01_en>dl>dd {
        padding: 0
    }

    .table02>dl>dt {
        padding: 2px 15px;
        line-height: 1.8;
        float: none;
        width: 100%
    }

    .table02>dl>dd {
        padding: 0
    }

    .table02_en>dl>dt {
        padding: 2px 15px;
        line-height: 1.8;
        float: none;
        width: 100%
    }

    .table02_en>dl>dd {
        padding: 0
    }

    .table03>dl>dt {
        padding: 2px 15px;
        line-height: 1.8;
        float: none;
        width: 100%
    }

    .table03>dl>dd {
        padding: 0
    }

    .table04>dl>dt {
        padding: 2px 15px;
        line-height: 1.8;
        float: none;
        width: 100%
    }

    .table04>dl>dd {
        padding: 0
    }

    .assoc_history_detail dt {
        padding: 10px 0 0;
        width: 100%;
        float: none
    }

    .assoc_history_detail dd {
        padding: 0 0 10px 0
    }

    .ethics_block {
        margin-bottom: 35px
    }

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

    .activities_list>ul>li {
        margin: 0 0 35px 0;
        width: 50%;
        padding: 0 7px;
    }

    .activities_list>ul>li:last-child {
        margin: 0
    }

    .activities_panel {
        width: 100%;
        height: 170px;
    }

    .activities_introduction {
        margin-bottom: 35px
    }

    .loss-adjuster_role .box_list_inner>.box_panel {
        margin: 0 0 20px 0;
        width: 100%
    }

    .loss-adjuster_role .box_list_inner>.box_panel:last-child {
        margin: 0
    }

    .loss-adjuster_role h4 {
        margin: 0
    }

    .loss-adjuster_literacy .box_list_inner{
        gap: 0;
    }

    .loss-adjuster_literacy .box_list_inner>.box_panel {
        margin: 0 0 20px 0;
        width: 100%
    }

    .loss-adjuster_literacy .box_list_inner>.box_panel:last-child {
        margin: 0
    }

    .loss-adjuster_literacy .box_list_inner>.literacy_box {
        height: auto !important
    }

    .interview_header {
        margin: 0 0 35px 0 !important
    }

    .interview_header .interviewee {
        width: 100%;
        height: auto;
        position: static
    }

    .interview_header .interviewee .label_interview {
        width: 100%;
        position: static;
        margin: 0 auto 20px
    }

    .interviewee_name {
        padding: 0 0 10px 0
    }

    .interviewee_name>.name {
        font-size: 250%
    }

    .interviewee_company {
        margin: 10px 0 10px 0 !important
    }

    .interview_article {
        margin: 0 0 35px 0 !important
    }

    .interview_article .article_txt {
        width: 100%;
        float: none
    }

    .interview_article .article_photo {
        margin: 20px 0 0 0;
        width: 100%;
        float: none
    }

    .interview_mov iframe {
        width: 100%;
        height: auto
    }

    .btn_ctrl {
        position: static;
        margin: 20px 0
    }

    .btn_ctrl li:first-child {
        margin: 0
    }

    .btn_ctrl .btn_open,
    .btn_ctrl .btn_close {
        width: 130px
    }

    .answer {
        margin: 0 0 20px
    }

    .visual_area {
        margin: 0 0 20px 0;
        height: auto;
        min-height: 350px
    }

    .visual_inner,
    .visual_inner_en {
        width: 100%;
        padding: 50px 20px 30px 20px
    }

    .visual_inner img {
        width: 100%
    }

    .visual_inner_en img {
        width: 90%
    }

    .visual_inner.-sub {
        padding-top: 0
    }

    .news_area {
        position: static;
        margin-bottom: 20px
    }

    .news_btn {
        position: static;
        margin-bottom: 20px
    }

    .news_btn li {
        font-size: 100%
    }

    .tabs>li {
        float: none;
        margin: 0
    }

    .tabs>li a {
        width: 100%;
        font-size: 100%
    }

    .tabs_content {
        padding: 0
    }

    #tab01,
    #tab02,
    #tab03,
    #tab04,
    #tab05 {
        animation: fadeIn 1s ease 0s 1 normal;
        -webkit-animation: fadeIn 1s ease 0s 1 normal
    }

    .qualification_test {
        margin-bottom: 35px
    }

    .attention_box {
        margin: 0 0 35px 0
    }

    .member_meta {
        margin: 0 0 20px 0;
        line-height: normal;
        text-align: left;
        float: none
    }

    .member_map_link {
        margin-top: 20px
    }

    .member_map_link>a {
        width: 100%
    }

    .member_area_block {
        margin: 0 0 35px 0
    }

    .member_area_block>ul>li {
        width: 100%;
        float: none
    }

    .member_info .member_name {
        position: relative;
        padding-bottom: 50px
    }

    .member_info .member_info_detail table thead {
        display: none
    }

    .member_info .member_info_detail table th,
    .member_info .member_info_detail table td {
        display: block
    }

    .member_info .member_info_detail table tr {
        display: block;
        padding: 5px 0;
        border-bottom: solid 1px #ccc
    }

    .feed_row dl {
        padding: 15px 5px;
        display: block
    }

    .feed_row dt,
    .feed_row dd {
        margin: 10px 0
    }

    .feed_row dt {
        padding: 0
    }

    .feed_row .entry_ttl span {
        width: 100%
    }

    .entry_body p,
    .entry_body ol,
    .entry_body ul,
    .entry_body blockquote {
        word-wrap: break-word
    }

    .sitemap_column {
        margin: 0;
        width: 100%;
        float: none
    }
}

@media screen and (max-width: 767px)and (max-width: 767px) {
    .page_ttl h2 {
        padding: 16px
    }
}

/*# sourceMappingURL=maps/style.css.map */