


/*******************************
/* SPヘッダー右側バナーアイコンスペース
*******************************/
@media (max-width: 415px) {
#header-wrapper {
    border-top: none!important;
    height: auto!important;
    width: 100%;
}
}

/*******************************
/* SPヘッダー右側バナーアイコン
*******************************/
.flex-header_top_side_bana_sp{
    display: flex;
    margin-top:5px;
}
div.flex-header_top_side_bana_sp_item1{
    width: 100%;
    margin-right:4px; 
}
div.flex-header_top_side_bana_sp_item2{
    width: 100%;
}

/*******************************
/* ヘッダー右側バナーアイコン
*******************************/
.flex-header_top_side_bana {
  display: flex;
}
.flex-header_top_side_bana .item1 {
  flex: 0 0 0;
  margin-right: 2px;
}
.flex-header_top_side_bana .item2 {
  flex: 1;
  margin-right: 2px;
}
.flex-header_top_side_bana .item3 {
  flex: 0 0 0;
}

/*******************************
/* スクロールバー
*******************************/
::-webkit-scrollbar{
  width: 15px;
}
::-webkit-scrollbar-track{
  background: #fff;
  border: none;
  box-shadow: inset 0 0 2px #777; 
}
::-webkit-scrollbar-thumb{
  background: #ccc;
  border-radius: 10px;
  box-shadow: none;
}

/*******************************
/* タイトル
*******************************/

.news_headline1 {
    padding-bottom: .5em;
    border-bottom: 4px solid #ccc;
    position: relative;
    font-size:1.5em;
}

h3.news_headline1::after {
    background-color: #8fc420;
    bottom: -4px;
    height: 4px;
    width: 12%;
    position: absolute;
    left: 0;
    z-index: 2;
    content: '';
}


/*******************************
/* ココがポイント
*******************************/
h9 {
    padding: 5px 10px 5px 10px;
    border-left: 5px solid #90c523;
    font-size: 16px;
    font-weight: bold;
}

/*******************************
/* FAQタイトル
*******************************/
.faq-title h4 {
    margin: 0px !important;
    font-size: 16px !important;
    line-height: 22px !important;
}

/*******************************
/* スクロールマージン
*******************************/
a.anchor{
    display: block;
    padding-top: 40px;
    margin-top: -40px;
}

/*******************************
/* リスト2
*******************************/
ul.list2{
  position: relative;
  padding: 15px 15px 15px 15px;
  font: 18px;
  border: solid 2px #1db771;
  /*border-radius:8px;*/
  color: #333;
  width:100%;
  background: #fff;
}
ul.list2:before{
  /*content: "POINT";  /* 好きな文字を記述 */
  position: absolute;
  display: block;
  top: -15px;
  left: 20px;
  background: #fff;
  font-size: 16px;
  font-weight: normal;
  padding: 0 10px;
}
ul.list2 li{
  font-weight: normal;
}

/*******************************
/* リスト3
*******************************/
.list-3{
   list-style: none;
   padding:0;
   margin:0;
}
.list-3 li { 
   position: relative;
   margin:0.5em 0 !important;
   padding-left: 25px;
}
.list-3 li:before {
   font-family: FontAwesome;
   content: "\f058"; /*アイコン*/
   color:  #000000; /* 色 */
   position: absolute;
   left:0;
}

.page ul {
    list-style: none!important;
    margin-left: 1.3em;
}

/*******************************
/* チェックボックス
*******************************/

.checkmark001{
	padding-left:24px;
	position:relative;
}
.checkmark001:before,
.checkmark001:after{
	content:"";
	display:block;
	position:absolute;
}
.checkmark001:before{
	width:20px;
	height:20px;
	background:#ffffff;
    	border:5px solid #000000;
	left:0;top:6px;
}
.checkmark001:after{
	border-left:5px solid #ff0000;
	border-bottom:4px solid #ff0000;
	width:28px;
	height:8px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:4px;
}

/*******************************
/* テキスト関連
*******************************/

div.title1{
	font-size:2em;
	line-height:130%;
	font-weight: normal;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	color:#fff;
}

@media (max-width: 415px) {
div.title1  {
	font-size:1.2em;
	line-height:130%;
	font-weight: normal;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	color:#fff;
 }
}



div.title2{
	font-size:1.1em;
	line-height:150%;
	font-weight: normal;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	color:#fff;
}


div.title3{
	font-size:2em;
	line-height:130%;
	font-weight: normal;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	color:#333;
}

@media (max-width: 415px) {
div.title3  {
	font-size:1.2em;
	line-height:130%;
	font-weight: normal;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	color:#333;
 }
}


div.text1{
	font-size:2.3em;
	line-height:110%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
}


@media (max-width: 415px) {
div.text1  {
	font-size:1.3em;
	line-height:140%;
	font-weight: bold;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
 }
}


div.text2{
	font-size:1.2em;
	line-height:180%;
	font-weight: bold;
	margin:20px 0 10px 0;
	text-decoration:underline;
}

@media (max-width: 415px) {
div.text2  {
	font-size:1.1em;
	line-height:180%;
	font-weight: bold;
	margin:20px 0 10px 0;
	text-decoration:underline;
 }
}

div.text3{
	font-size:1.7em;
	line-height:160%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
}

div.text4{
	font-size:1.4em;
	line-height:130%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	margin:10px 0 50px 0;
}


@media (max-width: 415px) {
div.text4  {
	font-size:1em;
	line-height:130%;
	font-weight: bold;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
	margin:10px 0 10px 0;
 }
}



div.text5{
	font-size:1.2em;
	line-height:150%;
	font-weight: bold;
	margin:20px 0 10px 0;
	text-decoration:none;
}

@media (max-width: 415px) {
div.text5  {
	font-size:1.1em;
	line-height:150%;
	font-weight: bold;
	margin:20px 0 10px 0;
	text-decoration:none;
 }
}

div.text6{
	font-size:3.2em;
	line-height:200%;
	font-weight: bold;
	margin:20px 0 10px 0;
	text-align:center;
        background: #1eb771;
        color: #fff;
}
@media (max-width: 415px) {
div.text6  {
	font-size:1.5em;
	line-height:150%;
	font-weight: bold;
	margin:20px 0 10px 0;
        background: #1eb771;
        color: #fff;
        padding: 10px;
 }
}


div.text7{
	font-size:2.5em;
	line-height:140%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
}


@media (max-width: 415px) {
div.text7  {
	font-size:1.8em;
	line-height:140%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
 }
}


div.text8{
	font-size:0.9em;
	line-height:180%;
	text-decoration:none;
}


div.text9{
	font-size:1.1em;
	line-height:140%;
	font-weight: bold;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
}

div.text10{
	font-size:1.5em;
	line-height:180%;
	font-weight: bold;
	text-decoration:none;
}


div.text11{
	font-size:1.3em;
	line-height:180%;
	font-weight: bold;
	text-align: left;
}


@media (max-width: 415px) {
div.text11  {
	font-size:1.1em;
	line-height:140%;
	font-weight: bold;
	text-align: left;
 }
}

div.text12{
	font-size:2.5em;
	line-height:140%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
}


@media (max-width: 415px) {
div.text12 {
	font-size:1.7em;
	line-height:140%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
 }
}


div.text13{
	font-size: 0.8em;
    line-height: 140%;
    text-align: center;
    color: #fff;
    background: #1b9c5f;
    padding: 5px;
	margin-bottom:30px;
}

@media (max-width: 415px) {
div.text13 {
	font-size: 0.7em;
    line-height: 140%;
    text-align: center;
    color: #fff;
    background: #1b9c5f;
    padding: 5px;
}
}

div.text14{
    font-size: 3em;
	font-weight:bold;
    text-align: center;
    color: #1eb771;
	padding:25px;
	background: #fff;
}

@media (max-width: 415px) {
div.text14 {
	font-size: 2.1em;
	font-weight:bold;
    text-align: center;
    color: #1eb771;
	background: #fff;
	padding:10px;
}
}


div.text15{
	font-size: 0.9em;
    text-align: center;
    color: #fff;
	background:#1a9c60;
}

@media (max-width: 415px) {
div.text15 {
    font-size: 0.7em;
    text-align: center;
    color: #fff;
	background:#1a9c60;
}
}


div.text16{
    font-size: 2.5em;
    font-weight: bold;
    text-align: center;
    padding: 30px;
    color: #fff;
}

@media (max-width: 415px) {
div.text16 {
    font-size: 1.8em;
    font-weight: bold;
    text-align: center;
    padding: 15px;
    color: #fff;
    background: #1eb771;
	margin-bottom:-5px;
}
}


div.text18{
	font-size: 1.8em;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 415px) {
div.text18 {
	font-size: 1.2em;
    font-weight: bold;
    text-align: center;
}
}

    background: #1eb771;
div.text19{
    font-size: 3em;
	font-weight:bold;
    text-align: center;
    color: #333;
	padding:10px;
}

@media (max-width: 415px) {
div.text19 {
	font-size: 2.1em;
	font-weight:bold;
    text-align: center;
    color: #333;
}
}

div.text20{
    font-size: 1.2em;
	font-weight:bold;
    text-align: center;
    color: #333;
}

@media (max-width: 415px) {
div.text20 {
	font-size: 0.9em;
	font-weight:bold;
    text-align: center;
    color: #333;
}
}

div.text21{
    font-size: 4em;
	font-weight:bold;
    text-align: center;
    color: #333;
}

@media (max-width: 415px) {
div.text21 {
	font-size: 3em;
	font-weight:bold;
    text-align: center;
    color: #333;
}
}

div.text22{
    font-size: 1em;
	font-weight:bold;
    text-align: center;
    color: #333;
}

@media (max-width: 415px) {
div.text22 {
	font-size: 1em;
	font-weight:bold;
    text-align: center;
    color: #333;
}
}


div.text23{
	font-size: 4em;
	font-weight:bold;
	text-align: center;
    color: #f92931;
	padding-left:10px;
	line-height:2em;
}

@media (max-width: 415px) {
div.text23 {
	font-size: 2.5em;
	font-weight:bold;
    text-align: center;
    color: #f92931;
	padding-left:10px;	
}
}


div.text24{
	font-size: 1em;
	font-weight:bold;
	line-height:1.5em;
}

@media (max-width: 415px) {
div.text24 {
	font-size: 1em;
	font-weight:bold;
	line-height:1.5em;
}
}

div.text25{
	font-size:1.7em;
	line-height:150%;
	font-weight: bold;
	text-align: center;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
        margin: 70px 0 70px 0;
}


@media (max-width: 415px) {
div.text25 {
	font-size:1.3em;
	line-height:140%;
	font-weight: bold;
	text-align: left;
	font-family: 游明朝, Yu Mincho, 游明朝体, YuMincho, ヒラギノ明朝 Pro W3, Hiragino Mincho Pro, HiraMinProN-W3, HGS明朝E, ＭＳ Ｐ明朝, MS PMincho, serif;
        margin: 0 0 20px 0;
 }
}


/*768px以下サイドメニュー非表示*/
@media screen and (max-width: 769px) {
.fm-bar li {
    display: none;
}
}

/*******************************
/* ヘッダーライン非表示
*******************************/
#header-wrapper {
    border-top: none!important;
    height: 166px;
    width: 100%;
}

/*******************************
/* ヘッダータイトル
*******************************/
@media (min-width: 660px) {
#headerTop {
    display: block;
}
}

#headerTop {
    /*display: none;*/
    color: #333;
    border-top: 7px solid #8fc420;
    background: #f9f9f9;
    overflow: hidden;
    width: 100%;
    padding: 15px 0px 0px 0px;
    clear: both;
    font-size: 85.7%;
    margin-top:0;
}

@media (min-width: 970px){
.innerBox, #gMenu #gMenuInner.innerBox {
    width: 950px;
    margin: 0px auto;
}
}

.innerBox {
    text-align: left;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

p.header_text {
    width: 1100px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 769px) {
p.header_text{
    width:97%;
    text-align: left;
}
}

@media (min-width: 660px) {
#headerTop #site-description {
    line-height: 150%;
}
}

#headerTop #site-description {
    padding: 2px 0;
    font-size: 12px;
    line-height: 120%;
}


/*******************************
/* ボタン
*******************************/
section {
  width: 100%;
  margin: 0 auto;
}
a.btn_04 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  /*position: relative;*/
  background: #8fc420;
  border: 1px solid #8fc420;
  box-sizing: border-box;
  padding: 0 25px 0 40px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_04:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  /*border-top: 2px solid #fff;*/
  /*border-right: 2px solid #fff;*/
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: #fff;
  color: #8fc420;
}
a.btn_04:hover:before {
  border-top: 2px solid #228bc8;
  border-right: 2px solid #228bc8;
}


/*******************************
/* 色変更
*******************************/
div#page-title.headline2 {
    background: #f9f9f9!important;
    border-left: 5px solid #8fc420!important;
    color: #333!important;
    font-weight: bold!important;
    margin-bottom:10px!important;
}

#bread_crumb_wrapper {
    background-color: #8fc420!important;
}

div.headline1 {
    border-left: 8px solid #8fc420!important;
}

h3.side_headline {
    border-left: 8px solid #8fc420!important;
}


a.cp_btn {
    display: block;
    width: 91%;
    padding: 0.8em;
    text-align: center;
    text-decoration: none;
    color: #8fc420!important;
    border: 2px solid #8fc420!important;
    border-radius: 0px;
    transition: .4s;
}

a.cp_btn:hover {
    background: #8fc420!important;
    color: #fff!important;
}

.wpcf7 input[type="submit"] {
    background: #8fc420!important;
}


/*******************************
/* スマホロゴサイズ
*******************************/
@media (max-width: 1024px) {
#logo_text, #logo_image {
    width: 90%;
}
}

@media (max-width: 760px) {
.panel-grid.panel-has-style>.panel-row-style, .panel-grid.panel-no-style {
    display: block!important; 
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
    -ms-justify-content: space-between;
    justify-content: space-between;
}
}


/*******************************
/* トップページ4個並び
*******************************/
 section {
   margin-bottom: 1rem;
 }

 section>h2 {
   color: #607D8B;
   font-weight: normal;
   font-size: 200%;
   position: relative;
   padding-left: 60px;
 }

 section>h2:before {
   content: '';
   width: 50px;
   height: 1px;
   background: #06c7ea;
   position: absolute;
   top: 50%;
   left: 0;
 }

 .profile_card {
   padding: 0.5rem 0.5rem;
   border: 1px solid #eee;
 }

 .card_photo {
   text-align: center;
   flex: 0 0 30%;
   -webkit-flex: 0 0 30%;
 }

 .profile_sociallinks {
   display: flex;
   display: -webkit-flex;
   justify-content: center;
   -webkit-justify-content: center;
 }

 .card_photo_img {
   position: relative;
   width: 100px;
   height: 100px;
   border-radius: 50%;
   overflow: hidden;
   border: 7px solid #e6e0d1;
   display: inline-block;
 }

 .card_photo_img img {
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-33%, -50%);
   -ms-transform: translate(-33%, -50%);
   transform: translate(-33%, -50%);
   width: auto;
   height: 100%;
 }

 p.card-text {
   color: #333;
   font-size: 1em;
   line-height: 1.5!important;
   text-align: left;
 }

 .profile_bio p {
   margin-bottom: 3rem
 }

 .profile_sociallinks a {
   color: #06c7ea;
   padding: 1rem;
 }

 .profile_card h1, .profile_card h2 {
   font-weight: 500;
   margin: 0px 0px 5px 0px;
 }

 .profile_card h1 {
   font-size: 1em;
 }

 .profile_card h2 {
   font-size: 1em;
   font-weight: bold;
   margin-top: 10px;
   margin-bottom: 10px;
 }

 .card-img {
   max-width: 100%;
   height: auto;
 }

 .profile_cards {
   display: flex;
   display: -webkit-flex;
   align-items: stretch;
   -webkit-align-items: stretch;
 }

 .profile_cards .profile_card {
   display: flex;
   display: -webkit-flex;
   flex-direction: column;
   -webkit-flex-direction: column;
   justify-content: space-between;
   -webkit-justify-content: space-between;
   width: 25%;
   margin: 5px;
   box-sizing: border-box;
   background: #F9F9F9;
 }

 .profile_cards .card_photo {
   flex: 0 0 auto;
   -webkit-flex: 0 0 auto;
 }

 .kihon {
   background: #acc5d1;
   padding: 3rem 1rem 1rem 1rem;
   margin-bottom: 100px;
 }

 .container2 {
   display: flex;
 }

 .kihon>div {
   padding: 1rem;
   background: #607D8B;
   color: #fff;
   text-align: center;
   margin: 10px;
 }

@media screen and (min-width:765px) and ( max-width:768px) {
.profile_cards .card_photo {
    width: 768px;
}
}

 @media screen and (max-width: 1024px) {
   .profile_card, .pricecards, .profile_cards {
     flex-direction: column;
     -webkit-flex-direction: column;
   }
   .pricecard.premium {
     order: 1;
     -webkit-order: 1;
   }
   .profile_cards .profile_card {
     margin-bottom: 5px;
     margin-top: 5px;
     margin-left: 0;
     margin-right: 0;
   }
   /*
     .pricecard.free{
         order: -1;
         -webkit-order: -1;
     }
     .pricecard.standard{
         order: 0;
         -webkit-order: 0;
     }
*/
   .profile_cards .profile_card {
     width: 100%;
   }
   .pricecard, .card_photo {
     flex: 0 0 auto;
     -webkit-flex: 0 0 auto;
   }
 }

 /*ボタン*/
 a.btn_03 {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 45px;
   position: relative;
   background: #8fc420;
   border: 1px solid #8fc420;
   box-sizing: border-box;
   padding: 0 45px 0 25px;
   color: #fff!important;
   font-size: 1em;
   letter-spacing: 0.1em;
   line-height: 1.3;
   text-align: left;
   margin-top: 30px;
   text-decoration: none;
   transition-duration: 0.3s;
 }

 a.btn_03:before {
   content: '';
   width: 8px;
   height: 8px;
   border: 0;
   border-top: 2px solid #fff;
   border-right: 2px solid #fff;
   transform: rotate(45deg);
   position: absolute;
   top: 50%;
   right: 25px;
   margin-top: -6px;
 }

 a.btn_03:hover {
   background: #fff;
   color: #8fc420!important;
 }

 a.btn_03:hover:before {
   border-top: 2px solid #8fc420;
   border-right: 2px solid #8fc420;
 }







/*******************************
/* トップページ5個バナー
*******************************/
table.top_bana_table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 5px;
}

table.top_bana_table2 {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 5px;
}

.top_bana_table th {
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  background: #8fc420;
}

.top_bana_table td {
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  background: #8fc420;
}

.top_bana_table2 th {
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  background: #FF1A1A;
}

.top_bana_table2 td {
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  background: #FF1A1A;
}

.top_bana_table2 th {
  width: 20%;
}

img.top_bana_table2_img {
  width: 100%;
}

td.left {
  width: 50%;
}

td.right {
  width: 50%;
}

td.left2 {
  width: 50%;
}

td.right2 {
  width: 50%;
}

.top_bana_table th {
  width: 20%;
}

img.top_bana_table_img {
  width: 100%;
  transition: all .5s ease-out;
  opacity: 1!important;
}

img.top_bana_table2_img {
  width: 100%;
  transition: all .5s ease-out;
}

a:hover img.top_bana_table_img {
  transform: scale(1.05);
}

.top_bana_table2 th {
  width: 20%;
}

img.top_bana_table2_img {
  width: 100%;
  opacity: 1!important;
}

a:hover img.top_bana_table2_img {
  transform: scale(1.05);
}

div.top_bana_title {
  font-size: 3em;
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin: 30px;
  letter-spacing: 10px;
  margin: 0
}

div.contents_top_text {
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  text-align: left;
  line-height: 150%;
}

div.contents_top_text2 {
  font-size: 0.9em;
  font-weight: bold;
  color: #fff;
  text-align: right;
  margin-top: 45px;
}

div.contents_top_text2 a {
  color: #fff;
  font-weight: bold;
  transition: color .3s;
}

div.contents_top_text2 a:hover {
  color: #fff3b8!important;
}

div.contents_top_text2 a:link {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .top_bana_table {
    width: 100%;
  }
  table.top_bana_table th, table.top_bana_table td {
    display: block;
    width: 100vw;
    border-bottom: none;
  }
  .top_bana_table tr:last-child {
    border-bottom: solid 1px #ccc;
  }
  .top_bana_table2 {
    width: 100%;
  }
  table.top_bana_table2 th, table.top_bana_table2 td {
    display: block;
    width: 100vw;
    border-bottom: none;
  }
  .top_bana_table2 tr:last-child {
    border-bottom: solid 1px #ccc;
  }
}

@media screen and (max-width: 500px) {
  div.top_bana_title {
    font-size: 1.4em;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin: 30px;
    letter-spacing: 10px;
    margin: 0
  }
  div.background-title {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1.4em;
    background: #FFF;
    color: #8fc420;
    width: 100%;
    border-radius: 10px;
  }
  table.top_bana_table th, table.top_bana_table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  table.top_bana_table2 th, table.top_bana_table2 td {
    display: block;
    width: 100%;
    border-bottom: none;
  }


}


/*テキストボックス*/

.background-title {
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4em;
  background: #FFF;
  color: #8fc420;
  width: 100%;
  border-radius: 10px;
  padding: 2px;
}

.background-title2 {
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4em;
  background: #FFF;
  color: #FF1A1A;
  width: 100%;
  border-radius: 10px;
  padding: 2px;
}




/*******************************
/* コンテンツフッター5個バナー
*******************************/
*, *:before, *:after {
  box-sizing: content-box;
}

.col_2 {
  width: 100%;
  display: flex;
  display: -ms-flexbox;
  /* IE10 */
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /* IE10 */
}

.col_2>div {
  width: 49%;
  padding: 5px;
}

@media screen and (max-width: 960px) {
  .col_2>div {
    width: 100%;
  }
}

.card2 {
  margin: 0px auto;
  width: 100%;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px #ccc;
  overflow: hidden;
}

.card2-img {
  border-radius: 5px 5px 0 0;
  width: 100%;
  height: auto;
  transition: all .5s ease-out;
}

a:hover img.card2-img {
  transform: scale(1.05);
}

.card2-content {
  padding: 10px;
}

.card2-title {
  font-size: 2.7em;
  font-weight: bold;
  margin-top: -40px;
  margin-bottom: 0;
  text-align: center;
  color: #8fc420;
  margin: 0;
}

.card2-text {
  color: #333;
  font-size: 1.08em;
  line-height: 1.5;
  margin-top: 30px;
  text-align: center;
}

.card2-top {
  color: #333;
  font-size: 1.7em;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin: 10px!important;
}

.card2-link {
  text-align: center;
  border-top: 1px solid #eee;
  padding: 20px;
}

.card2-link a {
  text-decoration: none;
  color: #0bd;
  margin: 0 10px;
}

.card2-link a:hover {
  color: #0090aa;
}

@media screen and (max-width: 500px) {
  .card2-top {
    color: #333;
    font-size: 0.82em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin: 5px;
  }
  .card2-title {
    font-size: 1.7em;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    color: #333;
    margin: 0;
  }
  .card2-text {
    color: #333;
    font-size: 1.08em;
    line-height: 1.5;
    margin-top: 5px;
    text-align: left;
  }
}


@media screen and (min-width:501px) and ( max-width:769px) {
.col_2 {
    width: 100vw;
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
}


/*ボタン*/

a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 45px;
  position: relative;
  background: #8fc420;
  border: 1px solid #8fc420;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff!important;
  font-size: 1em;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}

a.btn_03:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}

a.btn_03:hover {
  background: #fff;
  color: #8fc420!important;
}

a.btn_03:hover:before {
  border-top: 2px solid #8fc420;
  border-right: 2px solid #8fc420;
}

/*******************************
/* タブレットフッター
*******************************/
@media screen and (min-width:642px) and ( max-width:769px) {

#footer-wrapper {
    clear: both;
    width: 100vw!important;
    /* height: 390px; */
    padding-top: 1px;
    min-width: 100%!important;
    background-image: url(images/footer_bg.jpg);
    background-repeat: repeat-x;
    background-position: left top;
}

#footer {
    width: none;
    height: 45px;
    margin: 0 auto;
    position: relative;
    font-size: 12px;
    border-bottom: 1px solid #ccc;
    width: 100vw!important;
}

#footer_description {
    /* width: 958px; */
    height: 45px;
    float: left;
    width: 100vw!important;
}

#footer_widget_wrap {
    width: 100vw!important;
    min-width: 100%!important;
    min-height: 250px;
    background: #f9f9f9;
    padding-bottom: 20px;
    padding-top: 25px;
}

#copyright {
    min-width: 100%!important;
    text-align: center;
    color: #333;
    font-size: 12px;
    margin: 0;
    padding: 0;
    height: 48px;
    line-height: 48px;
}

#footer_social_link {
    width: 141px;
    height: 45px;
    display: block;
    float: right;
    padding-right: 1px;
    background-image: url(images/dot_01.png);
    background-repeat: repeat-y;
    background-position: right top;
    display: none!important;
}
}


/*******************************
/* GoogleMapレスポンシブ
*******************************/
.googlemap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.googlemap iframe,
.googlemap object,
.googlemap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



/*******************************
/* サイトマップ表
*******************************/
.tb11 th,
.tb11 td{
  padding: 30px;
  border-bottom: solid 1px #ddd;
  box-sizing:border-box;
}
.tb11 th {
  background: #f9f9f9;
  color: #333;
 font-weight: bold;
 width: 30%;
font-size:1.1em;
}
@media screen and (max-width: 640px) {
  .tb01 {
    width: 100%;
  }
  table.tb11 th,
  table.tb11 td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb11 tr:last-child{
    border-bottom: solid 0px #ccc;
  }
}

img.train_image{
margin-top: 15px;
}

/*******************************
/* フッターRSSアイコン落ち修正
*******************************/
#footer_social_link {
    width: 142px!important;
    height: 45px;
    display: block;
    float: right;
    padding-right: 1px;
    background-image: url(images/dot_01.png);
    background-repeat: repeat-y;
    background-position: right top;
}

/*******************************
/* アコーディオンメニュー
*******************************/
.ac-menu:last-child {
  margin-bottom: 60px; /* 最後の要素の下にだけ余白 */
}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #333; /* 文字色 */
  font-size: 14px; /* 文字サイズ */
  line-height: 2; /* 行間 */
  font-weight: bold; /* 文字を太く */
  text-align: left; /* 文字を中央に */
  background: linear-gradient(-90deg, #f4f4f4, #f4f4f4); /* グラデーションの背景色 */
  padding: 20px; /* 内側の余白 */
  cursor: pointer;
  position: relative;
  display: block;
}
.ac-menu label:after {
  position: absolute;
  right: 20px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
}
.ac-menu input:checked ~ label::after {
  content: "－"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.4s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 20px; /* 中身の枠内の余白 */
  background: #f9f9f9; /* 中身の背景色 */
}
.ac-menu-inside {
  color: #333; /* 中身の文字色 */
  font-size: 14px; /* 中身の文字サイズ */
  line-height: 3; /* 行間 */
}

/*******************************
/* STEP
*******************************/
/* form-nav */

.progressbar {
  display: flex;
  flex-wrap: wrap;
}
.progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 37px solid transparent;
    border-left: 20px solid #F5F5F5;
    margin: auto;
}
.progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #FFF;
}

@media screen and (max-width: 767px) {
.progressbar .item {
    font-size: 11px;
    line-height: 1.4;
    padding: 10px 0;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    border-width: 25px;
    border-left-width: 12px;
}
}

/* active */

.progressbar .item.active {
    z-index: 1;
    background: #8fc420;
    color: #FFF;
}
.progressbar .item.active:not(:last-child)::after {
    border-left-color: #8fc420;
}
.progressbar .item.active:not(:last-child)::before {
    border-left: none;
}

/* 装飾 */

body{
  margin: 40px;
}


/*******************************
/* PAGE TOP
*******************************/
a#clickTop {
    background: #8fc420 none repeat scroll 0 0;
    border-radius: 0;
    bottom: 0%;
    color: #ffffff;
    padding: 10px;
    right: 0%;
    min-height: 27px!important;
    min-width: 27px!important;
    font-size: 16px;
    opacity: 0.99;
}


/*******************************
/* HTMLウィジェット行間
*******************************/
div.textwidget.custom-html-widget{
line-height:1.8;
}


/*******************************
/* テーブル横スクロール
*******************************/
@media (max-width: 767px){
.scroll-table {
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 20px;
}
}

/*******************************
/* 税務署一覧（管轄）のテーブル
*******************************/
table.tax_offices_table {
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}


td.tax_offices1{
width:35%;
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_offices2{
width:5%;
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_offices3{
width:50%;
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_offices4{
width:10%;
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}


/*******************************
/*  都道府県税事務所一覧のテーブル
*******************************/

th.tax_firms1{
width:12%;
}

th.tax_firms2{
width:40%;
}

th.tax_firms3{
width:15%;
}

th.tax_firms4{
width:26%;
}

th.tax_firms5{
width:7%;
}

td.tax_firms1{
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_firms2{
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_firms3{
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_firms4{
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}

td.tax_firms5{
	border: 1px solid #ddd;
	border-collapse: collapse;
       padding: 15px;
}


/*******************************
/*  労働基準監督署一覧のテーブル
*******************************/
th.list_of_aborl_standards_inspection_offices1{
width:12%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

th.list_of_aborl_standards_inspection_offices2{
width:10%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


th.list_of_aborl_standards_inspection_offices3{
width:40%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


th.list_of_aborl_standards_inspection_offices4{
width:38%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

td.list_of_aborl_standards_inspection_offices1{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

td.list_of_aborl_standards_inspection_offices2{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


td.list_of_aborl_standards_inspection_offices3{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


td.list_of_aborl_standards_inspection_offices4{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


/*******************************
/*  ハローワク一覧のテーブル
*******************************/
td.list_of_hello_work1{
        width:30%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

td.list_of_hello_work2{
        width:50%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


td.list_of_hello_work3{
        width:20%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

/*******************************
/*  法務局一覧のテーブル
*******************************/
th.list_of_legal_affairs_offices1{
width:30%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

th.list_of_legal_affairs_offices2{
width:25%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

th.list_of_legal_affairs_offices3{
width:45%;
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

td.list_of_legal_affairs_offices1{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

td.list_of_legal_affairs_offices2{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}


td.list_of_legal_affairs_offices3{
	border: 1px solid #ddd;
	border-collapse: collapse;
        padding: 15px;
}

/*******************************
/*  メディア掲載実績4列
*******************************/
.col_4{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_4 > div{
	width: 24.819%;
	padding: 1px;
}
@media screen and (max-width: 960px) {
	.col_4 > div{
		width: 100%;
                margin-bottom:3px;
	}
}
@media screen and (max-width: 480px) {
	.col_4 > div{
		width: 100%;
                margin-bottom:3px;
	}
}


/*******************************
/*  画像サークル
*******************************/
.circle {
      border-radius: 50%;
      margin-bottom:15px;
}


/*******************************
/*  特典ページテーブル
*******************************/
.tokuten_table {
 width: 100%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 1px #ddd;
}
.tokuten_table th {
 padding: 10px;
 background: #f9f9f9;
 border: solid 1px #ddd;
 border-bottom: solid 1px #ddd;
}
.tokuten_table td {
 padding: 10px;
 border-left: solid 1px #ddd;
 text-align: center;
}
.tokuten_table tr {
 border-top: dashed 1px #ddd;
}
img.tokuten_word{
width: 34px!important;
height: 33px!important;
}

/*******************************
/*  特典ページアイコン
*******************************/
.col_5-2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
color: #FFF; /* 文字の色 */
text-align: center; /* 内容は中央配置 */
}
.col_5-2 > div{
    width: 31%;
    padding: 10px;
    background: #000;
    margin: 0 3.6px 5px 0;
    background-color: #f9f9f9; 
   font-size: 14px;
   color: #333;
   border: 1px solid #f1f1f1;
}
@media screen and (max-width: 1090px) {
	.col_5-2 > div{
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_5-2 > div{
		width: 100%;
	}
}

.col_6{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
color: #FFF; /* 文字の色 */
text-align: center; /* 内容は中央配置 */
}
.col_6 > div{
    width: 31%;
    padding: 10px;
    background: #000;
    margin: 0 3.6px 5px 0;
    background-color: #f9f9f9; 
   font-size: 14px;
   color: #333;
    border: 1px solid #f1f1f1;
}
@media screen and (max-width: 1090px) {
	.col_6 > div{
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_6 > div{
		width: 100%;
	}
}

/*******************************
/*  ダウンロードページボタン
*******************************/
a.btn_29 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: 1rem 4rem;
	position: relative;
	border-radius: 5px;
	border: 1px solid #27acd9;
	font-weight: bold;
	letter-spacing: 2px;
	background: transparent;
	color: #27acd9!important;
	overflow: hidden;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}
a.btn_29:hover {
	color: #fff!important;
	background: #27acd9;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
a.btn_29:hover::before {
	-webkit-animation: sh02 0.5s 0s linear;
	-moz-animation: sh02 0.5s 0s linear;
	animation: light 0.5s 0s linear;
}
a.btn_29::before {
	content: '';
	display: block;
	width: 0px;
	height: 86%;
	position: absolute;
	top: 7%;
	left: 0%;
	opacity: 0;
	background: #fff;
	box-shadow: 0 0 50px 30px #fff;
	-webkit-transform: skewX(-20deg);
	-moz-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	-o-transform: skewX(-20deg);
	transform: skewX(-20deg);
}
@keyframes light {
	from {opacity: 0; left: 0%;}
	50% {opacity: 1;}
	to {opacity: 0;left: 100%;}
}

/*******************************
/*  文字折り返し
*******************************/
.top_list li {
    height: 41px;
    line-height: 41px;
    background-image: url(images/dot_02.png);
    background-repeat: repeat-x;
    background-position: left bottom;
    font-size: 15px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}