* {
    text-align: left;
    list-style: none outside;
    font-size: 100%
}

html {
    margin: 0;
    padding: 0;
    height: 100%
}

body {
    margin: 0;
    padding: 0;
    background: #006DAD;
    font-family: Roboto, 'Noto Sans JP', "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, Helvetica, sans-serif;
    color: #333333;
    -webkit-text-size-adjust: 100%;
    font-size: 100%;
    font-weight: 500
}

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

header,footer,main,nav,section,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,table,thead,tbody,tr,th,td,em,img,span,a {
    margin: 0;
    padding: 0;
    border: none;
    outline: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box
}

header,footer,main,nav,section {
    display: block
}

table,tr,td,th {
    border-collapse: collapse;
    border-spacing: 0;
    vertical-align: top
}

a:focus {
    outline: auto
}

.wrapOuter {
    display: flex;
    justify-content: space-between
}

main {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 20px;
}

nav.navGlbMenu {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 210px;
    color: #ffffff
}

.g-layUnitBsc {
    margin: 0 auto;
    width: 960px
}

.secLayBsc {
    position: relative;
    padding: clamp(80px, 10%, 130px) clamp(20px, 10%, 140px);
    background: #ffffff;
    border-radius: 70px 0 0 70px
}

.layBscIn {
    max-width: 1200px
}

.secLayBsc:first-child:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: clamp(20px, 10%, 140px);
    width: 40px;
    height: 55px;
    background: url("../imgs/pic_01.svg") no-repeat 0 0/40px auto
}

.secLayBsc:first-child:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: clamp(100px, 20%, 240px);
    width: 60px;
    height: 30px;
    background: url("../imgs/pic_02.svg") no-repeat 0 0/60px auto
}

.home .secLayBsc:last-child:after,.hinaIDX .secLayBsc:last-child:after {
    content: "";
    display: block;
    position: absolute;
    top: 130px;
    left: 0;
    width: 40px;
    height: 55px;
    background: url("../imgs/pic_03.svg") no-repeat 0 0/40px auto
}

.secLayBsc p a,.secLayBsc dl a,.secLayBsc li a,.secLayBsc table a {
    color: #AAAAAA
}

.secLayRev {
    padding: 0 clamp(20px, 10%, 140px) 0 0;
    background: #ffffff
}

.secLayRev .secLayRevIn {
    padding: clamp(20px, 10%, 140px);
    color: #ffffff;
    background: #AAAAAA;
    border-radius: 0 70px 70px 0
}

.secLayRev a {
    color: #ffffff
}

.secLayBsc *:first-child,.secLayRevIn *:first-child {
    margin-top: 0
}

.secLayBsc *:last-child,.secLayRevIn *:last-child {
    margin-bottom: 0;
}

p {
    font-size: 1.1rem;
    line-height: 1.8
}

p.date {
    text-align: right
}

dt,dd,li,td,th {
    font-size: 1.1rem;
    line-height: 1.8
}

p+p,p+ul,p+ol,ul+p,ol+p {
    margin-top: 1.5rem
}

h1.pageTitle {
    margin: 0 0 80px;
    padding: 0 0 0 80px;
    font-size: 50px;
    color: #85ba62;
    background: no-repeat 0 50% / auto 50px
}

h1.secTitle {
    margin: 80px 0 50px 0;
    font-size: 36px
}

body.home h1.pageTitle {
    padding: 0
}

body.hinagata h1.pageTitle {
    background-image: url("../imgs/ico_hinagata.svg")
}

body.faq h1.pageTitle {
    background-image: url("../imgs/ico_faq.svg")
}

body.bengoshi h1.pageTitle {
    padding-left: 90px;
    background-image: url("../imgs/ico_bengoshi.svg")
}

body.about h1.pageTitle {
    background-image: url("../imgs/ico_about.svg")
}

body.gaibusoushin_kiritsu h1.pageTitle {
    background-image: url("../imgs/ico_gaibusoushin_kiritsu.svg")
}

body.contact h1.pageTitle {
    background-image: url("../imgs/ico_contact.svg")
}

h2 {
    margin: 3em 0 1.3em;
    font-size: 36px
}

h2.adjMT1 {
    margin-top: 1em
}

h2.adjMT2 {
    margin-top: 1em
}

.attention {
    color: #d9557a
}

.layTxtR {
    text-align: right
}

.bnrUnit2 {
    display: flex;
    justify-content: center;
    margin: 60px 0
}

.bnrUnit2 img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px
}

.secLinkList {
    margin: 100px 0 0;
    padding: 60px;
    background: #f0f7f8;
    border-radius: 20px
}

.secLinkList h2 {
    font-size: 30px
}

.secLinkList h2:first-of-type {
    margin-top: 0
}

.secLinkList>*:first-child {
    margin-top: 0
}

.secLinkList>*:last-child {
    margin-bottom: 0
}

.adjNR {
    white-space: nowrap
}

.adjMT0 {
    margin-top: 0 !important
}

main p a:hover {
    text-decoration: none
}

main dl a,main li a {
    text-decoration: none
}

main td .g-layListTyp01 li a {
    text-decoration: underline
}

main dl a:hover,main li a:hover {
    text-decoration: underline
}

main td>a:hover,main td .g-layListTyp01 li a:hover {
    text-decoration: none
}

a.newwin {
    padding: 0 15px 0 0;
    background: url(../imgs/ico_blank.svg) no-repeat 100% 50%/10px auto
}

.secLayBsc p a.newwin,.secLayBsc dl a.newwin,.secLayBsc li a.newwin,.secLayBsc td a.newwin {
    background: url(../imgs/ico_blank_02.svg) no-repeat 100% 50%/10px auto
}

a[target="_blank"] .layIcon01 {
    padding: 0 15px 0 0;
    background: url(../imgs/ico_blank.svg) no-repeat 100% 50%/10px auto
}

a[target="_blank"] .layIcon02 {
    padding: 0 15px 0 0;
    background: url(../imgs/ico_blank_02.svg) no-repeat 100% 50%/10px auto
}

a[target="_blank"] .layIcon03 {
    margin: 0 15px 0 0;
    padding: 0 15px 0 0;
    background: url(../imgs/ico_blank_02.svg) no-repeat 100% 50%/10px auto
}

a:hover[target="_blank"] .layIcon02 {
    padding: 0 15px 0 0;
    background: url(../imgs/ico_blank.svg) no-repeat 100% 50%/10px auto
}

.alp:hover img {
    filter: alpha(opacity=70);
    -moz-opacity: .70;
    opacity: .70;
    transition: opacity 0.4s ease-out
}

nav.navGlbMenu .gNav {
    margin: 90px 0 0;
    width: 100%;
    font-size: 18px;
    line-height: 1
}

nav.navGlbMenu .gNav a {
    position: relative;
    display: block;
    color: #ffffff;
    text-decoration: none
}

nav.navGlbMenu .gNav a:hover {
    color: #e6e623;
    transition: color 0.4s ease-out
}

nav.navGlbMenu .gNav .act a {
    color: #e6e623
}

nav.navGlbMenu .gNav li .layIcon {
    position: relative;
    display: block;
    padding: 20px 20px 20px 67px
}

nav.navGlbMenu .gNav li .layIcon:before,nav.navGlbMenu .gNav li .layIcon:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
    margin-top: -15px;
    width: 35px;
    height: 30px;
    background: no-repeat 50% 50% / auto 25px;
    transition: opacity 0.4s ease-out
}

nav.navGlbMenu .gNav li .layIcon:after {
    -moz-opacity: 0;
    opacity: 0
}

nav.navGlbMenu .gNav li a:hover .layIcon:before {
    -moz-opacity: 0;
    opacity: 0
}

nav.navGlbMenu .gNav li a:hover .layIcon:after {
    -moz-opacity: 1;
    opacity: 1
}

nav.navGlbMenu .gNav li.navHome a .layIcon:before {
    background-image: url("../imgs/ico_navi_home.svg")
}

nav.navGlbMenu .gNav li.navHome a:hover .layIcon:after,nav.navGlbMenu .gNav li.navHome.act a .layIcon:before {
    background-image: url("../imgs/ico_navi_home_act.svg")
}

nav.navGlbMenu .gNav li.navHina a .layIcon:before {
    background-image: url("../imgs/ico_navi_hinagata.svg")
}

nav.navGlbMenu .gNav li.navHina a:hover .layIcon:after,nav.navGlbMenu .gNav li.navHina.act a .layIcon:before {
    background-image: url("../imgs/ico_navi_hinagata_act.svg")
}

nav.navGlbMenu .gNav li.navFaq a .layIcon:before {
    background-image: url("../imgs/ico_navi_faq.svg")
}

nav.navGlbMenu .gNav li.navFaq a:hover .layIcon:after,nav.navGlbMenu .gNav li.navFaq.act a .layIcon:before {
    background-image: url("../imgs/ico_navi_faq_act.svg")
}

nav.navGlbMenu .gNav li.navBengoshi a .layIcon:before {
    background-image: url("../imgs/ico_navi_bengoshi.svg")
}

nav.navGlbMenu .gNav li.navBengoshi a:hover .layIcon:after,nav.navGlbMenu .gNav li.navBengoshi.act a .layIcon:before {
    background-image: url("../imgs/ico_navi_bengoshi_act.svg")
}

nav.navGlbMenu .gNav .act a:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background: #e6e623
}

nav.navLclMenu {
    margin: 50px 0
}

.lNav {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%
}

nav.navLclMenu.kiyaku .lNav li {
    width: 20%
}

nav.navLclMenu.privacy .lNav li {
    width: 33.3333333333%
}

nav.navLclMenu.cookie .lNav li {
    width: 50%
}

nav.navLclMenu.SCT .lNav li {
    width: 50%
}

nav.navLclMenu.btobDoc .lNav li {
    width: 50%
}

.lNav li a {
    display: block;
    position: relative;
    padding: 25px 0 15px;
    text-align: center;
    color: #AAAAAA;
    background: #e7f4f5;
    border-radius: 20px 20px 0 0;
    text-decoration: none;
    transition: background 0.4s ease-out
}

.lNav li a:hover {
    color: #ffffff;
    text-decoration: none;
    background-color: #77c8cf
}

.lNav li a:after {
    content: "";
    display: block;
    position: absolute;
    top: -33px;
    left: 50%;
    margin-left: -25px;
    width: 50px;
    height: 50px;
    background: no-repeat 50% 100% / 40px auto
}

.lNav li.drawIconHinaKyaku01 a:after {
    background-image: url(../imgs/ico_gp.svg);
    background-size: 35px auto
}

.lNav li.drawIconHinaKyaku02 a:after {
    background-image: url("../imgs/ico_campaign.svg")
}

.lNav li.drawIconHinaKyaku03 a:after {
    background-image: url("../imgs/ico_onlineshop.svg")
}

.lNav li.drawIconHinaKyaku04 a:after {
    background-image: url("../imgs/ico_sns.svg")
}

.lNav li.drawIconFaq a:after {
    background-image: url("../imgs/ico_faq.svg");
    background-size: 50px auto
}

.lNav li.drawIconHinaPrivacy01 a:after {
    background-image: url("../imgs/ico_privacy.svg")
}

.lNav li.drawIconHinaPrivacy02 a:after {
    background-image: url("../imgs/ico_recruit.svg")
}

.lNav li.drawIconHinaCookie01 a:after {
    background-image: url("../imgs/ico_cookie.svg")
}

.lNav li.drawIconHinaSct01 a:after {
    background-image: url("../imgs/ico_specified_commercial_transactions.svg");
    background-size: 45px auto
}

.lNav li.drawIconHinaDoc01 a:after {
    background-image: url("../imgs/ico_doc_001.svg")
}

.lNav li.drawIconHinaDoc02 a:after {
    background-image: url("../imgs/ico_doc_002.svg")
}

.lNav li.drawIconHinaDoc03 a:after {
    background-image: url("../imgs/ico_doc_003.svg")
}

.lNav li.drawIconHinaDoc04 a:after {
    background-image: url("../imgs/ico_doc_004.svg")
}

.lNav li.act.drawIconHinaKyaku01 a:after {
    top: 20px
}

.lNav li.act.drawIconHinaKyaku02 a:after {
    top: 20px
}

.lNav li.act.drawIconHinaKyaku03 a:after {
    top: 20px
}

.lNav li.act.drawIconHinaKyaku04 a:after {
    top: 20px
}

.lNav li.act.drawIconFaq a:after {
    top: 20px
}

.lNav li.act a {
    display: block;
    padding: 70px 0 15px;
    color: #333333;
    background: #ffffff;
    border: 3px solid #AAAAAA;
    border-bottom: none;
    border-radius: 20px 20px 0 0;
    text-decoration: none;
    pointer-events: none
}

.lNav li.act a:after {
    top: 10px !important
}

nav.navIdxSet01 {
    margin: 50px 0 0
}

.g-layLinkSetTyp01 {
    display: flex;
    justify-content: space-between
}

.g-layLinkSetTyp01 li {
    display: flex;
    width: 46%;
    border-radius: 10px;
    box-shadow: 0 10px 10px 0 rgba(22,89,95,0.2)
}

.g-layLinkSetTyp01 li .layTxt1 {
    font-size: 24px
}

.g-layLinkSetTyp01 li .layTxt2 {
    font-size: 18px
}

.g-layLinkSetTyp01 li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 30px 20px 40px;
    text-align: center;
    color: #AAAAAA;
    text-decoration: none;
    border: 4px solid #dceced;
    border-radius: 10px;
    transition: background 0.4s ease-out, border 0.4s ease-out
}

.g-layLinkSetTyp01 li a:hover {
    color: #ffffff;
    text-decoration: none;
    border: 4px solid #77c8cf;
    background-color: #77c8cf;
    transition: color 0.4s ease-out
}

.g-layLinkSetTyp01 li a .layTxt1 {
    display: flex;
    padding: 60px 0 0;
    background: no-repeat 50% 0 / auto 50px
}

.g-layLinkSetTyp01 li.hinaIdx a .layTxt1 {
    background-image: url("../imgs/ico_hinagata.svg")
}

.g-layLinkSetTyp01 li.faqIdx a .layTxt1 {
    background-image: url("../imgs/ico_faq.svg")
}

.g-layLinkSetTyp01 li.row a {
    padding: 20px
}

.g-layLinkSetTyp01 li.row a .layTxt1 {
    display: block;
    padding: 15px 0;
    font-size: 18px;
    background-position: 0 50%
}

.g-layLinkSetTyp01 li.drawIconBengoshi a .layTxt1 {
    padding-left: 90px;
    background-image: url("../imgs/ico_bengoshi.svg")
}

.g-layLinkSetTyp01 li.drawIconContact a .layTxt1 {
    padding-left: 80px;
    background-image: url("../imgs/ico_contact.svg")
}

.g-layLinkSetTyp02 {
    display: flex;
    flex-direction: column;
    margin: 10px 0
}

.g-layLinkSetTyp02 li {
    display: flex
}

.g-layLinkSetTyp02 li a {
    display: block;
    padding: 4px 20px;
    color: #AAAAAA;
    text-decoration: none;
    border: 1px solid #AAAAAA;
    border-radius: 50px;
    transition: background 0.4s ease-out
}

.g-layLinkSetTyp02 li a:hover {
    color: #ffffff;
    text-decoration: none;
    background: #AAAAAA;
    transition: color 0.4s ease-out
}

.g-layLinkSetTyp02.rev a {
    color: #ffffff;
    border: 1px solid #ffffff
}

.g-layLinkSetTyp02.rev a:hover {
    color: #AAAAAA;
    background: #ffffff
}

.siteName.act a {
    pointer-events: none
}

.siteName img {
    display: block;
    width: 165px;
    height: auto
}

header {
    height: 50px
}

footer {
    display: flex;
    justify-content: flex-end;
    padding: 50px 0;
    color: #ffffff
}

footer .layFotter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 220px);
    padding: 0 clamp(10px, 5%, 140px)
}

footer nav.navFtMenu ul {
    display: flex
}

footer nav.navFtMenu ul li {
    font-size: clamp(15px, 1.3vw, 18px)
}

footer nav.navFtMenu ul li+li {
    margin-left: 40px;
    margin-left: clamp(10px, 2.5vw, 40px)
}

footer a {
    color: #ffffff;
    text-decoration: none
}

footer .act a {
    pointer-events: none;
    color: rgba(255,255,255,0.4)
}

footer a:hover {
    color: rgba(255,255,255,0.7);
    transition: color 0.4s ease-out
}

@media screen and (max-width: 1400px) {
    footer .layFotter {
        flex-direction:column
    }

    footer nav.navFtMenu ul li+li {
        margin-left: clamp(10px, 3.5vw, 40px)
    }

    footer .copyright {
        margin-top: 40px
    }
}

.snsLink {
    position: absolute;
    top: 10px;
    right: 50px
}

.snsLink a {
    color: #ffffff
}

main li {
    font-size: 1.1rem;
    line-height: 1.8
}

main li+li {
    margin-top: 15px
}

main nav li+li {
    margin-top: inherit
}

main li>ul,main li>ol {
    padding-bottom: 15px
}

main li:last-child ul,main li:last-child ol {
    padding-bottom: 0
}

ul.g-layUlTyp01 {
    margin: 40px 0
}

ul.g-layUlTyp01 li {
    position: relative;
    padding: 0 0 0 25px
}

ul.g-layUlTyp01 li+li {
    margin-top: 1.4em
}

ul.g-layUlTyp01 li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 15px;
    height: 15px;
    background: #AAAAAA;
    border-radius: 3px
}

ul.g-layUlTyp01.compact li {
    padding: 0 0 0 18px
}

ul.g-layUlTyp01.compact li+li {
    margin-top: 1em
}

ul.g-layUlTyp01.compact li:after {
    top: 0.6em;
    width: 10px;
    height: 10px
}

ul.g-layUlTyp02 {
    margin: 40px 0
}

ul.g-layUlTyp02 li {
    position: relative;
    padding: 0 0 0 25px;
    color: #d9557a
}

ul.g-layUlTyp02 li+li {
    margin-top: 1.3em
}

ul.g-layUlTyp02 li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 15px;
    height: 15px;
    background: #d9557a;
    border-radius: 3px
}

ul.g-layUlTyp04 {
    margin: 25px 0 0
}

ul.g-layUlTyp04 li {
    position: relative;
    padding: 0 0 0 25px;
    color: #ffffff
}

ul.g-layUlTyp04 li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 15px;
    height: 15px;
    background: #ffffff;
    border-radius: 3px
}

ul.g-layUlTyp03 {
    margin: 30px 0
}

ul.g-layUlTyp03 li {
    font-size: 16px;
    border-radius: 10px;
    box-shadow: 0 10px 10px 0 rgba(108,140,158,0.2)
}

ul.g-layUlTyp03 li+li {
    margin-top: 20px
}

ul.g-layUlTyp03 li a {
    display: block;
    padding: 20px 30px;
    text-decoration: none;
    background: #ffffff;
    border-radius: 10px;
    transition: background 0.4s ease-out
}

ul.g-layUlTyp03 li a:hover {
    color: #ffffff;
    background: #AAAAAA;
    transition: color 0.4s ease-out
}

ul.g-layUlTyp03 li .layTxt1 {
    display: block;
    color: #777777
}

ul.g-layUlTyp03 li a:hover .layTxt1 {
    color: #A7E0E5;
    transition: color 0.4s ease-out
}

ol.g-layOlTyp01 {
    margin: 20px 0 0 0
}

ol.g-layOlTyp01>li {
    position: relative;
    padding-left: 2rem
}

ol.g-layOlTyp01>li+li {
    margin-top: 10px
}

ol.g-layOlTyp01>li .maruNum {
    position: absolute;
    top: -0.3rem;
    left: 0;
    display: inline-block;
    font-size: 130%;
    font-weight: 700;
    color: #AAAAAA
}

ol.g-layOlTyp02 {
    margin: 20px 0 0 30px
}

ol.g-layOlTyp02>li {
    position: relative;
    padding: 0 0 0 10px;
    list-style: outside decimal
}

ol.g-layOlTyp02>li::marker {
    font-size: 130%;
    font-weight: 700;
    color: #AAAAAA
}

ol.g-layOlTyp02>li+li {
    margin-top: 10px
}

ol.g-layOlTyp03 {
    margin: 40px 0 0 30px;
    counter-reset: listNum
}

ol.g-layOlTyp02 li>ol.g-layOlTyp03 {
    margin-top: 1rem
}

ol.g-layOlTyp03>li {
    position: relative;
    list-style: none;
    margin-left: 1.5rem
}

ol.g-layOlTyp03>li:before {
    display: block;
    position: absolute;
    top: 0;
    left: -3rem;
    width: 3rem;
    counter-increment: listNum;
    content: "（" counter(listNum) "）";
    font-size: 110%;
    font-weight: 700;
    color: #AAAAAA
}

ol.abc li {
    list-style: outside lower-alpha
}

.g-layListTyp01+.g-layListTyp01 {
    margin-top: 10px
}

.g-layListTyp01 li+li {
    margin-top: 5px
}

.wrapHinaIdx {
    padding: 40px;
    background: rgba(150,222,233,0.2)
}

.wrapHinaIdx *:first-child {
    margin-top: 0
}

.wrapHinaIdx *:last-child {
    margin-bottom: 0
}

.wrapHinaIdx dl+dl {
    margin-top: 40px
}

.wrapHinaIdx dt {
    padding: 15px;
    background: #ffffff
}

.g-layListTyp02 {
    margin: 30px 0;
    border-bottom: 1px solid #dddddd
}

.g-layListTyp02 li {
    padding: 15px;
    border-top: 1px solid #dddddd
}

table.bsc th {
    padding: 10px 10px 10px 0;
    font-size: 0.95em;
    line-height: 140%
}

table.bsc td {
    padding: 10px;
    font-size: 0.95em;
    line-height: 140%
}

table.bsc td ul {
    margin: 0 0 0 20px
}

table.bsc td ul li {
    margin: 0 0 5px 0;
    list-style: outside disc
}

.g-layTblTyp01 {
    margin: 50px 0;
    border-top: 1px solid #e4e4e4
}

.g-layTblTyp01 th {
    padding: 30px;
    white-space: nowrap;
    border-bottom: 1px solid #e4e4e4
}

.g-layTblTyp01 td {
    padding: 30px;
    border-bottom: 1px solid #e4e4e4
}

.hina-layTblTyp01 {
    margin: 50px 0;
    width: 100%;
    border-top: 1px solid #999999
}

.hina-layTblTyp01+.hina-layTblTyp01 {
    margin-top: 20px
}

.hina-layTblTyp01 th {
    width: 25%;
    padding: 30px;
    white-space: nowrap;
    border-bottom: 1px solid #dfdfcd
}

.hina-layTblTyp01 td {
    padding: 30px;
    border-bottom: 1px solid #dfdfcd
}

.hina-layTblTyp02 {
    border: 2px solid #B8B8B8;
    border-radius: 10px
}

.hina-layTblTyp02 th {
    padding: 15px 20px;
    font-size: 1rem;
    line-height: 1.8;
    white-space: nowrap;
    background: #efefef;
    border-bottom: 1px solid #999999
}

.hina-layTblTyp02 td {
    padding: 15px 20px;
    font-size: 1rem;
    line-height: 1.8;
    background: #ffffff;
    border-bottom: 1px solid #999999
}

.hina-layTblTyp03 {
    margin: 20px 0 0;
    border-top: 1px solid #999999
}

.hina-layTblTyp03 th {
    padding: 5px 20px;
    font-size: 1rem;
    line-height: 1.8;
    white-space: nowrap;
    border-bottom: 1px solid #999999
}

.hina-layTblTyp03 td {
    padding: 5px 20px;
    font-size: 1rem;
    line-height: 1.8;
    border-bottom: 1px solid #999999
}

dl.nav1 {
    margin: 31px 0 0 0;
    width: 960px
}

dl.nav1 dt img {
    display: block;
    margin: 0 auto
}

dl.nav1 dt {
    text-align: center
}

dl.nav1 dt img {
    display: inline
}

dl.nav1 dt span {
    display: block;
    margin: 10px 0 0 0;
    text-align: center;
    font-size: 0.95em;
    line-height: 140%
}

dl.nav1 dd {
    margin: 10px 0 0 0;
    float: left
}

dl.nav1 dd img {
    display: block
}

dl.nav1 dd.dyn {
    margin: 10px 1px 0 0
}

.bnrUnit {
    clear: both;
    background: #acbd5d;
    height: 170px
}

.bnrUnit dl {
    width: 960px;
    margin: 0 auto
}

.bnrUnit dt {
    float: left
}

.bnrUnit dt img {
    display: block
}

.layNews {
    position: relative
}

.layNews:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 190px;
    width: 45px;
    height: 110px;
    background: no-repeat url("../imgs/ico_news.svg") 50% 50%/45px 110px
}

.layNews .secLayRevIn {
    display: flex;
    padding: 130px 70px 130px clamp(20px, 10%, 140px)
}

.layNews .secLayRevIn h2 {
    flex-shrink: 0
}

.layNews .secLayRevIn .newsContents {
    margin: 0 0 0 80px
}

.layNews .secLayRevIn .newsContents dl {
    display: flex;
    padding: 0 0 30px;
    width: 100%;
    border-bottom: 1px solid #479fa7
}

.layNews .secLayRevIn .newsContents dl+dl {
    margin-top: 30px
}

.layNews .secLayRevIn .newsContents dl dt {
    flex-shrink: 0;
    width: 160px
}

.layNews .secLayRevIn .newsContents dl a {
    text-decoration: underline
}

.layNews .secLayRevIn .newsContents dl a:hover {
    text-decoration: none
}

.secHinaIdxUnit {
    padding: 50px;
    border: 5px solid #77c8cf;
    border-radius: 20px
}

.secHinaIdxUnit+.secHinaIdxUnit {
    margin-top: 40px
}

.secHinaIdxUnit h3 {
    font-size: 30px
}

.secHinaIdxUnit ul.layHinaItem {
    margin-top: 30px
}

.secHinaIdxUnit ul.layHinaItem li {
    font-size: 22px;
    border-radius: 10px;
    box-shadow: 0 10px 10px 0 rgba(22,89,95,0.2)
}

.secHinaIdxUnit ul.layHinaItem li+li {
    margin-top: 20px
}

.secHinaIdxUnit ul.layHinaItem li a {
    position: relative;
    display: block;
    padding: 30px 30px 30px 90px;
    text-decoration: none;
    background: #ffffff;
    border-radius: 10px;
    transition: background 0.4s ease-out
}

.secHinaIdxUnit ul.layHinaItem li a:hover {
    background: #77c8cf;
    transition: color 0.4s ease-out
}

.secHinaIdxUnit ul.layHinaItem li a .layTxt1 {
    display: block;
    font-size: 22px
}

.secHinaIdxUnit ul.layHinaItem li a .layTxt2 {
    display: block;
    margin-top: 5px;
    font-size: 16px;
    color: #333333
}

.secHinaIdxUnit.kiyaku ul.layHinaItem li a .layTxt1 {
    color: #AAAAAA
}

.secHinaIdxUnit.privacy ul.layHinaItem li a .layTxt1 {
    color: #9377b1
}

.secHinaIdxUnit.SCT ul.layHinaItem li a .layTxt1 {
    color: #ec875f
}

.secHinaIdxUnit.btobDoc ul.layHinaItem li a .layTxt1 {
    color: #9aa91e
}

.secHinaIdxUnit ul.layHinaItem li a:hover .layTxt1,.secHinaIdxUnit ul.layHinaItem li a:hover .layTxt2 {
    color: #ffffff !important
}

.secHinaIdxUnit ul.layHinaItem li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 30px;
    margin-top: -25px;
    width: 50px;
    height: 50px;
    background: no-repeat 0 50% / 40px auto
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaKyaku01 a:after {
    background-image: url("../imgs/ico_gp.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaKyaku02 a:after {
    background-image: url("../imgs/ico_campaign.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaKyaku03 a:after {
    background-image: url("../imgs/ico_onlineshop.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaKyaku04 a:after {
    background-image: url("../imgs/ico_sns.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaPrivacy01 a:after {
    background-image: url("../imgs/ico_privacy.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaPrivacy02 a:after {
    background-image: url("../imgs/ico_recruit.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaPrivacy03 a:after {
    background-image: url("../imgs/ico_cookie.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaSct01 a:after {
    background-image: url("../imgs/ico_specified_commercial_transactions.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaDoc01 a:after {
    background-image: url("../imgs/ico_doc_001.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaDoc02 a:after {
    background-image: url("../imgs/ico_doc_002.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaDoc03 a:after {
    background-image: url("../imgs/ico_doc_003.svg")
}

.secHinaIdxUnit ul.layHinaItem li.drawIconHinaDoc04 a:after {
    background-image: url("../imgs/ico_doc_004.svg")
}

.secHinaIdxUnit+p {
    margin-top: 40px
}

.mainPrivacy-OK {
    position: relative;
    margin: 20px;
    padding: 60px;
    background: #ffffff;
    border-radius: 20px
}

h1+.mainPrivacy-OK {
    margin-top: 80px
}

.mainPrivacy-OK:after {
    content: "";
    display: block;
    position: absolute;
    top: -50px;
    left: 25px;
    width: 70px;
    height: 50px;
    background: url("../imgs/pic_04.svg") no-repeat 50% 100%/70px auto
}

.mainPrivacy h1 {
    margin: 0 0 50px 0;
    font-size: 36px
}

.mainPrivacy h2 {
    margin: 50px 0 40px 0;
    padding: 15px 0 15px 20px;
    font-size: 28px;
    border-left: 5px solid #AAAAAA
}

.mainPrivacy .g-laySecTyp01 h2 {
    margin: 0 0 30px 0;
    padding: 0;
    border-left: none
}

.mainPrivacy p.tR {
    margin: 60px 0 0 0;
    text-align: right
}

.mainPrivacy ol {
    margin: 20px 0 0 50px
}

.mainPrivacy ul {
    margin: 20px 0 0 30px
}

.mainPrivacy td ul {
    margin: 0
}

.mainPrivacy ol li {
    position: relative;
    list-style: outside decimal;
    padding: 0 0 0 5px
}

.mainPrivacy ol li::marker {
    font-size: 130%;
    font-weight: 700;
    color: #AAAAAA
}

.mainPrivacy ol li ol {
    padding: 20px 0 0 20px
}

.mainPrivacy ol.kakkoNum {
    counter-reset: listNum
}

.mainPrivacy ol.kakkoNum li {
    list-style: none;
    margin-left: 1.5rem
}

.mainPrivacy ol.kakkoNum li+li {
    margin-top: 2rem
}

.mainPrivacy li ol.kakkoNum li+li {
    margin-top: 1rem
}

.mainPrivacy ol.kakkoNum>li:before {
    display: block;
    position: absolute;
    top: -0.2rem;
    left: -3.5rem;
    width: 3.5rem;
    counter-increment: listNum;
    content: "（" counter(listNum) "）";
    font-size: 130%;
    font-weight: 700;
    color: #AAAAAA
}

.mainPrivacy ol.kakkoNum li dt {
    margin-bottom: 0.3rem;
    font-size: 1.2rem
}

.mainPrivacy ol.kakkoNum li dl+p {
    margin-top: 1.5rem
}

.mainPrivacy ol.reStart2 {
    counter-reset: listNum 1
}

.mainPrivacy ol.reStart3 {
    counter-reset: listNum 2
}

.mainPrivacy ol.reStart4 {
    counter-reset: listNum 3
}

.mainPrivacy ol.reStart5 {
    counter-reset: listNum 4
}

.mainPrivacy ol.layLiTypIroha>li {
    list-style: outside katakana-iroha
}

.mainPrivacy li ol.layLiTypIroha li+li {
    margin-top: 1rem
}

.mainPrivacy-OK pre {
    width: 620px;
    max-height: 500px;
    overflow: scroll;
    background: #ffffff
}

.mainPrivacy-OK code {
    display: block;
    padding: 10px 20px
}

ul.tab li {
    display: inline;
    font-size: 0.95em;
    line-height: 140%
}

.g-txtComment {
    display: block;
    margin: 30px 0;
    background: #f2e5e5
}

td .g-txtComment {
    margin: 0
}

.g-txtHighlight {
    display: inline-block;
    font-weight: bold;
    background: linear-gradient(transparent 50%, #FFE244 0)
}

.g-txtHighlightTyp02 {
    font-weight: bold;
    color: #dd0000
}

.g-laySecTyp01 {
    margin-top: 60px
}

.g-laySecTyp02 {
    display: flex;
    justify-content: flex-end;
    margin-top: 60px
}

.g-laySecTyp02 .layItem {
    width: 50%
}

.g-laySecTyp02 .layItem li {
    margin-bottom: 50px
}

.g-laySecTyp03 {
    margin-top: 30px
}

.g-laySecTyp03 h3 {
    font-size: 1.3rem
}

.secQaIdxUnit {
    padding: 50px;
    background: #f8f8f0;
    border-radius: 20px
}

.secQaIdxUnit+.secQaIdxUnit {
    margin-top: 40px
}

.secQaIdxUnit h2 {
    font-size: 30px
}

.secQaIdxUnit .layQaItem+h2 {
    margin-top: 60px;
    padding-top: 50px;
    border-top: 1px solid #e2e2d4
}

.secQaIdxUnit a {
    text-decoration: none;
    transition: background 0.4s ease-out
}

.secQaIdxUnit h2 a:hover {
    text-decoration: underline;
    transition: color 0.4s ease-out
}

.secQaIdxUnit ul.layQaItem li {
    font-size: 22px;
    border-radius: 10px;
    box-shadow: 0 10px 10px 0 rgba(157,148,90,0.2)
}

.secQaIdxUnit ul.layQaItem li+li {
    margin-top: 20px
}

.secQaIdxUnit ul.layQaItem li a {
    display: block;
    padding: 25px 30px;
    background: #ffffff;
    text-decoration: none;
    border-radius: 10px
}

.secQaIdxUnit.kiyaku h2,.secQaIdxUnit.kiyaku a {
    color: #AAAAAA
}

.secQaIdxUnit.kiyaku li a:hover {
    color: #ffffff;
    background: #AAAAAA
}

.secQaIdxUnit.privacy h2,.secQaIdxUnit.privacy a {
    color: #9377b1
}

.secQaIdxUnit.privacy li a:hover {
    color: #ffffff;
    background: #9377b1
}

.secQaIdxUnit.SCT h2,.secQaIdxUnit.SCT a {
    color: #ec875f
}

.secQaIdxUnit.SCT li a:hover {
    color: #ffffff;
    background: #ec875f
}

.secQaIdxUnit.btobDoc h2,.secQaIdxUnit.btobDoc a {
    color: #9aa91e
}

.secQaIdxUnit.btobDoc li a:hover {
    color: #ffffff;
    background: #9aa91e
}

.secQaIdxUnit ul.layQaItem li .layNum {
    margin: 0 20px 0 0;
    padding: 6px 10px;
    font-size: 18px;
    line-height: 1;
    color: #ffffff;
    background: #AAAAAA;
    border-radius: 5px
}

.secQaIdxUnit.privacy ul.layQaItem li .layNum {
    background: #9377b1
}

.secQaIdxUnit.SCT ul.layQaItem li .layNum {
    background: #ec875f
}

.secQaIdxUnit.btobDoc ul.layQaItem li .layNum {
    background: #9aa91e
}

.secQaIdxUnit.kiyaku ul.layQaItem li a:hover .layNum {
    color: #AAAAAA;
    background: #ffffff
}

.secQaIdxUnit.privacy ul.layQaItem li a:hover .layNum {
    color: #9377b1;
    background: #ffffff
}

.secQaIdxUnit.SCT ul.layQaItem li a:hover .layNum {
    color: #ec875f;
    background: #ffffff
}

.secQaIdxUnit.btobDoc ul.layQaItem li a:hover .layNum {
    color: #9aa91e;
    background: #ffffff
}

.wrapFaq h2 {
    display: flex;
    align-items: flex-start
}

.wrapFaq h2 span {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0 20px 0 0;
    padding: 0 12px;
    color: #ffffff;
    line-height: 1.6;
    background: #AAAAAA;
    border-radius: 10px
}

.faq_privacy .wrapFaq h2 span,.faq_cookie .wrapFaq h2 span {
    background: #9377b1
}

.faq_sct .wrapFaq h2 span {
    background: #ec875f
}

.faq_doc_001 .wrapFaq h2 span,.faq_doc_002 .wrapFaq h2 span,.faq_doc_003 .wrapFaq h2 span,.faq_doc_004 .wrapFaq h2 span {
    background: #9aa91e
}

.g-layQA+.g-layQA {
    margin-top: 80px
}

.wrapFaq h3 {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100px;
    padding: 20px 20px 20px 140px;
    font-size: 22px;
    background: #eef3f8 url("../imgs/ico_q.svg") no-repeat 20px 50%/100px auto;
    border-radius: 10px
}

.wrapFaq h3 span {
    display: flex;
    flex-shrink: 0;
    margin: 0 15px 0 0;
    padding: 0 12px;
    font-size: 20px;
    color: #ffffff;
    line-height: 1.6;
    background: #AAAAAA;
    border-radius: 5px
}

.faq_privacy .wrapFaq h3 span,.faq_cookie .wrapFaq h3 span {
    background: #9377b1
}

.faq_sct .wrapFaq h3 span {
    background: #ec875f
}

.faq_doc_001 .wrapFaq h3 span,.faq_doc_002 .wrapFaq h3 span,.faq_doc_003 .wrapFaq h3 span,.faq_doc_004 .wrapFaq h3 span {
    background: #9aa91e
}

.wrapFaq .wrapAnswer>*:first-child {
    margin-top: 0
}

.wrapFaq .wrapAnswer>*:last-child {
    margin-bottom: 0
}

.wrapFaq .ele {
    border-radius: 8px;
    margin: 30px 0;
    background: #f6f0f2;
    padding: 30px
}

.wrapFaq .ele+p {
    margin-top: 1rem
}

.secBengoshi {
    display: flex
}

div.wrapMsg {
    width: calc(100% - 350px - 50px)
}

div.wrapMsg:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden
}

div.wrapPlof {
    margin: 0 0 0 clamp(50px, 6.5%, 70px);
    width: 350px
}

div.wrapPlof dl {
    padding: 0 0 30px;
    border-radius: 20px;
    background: #f8f8f0
}

div.wrapPlof dd.layPht img {
    display: block;
    width: 100%;
    height: auto
}

div.wrapPlof dl dt.layName {
    margin: 30px 0 0;
    text-align: center;
    font-size: 20px
}

div.wrapPlof dd.layLink {
    margin: 5px 0 0;
    text-align: center
}

div.wrapPlof dd {
    text-align: center
}

div.wrapPlof dd.layItem {
    margin: 20px 30px 0;
    padding: 15px 0 0;
    border-top: 1px solid #ececd7
}

div.wrapPlof dd.layItem th {
    padding: 5px 20px 0 0;
    white-space: nowrap;
    font-weight: normal
}

div.wrapPlof dd.layItem td {
    padding: 5px 0 0
}

div.wrapPlof dd.layItem td li {
    margin: 0;
    padding: 0;
    list-style: none
}

div.wrapPlof dd.layItem td li+li {
    margin-top: 5px;
    line-height: 1.5
}

@media screen and (max-width: 1300px) {
    .secBengoshi {
        justify-content:space-between
    }

    div.wrapMsg {
        width: 58%
    }

    div.wrapPlof {
        width: 36%;
        margin: 0
    }
}

@media screen and (max-width: 1200px) {
    .secBengoshi {
        display:block
    }

    div.wrapMsg {
        width: 100%
    }

    div.wrapPlof {
        margin: 8% auto;
        width: 100%;
        max-width: 350px;
    }
}

ol.disc>li {
    list-style: disc;
}
