@charset "UTF-8";
/* CSS Document */


/* BASIC ELEMENTS */
*{
	margin:0;
	padding:0;
	float: none;
	position: static;
	}
html {
    scroll-behavior: smooth;
}
body {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',sans-serif;
	color: #010101;
	position: relative;
}
img {
border:0;
vertical-align:top;
max-width: 100%;
}

h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
a:hover {
	filter:alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
	 }
a:link,a:active,a:visited {
	text-decoration: underline;
	color: #010101;
	}


/* なかみ */
div#wrapper {
	width:100%;
	height:100%;
	margin: 0 auto;
	padding:0px;
	}
div#wrapper {
	height:auto;
	}
div#wrapper {
	min-height:100%;
	}

/* へっだ */
div#hedTopArea {
	width:100%;
	max-width: 1400px;
	height:100%;
	font-size: medium;
	margin: 0 auto;
	padding: 10px 0px 25px 0px;
	}
td.R{
	text-align:right;
	}
td.L{
	text-align:left;
	}

@media screen and (max-width: 820px) {
div#hedTopArea{
	font-size: small;
	}
img.hed{
	max-width: 220px;
	}
img.hed2{
	max-width: 180px;
	}
}
 @media screen and (max-width: 480px) {
div#hedTopArea {
	font-size: xx-small;
	}
img.hed{
	max-width: 100px;
	}
img.hed2{
	max-width: 80px;
	}
 }

/* 1 */
div#Contents01 {
	width:100%;
	max-width: 1400px;
	height:100%;
	text-align: center;
	margin: 0 auto;
	padding: 0px 0px 10px 0px;
	}
img.mb {
	margin-bottom: 100px;
	}
img.bnmb {
	margin-bottom: 20px;
	}
@media screen and (max-width: 820px) {
img.mb {
	margin-bottom: 50px;
	}

@media screen and (max-width: 480px) {
div#Contents01 {
	padding: 0px 0px 100px 0px;
	}
img.mb {
	margin-bottom: 25px;
	}
img.bnmb {
	display: none !important;
	}
}
}

/* 2 */
div#Contents02 {
	width:100%;
	max-width: 1000px;
	height:100%;
	margin: 0 auto;
	padding: 30px 0px 100px 0px;
	}

h1 {
  position: relative;
  padding: 0.5em;
	text-align: center;
	letter-spacing: 0.2em;
  background: #f58201;
}
h1::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px rgb(149, 158, 155);
}

p.terms{
	margin: 0 auto;
	padding: 20px 5px 30px 5px;
}

h2 {
  padding: 0.5em;/*文字周りの余白*/
	letter-spacing: 0.15em;
  background: #e6ffcc;/*背景色*/
  border-left: solid 5px #66c600;/*左線（実線 太さ 色）*/
}

ol.terms {
    list-style:  none;          /* デフォルトのアイコンを消す */
    margin:  0;                 /* デフォルト指定上書き */
    padding: 20px 5px 30px 5px; /* デフォルト指定上書き */
    counter-reset: li_count;    /* カウンタをセット */
}

li.terms {
    margin-bottom: 5px;         /* 要素と要素の間指定 */
}

li.terms:before  {
  counter-increment: li_count;  /* カウンタの値を計算していく */
  content: counter(li_count)"."; /* 数字出力 */
  color: #f58201;               /* 文字色指定 */
	font-weight: bold;
  margin-right: 5px;            /* 余白指定 */
}
p.termsL{
	margin: 0 auto;
	text-align: right;
	padding: 20px 5px 30px 5px;
}


/* 3*/
div#Contents03 {
	width:100%;
	max-width: 1000px;
	height:100%;
	margin: 0 auto;
	padding: 30px 0px 100px 0px;
	}

h3 {
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
	margin-bottom: 30px;
}
h3:before, h3:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
h3:before {
  border-left: solid 1px black;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
  left: 0;
}
h3:after {
  content: '';
  border-top: solid 1px black;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
  right: 0;
}

.table_design01 {
  border-collapse: collapse;
  width: 100%;
	max-width: 1200px;
}
.table_design01 th, .table_design01 td {
  border: 2px solid #fff;
	background-color: #F3FFE6;
  padding: 1em;
}
.table_design01 th {
  background-color: #66c600;
  font-weight: bold;
  text-align: center;
  width: 25%;
  min-width: 4em;
}









@media screen and (max-width: 820px) {
table.index{
	border-spacing: 20px;
}
}
tbody.text{
	font-size: 24px;
	margin: 0 auto;
	}
@media screen and (max-width: 820px) {
tbody.text{
	font-size: medium;
	}
}
@media screen and (max-width: 480px) {
tbody.text{
	font-size: x-small;
	}
}
td.LT{
	font-weight: 600;
	text-align: right;
	letter-spacing: 0.8ex;
	margin: 0 auto;
	padding: 0px 0px 0px 40px;
	}
@media screen and (max-width: 480px) {
td.LT{
	font-size: x-small;
	padding: 0px 0px 0px 5px;
	}
}
td.RT{
	text-align: left;
	margin: 0 auto;
	}
span {
    color: #b3292c;
}




/* フローティングバナー */
.banner {
	display: none;
    position: fixed;
    margin: 15px 20px;
    z-index: 99998;
    bottom: 0;
    right: 0;
}
.banner a {
    text-decoration: none;
}

.banner-icon {
    color: #f8f8f8;
    font-size: 40px;
}

.banner-back {
    width: 300px;
    background-color: #fff;
    border-radius: 25px;
}

.banner-top {
    padding: 20px;
    border-radius: 25px 25px 0px 0px;
    background: -moz-radial-gradient(#0AB0C7, #006EB0 70%);
    background: -webkit-radial-gradient(#0AB0C7, #006EB0 70%);
    background: radial-gradient(#0AB0C7, #006EB0 70%);
}

.banner-copy {
    font-size: 18px;
    position: relative;
}
.banner-copy::after {
    font-family: 'Font Awesome 6 Free';
    font-size: 20px;
    content: '\f054';
    color: #006EB0;
    position: absolute;
    margin-top: 11px;
    top: 0;
    right: 18px;
}

.banner-bottom {
    padding: 25px 0px 30px 0px;
    line-height: 1.6;
}

.banner-body {
    width: 300px;
    background: #f8f8f8;
    color: #000000;
    font-weight: bold;
    text-align: center;
    border-radius: 25px;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}
.banner-body:hover {
    transition: opacity 0.3s ease;
    opacity: 0.7;
}

.banner-close {
    font-weight: bold;
    position: absolute;
    top: -2px;
    right: -4px;
    z-index: 99999;
    padding: 4px 8px;
    border: none;
    background-color: #f8f8f8;
    border-radius: 25px;
    cursor: pointer;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}

@media screen and (max-width: 720px) {
    .banner {
        width: 100%;
        margin: 0px;
    }
    .banner-icon {
        font-size: 28px;
    }
    .banner-body {
        width: 100%;
        border-radius: 0px;
    }
    .banner-back {
        width: 100%;
        margin: 0px;
        border-radius: 0px;
    }
    .banner-top {
        padding: 5px;
        border-radius: 0px;
        background: -moz-linear-gradient(#006EB0 50%, #0AB0C7);
        background: -webkit-linear-gradient(#006EB0 50%, #0AB0C7);
        background: linear-gradient(#006EB0 50%, #0AB0C7);
    }
    .banner-bottom {
        padding: 10px 10px 18px 10px;
    }
    .banner-copy {
        font-size: 15px;
    }
    .banner-copy::after {
        font-size: 12px;
        margin-top: 1.4px;
        margin-left: 12px;
        top: initial;
        right: initial;
    }
    .banner-close {
        top: 8px;
        right: 15px;
    }
    .banner-copy-br {
        display: none;
    }
}


/* フッター */

footer a:link,a:active,a:visited {
	text-decoration: underline;
	color: #66c800;
	}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.flex {
  display: flex;
	align-items: center;
	
}

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #66c800;
}

.footer {
	max-width: 1400px;
	margin: 0 auto;
  padding: 1rem;
  font-size: small;
  color: #66c800;
  background: #fff;
}
@media screen and (max-width: 480px) {
.footer {
  font-size: x-small;
}
}

.footer__navi {
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.footer__navi li {
  display: inline-block;
}

.footer__navi li:not(:last-child) {
  margin-right: 16px;
}

.footer__logo {
  display: inline-block;
	max-width: 450px;
  margin-bottom: 1rem;
}
@media screen and (max-width: 820px) {
.footer__logo {
	max-width: 240px;
}
}
@media screen and (max-width: 480px) {
.footer__logo {
	max-width: 150px;
}
}
  .md-flex {
    display: flex;
  }

  .md-justify-between {
    justify-content: space-between;
  }

  .copyright {
	  margin-top: 1rem;
    text-align: center;  
  }
@media screen and (max-width: 480px) {
  .copyright {
	  font-size: x-small;  
  }
}


/* その他 */
