/* ------------------------------
General Styles
------------------------------ */
body {
background: #fff;
font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
color: #000000;
margin: 0;
padding: 0;
display: flex;
flex-flow: column;
min-height: 100vh;
font-size: 13px;
line-height: 18px;
}

img {
max-width: 100%;
height: auto;
}

main {
display: block;
flex: 1;
}

/* ------------------------------
メディアクエリ
------------------------------ */
/*
SPファーストで記述

@media screen　(max-width:519px)
幅３２０px以上５１９ｐｘ以下　スマホサイズ

@media screen and (min-width:520px)
幅５２０px以上〜　PCサイズ-- */

.pc {
display: none !important;
}
.sp {
  display: block !important;
}

@media screen and (min-width:520px){
.pc {
  display: block !important;
}
.sp {
display: none !important;
}
}

/* ------------------------------
Transition elsements
------------------------------ */
a, .btn {
-webkit-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
-moz-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
-o-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

/* ------------------------------
Typography
------------------------------ */
a {
color: #3155A6;
text-decoration: none;
border-bottom: solid 1px #3155A6;
margin: 0;
}

a:hover {
opacity: 0.7;
}

/** ヘッダータイトル */
.terms-innner h1{
font-size: 16px;
line-height: 22px;
font-weight: bold;
color: white;
margin: 0;
}

/** 大見出し */
.main-heading h2{
font-size: 15px;
line-height: 20px;
font-weight: bold;
text-align: center;
background-color: #E6E6E6;
width: 100%;
height: auto;
padding: 10px 25px;
margin: 20px 0;
box-sizing: border-box;
}

/** 中見出し */
.middle-heading h3{
font-size: 13px;
line-height: 20px;
font-weight: bold;
border-bottom: solid 1px #E6E6E6;
border-left: solid 5px #3155A6;
padding: 5px 0 5px 10px;
margin: 20px 25px;
}

/** 小見出し */
.sub-heading h4{
font-size: 13px;
line-height: 18px;
margin: 20px 25px;
font-weight:normal;
}

.sub-heading h4 span {
margin-right: 5px;
font-weight: bold;
}

p {
margin: 0 25px;
}

@media(min-width:520px) {

/** ヘッダータイトル */
.terms-innner h1{
font-size: 20px;
line-height: 28px;
}
/** 大見出し */
.main-heading h2{
font-size: 16px;
line-height: 20px;
text-align: left;
padding: 8px 20px;
margin: 40px 0 20px 0;
}

/** 中見出し */
.middle-heading h3{
font-size: 14px;
line-height: 20px;
padding: 5px 0 5px 10px;
margin: 30px 0 20px;
}

/** 小見出し */
.sub-heading h4{
font-size: 14px;
line-height: 20px;
margin: 20px 0;
}
}

/* ------------------------------
利用規約・プライバシーポリシー
------------------------------ */
.terms-text-wrapper {
margin-bottom: 50px;
color: black;
}
/** リスト */
.terms-text-wrapper ul {
margin: 20px 25px 0 0;
}

.terms-text-wrapper li {
font-size: 13px;
line-height: 18px;
margin: 0 0 5px 0;
}

/** 数字入りリスト */
.terms-text-wrapper ol {
margin: 20px 25px 0 0;
}

.terms-text-wrapper li {
margin: 0 0 5px 0;
}

/** カッコ入り数字入りリスト */
ol.list_parentheses {
padding: 0 0 0 1.5em;
margin: 20px 25px 20px 0;
}

ol.list_parentheses li {
list-style-type: none;
list-style-position: inside;
counter-increment: cnt;
margin: 0 0 5px 0;
}

ol.list_parentheses li:before {
display: marker;
content: "("counter(cnt) ") ";
}

.terms-text-wrapper ol .list_parentheses{
padding: 0 !important;
}


/** 表 */
.terms-tbl-wrapper {
padding: 0 25px;
margin-bottom: 20px;
}

.terms-tbl {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
}

.terms-tbl tr th {
font-weight: normal;
text-align: left;
display: block;
background: #F4F6F9;
padding: 10px;
border: solid 1px #B7B7B7;
border-bottom: none;
}

.terms-tbl tr td {
font-weight: normal;
text-align: left;
display: block;
padding: 10px;
border: solid 1px #B7B7B7;
border-bottom: none;
}

.terms-tbl tr:last-child td {
border-bottom: solid 1px #B7B7B7;
}

/** シンプル表 */

.simple-tbl {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  }
  
  .simple-tbl  th {
  font-weight: normal;
  text-align: left;
  display: block;
  padding: 5px 10px;
  background-color: #eceeef;
  border: solid 1px #B7B7B7;
  border-bottom: none;
  line-height: 1;
  }
  
  .simple-tbl  td {
  font-weight: normal;
  text-align: left;
  display: block;
  padding: 10px;
  border: solid 1px #B7B7B7;
  border-bottom: none;
  line-height: 1;
  }
  
  .simple-tbl tr:last-child td {
  border-bottom: solid 1px #B7B7B7;
  }

/** ヘッダー部分 */
.terms {
background-color: #3155A6;
box-sizing: border-box;
padding: 10px 25px;
margin-bottom: 30px;
height: auto;
position:inherit;
}

.terms-innner {
text-align: center;
}

.terms-innner img {
width: auto;
height: 40px;
}

/** 二段目ヘッダー */
.terms-second {
background-color: #3155A6;
box-sizing: border-box;
padding: 10px 25px;
margin: 30px 0;
}

/** 問い合わせ先 */
.terms-text-wrapper .contact {
border: solid 1px #B7B7B7;
margin: 30px 25px;
padding: 15px;
}

.terms-text-wrapper .contact-box {
text-align: center;
}

.terms-text-wrapper .contact-box-title {
line-height: 20px;
font-weight: bold;
padding: 0 0 10px 0;
margin: 0;
border-bottom: solid 1px #B7B7B7;
}

.contact-box-element {
margin-top: 20px;
}

.contact-box-element .element-title {
line-height: 20px;
font-weight: bold;
padding: 2px 0;
margin: 0;
background-color: #F4F6F9;
border-radius: 20px;
}

.contact-box-element .mail {
margin: 10px 0 0 0;
}

.contact-box-element .tell {
margin: 10px 0 5px;
}

.contact-box-element .time {
display: block;
}

.contact-box-element a {
font-size: 15px;
line-height: 20px;
font-weight: bold;
color: #707070;
border: none;
}

.contact-box-element .tell a {
font-size: 20px;
}


@media screen and (min-width:520px) {
.terms-text-wrapper {
max-width: 1016px;
margin: 0 auto;
padding: 0 40px 100px;
}

/** 本文 */
.terms-text-wrapper p {
font-size: 14px;
line-height: 20px;
margin: 0;
}

/** リスト */
.terms-text-wrapper ul {
margin: 20px 0 0 0;
padding-inline-start: 30px;
}

.terms-text-wrapper li {
font-size: 14px;
line-height: 20px;
margin: 0 0 10px 0;
}

/** 数字入りリスト */
.terms-text-wrapper ol {
margin: 20px 0 0 0;
padding-inline-start: 20px;
}

.terms-text-wrapper li {
margin: 0 0 10px 0;
}

/** 数字入りリスト */
ol.list_parentheses {
padding: 0 0 0 1.5em;
margin: 20px 0 20px 0;
padding-inline-start: 20px;
}

ol.list_parentheses li {
margin: 0 0 10px 0;
}

/** 表 */
.terms-tbl-wrapper {
padding: 0;
margin-bottom: 30px;
}

.terms-tbl {
width: 100%;
}

.terms-tbl tr th {
width: 30%;
font-size: 14px;
line-height: 20px;
display: inline-block;
padding: 10px 20px;
border: solid 1px #B7B7B7;
border-bottom: none;
display: table-cell;
}

.terms-tbl tr td {
width: 50%;
font-size: 14px;
line-height: 20px;
display: inline-block;
padding: 10px 20px;
border: solid 1px #B7B7B7;
border-left: none;
border-bottom: none;
display: table-cell;
}

.terms-tbl tr:last-child th {
border-bottom: solid 1px #B7B7B7;
}

.terms-tbl tr:last-child td {
border-bottom: solid 1px #B7B7B7;
}

/** シンプル表 */

  .simple-tbl {
  width: 100%;
  }
  
  .simple-tbl tr th {
  width: 30%;
  font-size: 14px;
  line-height: 20px;
  display: inline-block;
  padding: 10px 20px;
  border: solid 1px #B7B7B7;
  border-bottom: none;
  display: table-cell;
  background-color:transparent;
  }
  
  .simple-tbl tr td {
  width: 50%;
  font-size: 14px;
  line-height: 20px;
  display: inline-block;
  padding: 10px 20px;
  border: solid 1px #B7B7B7;
  border-left: none;
  border-bottom: none;
  display: table-cell;
  }
  
  .simple-tbl tr:last-child th {
  border-bottom: solid 1px #B7B7B7;
  }
  
  .simple-tbl tr:last-child td {
  border-bottom: solid 1px #B7B7B7;
  }

/** ヘッダー部分 */
.terms {
padding: 30px 25px;
margin-bottom: 40px;
}

.terms-innner {
max-width: 1000px;
margin: 0 auto;
}

/** 二段目ヘッダー */
.terms-second {
padding: 15px 25px;
margin: 0 0 40px 0;
}

.terms-second .terms-innner p {
font-size: 20px;
line-height: 28px;
height: auto;
background: none;
}

/** 問い合わせ先 */
.terms-text-wrapper .contact {
margin: 40px 0;
padding: 20px;
}

.terms-text-wrapper .contact-box-title {
font-size: 16px;
padding: 0 0 13px 0;
}

.terms-text-wrapper .contact-box-inner {
width: 100%;
display: flex;
justify-content: space-between;
}

.contact-box-element {
width: 49%;
}

.contact-box-element .element-title {
font-size: 14px;
padding: 6px 0;
margin: 0;
}

.contact-box-element .mail {
margin-top: 15px;
}

.contact-box-element .tell {
margin: 15px 0 0;
}

.contact-box-element .time {
display: inline;
}

.contact-box-element a {
font-size: 20px;
}

.contact-box-element .tell a {
font-size: 20px;
}
}

/** 特商法レイアウト調整 */

.tokushoho .terms{
margin:0;
}

.tokushoho .main-heading h2{
margin: 0 0 40px;
}

.tokushoho .middle-heading h3{
margin: 50px 25px 20px;
}

@media screen and (min-width:520px) {
  .tokushoho .terms{
    margin-bottom: 30px;
    }
    
    .tokushoho .main-heading h2{
      margin: 40px 0 20px 0;
    }
    
    .tokushoho .middle-heading h3{
    margin: 80px 0 20px 0;
    }
}