@charset "utf-8";

body {
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:14px;
  line-height: 22px;
  color:#FFF;
  background-color:#000;
  -webkit-text-size-adjust: 100%;
  width:90%;
  margin: 0;
  padding: 0;
}

p {
  padding-right: 20px;
  padding-left: 20px;
  text-align: left;
}

/* Header
------------------------------------------------- */
#cover{
/*  background-image:url(/img/CoolInsurator/bg.jpg); */
  background-size:contain;
  background-repeat:no-repeat;
  background-position-y: 7px;
  }

#header{
/*  padding:20px 0px 0px;*/
  margin:0 auto;
}

.bgimg {
  display:block;
  width: 95%
}

.bgspimg {
  display:none;
}

#header #logo{
  text-align:right;
  padding-right:10%;
}

#header #keyImg{
  text-align:center;
  padding-bottom:100px;
}

#header h1{
  padding-top:420px;
  padding-bottom:150px;
  text-align:center;
}

/* ---------------------------------------
  Container Area
-----------------------------------------*/
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.desc {
  text-align:justify;
  padding:2em 3em 1em 3em;
  line-height:2em;
}

.desc01 {
  text-align:justify;
  padding:2em 3em 1em 3em;
  font-size: 1.2em;
  font-weight: bold;
  line-height:2em;
}

.contents-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; /* 折り返しを許可 */
    margin: 1px 0;
}

.contents-col-full {
    width: 100%;
    padding: 20px;
    margin: 1px;
    text-align: center;
}

.contents-col-header {
    width: 100%;
    margin: 1px;
    text-align: center;
}

/* contents-colを横に並べる */
.contents-col {
    flex: 1 1 100px; /* 最小幅200px */
    padding: 20px;
    margin: 1px;
    text-align: center;
}

.contents-col-images {
    flex: 1 1 100px; /* 最小幅200px */
    padding: 20px;
    margin: 1px;
    height: 500px;
    text-align: center;
}

.image-list {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    padding-top: 10px;
}

.image-list li {
    margin: 0 5px;
}

.image-list img {
    width: 50px;
    height: auto;
}

.switch-images {
  width: 100%;
/*  height: 100%; */
/*  aspect-ratio: 1 / 1; 正方形にする */
  padding-right: 20px;
  padding-left: 20px;
}

.switch-image {
/*  aspect-ratio: 1 / 1;*/ /* 正方形にする */
  max-height:394px;
  border-radius: 15px;
}


.mod {
  margin:10px 0 5px 0;
}

table {
  width:100%;
  border-collapse:collapse;
  font-size:0.88em;
}

.tbl {
  font-size:0.86em;
  padding-top:5px;
  padding-bottom:40px;
}

.tbl2 {
  font-size:0.86em;
  padding-top:5px;
  padding-bottom:10px;
}

th, td {
  border-left:solid thin #FFF;
  border-right:solid thin #FFF;
  padding:0.86em 0.86em;
  a{
    color:#CC0000;
  }
}

.tone {
  background-color:#333;
}

.cent {
  text-align:center;
} 
.button {
  text-align:center;
  padding-bottom:50px;
}

.iframe-wrap {
  position: relative;
  width: 100%;
  padding: calc(560 / 1000 * 100%) 0 0; /* 高さと横幅の数字には単位は入れません。 */
}

.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ---------------------------------------
  Footer Area
-----------------------------------------*/
#footer { background: linear-gradient(#464646, #151515); }

#footerWrap{
  width:1000px;
  height:90px;
  position:relative;
  margin:0px auto;
  text-align:right;
  padding-top:10px;
  }

@media screen and (max-width: 768px) {
#cover{
  background-position: 0px 0px;
/*  background-image:url(/img/CoolInsurator/bg_sp.jpg); */
  background-size:contain;
  background-repeat:no-repeat;
}
#header {
  width:90%;
}

.bgspimg {
  display:block;
  width: 95%;
}

.bgimg {
  display:none;
}


#header #logo{
  text-align:right;
  padding-right:40px;
}
#header h1{
  padding-top:240px;
  text-align:center;
}

#header h1 img{
}

#header #keyImg img{
  max-width:90% !important;
}
#containerWrap{
  width:90%;
}
#containerWrap img{
  max-width:100% !important;
}
.desc01 {
  text-align:justify;
  padding:2em 0.5em 1em 0.5em;
  font-size: 1.2em;
  font-weight: bold;
  line-height:2em;
}
#footerWrap{
  width:90%;
  text-align:center;
}

}
@media screen and (max-width: 600px) {
#header{
/*  padding-bottom:150px; */
}
#header p{
  line-height:240%;
  text-align:center;
/*  padding-bottom:120px; */
}
.desc {
  padding:2em 0 1em 0;
  font-size:0.86em;
  }
table {
  font-size:0.72em;
  line-height:1.5em;
  }
.tbl {
  font-size:0.72em;
  line-height:1.5em;
  }
.tbl2 {
  font-size:0.72em;
  line-height:1.5em;
  }
}

@media screen and (max-width: 375px) {
  #cover{
/*    padding-top:40px;*/

    }
  #header{
    padding-bottom:50px;
  }
/*    
  #headerWrap #logo{
    padding-top:-20px;
  }
*/
}