﻿* {
}

body {
  color: #555555;
}


/*/////////////////////////////////////////////
　レイアウト
/////////////////////////////////////////////*/
.header
{
}

.header h1
{
  margin: 0;
  padding: 0;
  text-align: center;
}

.footer
{
  text-align: center;
}

address
{
  font-style: normal;
  font-size: 0.8em;
}

#hiddencontent_common
{
  width: 90%;
}

#maincontent_common
{
}

/*/////////////////////////////////////////////
　見出し
/////////////////////////////////////////////*/
h1, h2, h3, h4
{
  color: #777777;
}
p {
  margin: 10px 5px;
}
/*アンダーライン見出し*/
.h2_common_pink,
.h2_common_blue
{
  position: relative;
  padding: 0.4em;
  text-align: center;
}

.h2_common_pink:before
{
  position: absolute;
  bottom: -2px;
  left: calc(50% - 50px);
  width: 100px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #ff6f96;
}

.h2_common_blue:before
{
  position: absolute;
  bottom: -2px;
  left: calc(50% - 50px);
  width: 100px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #4badff;
}

/*アイコンあり見出し*/
.h2_common_ico_pink
{
  position: relative;
  overflow: hidden;
  padding: 0.5rem 2rem 0.5rem 50px;
  border-top: 3px solid #ff6f96;
  font-size: 1em
}

.h2_common_ico_pink:before
{
  position: absolute;
  top: -150%;
  left: -100px;
  width: 145px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #ff6f96;
}

.h2_common_ico_blue
{
  position: relative;
  overflow: hidden;
  padding: 0.5rem 2rem 0.5rem 50px;
  border-top: 3px solid #4badff;
  font-size: 1em
}

.h2_common_ico_blue:before
{
  position: absolute;
  top: -150%;
  left: -100px;
  width: 145px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #4badff;
}


.h2_common_ico_pink span,
.h2_common_ico_blue span
{
  　font-size: 1.3rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 5px;
  padding-left: 4px;
  color: #fff;
}


/*シンプル枠見出し*/
.h3_common_pink
{
  margin: 20px auto;
  background: #ffcdda;
  padding: 6px 10px;
  border: 2px solid #fff;
  -webkit-box-shadow: 0 0 0 3px #ffcdda;
  -moz-box-shadow: 0 0 0 3px #ffcdda;
  box-shadow: 0 0 0 3px #ffcdda;
  font-size: 1em;
  font-size: 1em;
}

.h3_common_blue
{
  margin: 20px auto;
  background: #d2e9fd;
  padding: 6px 10px;
  border: 2px solid #fff;
  -webkit-box-shadow: 0 0 0 3px #d2e9fd;
  -moz-box-shadow: 0 0 0 3px #d2e9fd;
  box-shadow: 0 0 0 3px #d2e9fd;
  font-size: 1em;
  font-size: 1em;
}

/*角丸見出し*/
.h4_common
{
  position: relative;
  background: #fddc64; /* #fcf7d4;*/ /*d4ebff;*/
  -webkit-box-shadow: 2px 2px 8px rgba(255, 255, 255, 0.1) inset,1px 1px 4px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 2px 2px 8px rgba(255, 255, 255, 0.1) inset,1px 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 2px 8px rgba(255, 255, 255, 0.1) inset,1px 1px 4px rgba(0, 0, 0, 0.2);
  padding: 5px 8px 5px 10px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

/*/////////////////////////////////////////////
　ボタン
/////////////////////////////////////////////*/
/*オレンジグラデ*/
a.a_btnstyle
{
  display: block;
  text-decoration: none;
  height: 35px;
  width: 100%;
  line-height: 37px;
  text-align: center;
  color: #fff;
  background: #f9c667;
  background: -moz-linear-gradient(-45deg, #f9c667 0%, #f79621 100%);
  background: -webkit-linear-gradient(-45deg, #f9c667 0%,#f79621 100%);
  background: linear-gradient(135deg, #f9c667 0%,#f79621 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9c667', endColorstr='#f79621',GradientType=1 );
  border-radius: 20px;
  box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.3);
}

a.a_btnstyle:active
{
  -ms-transform: translateY(2px);
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  box-shadow: none;
}


/*/////////////////////////////////////////////
　トップ画面
/////////////////////////////////////////////*/
.top_banner
{
  text-align: center;
  width: 60%;
  max-width: 500px;
  margin: 15px auto;
}

.top_menu
{
  display: block;
  position: relative;
  text-decoration: none;
  width: 60%;
  height: 120px;
  max-width: 500px;
  border-radius: 5px;
  overflow: hidden;
  background: linear-gradient(#f3f3f3 0%, #dddddd 100%);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
  margin: 15px auto;
  padding: 10px;
}

.top_menu a
{
  text-decoration: none;
  color: #666666;
  display: block;
  width: 100%;
  height: 100%;
}

.top_menu:active
{
  /*押したとき*/
  -webkit-transform: translateY(2px);
  transform: translateY(2px); /*沈むように*/
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
  background-image: linear-gradient(#f3f3f3 0%, #ededed 100%); /*グラデーションを明るく*/
}

.top_menu img
{
  float: left;
  padding: 14px 10px 10px 10px;
}

.top_menu p
{
  font-weight: bold;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
  font-size: 24px;
  margin: 20px 10px 5px 100px;
  line-height: 40px;
}

.top_menu span
{
  display: block;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
  margin: 0px 10px 10px 100px;
  line-height: 22px;
  font-size: 14px;
}

.top_menu_sports
{
  color: #4FADC6;
}

.top_menu_badm
{
  color: #f9a9ae;
}

.lbl_warning {
  color: #ff0000;
  text-align: center;
}
.p_small
{
  font-size: 0.9em;
}

.span_red
{
  color: #ff0000 !important;
}

.span_pink
{
  color: #ff3768 !important;
}
.align_l
{
  text-align: left
}

.align_r
{
  text-align: right
}

.align_c
{
  text-align: center
}

.p_bn_line
{
  width: 100%;
  font-weight: bold;
  padding: 5px 20px;
  border-top: solid 4px #00bb00;
  border-bottom: solid 4px #00bb00;
  color: #00bb00;
  background: #fefff8;
}

.p_underline
{
  border-bottom: solid 1px #dddddd;
}

ul, ol
{
  display: block;
  padding-left: 30px;
}

ul.ul_point
{
  border: solid 2px #ffb03f;
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}

ul.ul_point li
{
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none !important; /*ポチ消す*/
}

ul.ul_point li:before
{
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  left: 1em; /*左端からのアイコンまで*/
  color: #ffb03f; /*アイコン色*/
}

ul.ul_no_styletype {
  list-style-type: none;
}

/*dl {
}*/
dt
{
  width: 60px;
  float: left;
  padding: 3px;
}

dd
{
  margin-left: 70px;
  padding: 3px;
}


/*/////////////////////////////////////////////
　テーブル
/////////////////////////////////////////////*/
table
{
  border-collapse: collapse;
  margin: 10px auto;
}

th
{
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  padding: 8px;
  min-width: 140px;
}

td
{
  vertical-align: middle;
  padding: 8px;
}

.th_color th
{
  background-color: #daf4f9;
  min-width: 80px;
}



/*/////////////////////////////////////////////
　フォーム用
/////////////////////////////////////////////*/
.div_w80
{
  margin: 10px auto;
  width: 80%;
  min-width: 420px;
}

.tbl_border,
.tbl_border > tbody > tr > th,
.tbl_border > tbody > tr > td
{
  border: solid 1px #bbbbbb;
  border-collapse: collapse;
}

.no_border,
.no_border > tbody > tr > th,
.no_border > tbody > tr > td
{
  border: none;
}

.span_must
{
  padding: 3px 4px;
  background-color: #ff5577;
  color: #ffffff;
  font-size: xx-small;
  margin-right: 5px;
}
.span_must_s
{
  padding: 3px 4px;
  color: #ff5577;
  font-weight: bold; 
}


.span_any
{
  padding: 3px 4px;
  background-color: #3dacff;
  color: #ffffff;
  font-size: xx-small;
  margin-right: 5px;
}

.btn_form
{
  margin: 10px auto;
  max-width: 80%;
  min-width: 480px;
}

.span_kome {
  font-size: x-small;
}

#lbl_entrywarm
{
  color: #ff5577;
  font-size: 0.8em;
  margin: 5px;
}

.h3_tblheader
{
  width: 80%;
  margin: 20px auto;
  background: #d2e9fd;
  padding: 10px;
  border: 2px solid #fff;
  -webkit-box-shadow: 0 0 0 3px #d2e9fd;
  -moz-box-shadow: 0 0 0 3px #d2e9fd;
  box-shadow: 0 0 0 3px #d2e9fd;
}

.lbl_bg_pink {
  background-color: #ffe3ea;
  padding: 5px 8px;
}

/*tableの中のtable*/
.tbl_intable {

}

.tbl_intable caption
{
  text-align:left;
  background-color: #fff2f5;
  padding: 3px 8px;
}