@charset "UTF-8";
/* _setting CSS */
/*
* index
*/
/* ------------------------------------------------------------------------- */
/*------------------######################################### 
----------------------------
----------------------------
min-width: 768px
----------------------------
--------------------#########################################*/
@media screen and (min-width: 768px) {
  main#contents #main p {
    margin-bottom: 20px;
  }
  main#contents #main .top_text {
    margin-bottom: 40px;
  }
  main#contents #main ul.line {
    margin: 40px auto 30px;
  }
  main#contents #main ul.line li {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-top: 1px dotted #707070;
  }
  main#contents #main ul.line li:last-child {
    border-bottom: 1px dotted #707070;
  }
  main#contents #main ul.line li img {
    display: block;
    width: 100px;
    margin-right: 20px;
  }
  main#contents #main ul.line li p {
    margin: 0;
  }
  main#contents #main .text_r {
    text-align: right;
    margin-bottom: 15px;
  }
  main#contents #main .line_block {
    margin-top: 50px;
    padding: 20px 0;
    border-top: 1px dotted #707070;
    border-bottom: 1px dotted #707070;
  }
  main#contents #main dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  main#contents #main dl dt {
    width: 70px;
  }
  main#contents #main .mttl {
    margin-top: 55px;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 1px solid #265796;
  }
  main#contents #main .mttl02 {
    margin-top: 20px;
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: 1px dotted #707070;
  }
  main#contents #main .mttl03 {
    margin: 40px 0;
    font-size: 1.8rem;
    font-weight: bold;
    text-indent: -45px;
    padding-left: 45px;
  }
  main#contents #main .sttl {
    margin-bottom: 5px;
    font-weight: bold;
  }
  main#contents #main .table_block01 {
    margin-bottom: 20px;
    border-bottom: 1px dotted #707070;
  }
  main#contents #main table {
    width: 100%;
    margin-bottom: 30px;
  }
  main#contents #main table, main#contents #main td, main#contents #main th {
    border: 1px solid #265796;
    border-collapse: collapse;
  }
  main#contents #main td, main#contents #main th {
    padding: 20px;
    vertical-align: top;
  }
  main#contents #main th {
    background: #78A0D5;
    font-weight: bold;
    color: #fff;
  }
  main#contents #main th:nth-child(2), main#contents #main th:nth-child(3) {
    width: 45%;
  }
  main#contents #main td:first-child {
    background: #E2EDFC;
    font-weight: bold;
    color: #235598;
  }
  main#contents #main .indent {
    text-indent: -13px;
    padding-left: 13px;
  }
  main#contents #main .g_box {
    margin-bottom: 30px;
    padding: 30px 20px 30px 40px;
    background: #F7F7F7;
    border: 1px solid #E3E3E3;
  }
  main#contents #main .g_box ul li {
    margin-bottom: 10px;
    list-style: "・";
  }
  main#contents #main .g_box p:last-child {
    margin-bottom: 0;
  }
  main#contents #main .g_box .link span {
    text-decoration: underline;
  }
  main#contents #main .g_box .link i {
    margin-left: 20px;
  }
  main#contents #main .g_box .link:hover {
    opacity: .7;
  }
}
/*------------------######################################### 
----------------------------
----------------------------
max-width: 767px
----------------------------
--------------------#########################################*/
@media screen and (max-width: 767px) {
  main#contents #main.security ul.line {
    margin: 40px auto 30px;
  }
  main#contents #main.security ul.line li {
    padding: 3vw 0;
    border-top: 1px dotted #707070;
  }
  main#contents #main.security ul.line li:last-child {
    border-bottom: 1px dotted #707070;
  }
  main#contents #main.security ul.line li img {
    display: block;
    width: 25vw;
    margin: 3vw auto;
  }
  main#contents #main.security ul.line li p {
    margin: 0;
  }
  main#contents #main.privacy ul.line, main#contents #main.policy ul.line {
    margin: 40px auto 30px;
  }
  main#contents #main.privacy ul.line li, main#contents #main.policy ul.line li {
    text-indent: -6vw;
    padding: 3vw 0 3vw 7vw;
    border-top: 1px dotted #707070;
  }
  main#contents #main.privacy ul.line li:last-child, main#contents #main.policy ul.line li:last-child {
    border-bottom: 1px dotted #707070;
  }
  main#contents #main.privacy ul.line li img, main#contents #main.policy ul.line li img {
    display: block;
    width: 25vw;
    margin: 3vw auto;
  }
  main#contents #main.privacy ul.line li p, main#contents #main.policy ul.line li p {
    margin: 0;
  }
  main#contents #main p {
    margin-bottom: 5vw;
  }
  main#contents #main .top_text {
    margin-bottom: 5vw;
  }
  main#contents #main .text_r {
    text-align: right;
    margin-bottom: 3vw;
  }
  main#contents #main .line_block {
    padding: 3vw 0;
    border-top: 1px dotted #707070;
    border-bottom: 1px dotted #707070;
  }
  main#contents #main dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  main#contents #main dl dt {
    width: 17vw;
  }
  main#contents #main dl dd {
    width: 77vw;
  }
  main#contents #main .mttl {
    margin-top: 8vw;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 1px solid #265796;
  }
  main#contents #main .mttl02 {
    margin-top: 5vw;
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: 1px dotted #707070;
    text-indent: -13vw;
    padding-left: 13vw;
  }
  main#contents #main .mttl03 {
    margin-top: 5vw;
    font-size: 1.8rem;
    font-weight: bold;
    text-indent: -13vw;
    padding-left: 13vw;
  }
  main#contents #main .sttl {
    margin-bottom: 1vw;
    font-weight: bold;
  }
  main#contents #main .table_block01 {
    margin-bottom: 3vw;
    border-bottom: 1px dotted #707070;
  }
  main#contents #main table {
    width: 100%;
    margin-bottom: 4vw;
  }
  main#contents #main table, main#contents #main td, main#contents #main th {
    border: 1px solid #3889F6;
    border-collapse: collapse;
  }
  main#contents #main td, main#contents #main th {
    padding: 3vw;
    vertical-align: top;
  }
  main#contents #main th {
    background: #87B8F9;
    font-weight: bold;
    color: #fff;
  }
  main#contents #main th:nth-child(2), main#contents #main th:nth-child(3) {
    width: 81%;
  }
  main#contents #main td:first-child {
    background: #E2EDFC;
    font-weight: bold;
    color: #3889F6;
  }
  main#contents #main .indent {
    text-indent: -4vw;
    padding-left: 4vw;
  }
  main#contents #main .g_box {
    margin-bottom: 10vw;
    padding: 5vw 5vw 5vw 7vw;
    background: #F7F7F7;
    border: 1px solid #E3E3E3;
  }
  main#contents #main .g_box ul li {
    margin-bottom: 3vw;
    list-style: "・";
  }
  main#contents #main .g_box p:last-child {
    margin-bottom: 0;
  }
  main#contents #main .g_box .link {
    display: block;
    margin-bottom: 3vw;
    color: #3889F6;
  }
  main#contents #main .g_box .link span {
    text-decoration: underline;
  }
  main#contents #main .g_box .link i {
    margin-left: 3vw;
  }
  main#contents #main .g_box .link:hover {
    opacity: .7;
  }
}


ul.num{
	counter-reset : item ;
}
ul.num li{
	padding-left:2em!important;
	position:relative;
	display:block!important;
}

ul.num li:before{
	content: counters(item, ".") " . ";
	counter-increment: item ;
	position:absolute;
	left:0;
}
.blue-font{
  color:#0070c0
}
.flex-col{
  display: flex;
}
.flex-jsb{
  justify-content:space-between;
}
.flex-column{
  flex-direction: column;
}
.flex-alct{
  align-items:center;
}
.full-width{
  width:100%;
}
.mb-20{
  margin-bottom: 20px;
}
main#contents #main .g_box img{
  display: block;
  width: 70px;
  margin-right: 20px;
}
.no-mb{
  margin-bottom: 0;
}
main#contents #main .iso-list img{
  width:130px;
}