@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Roboto:wght@400;500;700;900&display=swap);

body {
    line-height: 1.7;
    font-size: 16px;
    font-family: Roboto, Noto Sans JP, -apple-system, BlinkMacSystemFont, Helvetica Neue, 游ゴシック Medium, YuGothic, YuGothicM, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
    color: #3f3c3c;
    margin: 0
}

* {
    box-sizing: border-box
}

img {
    width: 100%
}

a,
a:link {
    color: #2b99f0
}

a:hover {
    text-decoration: none;
    color: #035aa6
}

.icon_blank:after {
    content: "";
    padding-left: 21px
}

.row {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.row-right {
    justify-content: flex-end
}

.column {
    flex-direction: column
}

.col-6 {
    width: 100%
}

.inner {
    padding: 0 15px;
    margin: auto;
    width: 1200px;
    max-width: 90%
}

header {
    position: relative;
    z-index: 9999;
    background: #fff;
    height: 86px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16)
}

header .logo {
    width: 30%;
    margin: 0 auto;
    display: inline-table
}

header h1 a {
    display: block;
    max-height: 30px
}

header .btn {
    text-decoration: none;
    color: #fff;
    padding: 0 50px;
    background: #a41527;
    border-radius: 50px;
    margin: auto 0;
    line-height: 2
}

.mainpage footer {
    text-align: center;
    color: #88899e
}

.singlepage footer {
    border-top: 1px solid #d9d9da;
    background: #f5f5f6;
    padding: 15px 0;
    font-size: 14px;
    color: #333
}

.singlepage footer .logo {
    width: 50%
}

.singlepage footer .row a {
    color: #333;
    padding-left: 16px
}

.singlepage footer p {
    margin: .5rem auto 0;
	margin-left:35px;
}
@media (max-width:767px) {
	header .logo{
	   width: 50%;
	   margin-top:10px;
	}
	.singlepage footer{
		font-size:12px;
	}
	.singlepage footer p{
		font-size:12px;
		text-align: center;
		margin-left:auto;
	}
}
@media (min-width:768px) {
    header .logo {
        width: 13%
    }

    .col-6 {
        width: calc(50% - 4px)
    }

    footer .row {
        flex-direction: row
    }

    footer .logo {
        width: 30%;
        max-width: 200px
    }
}

.singlepage-head {
    background: url(headbg-2a085a9b9c6d195fb6dbd2f4f347301a.jpg) 50% no-repeat;
    background-size: cover;
    border-top: 3px solid #0090cf;
    width: 100%;
    min-height: 68px;
    padding: 20px 0
}

@media only screen and (-webkit-min-device-pixel-ratio:2) and (min-width:769px),
only screen and (min-resolution:192dpi) and (min-width:769px) {
    .singlepage-head {
        background: url(headbg@2x-029ca4be16f77c2a65bed2236dd183d6.jpg) 50% no-repeat;
        background-size: cover
    }
}

@media only screen and (max-width:768px) {
    .singlepage-head {
        background: url(headbg-948fdae6b980b7fc661ff55e0bea2f35.jpg) 50% no-repeat;
        background-size: cover
    }
}

@media only screen and (-webkit-min-device-pixel-ratio:2) and (max-width:768px),
only screen and (min-resolution:192dpi) and (max-width:768px) {
    .singlepage-head {
        background: url(headbg@2x-136d6e17f9ff0cea9c622f2d007f3de1.jpg) 50% no-repeat;
        background-size: cover
    }
}

@media only screen and (max-width:480px) {
    .singlepage-head {
        background: url(headbg-8a166dc6fa87d30158829b13daa95a1f.jpg) 50% no-repeat;
        background-size: cover
    }
}

@media only screen and (-webkit-min-device-pixel-ratio:2) and (max-width:480px),
only screen and (min-resolution:192dpi) and (max-width:480px) {
    .singlepage-head {
        background: url(headbg@2x-90c44e26ec6e7277459e5b9eee4710b3.jpg) 50% no-repeat;
        background-size: cover
    }
}

.singlepage-head .title {
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: .7px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.privacy .singlepage-head .title:before {
    content: "Privacy policy";
    font-size: .75rem;
    display: block;
    font-weight: 400;
    line-height: 1rem
}

.service .singlepage-head .title:before {
    content: "Terms of service";
    font-size: .75rem;
    display: block;
    font-weight: 400;
    line-height: 1rem
}

.singlepage section h2 {
    font-size: 1.5rem;
    font-weight: 500;
    color: #035aa6;
    border-top: 3px dotted #b8b8b8;
    border-bottom: 3px dotted #b8b8b8;
    line-height: 4rem;
    margin-bottom: 30px
}

.terms dt {
    font-weight: 600;
    counter-increment: terms-count
}

.terms dt:before {
    content: "第"counter(terms-count) "条（"
}

.terms dt:after {
    content: "）"
}

.terms .dl-circle dt {
    color: #4cac3e
}

.terms .dl-circle dt:before,
.terms .square dt:before {
    padding-right: .375rem
}

.terms .dl-circle dt:before {
    content: "◎"
}

.terms .square dt:before {
    content: "■"
}

.terms dd,
.terms ol,
.terms p {
    font-size: .9rem;
    text-align: inherit
}

.terms dd {
    margin: 0 0 1.875rem 1.25rem
}

.terms ol,
.terms ul {
    margin: 0;
    padding-left: .25rem
}

.terms .asterisk {
    font-size: .8rem
}

ol.list-second li:before,
ol.list-third li:before,
ol li::marker {
    font-weight: 600
}

ol.list-second li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: count_paren;
    position: relative;
    padding-left: 10px
}

ol.list-second li:before {
    display: marker;
    content: "("counter(count_paren) ")";
    letter-spacing: 1px;
    position: absolute;
    left: -1.2rem
}

ol.list-third li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: count_roman;
    position: relative;
    padding-left: 5px
}

ol.list-third li:before {
    display: marker;
    content: counter(count_roman, lower-roman) ".";
    letter-spacing: 1px;
    position: absolute;
    left: -1.2rem
}

.terms ul {
    list-style-type: disc
}

p.right {
    text-align: right
}

@media (min-width:1200px) {
    .inner {
        width: 1170px
    }
}

@media (min-width:992px) and (max-width:1119px) {
    .inner {
        width: 970px
    }
}

@media (min-width:768px) and (max-width:991px) {
    .inner {
        width: 750px
    }
}
@media (max-width:768px){
	.terms ol,
    .terms ul,
	.terms p{
		font-size: .8rem;
	}
	.terms dt{
		margin-bottom:5px;
	}
	.singlepage footer .row a{
		padding-left:0px;
	}
	.row-right{
		padding-left:16px;
	}
}
@media (min-width:768px) {
    header .logo {
       width: 15%;
   	   margin-top: 10px;
    }

    .singlepage section {
        padding: 1.875rem 0 2.5rem
    }

    .terms ol,
    .terms ul {
        padding-left: 1.5rem
    }
}