article {
  padding: 230px 20px 0;
  background-color: white;
}

a {
  text-decoration: none;
  color: #000000;
}

h1 {
  font-size: 24px;
}

h2 {
  margin-bottom: 0;
  font-size: 20px;
}

h2 img {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

h3 {
  margin-bottom: 0;
  font-size: 18px;
}

h4 {
  margin-bottom: 0;
  font-size: 16px;
}

section p img {
  width: 16px;
  height: 16px;
  margin-left: 15px;
  margin-right: 10px;
}

section {
  margin-top: 30px;
}

section p {
  margin-left: 15px;
  margin-top: 10px;
  font-size: 16px;
}



/** 個別CSS-home **/
/** css @keyframesとanimation関連まとめ **/
/** https://qiita.com/7968/items/1d999354e00db53bcbd8 **/

.home_gazou {
  position: relative;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

.home_gazou img {
  max-width: 100%;
  height: auto;
}

.home_gazou h1 {
  position: absolute;
  width: 510px;
  top: 270px;
  left: 50%;
  transform: translate(-50%,-50%);
  margin: 0;
  padding: 0;
  color: white;
  font-size: 48px;
  font-family: "arial black";
}

/* 画面サイズの横幅が 900px より小さい場合に適用 */
@media screen and (max-width: 900px) {
  .home_gazou h1 {
    position: absolute;
    width: 100%;
    text-align: center;
    top: 220px;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 42px;
  }
}

/* 画面サイズの横幅が 780px より小さい場合に適用 */
@media screen and (max-width: 780px) {
  .home_gazou h1 {
    top: 180px;
    left: 50%;
    font-size: 38px;
  }
}

/* 画面サイズの横幅が 580px より小さい場合に適用 */
@media screen and (max-width: 580px) {
  article {
    padding: 210px 18px 0;
  }
  .home_gazou h1 {
    top: 130px;
    left: 50%;
    font-size: 32px;
  }
}

/* 画面サイズの横幅が 480px より小さい場合に適用 */
@media screen and (max-width: 480px) {
  article {
    padding: 200px 15px 0;
  }
  .home_gazou h1 {
    top: 100px;
    left: 50%;
    font-size: 28px;
  }
  .home_news {
    font-size: 14px;
  }
}

/* 画面サイズの横幅が 360px より小さい場合に適用 */
@media screen and (max-width: 360px) {
  .home_gazou h1 {
    font-size: 20px;
  }
}

.home_gazou h1 span {
  color: transparent;
  animation: itimojizutu 4s ease 1 forwards;
}

.home_gazou h1 span:nth-child(1) {
  animation-delay: 0.1s;
}
.home_gazou h1 span:nth-child(2) {
  animation-delay: 0.25s;
}
.home_gazou h1 span:nth-child(3) {
  animation-delay: 0.4s;
}
.home_gazou h1 span:nth-child(4) {
  animation-delay: 0.55s;
}
.home_gazou h1 span:nth-child(5) {
  animation-delay: 0.7s;
}
.home_gazou h1 span:nth-child(6) {
  animation-delay: 0.85s;
}
.home_gazou h1 span:nth-child(7) {
  animation-delay: 1.0s;
}
.home_gazou h1 span:nth-child(8) {
  animation-delay: 1.15s;
}
.home_gazou h1 span:nth-child(9) {
  animation-delay: 1.3s;
}
.home_gazou h1 span:nth-child(10) {
  animation-delay: 1.45s;
}
.home_gazou h1 span:nth-child(11) {
  animation-delay: 1.6s;
}
.home_gazou h1 span:nth-child(12) {
  animation-delay: 1.75s;
}
.home_gazou h1 span:nth-child(13) {
  animation-delay: 1.9s;
}
.home_gazou h1 span:nth-child(14) {
  animation-delay: 2.05s;
}
.home_gazou h1 span:nth-child(15) {
  animation-delay: 2.2s;
}

@keyframes itimojizutu {
  0%   { text-shadow: 0 0 100px #fff; opacity:0; }
  50%  { text-shadow: 0 0 50px #fff; }
  100% { text-shadow: 0 0 0 #fff; -webkit-text-stroke: 1px black; opacity: 1; }
}

.news {
  width: auto;
  margin-bottom: 30px;
  margin-left: 30px;
  margin-right: 30px;
  font-size: 18px;
}

.hiduke {
  width: 140px;
}

/* 画面サイズの横幅が 480px より小さい場合に適用 */
@media screen and (max-width: 480px) {
  .news {
    width: 100%;
    margin-bottom: 30px;
    margin-left: 10px;
    margin-right: 30px;
    font-size: 14px;
    vertical-align: middle;
  }

  .hiduke {
    width: 110px;
  }

  .news img {
    width: 13px;
    margin-left: 5px;
    margin-right: 5px;
    vertical-align: middle;
  }
}

.news img {
  width: 16px;
  margin-left: 5px;
  margin-right: 5px;
  vertical-align: middle;
}


/** 個別CSS-jigyounaiyou **/
.hidden_box {
  margin: 10px 0;
  padding: 0;
}

.td_maru {
  width: 16px;
  height: 16px;
  margin-left: 15px;
  margin-right: 10px;
}

/* label1 カーソル => ポインター */
.label1 {
  cursor: pointer;
  font-size: 15px;
  font-weight: bold;
  margin: 0;
  padding: 0;
  min-width: 50%;
}

.no_pointer {
  cursor: default;
  font-weight: bold;
  font-size: 15px;
  margin: 0;
  padding: 0;
  min-width: 50%;
}

/* 画面サイズの横幅が 360px より小さい場合に適用 */
@media screen and (max-width: 360px) {
  .label1 {
    cursor: pointer;
    font-size: 15px;
    font-weight: normal;
    margin: 0;
    padding: 0;
    min-width: 50%;
  }

  .no_pointer {
    cursor: default;
    font-size: 15px;
    font-weight: normal;
    margin: 0;
    padding: 0;
    min-width: 50%;
  }
}

/* check box の非表示 */
#label11, #label12, #label13,
#label31, #label32, #label33,
#label41 {
  display: none;
}

.hidden_box .hidden_show {
  height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0;
  text-align: left;
  transition: 1s; 
}

.hidden_box input:checked ~ .hidden_show {
  height: auto;
  opacity: 1;
  padding: 10px 0;
}

.hidden_box .td_koumoku {
  width: 30px;
  margin-top: 0;
}

.td_koumoku1 {
  width: 35px;
  margin: 0;
  padding-left: 15px;
  /*background-color: yellow;*/
}

.td_koumoku2 {
  width: 35px;
  margin: 0;
  padding-left: 25px;
  /*background-color: red;*/
}

.kakuredata {
  margin-left: 35px;
}

.info_png {
  width: 16px;
  height: 16px;
  margin-left: 5px;
}



/** 個別CSS-kigyoujyouhou **/
.pc { 
  margin-top: 20px;
  margin-left: 15px;
  display: block !important; 
}

.sumaho { 
  margin-top: 20px;
  margin-left: 15px;
  display: none !important; 
}

/* 画面サイズの横幅が 480px より小さい場合に適用 */
@media screen and (max-width: 480px) {
  .pc {
    display: none !important;
  }
  .sumaho {
    display: block !important;
  }
}

.kaisyagaiyou, .enkaku {
  margin-top: 10px;
  margin-left: 15px;
  margin-bottom: 15px;
  color: black;
  text-align: center;
}

.t_data {
  width: 300px;
  height: 50px;
  background-color:#f8f8f8;
  text-align: left;
  padding-left: 1em;
}

.t_koumoku, .enkaku_nen {
  width: 140px;
  background-color: #b9d08b;
  color: white;
}

.t_koumoku_sanmoji {
  color: white;
  background-color: #b9d08b;
  letter-spacing: 1em;
  text-indent: 1em;
}

.t_koumoku_yonmoji {
  color: white;
  background-color: #b9d08b;
  letter-spacing: 0.333em;
  text-indent: 0.333em;
}

.enkaku_data {
  height: 50px;
  background-color:#f8f8f8;
  text-align: left;
  padding-left: 1em;
  padding-right: 1em;
}

.map {
  margin-top: 10px;
  margin-bottom: 30px;
}

iframe {
  width: 440px;
  height: 480px;
  margin-left: 15px;
}

.syousaijyouhou {
  vertical-align: top;
  padding-left: 15px;
}

.syousaijyouhou p {
  margin-top: 0;
  margin-bottom: 15px;
  margin-left: 0;
  font-size: 16px;
}

@media screen and (max-width: 480px) {
  #kigyoujyouhou {
    font-size: 14px;
  }
  .kaisyagaiyou, .enkaku {
    margin-top: 10px;
    margin-left: 5px;
    margin-bottom: 15px;
    font-size: 14px;
  }

  .t_data {
    width: 210px;;
    height: 50px;
    background-color:#f8f8f8;
    text-align: left;
    padding-left: 1em;
  }
  
  .t_koumoku, .enkaku_nen {
    width: 85px;
    background-color: #b9d08b;
    color: white;
  }
  
  .t_koumoku_sanmoji {
    color: white;
    background-color: #b9d08b;
    letter-spacing: 0;
    text-indent: 0;
  }
  
  .t_koumoku_yonmoji {
    color: white;
    background-color: #b9d08b;
    letter-spacing: 0;
    text-indent: 0;
  }
  
  .enkaku_data {
    height: 50px;
    background-color:#f8f8f8;
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }

  .sumaho_1 {
    display: none;
  }



  /* 地図 */
  iframe {
    width: 270px;
    height: 240px;
    margin-left: 7px;
  }
  .syousaijyouhou, .if_map {
    width: 100%;
    display: block;
  }
  .syousaijyouhou p {
    font-size: 14px;
  }
  .syousaijyouhou h4 {
    font-weight: normal;
  }
}



/** 個別CSS-saiyoujyouhou **/
.saiyou_table {
  margin-top: 10px;
  margin-left: 15px;
  margin-bottom: 15px;
  color: black;
  text-align: center;
}

.t_koumoku_saiyou {
  width: 140px;
  padding-left: 15px;
  background-color: #b9d08b;
  color: white;
  text-align: left;
}

.t_data_saiyou {
  width: 500px;
  height: 50px;
  background-color: #f8f8f8;
  text-align: left;
  padding-left: 15px;
}

.kome {
  font-size: 80%;
}

.s_msg {
  margin-top: 0;
  margin-bottom: 15px;
  margin-left: 15px;
  font-size: 16px;
}

.saiyou_msg_t {
  font-weight: bold;
}

.saiyou_msg_t1{
  padding-bottom: 20px;
}

/* 画面サイズの横幅が 480px より小さい場合に適用 */
@media screen and (max-width: 480px) {
  .saiyou_table {
    margin-top: 10px;
    margin-left: 5px;
    margin-bottom: 15px;
    color: black;
  }
  .t_koumoku_saiyou {
    width: 95px;
    padding-left: 0;
    font-size: 14px;
    background-color: #b9d08b;
    color: white;
    text-align: center;
  }
  .t_data_saiyou {
    width: 70%;
    height: 50px;
    font-size: 14px;
    background-color: #f8f8f8;
    text-align: left;
    padding-left: 5px;
  }
  .none {
    display: none;
  }
  .saiyou_msg {
    font-size: 14px;
  }
}