@charset "UTF-8";
/**************************************************************/
/* 各種利用規約 */
/**************************************************************/
.legal-menu ,.legal-menu-b{
    font-size:20px;
    width:100%;
    text-align: center;
    line-height: 1.5em;
}

.legal-menu-tm {
    margin-bottom:50px;
}

.legal-menu-bm {
    margin-top:50px;
}

.legal-menu a {
    text-decoration: underline #fff 0px;
    text-underline-offset: 5px;
    transition: 0.3s;
}

.legal-menu a:hover {
    text-decoration: underline #555 1px;
}

.legal-menu span {
    margin:0 10px;
}

.legal-list {
    line-height: 1.3em;
    font-size:20px;
    width: 100%;
    margin:0 auto ;
    border-bottom:dotted 1px #aaa;
    display: none;
}

.legal-flex {
    display:flex;
    width:100%;
    margin-bottom:0;
}

.legal-flex div:first-child {
    width:220px;
    background:#f6f6f6;
    padding: 10px 0 10px 10px;
    border-top:dotted 1px #aaa;
}

.legal-flex div:last-child {
    width:calc(100% - 220px);
    border-top:dotted 1px #aaa;
    border-bottom:dotted 0px #aaa;
}

.legal-flex div table tr td:first-child {
    padding: 10px 0 10px 10px;
}

.legal-flex div table {
    width:100%;
}

.legal-flex div:last-child table tr td:first-child {
    width:160px;
}

.legal-flex div:last-child table tr td:last-child {
    border-left:solid 1px #eee;
}

.legal-borderbottom {
    border-bottom:dotted 1px #aaa;
}

.legal-flex button,
.legal-alink {
    padding: 10px 0 10px 10px;
    width: 100%;
    transition: 0.3s;
}

.legal-flex button:hover,
.legal-alink:hover {
    background:#ccc;
}

.legal-alink img {
    width:28px;
}

/*
.legal-flex button {
  position: relative;
  display: inline-block;
  border: none;
  background-color: transparent;
  padding: 10px 20px;
  cursor: pointer;
  overflow: hidden;
}

.legal-flex button::before {
  content: '';
  position: absolute;
  bottom: 4px; 
  left: 10px;
  width: calc(100% - 20px);
  height: 2px;
  background-color: #aaa; 
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}


.legal-flex button:hover::before {
  transform: scaleX(1);
}
*/

.legal-alink {
    display: inline-block;
}

/*表示領域*/
.legal-area {
    display:none;
    margin-bottom:30px;
    border-top: dotted 1px #ccc;
    border-bottom: dotted 1px #ccc;
}

@media screen and (max-width: 999px) {
    .legal-menu {
        font-size:18px;
    }

    .legal-menu-tm {
        margin-bottom:30px;
    }

    .legal-menu-bm {
        margin-top:30px;
    }


    .legal-menu span {
        margin:0 8px;
    }

    .legal-list {
        font-size:18px;
        margin:0 auto ;
    }

    .legal-flex div:first-child {
        width:180px;
        padding: 6px 0 6px 6px;
    }

    .legal-flex div:last-child {
        width:calc(100% - 180px);
    }


    .legal-flex div table tr td:first-child {
        padding: 6px 0 6px 6px;
    }

    .legal-flex div:last-child table tr td:first-child {
        width:130px;
    }

    .legal-flex button,
    .legal-alink {
        padding: 6px 0 6px 6px;
    }

    .legal-alink img {
        width:22px;
        margin-bottom:2px;
    }
}

@media screen and (max-width: 599px) {
    .legal-menu {
        font-size:14px;
    }

    .legal-menu-tm {
        margin-bottom:30px;
    }

    .legal-menu-bm {
        margin-top:0px;
    }

    .legal-menu span {
        margin:0 5px;
    }

    .legal-list {
        font-size:14px;
        margin:0 auto ;
        border-bottom:dotted 0px #aaa;
    }

    .legal-flex {
        display:inline-block;
        margin-bottom:40px;
    }

    .legal-flex div:first-child {
        width:100%;
        padding: 6px 0 6px 6px;
    }

    .legal-flex div:last-child {
        width:100%;
        border-bottom:dotted 1px #aaa;
    }


    .legal-flex div table tr td:first-child {
        padding: 6px 0 6px 6px;
    }

    .legal-flex div:last-child table tr td:first-child {
        width:110px;
    }

    .legal-flex button,
    .legal-alink {
        padding: 6px 0 6px 6px;
    }

    .legal-area {
        display:none;
        margin-bottom:30px;
    }

    .legal-alink img {
        width:18px;
        margin-bottom:1px;
    }
}


/*上部メニュー用*/
.legal-menu-br-839 {
    display:none;
}

.legal-menu-line-839 {
    display:inline;
}

.legal-menu-br-439 {
    display:none;
}

.legal-menu-line-439 {
    display:inline;
}

.legal-menu-br-399 {
    display:none;
}

.legal-menu-line-399 {
    display:inline;
}

.legal-menu-line-x {
    display:inline;
}

.legal-menu-br-x {
    display:inline;
}

@media screen and (max-width: 839px) {
    .legal-menu-br-839 {
        display:inline;
    }

    .legal-menu-line-839 {
        display:none;
    }

    .legal-menu-br-399 {
        display:none;
    }

    .legal-menu-line-399 {
        display:inline;
    }

    .legal-menu-line-x {
        display:none;
    }

    .legal-menu-br-x {
        display:none;
    }
}

@media screen and (max-width: 439px) {
    .legal-menu-br-439 {
        display:inline;
    }

    .legal-menu-line-439 {
        display:none;
    }
    }

@media screen and (max-width: 399px) {
    .legal-menu-br-839 {
        display:none;
    }

    .legal-menu-line-839 {
        display:inline;
    }

    .legal-menu-br-399 {
        display:inline;
    }

    .legal-menu-line-399 {
        display:none;
    }

    .legal-menu-line-x {
        display:none;
    }

    .legal-menu-br-x {
        display:none;
    }
}


/**************************************************************/
/* スクロールの位置制御 */
/**************************************************************/
.legal-target {
    scroll-margin-top: 140px;
}

@media screen and (max-width: 1279px) {
    .legal-target {
        scroll-margin-top: 11.2vw;
    }
}

@media screen and (max-width: 599px) {
    .legal-target {
        scroll-margin-top: 145px;
    }
}
