@charset "UTF-8";

@media all and (max-width: 736px) {
    .pcOnly {
        display: none;
    }
}

@media all and (min-width: 737px) {
    .spOnly {
        display: none;
    }
}

body {
/*    background-color: #f4f4f4;*/
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Sans-Serif;
	overflow-x: hidden;
	color: #444;
}
a.nrm-link { color: #00a1ac; border-bottom: 1px dotted #00a1ac; }
a.nrm-link:hover { border-bottom: 1px solid #00a1ac; }
a.nrm-link2 { color: #309f3a; border-bottom: 1px dotted #309f3a; }
a.nrm-link2:hover { border-bottom: 1px solid #309f3a; }
a.nrm-link3 { font-weight: bold; }

.mgB0 { margin-bottom: 0 !important; }
.mgB6 { margin-bottom: 6px !important; }
.mgB10 { margin-bottom: 10px !important; }
.mgB20 { margin-bottom: 20px !important; }
.mgB30 { margin-bottom: 30px !important; }
.mgB40 { margin-bottom: 40px !important; }
.mgB50 { margin-bottom: 50px !important; }
.mgB60 { margin-bottom: 60px !important; }
.mgT0 { margin-top: 0 !important; }
.mgT6 { margin-top: 6px !important; }
.mgT10 { margin-top: 10px !important; }
.mgT13 { margin-top: 13px !important; }
.mgT20 { margin-top: 20px !important; }
.mgT30 { margin-top: 30px !important; }
.mgT40 { margin-top: 40px !important; }
.mgT50 { margin-top: 50px !important; }
.mgT60 { margin-top: 60px !important; }
.mgTM10 { margin-top: -10px !important; }
.mgTM20 { margin-top: -20px !important; }
.txt_lsm5 { letter-spacing: -5px; }
.txt_lsm30 { letter-spacing: -3px; }
.txt_lsm10 { letter-spacing: -1px; }
.txt_lsm03 { letter-spacing: -0.3px; }
.txt_90 { font-size: 90%; }
.txt_80 { font-size: 80%; }
.txt_70 { font-size: 70%; }
.txt_60 { font-size: 60%; }
.txt_110 { font-size: 110%; }
.txt_120 { font-size: 120%; }
.txt_130 { font-size: 130%; }
.txt_lh13 { line-height: 1.3 !important; }
.txt_lh14 { line-height: 1.4 !important; }
.txt_lh15 { line-height: 1.5 !important; }
.txt_lh16 { line-height: 1.6 !important; }
.txt_lh17 { line-height: 1.7 !important; }
.txt_lh18 { line-height: 1.8 !important; }
.txt_mk { padding: 0 4px 1px; line-height: 1.1; background: #e85298; font-weight: bold; color: #fff; margin-right: 3px; top: -2px; position: relative; font-size: 90%; }
.txt_ul { padding-bottom: 1px; border-bottom: 1px solid #444; }
.txt-cc { text-align: center; }
.txt-rc,.txt-rr { text-align: right; }
.txt-lc { text-align: left; }
.txt-cr { text-align: center; }
.txt-cl { text-align: center; }
.spB { display: none; }
.pcB { display: inherit; }
.spB2 { display: none; }
.pcB2 { display: inherit; }
.spB3 { display: none; }
.fs-it { font-style: italic !important; padding-right: 2px; }
@media all and (max-width: 736px) {
.txt-rc { text-align: center; }
.txt-lc { text-align: center; }
.txt-cr { text-align: right; }
.txt-cl { text-align: left; }
.spB { display: inherit; }
.pcB { display: none; }}
@media all and (max-width: 420px) {
.spB2 { display: inherit; }
.pcB2 { display: none; }
}
@media all and (max-width: 378px) {
.spB3 { display: inherit; }}


_::-webkit-full-page-media, _:future, :root.mac .fs08 {
    font-size: 0.7em!important;
}

.left-3em::before {
    left: -3em!important;
}

.inner {
    max-width: 1020px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

.inner-kv {
    max-width: 1020px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

ruby > rt {
    font-size: 10%;
    margin-bottom: -1.1em;
    transform: translateY(1.5em);
}

[rb] {
    position: relative;
}

[rb]::before {
  content: attr(rb);
  position: absolute;
  top: -0.9em;
  left: -0.2em;
  right: -0.2em;
  font-size: 0.5em;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
  text-indent: 0;
}

[rb_small] {
    position: relative;
}

[rb_small]::before {
  content: attr(rb_small);
  position: absolute;
  top: -0.8em;
  left: -0.8em;
  right: -0.2em;
  font-size: 0.5em;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
  text-indent: 0;
}

[rb_narrow] {
    position: relative;
}

[rb_narrow]::before {
  content: attr(rb_narrow);
  position: absolute;
  top: -0.5em;
  left: -0.2em;
  right: -0.2em;
  font-size: 0.5em;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
  text-indent: 0;
}

@media all and (-webkit-min-device-pixel-ratio:0){
    .win [rb_small]::before {
        left: -2.0em;
    }
    .mac [rb]::before {
        top: -2.0em;
    }
    .mac [rb_small]::before {
        top: -1.8em;
        left: -2.2em;
    }
    .chrome [rb_narrow]::before {
        font-size: 0.3em;
        top: -1.0em;
    }
    .mac [rb_narrow]::before {
        font-size: 0.3em;
        top: -2.2em;
    }
}

_::-webkit-full-page-media, _:future, :root.mac [rb]::before {
        top: -1.0em;
}

_::-webkit-full-page-media, _:future, :root.mac [rb_small]::before {
        top: -1.2em;
        left: -1.2em;
}

_::-webkit-full-page-media, _:future, :root.mac [rb_narrow]::before {
        top: -0.5em;
        font-size: 0.5em;
}

@media all and (max-width: 414px) {
    [rb_narrow]::before {
      top: -1.2em;
      left: -0.2em;
      right: -0.2em;
      font-size: 0.5em;
    }
}

@media all and (max-width: 736px) {
    .inner-kv {
        width: 100%;
        padding: 0;
    }
}

.mb1e {
    margin-bottom: 1em;
}

.right.note {
    margin-top: 10px;
    margin-bottom: 10px;
}

.right.note span {
    display: inline-block;
    font-size: 14px;
    color: #ff1a00;
    border: 1px solid #ff1a00;
    padding: 5px 1em;
}

#footer {
    padding: 35px 0 30px;
    border-left: 17px solid #f00;
    background: #fff;
    font-family: Noto Sans CJK JP, Open Sans, sans-serif;
    color: #000;
}

#footer ul {
    font-size: 15px;
    line-height: 20px;
    overflow: hidden;
}


@media all and (max-width: 736px) {
    .right.note span {
        padding: 5px 10px;
    }
}

@media all and (min-width: 737px) {
    .right.note {
        text-align: right;
    }
}

a {
    color: #333;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
    text-decoration: none;
}

.link_normal {
    color: #005689;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
    text-decoration: underline;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}


.drawer-hamburger {
    display: none;
}

.drawer-nav { padding: 20px 20px 0; }

@media all and (min-width: 737px) {
    .drawer-nav {
        display: none;
        position: relative;
        top: 0;
        left: 0;
    }

    #footer {
        padding: 16px 0 24px;
        border-left: 17px solid #f00;
        background: #fff;
        font-family: Noto Sans CJK JP, Open Sans, sans-serif;
        color: #000;
    }

    #footer .footer-inner {
        margin: 0 auto;
        padding: 0 20px;
        width: 100%;
    }

    #footer ul {
        font-size: 15px;
        line-height: 20px;
        overflow: hidden;
    }

    #footer ul li {
        float: left;
        list-style-type: none;
        font-size: 13px;
    }

    #footer ul li ~ li::before {
        margin: 0 0.5em;
        content: "|";
    }
    #footer p {
        margin-top: 16px;
        font-size: 11px;
        line-height: 18px;
    }
}

@media all and (max-width: 736px) {
    .header-contents {
        background-color: #fff;
        position: relative;
        z-index: 1000;
    }
    .drawer-hamburger {
        z-index: 3;
        display: block;
        width: 125px;
        height: 47px;
        box-sizing: border-box;
        background-color: #00a1ac;
        color: #fff;
        padding: 0;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
    }
    .drawer-hamburger > span {
        display: inline-block;
        vertical-align: middle;
    }
    .drawer-hamburger:hover {
        background-color: #00a1ac;
    }
    .drawer--top.drawer-open .drawer-nav {
        z-index: 999;
        top: 79px;
    }
    .drawer--top .drawer-hamburger,
    .drawer--top.drawer-open .drawer-hamburger {
        top: 19px;
        right: 8px;
        text-align: left;
        padding-left: 8px;
    }
    .drawer-hamburger-icon,
    .drawer-hamburger-icon:after,
    .drawer-hamburger-icon:before {
        width: 20px;
        height: 3px;
        background-color: #fff;
        -webkit-border-radius: 1.5px;
        -moz-border-radius: 1.5px;
        border-radius: 1.5px;
    }
    .drawer-hamburger-icon {
        margin-top: 0;
        margin-right: 2px;
    }
    .drawer-hamburger-icon:before {
        top: -8px;
    }
    .drawer-hamburger-icon:after {
        top: 8px;
    }
    .sr-only {
        position: relative;
        width: 88px;
        height: 42px;
        padding-top: 10px;
        font-size: 14px;
        text-align: center;
        color: #fff;
		font-weight: 700;
    }
    .drawer-open .sr-only:before {
        content: '閉じる';
		position: relative;
		top: -2px;
		left: -6px;
    }
    .drawer-open .sr-only span {
        display: none;
    }

    header .logo_wrapper ul {
        display: none;
    }

    #footer {
        padding: 13px 10px 13px 25px;
        border-left: 8px solid #f00;
    }

    #footer .footer-inner {
        padding: 0;
        width: auto;
    }

    #footer ul {
        font-size: 12px;
    }

    #footer p {
        margin-top: 15px;
        font-size: 12px;
    }

    #footer ul li {
        float: left;
        list-style-type: none;
    }

    #footer ul li ~ li::before {
        margin: 0 0.5em;
        content: "|";
    }




}

@media all and (max-width: 420px) {
    header .inner {
        padding-left: 10px;
        padding-right: 10px;
    }
    .drawer-hamburger {
        width: 82px;
        height: 32px;
    }
    .drawer--top .drawer-hamburger,
    .drawer--top.drawer-open .drawer-hamburger {
        top: 21px;
    }
    .drawer-hamburger-icon,
    .drawer-hamburger-icon:after,
    .drawer-hamburger-icon:before {
        width: 12px;
        height: 2px;
        background-color: #fff;
        -webkit-border-radius: 1.5px;
        -moz-border-radius: 1.5px;
        border-radius: 1.5px;
    }
	    .drawer-hamburger-icon:before {
        top: -4px;
    }
    .drawer-hamburger-icon:after {
        top: 4px;
    }
	.drawer-open .sr-only:before {
	position: relative;
	top:-2px;
	left: -3px; }
    .sr-only {
        position: relative;
        width: 50px;
        height: 27px;
        padding-top: 3px;
        font-size: 12px;
        text-align: center;
        color: #fff;
		font-weight: 700;
    }
    .drawer--top.drawer-open .drawer-nav {
        top: 67px;
    }

}

header {
    background-color: #fff;
	border-bottom: 1px solid #dbdcdc;
}

@media all and (min-width: 737px) {
    header {
        border-top: 14px solid #f00;
	border-bottom: 1px solid #dbdcdc;
    }
}

@media all and (max-width: 736px) {
    header {
        position: fixed;
        z-index: 2;
        width: 100%;
    }
    header:before {
        content: '';
        width: 100%;
        height: 7px;
        background-color: #f00;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10000;
    }
}

header .logo_wrapper {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: column;
}

@media all and (min-width: 737px) {
    header .logo_wrapper {
        margin-bottom: 15px;
        position: relative;
    }

    header .logo_wrapper ul {
        position: absolute;
        right: 0;
        bottom: 10px;
    }

    header .logo_wrapper ul li {
        display: inline-block;
        list-style: none;
        background: none;
        margin: 0 0 0 10px;
        font-size: 13px;
    }

    header .logo_wrapper ul li::before {
        content: url(../../assets/img/common/ico-arrow-right.jpg);
        display: inline-block;

    }

    header .logo_wrapper ul li a:hover {
        color: #ff0000;
    }

}

header .logo_wrapper .logo {
    margin-right: auto;
}

@media all and (max-width: 736px) {
    header .logo_wrapper .logo a {
        padding: 10px 10px 9px;
        margin-left: -10px;
    }
}

@media all and (max-width: 736px) {
    header .logo_wrapper {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }
}

header .logo_comp a {
    display: block;
    font-size: 0;
    line-height: 0;
    padding: 20px 0 23px;
}

header .logo_comp a img {
    width: 240px;
    height: auto;
}

header .logo_comp {
    margin-bottom: -5px;
    padding-top: 10px;
}


@media all and (min-width: 737px) {
    header .logo_comp {
        width: 320px;
        margin-bottom: 10px;

    }

    header .logo_comp a {
        width: 100%;
		padding: 20px 0 0;
    }
    header .logo_comp a img {
        display: none;
        width: 100%;
        height: auto;
    }
    header .logo_comp a:before {
        content: '';
        background-image: url(../../assets/img/common/logo-com.png);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        vertical-align: bottom;
        width: 100%;
        height: 19.5px;
    }
}


@media all and (max-width: 420px) {
header .logo_comp a {
    display: block;
    font-size: 0;
    line-height: 0;
    padding: 16px 0 20px;
}

header .logo_comp a img {
    width: 200px;
    height: auto;
}
}

header .logo a {
    display: block;
    font-size: 0;
    line-height: 0;
}

header .logo a img {
    width: 170px;
    height: 42px;
}

@media all and (min-width: 737px) {
    header .logo a img {
        display: none;
    }
    header .logo a:before {
        content: url(../../assets/img/common/logo.png);
        display: block;
        vertical-align: bottom;
    }
}


.drawer-open header {
    border-bottom: 1px solid #ccc;
}



main {
    background-color: #fff;
}

@media all and (max-width: 736px) {
    main {
        padding-top: 79px;
        background-color: inherit;
    }
}
@media all and (max-width: 420px) {
    main {
        padding-top: 67px;
    }
}

main .branch {
    background-color: #f2f2f2;
}

@media all and (max-width: 736px) {
    main .branch {
        background-color: #fff;
        border-top: 1px solid #d2d2d2;
        border-bottom: 1px solid #d2d2d2;
    }
}

main .branch ol {
    list-style-type: none;
    max-width: 1020px;
    margin: 0 auto;
    padding: 5px 30px;
}

main .branch ol li {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
}

main .branch ol li + li:before {
    content: '>';
    margin: 0 5px;
}

main .branch ol li a {
    font-size: 12px;
}

main .main-contents {
    padding-bottom: 20px;
}

@media all and (min-width: 737px) {
    main .main-contents {
        padding: 30px 0;
        background-color: #fff;
    }
}

main .main-contents .ttl-main {
    padding: 6px 10px;
    font-size: 18px;
    border-left: 4px solid #ef7622;
    border-bottom: 1px solid #ef7622;
    line-height: 1em;
}

@media all and (min-width: 737px) {
    main .main-contents .ttl-main {
        padding: 8px 15px;
        font-size: 25px;
        border-left: 6px solid #ef7622;
    }
}

main .main-contents .contentsnav {
    margin-top: 20px;
    background-color: #f2f2f2;
}

@media all and (max-width: 736px) {
    main .main-contents .contentsnav {
        display: none;
    }
}

main .main-contents .contentsnav ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 10px 0;
}

main .main-contents .contentsnav ul li {
    box-sizing: border-box;
    padding-left: 2.0408163%;
    margin: 10px 0;
}

@media all and (max-width: 736px) {
    main .main-contents .contentsnav ul li {
        width: 33%;
    }
}

main .main-contents .contentsnav ul li a {
    color: #3260be;
    display: block;
    text-indent: -10px;
    margin-left: 30px;
    font-size: 15px;
    line-height: 1.333;
}

main .main-contents .contentsnav ul li a:before {
    content: url(/assets/img/common/ico-arrow-down.png);
    display: inline-block;
    vertical-align: middle;
    position: relative;
    left: -10px;
}

main .main-contents section {
    margin-top: 40px;
    overflow: hidden;
    position: relative;
}

main .main-contents section .sec-inner {
    margin-top: 20px;
}

@media all and (max-width: 736px) {
    main .main-contents section {
        margin-top: 10px;
        background-color: #fff;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
    }
    main .main-contents section .sec-inner {
        display: none;
        margin: 0 15px;
        padding-bottom: 15px;
        padding-top: 10px;
        border-top: 1px solid #888;
    }
    main .main-contents section .sec-inner .close {
        display: block;
        background-color: #dedede;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        text-align: center;
        padding: 15px 0;
        margin-top: 20px;
    }
}

main .main-contents section .description {
    background-color: #f2f2f2;
    padding: 15px 20px;
}

main .main-contents section .description p {
    margin: 0;
}

@media all and (max-width: 736px) {
    main .main-contents section .description {
        font-size: 14px;
        padding: 10px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
    }
}

main .main-contents section .tb-ptn01,
main .main-contents section .tb-ptn02 {
    width: 100%;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

main .main-contents section .tb-ptn01 th,
main .main-contents section .tb-ptn02 th {
    background-color: #fffeee;
    text-align: left;
    padding: 20px;
    font-weight: normal;
    border-left: 1px solid #ef7622;
    border-bottom: 1px solid #ef7622;
    border-right: 1px solid #ef7622;
    vertical-align: top;
    width: 50%;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 th {
        padding: 10px;
        font-size: 13px;
    }
}

main .main-contents section .tb-ptn01 td {
    padding: 20px;
    border-bottom: 1px solid #ef7622;
    border-right: 1px solid #ef7622;
    vertical-align: top;
    width: 50%;
}
main .main-contents section .tb-ptn02 td {
    padding: 20px;
    border-bottom: 1px solid #ef7622;
    border-right: 1px solid #ef7622;
    vertical-align: top;
}
main .main-contents section .tb-ptn02 th,
main .main-contents section .tb-ptn02 td {
    padding: 10px;
	font-size: 13px;
	}

main .main-contents section .tb-ptn01 td .url {
    display: inline-block;
    margin-right: 20px;
}

main .main-contents section .tb-ptn01 td .qr {
    display: inline-block;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 td .qr {
        display: none;
    }
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 td {
        font-size: 13px;
    }
    main .main-contents section .tb-ptn01 td.flex_s {
      display: flex;
	  align-items: center;
	}
}

main .main-contents section .tb-ptn01 tr:first-child th,
main .main-contents section .tb-ptn02 tr:first-child th {
    border-top: 1px solid #ef7622;
    -webkit-border-top-left-radius: 10px;
    -moz-border-top-left-radius: 10px;
    -ms-border-top-left-radius: 10px;
    -o-border-top-left-radius: 10px;
    border-top-left-radius: 10px;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 tr:first-child th,
	main .main-contents section .tb-ptn02 tr:first-child th {
        -webkit-border-top-left-radius: 4px;
        -moz-border-top-left-radius: 4px;
        -ms-border-top-left-radius: 4px;
        -o-border-top-left-radius: 4px;
        border-top-left-radius: 4px;
    }


}

main .main-contents section .tb-ptn01 tr:first-child td,
main .main-contents section .tb-ptn02 tr:first-child td {
    border-top: 1px solid #ef7622;
    -webkit-border-top-right-radius: 10px;
    -moz-border-top-right-radius: 10px;
    -ms-border-top-right-radius: 10px;
    -o-border-top-right-radius: 10px;
    border-top-right-radius: 10px;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 tr:first-child td,
    main .main-contents section .tb-ptn02 tr:first-child td {
        -webkit-border-top-right-radius: 4px;
        -moz-border-top-right-radius: 4px;
        -ms-border-top-right-radius: 4px;
        -o-border-top-right-radius: 4px;
        border-top-right-radius: 4px;
    }
}

main .main-contents section .tb-ptn01 tr:last-child th,
main .main-contents section .tb-ptn02 tr:last-child th {
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-bottom-left-radius: 10px;
    -ms-border-bottom-left-radius: 10px;
    -o-border-bottom-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 tr:last-child th,
    main .main-contents section .tb-ptn02 tr:last-child th {
        -webkit-border-bottom-left-radius: 4px;
        -moz-border-bottom-left-radius: 4px;
        -ms-border-bottom-left-radius: 4px;
        -o-border-bottom-left-radius: 4px;
        border-bottom-left-radius: 4px;
    }
}

main .main-contents section .tb-ptn01 tr:last-child td,
main .main-contents section .tb-ptn02 tr:last-child td {
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-bottom-right-radius: 10px;
    -ms-border-bottom-right-radius: 10px;
    -o-border-bottom-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media all and (max-width: 736px) {
    main .main-contents section .tb-ptn01 tr:last-child td,
    main .main-contents section .tb-ptn02 tr:last-child td	 {
        -webkit-border-bottom-right-radius: 4px;
        -moz-border-bottom-right-radius: 4px;
        -ms-border-bottom-right-radius: 4px;
        -o-border-bottom-right-radius: 4px;
        border-bottom-right-radius: 4px;
    }
}

main .main-contents .ttl-sec {
    font-size: 22px;
    padding-bottom: 2px;
    border-bottom: 1px solid #888;
    position: relative;
}

@media all and (max-width: 736px) {
    main .main-contents .ttl-sec {
        font-size: 16px;
        padding: 15px;
        padding-right: 40px;
        border-bottom: none;
        line-height: 1.25;
    }
    main .main-contents .ttl-sec:after {
        content: '';
        display: block;
        width: 15px;
        height: 15px;
        background: url(/assets/img/common/ico-plus.png) no-repeat 50% 50%;
        background-size: 15px 15px;
        position: absolute;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    main .main-contents .ttl-sec.open:after {
        background-image: url(/assets/img/common/ico-minus.png);
        background-size: 15px 2px;
    }
}

main .main-contents .ttl-sub {
    clear: both;
    margin-top: 30px;
    font-size: 18px;
}

main .main-contents .ttl-sub span {
    font-weight: normal;
}


@media all and (max-width: 736px) {
    main .main-contents .ttl-sub {
        font-size: 16px;
        margin-top: 20px;
    }
}

main .main-contents .ttl-sub:before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #ef7622;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin-right: 6px;
}

@media all and (max-width: 736px) {
    main .main-contents .ttl-sub:before {
        width: 11px;
        height: 11px;
    }
}

main .main-contents .col-wrapper {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

main .main-contents .col-wrapper:first-child > * {
    margin-top: 0;
}


@media all and (max-width: 736px) {
    main .main-contents .col-wrapper {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }

    main .main-contents .col-wrapper p small {
        margin: 10px 0 10px;
        display: block;
        text-indent: -38px;
        padding: 0 0 0 38px;
    }



    main .main-contents .wrapper_pcOnly {
        display: none;
    }


    main .main-contents .wrapper_spOnly {
        display: block;
    }



}



@media all and (min-width: 737px) {
    main .main-contents .col-wrapper {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    main .main-contents .col-wrapper.col-separate {
        -webkit-justify-content: space-around;
        justify-content: space-around;
        -ms-flex-pack: space-around;
    }
    main .main-contents .col-wrapper .col-text {
        width: 65.306122%;
        position: relative;
    }

    main .main-contents .col-wrapper .col-text small {
        margin-top: 52px;
        display: block;
    }

    main .main-contents .col-wrapper .col-text span {
        display: block;
        width: 307px;
        background-color: #faac5e;
        padding: 11px;
        margin: 23px 0 13px 0;
        color: #fff;
        font-weight: bold;
    }

    main .main-contents .col-wrapper .col-text small {
        margin-top: 11px;
        letter-spacing: 0.1px;
    }

    main .main-contents .col-wrapper .col-text small em {
        font-style: normal;
        color: #ef7622;
        font-weight: bold;

    }



    main .main-contents .col-wrapper .col-text span:nth-of-type(2) {
        background-color: #9f84bd;
    }


    main .main-contents .wrapper_pcOnly {
        display: flex;
    }


    main .main-contents .wrapper_spOnly {
        display: none;
    }


}

@media all and (max-width: 736px) {
    main .main-contents .col-wrapper .col-text em {
        font-style: normal;
        display: block;
    }

    main .main-contents .col-wrapper .col-text em span {
        padding: 11px 11px 11px 0;
        margin: 23px 0 13px 0;
        color: #ef7622;
        font-weight: bold;
        background: transparent;
        display: inline;
    }



    main .main-contents .col-wrapper .col-text span {
        display: block;
        width: 307px;
        background-color: #faac5e;
        padding: 11px;
        margin: 23px 0 13px 0;
        color: #fff;
        font-weight: bold;
    }

    main .main-contents .col-wrapper .col-text small {
        margin-top: 11px;
        letter-spacing: 0.1px;
        text-indent: 0;
        padding: 0;
    }

    main .main-contents .col-wrapper .col-text small em {
        font-style: normal;
        color: #ef7622;
        display: inline;
        letter-spacing: -0.2px;
        font-weight: bold;
    }

    main .main-contents .col-wrapper .col-text span:nth-of-type(2) {
        background-color: #9f84bd;
    }
}


main .main-contents p {
    clear: both;
    margin-top: 10px;
}

main .main-contents .section_link {
    text-align: center;
    margin-top: 40px;
}

main .main-contents .section_link a:hover {
    opacity: 0.5;
}



main .main-contents .with-bull {
    list-style-type: none;
    margin: 1em 0;
}

main .main-contents .with-bull li {
    text-indent: -1em;
    margin-left: 1em;
}

@media all and (max-width: 736px) {
    main .main-contents .with-bull li {
        font-size: 14px;
    }
}

main .main-contents .with-bull li:before {
    content: '・';
}

main .main-contents .with-bull02 {
    list-style-type: none;
    margin: 1em 0;
}

main .main-contents .with-bull02 li {
    text-indent: -15px;
    margin-left: 15px;
}

@media all and (max-width: 736px) {
    main .main-contents .with-bull02 li {
        font-size: 14px;
    }
}

main .main-contents .with-bull02 li:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #006399;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin-right: 5px;
    vertical-align: baseline;
}

main .main-contents .img-wide {
    margin: 20px 0;
}

main .main-contents .img-wide img {
    max-width: 100%;
}

main .main-contents .thumbnail-wrapper {
    max-width: 320px;
    margin: 10px 0 20px 20px;
    box-sizing: border-box;
}

@media all and (max-width: 736px) {
    main .main-contents .thumbnail-wrapper {
        margin: 10px 0;
    }
}

main .main-contents .thumbnail-wrapper .caption {
    font-size: 13px;
}

main .main-contents .thumbnail-wrapper .caption span {
    font-weight: bold;
    color: #ef7622;
}

@media all and (min-width: 737px) {
    main .main-contents .thumbnail-wrapper .thumbnail {
        border: 1px solid #dedede;
    }
}

main .main-contents .thumbnail-wrapper .thumbnail + .caption {
    margin-top: 20px;
}

main .main-contents .thumbnail-wrapper .thumbnail img {
    width: 100%;
    display: block;
}

main .main-contents .thumbnail-wrapper .thumbnail .note {
    font-size: 12px;
}

main .main-contents .thumbnail-wrapper .thumbnail .btn-zoom {
    text-align: center;
    background-color: #ffefe0;
    padding: 10px 0;
}

@media all and (max-width: 736px) {
    main .main-contents .thumbnail-wrapper .thumbnail .btn-zoom {
        display: none;
    }
}

main .main-contents .thumbnail-wrapper .thumbnail .btn-zoom a {
    cursor: pointer;
    display: inline-block;
    width: 200px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    background-color: #ef7622;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

main .main-contents .thumbnail-wrapper .thumbnail .btn-zoom a:after {
    content: url(/assets/img/common/ico-zoom.png);
    display: inline-block;
    vertical-align: middle;
    margin-left: 15px;
    height: 27px;
}

main .main-contents .thumbnail-wrapper .thumbnail .btn-zoom a:hover {
    -webkit-opacity: .8;
    -moz-opacity: .8;
    -ms-opacity: .8;
    -o-opacity: .8;
    opacity: .8;
}

@media all and (min-width: 737px) {
    main .main-contents .thumbnail-wrapper .thumbnail-inner {
        padding: 10px;
    }
}

footer {
    background-color: #FFFFFF;
    font-size: 14px;
    padding-bottom: 10px;
}

footer nav {
    display: table;
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 0 25px;
}

footer ul {
    display: table-cell;
    list-style-type: none;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    margin-bottom: 1em;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-right: 1px #FA9B31 solid;
    width: 340px;
    padding: 0 0 0 40px;
}

footer ul:last-child {
    border-right: none;
}

footer ul a {
    line-height: 2;
}

footer .footer-inner {
    font-size: 12px;
}


@media all and (max-width: 736px) {
    footer ul li {
        margin: 0 0 2px;
    }
    footer ul li a {
        font-size: 15px;
    }
    footer ul li + li {
        border-left: 1px solid #333;
    }
    footer ul li a {
        display: block;
        margin: 0 1em;
        line-height: 1;
        color: #333;
        font-size: 13px;
    }
}

@media all and (min-width: 737px) {
    footer {
        padding: 0 0 0;
        border-top: 1px solid #d2d2d2;
		margin-top: -24px;
    }
    footer {
        border-top: none;
    }
    footer ul {
        padding: 0 0 0 16px;
    }
/*
    footer ul:last-child li:last-of-type {
        margin: 21px 0 0 0;
    }
*/
}

@media all and (max-width: 736px) {
    footer nav {
        display: inline;
        margin: 0;
        max-width: 100%;
    }
    footer ul {
        list-style-type: none;
        -webkit-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        margin-bottom: 1em;
        border-right: none;
        width: 100%;
        padding: 0;
        background-color: #fff;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        -ms-flex-pack: flex-start;
        border-bottom: 1px solid #d4d4d4;
        margin-bottom: 0;
    }
    footer ul li {
        width: 50%;
        margin-bottom: -1px;
        border-bottom: 1px solid #d4d4d4;
        box-sizing: border-box;
        display: flex;
        align-items: center;

    }
    footer ul li:nth-child(2n+1) {
        border-right: 1px solid #d4d4d4;
    }
    footer ul li a {
        font-size: 11px;
        display: block;
        margin: 0;
        padding: 15px 20px;
    }



    footer ul:first-of-type li a:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 3px 0 3px 4px;
        border-color: transparent transparent transparent #333333;
        vertical-align: middle;
        margin-right: 6px;
        margin-left: -10px;
    }
    footer ul li + li {
        border-left: none;
    }

    footer ul:nth-of-type(2) {
        background-color: #f4f4f4;
    }

    footer ul:nth-of-type(2) li {
        text-align: center;
    }

    footer ul:nth-of-type(2) li a {
        width: 100%;
    }


}

footer .copyrights {
    background-color: #d4d4d4;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding: 30px 0;
}

@media all and (max-width: 736px) {
    footer .copyrights {
        font-weight: normal;
        font-size: 9px;
    }
}

/*　ページTOP */
.page-top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
}
.page-top a {
    display: block;
    background-color: #00a1ac;
    text-align: center;
    color: #fff;
    font-size: 12px;
	font-weight: 500;
    text-decoration: none;
    padding: 13px 10px 15px 10px;
	border-radius: 4px;
	letter-spacing: 0.5px;
}
.page-top a i { margin-left: 5px; }
.page-top a:hover {
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
@media all and (max-width: 736px) {
main { padding-bottom: 80px; position: relative; }
.page-top { position: absolute; bottom: 15px; right: 20px; }

}

/*  二階層目ここから  */
figure {
    text-align: center;
    margin: 15px;
}
figure img {
    margin-top: 15px;
}

.bold {
    font-weight: bold;
}

.indent-1 {
    padding-left: 1em;
    text-indent: -1em;
}

.indent-1_wrap {
    margin: 0;
    padding: 0 0 0 1em;
}

.summary {
    font-size: 13px;
}

.detail p {
    margin-left: 20px;
    font-size: 13px;
}

.ruby {
    line-height: 1.8em;
}

.line-title {
    font-size: 23px;
    font-weight: bold;
    color: #FA9B31;
    text-align: center;
    border-bottom: solid 1px #FA9B31;
}

.line-title span {
    display: inline-block;
}

@media all and (max-width: 736px) {
    .line-title {
        font-size: 16px;
    }

    h3 {
        font-size: 16px;
    }
}


/* メニュー */
.link-top a { color: #00a1ac; font-weight: 700; }
.link-top a i { margin-right: 8px; }
.menu-base { border: 2px solid; width: 100%; margin: 20px 0; border-radius: 8px; background: #fff; }
.menu-base .cat-top { position: relative; font-size: 110%; }
.menu-base .cat-top span { position: absolute; bottom: 1px; font-size: 10px; color: #fff; font-weight: 500; left: 50%; margin-left: -30px; }
.side-index .menu-base .cat-top span { font-size: 10px; }
.menu-base .cat-top span.sub-long { position: absolute; bottom: 1px; font-size: 12px; color: #fff; font-weight: 500; left: 0; margin: 0 auto; display: inline-block; width: 100%; text-align: center; }
.menu-base .cat-top span.sub-long strong { font-weight: normal; font-size: 125%; }
.menu-base .cat-top a { display: block; text-align: center; padding: 10px 0 15px; color: #fff; font-weight: 700; }
.non-link { pointer-events: none !important; }
.menu-base.menu-cat1 { border-color: #00a1ac; }
.menu-base.menu-cat2 { border-color: #e66e1b; }
.menu-base.menu-cat3 { border-color: #c5d119; }
.menu-base.menu-cat4 { border: none; border-radius: 0px; background: #10376b;  display: flex;  justify-content: center;  align-items: center; }
.menu-base.menu-cat1 .cat-top a { background-color: #00a1ac; }
.menu-base.menu-cat2 .cat-top a { background-color: #e66e1b; }
.menu-base.menu-cat3 .cat-top a { background-color: #c5d119; color: #545455; position: relative; }
.menu-base.menu-cat1 .cat-top a:hover { background-color: #4dbdc5; }
.menu-base.menu-cat2 .cat-top a:hover { background-color: #f18439; }
.menu-base.menu-cat3 .cat-top a:hover { background-color: #d4dd54; }
.menu-base.menu-cat3 .cat-top a:after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; position: absolute; top: 50%; margin-top: -11px; right: 12px; font-size: 110%; color: #fff; }
.menu-base ul { list-style: none; padding: 12px; margin-bottom: 0; }
.menu-base ul li { margin-bottom: 12px; }
.menu-base ul li ul { padding: 8px; margin-bottom: 0; }
.menu-base ul li ul li { margin-bottom: 4px; }
.menu-base ul li:last-child,.menu-base ul li ul li:last-child { margin-bottom: 0; }
.menu-base ul li a,
.menu-base ul li > span { font-weight: 700; position: relative; display: block; padding: 12px 32px 14px 12px; line-height: 1.2; border-radius: 6px; }
.menu-base ul li a:after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; position: absolute; top: 50%; margin-top: -12px; right: 12px; font-size: 120%; }
.menu-base.menu-cat1 ul li a, .menu-base.menu-cat1 ul li span { color: #00a1ac; background-color: #e4f3f5; }
.menu-base.menu-cat1 ul li a:hover { background-color: #eef9fa; }
.menu-base.menu-cat2 ul li a, .menu-base.menu-cat2 ul li span { color: #e66e1b; background-color: #fdefe0; }
.menu-base.menu-cat2 ul li a:hover { background-color: #fff6ed; }
.menu-base ul li ul li a { font-weight: 400; font-size: 90%; padding: 4px 24px 5px 16px; position: relative; border-bottom: 1px solid #fff; border-radius: 0; }
.menu-base ul li ul li a:before { content: "・"; position: absolute; left: 0; top: 50%; margin-top: -9px; }
.menu-base ul li ul li a:after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; position: absolute; top: 50%; margin-top: -10px; right: 0; font-size: 120%; font-weight: 700; }

.menu-base.menu-cat1 ul li ul li a,
.menu-base.menu-cat2 ul li ul li a,
.menu-base.menu-cat1 ul li ul li a:hover,
.menu-base.menu-cat2 ul li ul li a:hover { background: none; }
.menu-base.menu-cat1 ul li ul li a:hover,
.menu-base.menu-cat1 ul li ul li.current a { border-bottom: 1px dotted #00a1ac; }
.menu-base.menu-cat2 ul li ul li a:hover,
.menu-base.menu-cat2 ul li ul li.current a { border-bottom: 1px dotted #e66e1b; }
.cmt-box { padding: 12px; }

.index_page .top-index .menu-base .cat-top a { padding: 10px 0 51px; }
.index_page .top-index .menu-base.menu-cat3 .cat-top a { padding: 10px 0 13px; }
.index_page .top-index .menu-base .cat-top span.tposi00 { bottom: 16px !important; font-size: 12px; }
.index_page .top-index .menu-base .cat-top span.tposi01 { bottom: 26px !important; font-size: 12px; }
.index_page .top-index .menu-base .cat-top span.tposi02 { bottom: 6px !important; font-size: 12px; }
.index_page .top-index .menu-base .cat-top span.sub-long2 { bottom: 24px !important; }
@media all and (max-width: 480px) {.index_page .top-index .menu-base .cat-top span { font-size: 10px !important; }
.index_page .top-index .menu-base .cat-top a { padding: 10px 0 44px; }
.index_page .top-index .menu-base.menu-cat1 .cat-top a { padding: 10px 0 27px; }
.index_page .top-index .menu-base .cat-top span.tposi00 { bottom: 6px !important; }
.index_page .top-index .menu-base .cat-top span.tposi01 { bottom: 24px !important; }}
@media all and (max-width: 420px) {
.index_page .top-index .menu-base.menu-cat3 .cat-top a { padding-right: 22px; }
.index_page .top-index .menu-base .cat-top span { letter-spacing: -0.5px; }}
@media all and (max-width: 378px) {
.index_page .top-index .menu-base.menu-cat1 .cat-top a { padding: 10px 0 42px; }
.index_page .top-index .menu-base.menu-cat2 .cat-top a { padding: 10px 0 80px; }
.index_page .top-index .menu-base .cat-top span { line-height: 1.2 !important; }
.index_page .top-index .menu-base .cat-top span.tposi01 { bottom: 42px !important; }
}

@media all and (min-width: 737px) {
.top-index { display: flex; justify-content: space-between; flex-wrap: wrap; }
.top-index .menu-base { width: 48%; }
.top-index .menu-cat2 ul li { margin-bottom: 24px; }
/*.menu-cat3 { margin-left: 52%; }*/
.f-nav {
background-image: url("../img/common/bottom-bg.png");
background-size: 58% auto;
background-position: 0 bottom;
background-repeat: no-repeat;
margin-bottom: -24px;
padding-bottom: 40px; }

}
@media all and (max-width: 420px) {
.menu-base.menu-cat3 .cat-top a { padding-right: 20px; letter-spacing: -0.5px; }
}
@media all and (max-width: 377px) {
.menu-base .cat-top { font-size: 105%; }
.menu-base.menu-cat3 .cat-top a { padding-right: 24px; letter-spacing: -0.7px; }
}

/* brd */
.brd-01 { width: 100%; height: 8px; background: #fdefe0; margin: 24px 0; }


/* kv */
.kv-box {
background-image: url("../img/top/kv-bg.png");
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
min-height: 400px;
padding: 64px 50px 20px;
}
.kv-box h1 { text-align: center; }
.kv-box h1 img { width: 640px; }
.kv-select { display: flex; justify-content: center; width: 640px; margin: 30px auto; list-style: none; }
.kv-name { width: 640px; margin: 30px auto; display: flex; justify-content: flex-end; position: relative; font-size: 80%; }
.kv-name span { text-align: center; border: 1px solid #00a1b2; color: #00a1b2; border-radius: 30px; font-size: 80%; position: relative; display: inline-block;  top: 3px; padding: 0.44rem 0.34rem 0.50rem; height: 2.07rem !important; left: -10px; }
.kv-select li { margin: 0 0 0 6%; width: 47%; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4); border-radius: 8px; position: relative; height: 72px; }
.kv-select li:first-child { margin-left: 0; }
.kv-select li a { display: block; position: relative; border-radius: 8px; margin-bottom: 0; height: 67px; padding: 18px 18px 22px; text-align: center; font-weight: 700; color: #fff; font-size: 125%; }
.kv-select li span { position: absolute; font-size: 10px; color: #fff; bottom: 10px; left: 50%; margin-left: -30px; pointer-events: none; }
.kv-select li a:after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; position: absolute; top: 50%; margin-top: -12px; right: 12px; font-size: 120%; color: #fff; }
.kv-select li:first-child { background-color: #116c70; }
.kv-select li:nth-child(2) { background-color: #803514; }
.kv-select li:first-child a { background-color: #00a1ac; }
.kv-select li:nth-child(2) a { background-color: #e66e1b; }
.kv-select li:first-child:hover { background-color: #198085; }
.kv-select li:nth-child(2):hover { background-color: #9b4119; }
.kv-select li:first-child:hover a { background-color: #4dbdc5; }
.kv-select li:nth-child(2):hover a { background-color: #f18439; }

@media all and (max-width: 736px) {
.kv-box {background-image: url("../img/top/kv-bg_sp.png");min-height: 300px;padding: 70px 0; }
.kv-box h1 img { width: 540px; }
.kv-select, .kv-name { width: 540px; }
}
@media all and (max-width: 640px) {
.kv-box {min-height: 200px;padding: 50px 0 40px; }
.kv-box h1 img { width: 90%; }
.kv-select, .kv-name { width: 90%; }
.kv-select li { height: 54px; }
.kv-select li:first-child { margin-left: 0; }
.kv-select li a { height: 50px; padding: 0 28px; display: flex; color: #fff; font-size: 90%; align-items: center; justify-content: center; }
.kv-select li a:after { margin-top: -8px; right: 10px; font-size: 120%; color: #fff; }
.kv-select li span { bottom:6px;transform: scale(0.9); }}
@media all and (max-width: 420px) {
.kv-select li a { line-height: 1.1; font-size: 3.6vw !important; }
.kv-select li:nth-child(2) a { padding-left: 10px; }
.kv-select li span { bottom:5px;transform: scale(0.8); }
.kv-box {padding: 44px 0 33px; }
.kv-select { margin: 20px auto; }
}





/* 共通 */
a:hover img {
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7; }

@media all and (min-width: 737px) {
.inner,footer nav { min-width: 990px; }
.inner_r0 { padding-right: 0; }}
.inner2 { padding-top: 40px; padding-bottom: 40px; }
.inner2 p { margin-bottom: 18px; line-height: 2.0; }
.inner2.top-txt p { margin-bottom: 24px; line-height: 2.0; }
@media all and (max-width: 736px) {
.inner2 { padding-top: 30px; padding-bottom: 30px; }
.inner2 p { margin-bottom: 13px; }
.inner2.top-txt p { margin-bottom: 20px; }
}
.color-gr { color: #00a1ac; }
.color-or { color: #e66e1b; }
.color-fg { color: #309f3a; }

p strong { font-weight: 700; }
.q_ttl { display: flex; align-items: center; padding: 30px 0 30px 72px; font-size: 1.8rem; color: #00a1ac; font-weight: 700; letter-spacing: 1px; margin-bottom: 30px;
background-image: url("../img/under/q.png");
background-size: 60px auto;
background-position: 0 center;
background-repeat: no-repeat;
position: relative; }
.q_ttl:after { content: ""; position: absolute; width: 100%; height: 6px;
bottom: -6px;
left: 0;
background-image: url("../img/under/brd.png");
background-size: 14px auto;
background-position: 0 center;
background-repeat: repeat-x; }
.q_ttl2 { margin-bottom: 8px !important; margin-bottom: -12px !important; letter-spacing: -0.3px; }
.q_ttl2:after { content: none !important; }
.a_txt { padding-left: 72px; font-size: 1.2rem; color: #545455; font-weight: 700; letter-spacing: 1px; margin-bottom: 30px !important;
background-image: url("../img/under/a.png");
background-size: 60px auto;
background-position: 0 0;
background-repeat: no-repeat;}
.a_txt p { line-height: 1.6; margin-bottom: 11px !important; }
.a_txt2 p { font-weight: normal !important; font-size: 1.08rem !important; line-height: 1.75; }
.a_txt2 p.txt_80 { font-size: 0.84rem !important; }
@media all and (max-width: 736px) {
.q_ttl { padding: 24px 0 24px 44px; font-size: 1.5rem; letter-spacing: 0.5px; margin-bottom: 20px;
background-size: 36px auto; }
.q_ttl:after { background-size: 8px auto; }
.a_txt { padding-left: 44px; font-size: 1rem; margin-bottom: 16px !important;
background-size: 36px auto;
letter-spacing: 0; }
}

.flex-box { display: flex; justify-content: space-between; flex-wrap: nowrap; }
.flex-box2 { display: flex; justify-content: space-between; flex-wrap: wrap; }
.side-box { width: 26%; }
.content-box { width: 70%; }

.index-banner { margin-bottom: 32px; }
.index-banner img { box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
.side-index .menu-base { margin: 0 0 20px; }
.side-index p { margin-bottom: 0 !important; }
.side-index .menu-base ul { padding-left: 9px; padding-right: 9px; }
.side-index .menu-base ul li ul { padding-left: 0; margin-top: 4px; }
.side-index .menu-base ul li ul li { margin-bottom: 8px; margin-left: 2px; }
.side-index .menu-base ul li ul li a { padding: 4px 15px 5px 2px; letter-spacing: -0.2px; }
.side-index .menu-base ul li ul li a:before { content: none; }
.side-index .menu-base ul li ul li a:after { content: "\f0a9"; font-family: "Font Awesome 5 Free"; position: absolute; top: 50%; margin-top: -10px; margin-left: 4px; right: 0; font-size: 120%; font-weight: 700; }

.ttl-01 { border-radius: 8px 8px 0 0; margin-bottom: 12px !important; padding: 12px 15px 13px; font-size: 1.2rem; font-weight: 700; color: #fff; line-height: 1.2; letter-spacing: 2px; text-align: center; }
.ttl-02 { border-radius: 24px; color: #545455; line-height: 1.2; padding: 8px 18px 9px; font-weight: 700; margin-bottom: 8px !important; letter-spacing: 1px; }
.ttl-02_2 { border-radius: 24px; color: #545455; line-height: 1.2; padding: 13px 18px 14px; font-weight: 700; margin-bottom: 8px !important; letter-spacing: 1px; font-size: 110%; }
.ttl-03 { border-radius: 8px 8px 0 0; padding: 12px 13px 13px 37px; color: #545455; font-weight: 700; line-height: 1.2; position: relative; letter-spacing: 1px; font-size: 1.2rem; margin: 54px 0 15px; }
.ttl-03:before { content: "●"; color: #c5d119; position: absolute; left: 12px; top: 15px; font-size: 14px; }
.ttl-03.ttl-03_2:before { content: "■" !important; color: #1199a9 !important; }
.ttl-04 { font-weight: 900; line-height: 1.2; position: relative; letter-spacing: 1px; font-size: 1.1rem; margin: 32px 0 8px; padding-left: 22px; }
.ttl-04.ttl-04_2 { padding-left: 19px; }
.ttl-04:before { content: "\f00c"; font-family: "Font Awesome 5 Free"; position: absolute; left: 0; top: 3px; font-size: 14px; }
.ttl-04.ttl-04_2 { color: #333; font-weight: 600 !important; }
.ttl-04.ttl-04_2:before { content: "\f111" !important; color: #9fa0a0; font-weight: bold !important; }
.ttl-04.ttl-04_2_g:before { content: "\f111" !important; color: #309f3a; font-size: 12px; top: 5px; left: 2px; }
.ttl-04.ttl-04_2_b:before { content: "\f111" !important; color: #1199a9; font-size: 12px; top: 5px; left: 2px; }
.ttl-04.ttl-04_3:before { content: "\f00c" !important; color: #309f3a; }

.img-01 { border: 1px solid #00a1ac; border-radius: 6px; }
.img-02 { float: right; margin: 6px 0 8px 10px; width: 254px; height: auto; }
.img-03 { max-width: 380px; width: 100%; height: auto; }
.img-03_2 { max-width: 270px; width: 70%; height: auto; }
.img-04 { width: 80%; height: auto; }
.img-04_2 { width: 80%; height: auto; }
.cb-04 { width: 80%; margin: 10px auto 0; }
.img-05 { width: 90%; height: auto; }
.mgIT { margin-bottom: -14px !important; position: relative; z-index: 2; line-height: 1.3 !important; }
@media all and (max-width: 736px) {.mgIT { margin-bottom: -11px !important;}}
@media all and (max-width: 540px) {.mgIT { margin-bottom: -8px !important;} .img-04_2 { width: 100%; } .cb-04 { width: 100%; margin: 10px auto 0; }}
@media all and (max-width: 420px) {
.ttl-01 { padding: 6px 15px 7px; }
.ttl-02 { padding: 3px 16px 4px; }
.ttl-02_2 { padding: 7px 16px 8px; }
.mgIT { margin-bottom: -6px !important;}
.img-03 { max-width: 380px; width: 70%; height: auto; }}

.txt-id01 { text-indent: -2.5em; padding-left: 2.5em; }
.txt-id02 { text-indent: -1.5em; padding-left: 1.5em; }
.txt-id02_2 { text-indent: -1.7em; padding-left: 1.7em; }
.txt-id03 { text-indent: -0.9em; padding-left: 0.9em; }
.txt-id04 { text-indent: -1.1em; padding-left: 1.1em; }
.txt-id05 { text-indent: -1.4em; padding-left: 1.4em; }

.bg-gr1 { background-color: #00a1ac; }
.bg-gr2 { background-color: #e4f3f5; }
.bg-gr3 { background-color: #f2f9fa; }
.bg-fg { background-color: #eff7ea; }
.bg-or1 { background-color: #e66e1b; }
.bg-or2 { background-color: #fdefe0; }
.bg-or3 { background-color: #fbf7f3; }
.bg-yl { background-color: #f3f6d1; }

@media all and (max-width: 736px) {
.side-box { display: none; }
.content-box { width: 100%; }
.drawer-nav { overflow-y: scroll; padding-bottom: 80px; }
}

/* current */
.menu-base.menu-cat1 ul li ul li a:hover { border-bottom: 1px dotted #00a1ac; }
.menu-base.menu-cat2 ul li ul li a:hover { border-bottom: 1px dotted #e66e1b; }
#id01_01 .side-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(1) a,
#id01_01 .top-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(1) a,
#id01_02 .side-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(2) a,
#id01_02 .top-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(2) a,
#id01_03 .side-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(3) a,
#id01_03 .top-index .menu-base.menu-cat1 ul li:nth-child(1) ul li:nth-child(3) a,
#id02_01 .side-index .menu-base.menu-cat1 ul li:nth-child(2) ul li:nth-child(1) a,
#id02_01 .top-index .menu-base.menu-cat1 ul li:nth-child(2) ul li:nth-child(1) a,
#id03_01 .side-index .menu-base.menu-cat1 ul li:nth-child(3) ul li:nth-child(1) a,
#id03_01 .top-index .menu-base.menu-cat1 ul li:nth-child(3) ul li:nth-child(1) a { border-bottom: 1px dotted #00a1ac; }

#id11_01 .side-index .menu-base.menu-cat2 ul li:nth-child(1) a,
#id11_01 .top-index .menu-base.menu-cat2 ul li:nth-child(1) a,
#id11_02 .side-index .menu-base.menu-cat2 ul li:nth-child(2) a,
#id11_02 .top-index .menu-base.menu-cat2 ul li:nth-child(2) a,
#id11_03 .side-index .menu-base.menu-cat2 ul li:nth-child(3) a,
#id11_03 .top-index .menu-base.menu-cat2 ul li:nth-child(3) a,
#id11_04 .side-index .menu-base.menu-cat2 ul li:nth-child(4) a,
#id11_04 .top-index .menu-base.menu-cat2 ul li:nth-child(4) a,
#id11_05 .side-index .menu-base.menu-cat2 ul li:nth-child(5) a,
#id11_05 .top-index .menu-base.menu-cat2 ul li:nth-child(5) a,
#id11_06 .side-index .menu-base.menu-cat2 ul li:nth-child(6) a,
#id11_06 .top-index .menu-base.menu-cat2 ul li:nth-child(6) a,
#id11_07 .side-index .menu-base.menu-cat2 ul li:nth-child(7) a,
#id11_07 .top-index .menu-base.menu-cat2 ul li:nth-child(7) a { border: 1px solid #f38133; background-color: #fff6ed; }

/* part2 */
.phR { float: right; margin: 0 0 0 12px; width: 32%; height: auto; padding: 8px; }
.phR2 { float: right; margin: 0 0 0 12px; width: 25%; height: auto; max-width: 90px; }
.phR3 { float: right; margin: 0 0 0 12px; width: 31%; height: auto; }
.phR4 { float: right; margin: 0 0 0 12px; width: 34%; height: auto; padding: 0 4px 4px; }
.phR5 { float: right; margin: 0 0 0 12px; width: 39%; height: auto; padding: 0 4px 4px; }
.phR6 { float: right; margin: 0 0 0 12px; width: 41%; height: auto;  }
@media all and (max-width: 736px) {
.phR { padding: 4px; }
}
.pdL20 { padding-left: 19px !important; }
.pdL12 { padding-left: 12px !important; }
.pdB0 { padding-bottom: 0 !important; }

.lead_box { background: #fffded; padding: 22px 26px; position: relative; margin: 24px 0; }
.lead_box p { color: #43959c; font-size: 110%; font-weight: bold; z-index: 0; margin-bottom: 0; line-height: 1.65; }
.lead_box:before { content: ""; width: 60px; height: 60px; position: absolute; top: 0; left: 0; z-index: 1; border-left: 2px solid #5daeb5; border-top: 2px solid #5daeb5; }
.lead_box:after { content: ""; width: 60px; height: 60px; position: absolute; bottom: 0; right: 0; z-index: 1; border-right: 2px solid #5daeb5; border-bottom: 2px solid #5daeb5; }
.lead_box:after {
    content:" ";
    display:block;
    clear:both;
}
.list-check { list-style: none; }
.list-check li { font-size: 100%; margin-bottom: 6px; position: relative; padding-left: 23px; color: #333; }
.list-check li:before { content: "\f00c"; font-family: "Font Awesome 5 Free"; color: #00a1ac; font-size: 90%; position: absolute; left: 0; top: 6px; font-weight: bold; }

.list-check .flex {
    display: flex;
    align-items: center;
}

.list-check .flex.check--black:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    color: #333;
    font-size: 100%;
    font-weight: bold;
    margin: 0 5px 0 0;
}
.list-circle { list-style: none; }
.list-circle li { font-size: 100%; margin-bottom: 6px; position: relative; padding-left: 18px; color: #333; }
.list-circle li:before { content: "\f111"; font-family: "Font Awesome 5 Free"; color: #e66e1b; font-size: 70%; position: absolute; left: 0; top: 7px; font-weight: bold; }
.list-check li:last-child,.list-circle li:last-child { margin-bottom: 0; }

.rd_box01 { border-radius: 8px; padding: 13px 16px 14px; }
.rd_box02 { border-radius: 8px; padding: 0 16px 14px; border: 2px solid #fae5ee; margin-top: 60px; }
.ttl-05 { position: relative; top: -19px; left: 0px; padding: 6px 25px 7px; line-height: 1.3; color: #d94e8f; background: #fae5ee; border-radius: 40px; display: inline-block; font-size: 110%; font-weight: bold; margin-bottom: -24px; }
.list-nm { list-style: none; }
.list-nm li { display: inline-block; margin: 8px 20px 0 0; }

.ttl-06 { background-color: #7bb262; color: #fff; font-weight: bold; padding: 4px 12px 5px; border-radius: 30px; line-height: 1.2; display: inline-block; margin-bottom: 4px; font-size: 120%; margin-top: 9px; }

.ttl-07 { background: #cc5c21; color: #fff; font-weight: bold; text-align: center; font-size: 120%; line-height: 1.3; padding: 8px 12px 9px; margin-bottom: 0; }
.sq_box02 { border: 1px solid #cc5c21; padding: 12px; display: flex; justify-content: space-between; flex-wrap: wrap; color: #111; }
.box_HH { width: 48.4%; }
.ttl-08 { background: #fbefe6; padding: 5px 5px 6px 30px; line-height: 1.45; font-weight: bold; margin-bottom: 7px; position: relative; font-size: 95%; letter-spacing: -0.3px; }
.ttl-08 span { position: absolute; left: 6px; top: 6px; background: #cc5c21; width: 19px; height: 19px; text-align: center; color: #fff; display: flex; justify-content: center; align-items: center; padding-bottom: 2px; border-radius: 20px; font-size: 90%; }

.sq_box02 p { padding-left: 30px; margin-bottom: 16px; line-height: 1.55; font-size: 95%; }

@media all and (min-width: 737px) {
.ttl-08-1L { padding-top: 16px; padding-bottom: 17px; }
.ttl-08-1L span { top: 17px; }
}
@media all and (max-width: 736px) {
.box_HH { width: 100%; }
.ttl-05 { padding: 6px 20px 7px; font-size: 107.5%; }
}

.ttl-09 { background-color: #1199a9; color: #fff; font-size: 105%; font-weight: 600; margin: 32px 0 0; line-height: 1.4; padding: 4px 12px 5px; }

.sq_box01 { background: #fbfcf6; border: 1px solid #bdc91b; border-top: 6px solid #bdc91b; padding: 20px; }
.sq_box01 h2 { padding: 0 8px 8px 24px; color: #309f3a; font-weight: 700; line-height: 1.2; position: relative; letter-spacing: 1px; font-size: 1.25rem; margin: 0 0 11px; border-bottom: 1px solid #309f3a; }
.sq_box01 h2:before { content: "■"; color: #309f3a; position: absolute; left: 2px; top: 3px; font-size: 14px; }

.img-06 { width: 105%; margin-left: -2.5%; }
.txt_wball { word-break: break-all; }

.table01 { border-bottom: 1px solid #888; border-left: 1px solid #888;
border-collapse: separate;
border-spacing: 0px;}
.table01 th,.table01 td { border-top: 1px solid #888; border-right: 1px solid #888; }
.table01 th { font-weight: bold; white-space: nowrap; padding: 18px; background-color: #f2f9fa; line-height: 1.25; }
.table01 td { font-size: 90%; padding: 12px; font-weight: normal !important; }
@media all and (max-width: 736px) {
.table01 th,.table01 td { width: 100%; display: block; }
}

/* print */
@media print {
.drawer-nav { display: none; }
header {
    position: relative;
	top: 0;
	left: auto;
	right: auto;
	width: 100%;
	margin-bottom: 0 !important;
}
main { margin-top: 0 !important; }
.drawer--top .drawer-hamburger { display: none; }
.kv-select li { box-shadow: none !important; }
}
@media print and (max-width: 736px) {
main { margin-top: -80px !important; }
}

/* LINK */
.overlay{
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.6);
    position:fixed;
    z-index:555;
	display: none;
}
.dsp_bl { display: block; }
.btn_area{
    width:90%;
	max-width: 720px;
    height:360px;
    position:absolute;
    top:50%;
    left:50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
    background-color:#fff;
    z-index:999;
	padding: 30px;
}
.btn_area p{
    line-height: 1.5;
}
.btn_area button{
    display:block;
    margin:0 auto;
}
.btn_jump {
width: 70%;
position: absolute;
bottom: 30px;
left: 15%;
font-size: 130%;
font-weight: 500;
color: #fff;
background-color: #e66e1b;
text-align: center;
line-height: 1.1;
padding: 15px;
}

.btn_jump,.btn_close{
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}
.btn_jump::before {
content: "";
width: 100%;
height: 100%;
padding: 1px;
box-sizing: content-box;
background-color: #fff;
border: 1px solid #e66e1b;
position: absolute;
top: -2px;
left: -2px;
z-index: -1;
}
.btn_jump::after {
    content: "\f35d";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: 18px;
    font-size: 90%;
	z-index: 10;
	color: #fff;
	font-weight: bold;
}
.btn_jump:hover {
background-color: #F59B5E;
}
.btn_close{
padding: 5px 5px 7px;
line-height: 1;
font-weight: 500;
font-size: 130%;
border-radius: 30px;
background-color: #000;
color: #fff;
position: absolute;
top: -20px;
right: -20px;
}

@media all and (max-width: 560px) {
.btn_area p{ font-size: 14px !important; }
.btn_area p.txt_130{ font-size: 18px !important; }
.btn_area{ height: auto; padding: 23px 23px 118px; width: 86%; }
.btn_jump { font-size: 110%; line-height: 1 !important; padding-bottom: 17px; }
.btn_jump::after { font-size: 80%; margin-top: -7px; }
.btn_close{ top: -16px; right: -16px; }
}
