/*基本設定ここから*/
.tc {
  max-width: 980px;
  margin: 0px auto;
  text-align: center;
}
/*画像共通*/
.tc img {
  margin: 0 auto;
  display: block;
}
/*要素の余白*/
.fit_t {
  padding-top: 0 !important;
}
.fit_b {
  padding-bottom: 0 !important;
}
.fit_r {
  padding-right: 0 !important;
}
.fit_l {
  padding-left: 0 !important;
}
.fit_all {
  padding: 0 !important;
}
/*テキスト赤文字*/
.tc strong {
  color: red;
  font-weight: normal;
}
/*ボックス*/
.tc_box {
  width: 100%;
  max-width: 980px;
  margin: 20px auto;
  padding: 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .tc_box {
    margin: 2% auto;
    padding: 2%;
  }
}
/*インナー*/
.tc_inner {
  width: 100%;
  padding: 0 20px 20px;
  box-sizing: border-box;
}
.tc_inner:first-child {
  padding: 20px;
}
:not(.tc_inner) + .tc_inner {
  padding: 20px;
}
@media screen and (max-width: 1024px) {
  .tc_inner {
    padding: 0 2% 2%;
  }
  .tc_inner:first-child {
    padding: 2%;
  }
  :not(.tc_inner) + .tc_inner {
    padding: 2%;
  }
}
/*インナーの子要素*/
.tc_inner > div {
  width: 100%;
  padding: 0 20px 20px;
  box-sizing: border-box;
}
.tc_inner > div:first-child {
  padding: 20px;
}
.tc_inner > :not(div) + div {
  padding: 20px;
}
@media screen and (max-width: 1024px) {
  .tc_inner > div {
    padding: 0 2% 2%;
  }
  .tc_inner > div:first-child {
    padding: 2%;
  }
  .tc_inner > :not(div) + div {
    padding: 2%;
  }
}
/*テキスト*/
.tc_txt {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.8em;
  letter-spacing: 0.1em;
  padding: 0 20px 20px;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
}
.tc_txt:first-child {
  padding: 20px;
}
:not(.tc_txt) + .tc_txt {
  padding: 20px;
}
@media screen and (max-width: 1024px) {
  .tc_txt {
    padding: 0 2% 2%;
  }
  .tc_txt:first-child {
    padding: 2%;
  }
  :not(.tc_txt) + .tc_txt {
    padding: 2%;
  }
}
@media screen and (max-width: 640px) {
  .tc_txt {
    font-size: 1.4rem;
  }
}
/*導線上下の余白*/
.tc_btn {
  margin: 20px auto;
}
@media screen and (max-width: 1024px) {
  .tc_btn {
    margin: 2% auto;
  }
}
/*段落上下の余白*/
.par_t {
  margin-top: 40px;
}
.par_b {
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .par_t_d1024-320, .par_t {
    margin-top: 4%;
  }
  .par_b_d1024-320, .par_b {
    margin-bottom: 4%;
  }
}
/*シャドウ*/
.tc .sdw {
  box-shadow: 3px 3px 2px 0px #9d9d9d;
  -moz-box-shadow: 3px 3px 2px 0px #9d9d9d;
  -webkit-box-shadow: 3px 3px 2px 0px #9d9d9d;
  -ms-box-shadow: 3px 3px 2px 0px #9d9d9d;
}
/*吹き出し用シャドウ*/
.tc .sdw.tc_balloon:after {
  box-shadow: 2px 3px 2px 0px #9d9d9d;
  -moz-box-shadow: 2px 3px 2px 0px #9d9d9d;
  -webkit-box-shadow: 2px 3px 2px 0px #9d9d9d;
  -ms-box-shadow: 2px 3px 2px 0px #9d9d9d;
}
/*テキスト右側 sp画像w50%表示*/
.txt_r_1per2 p img {
  float: left;
  width: auto !important;
  margin: 0 20px 20px 0;
}
/*テキスト右側 sp画像w33%表示*/
.txt_r_1per3 p img {
  float: left;
  width: auto !important;
  margin: 0 20px 20px 0;
}
/*テキスト左側 sp画像w50%表示*/
.txt_l_1per2 p img {
  float: right;
  width: auto !important;
  margin: 0 0 20px 20px;
}
/*テキスト左側 sp画像w33%表示*/
.txt_l_1per3 p img {
  float: right;
  width: auto !important;
  margin: 0 0 20px 20px;
}
@media screen and (max-width: 1024px) {
  .txt_r_1per2 p img, .txt_l_1per2 p img {
    max-width: 50% !important;
  }
  .txt_r_1per2 p img, .txt_r_1per3 p img {
    margin: 0 2% 2% 0;
  }
  .txt_l_1per2 p img, .txt_l_1per3 p img {
    margin: 0 0 2% 2%;
  }
}
@media screen and (max-width: 640px) {
  .txt_r_1per3 p img, .txt_l_1per3 p img {
    max-width: 30% !important;
  }
}
.htag_l h2 img, .htag_l h3 img, .htag_l h4 img, .htag_r h2 img, .htag_r h3 img, .htag_r h4 img {
  display: inline;
}
/*hタグ左側*/
.htag_l h2, .htag_l h3, .htag_l h4 {
  text-align: left;
}
.htag_l p img {
  float: right;
  width: auto !important;
  margin: 0 0 20px 20px;
}
/*hタグ右側*/
.htag_r h2, .htag_r h3, .htag_r h4 {
  text-align: right;
}
.htag_r p img {
  float: left;
  width: auto !important;
  margin: 0 20px 20px 0;
}
@media screen and (max-width: 1024px) {
  .htag_l p img {
    margin: 0 0 2% 2%;
  }
  .htag_r p img {
    margin: 0 2% 2% 0;
  }
}
.htag_l .tc_txt, .htag_r .tc_txt {
  overflow: visible;
}
/*導線テンプレート用、等分テンプレート用共通*/
.tc .cnt_box_inner {
  max-width: 980px;
  padding: 0 10px;
  box-sizing: border-box;
}
.tc .is_1per1 div {
  padding: 0 10px;
}
@media screen and (max-width: 1024px) {
  .tc .cnt_box_inner, .tc .is_1per1 div {
    padding: 0 1%;
  }
}
/*2,3,4カラム*/
.tc .is_1per2 li, .tc .is_1per3 li, .tc .is_1per4 li {
  padding: 0 10px;
}
.tc .is_1per3 li {
  width: 33.33333%;
  width: -webkit-calc(100% / 3);
}
@media screen and (max-width: 1024px) {
  .tc .is_1per2 li, .tc .is_1per3 li, .tc .is_1per4 li {
    padding: 0 1%;
  }
}
@media screen and (max-width: 640px) {
  .tc .is_1per4 li {
    margin-bottom: 2%;
  }
  .tc .is_1per4 li:last-child, .tc .is_1per4 li:nth-last-child(2) {
    margin-bottom: 0;
  }
}
/*2,3カラム リキッド*/
@media screen and (max-width: 640px) {
  .tc .is_1per2.tc_riquid li, .tc .is_1per3.tc_riquid li {
    width: 100%;
    float: none;
  }
}
/*基本設定ここまで*/
/*line*/
.tc_line .is_1per2 li {
  box-sizing: border-box;
  width: 50%;
  float: left;
  padding: 10px;
}
@media screen and (max-width: 640px) {
  .tc_line .is_1per2 li {
    padding: 2%;
  }
}
@media screen and (min-width: 1025px) {
  .tc_line .tc_box_01 .tc_txt {
    padding: 20px 60px;
  }
}
.tc_line .tc_box_02 {
  margin: 2% auto;
  padding: 2px;
  background: #66a3fe;
}
.tc_line .tc_box_02 .tc_inner {
  background: url(../images/line/line_02_bg.jpg) repeat scroll 0px 0px transparent;
}
.tc_line .tc_box_02 .tc_txt {
  font-size: 190%;
  font-weight: bold;
  text-align: center;
}
.tc_line .tc_box_02 .tc_cbox {
  padding: 3% 2% 1%;
}
.tc_line .tc_box_02 .tc_cbox li {
  width: 90%;
  margin: 1% auto;
  padding: 0.5% 0 2% 6%;
  font-size: 1.6rem;
  color: #333;
  background-repeat: no-repeat;
  background-image: url("../images/line/line_02_check.png");
  background-position: left -0.6em;
  background-position-y: initial;
  background-size: 39px auto;
  text-align: left;
  list-style-type: none;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  .tc_line .tc_box_02 .tc_cbox li {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1024px) {
  .tc_line .tc_box_02 {
    max-width: 96%;
  }
  .tc_line .tc_box_02 .tc_txt {
    text-align: left;
  }
  .tc_line .tc_box_02 .tc_cbox {
    padding: 2%;
  }
}
@media screen and (max-width: 640px) {
  .tc_line .tc_box_02 .tc_txt {
    font-size: 110%;
  }
  .tc_line .tc_box_02 .tc_cbox li {
    width: 100%;
    padding: 0 0 0 7%;
    font-size: 1.4rem;
    background-size: 5% auto;
  }
}
.tc_line .tc_box_04 h2 img {
  max-width: 74% !important;
  display: inline;
}
.tc_line .tc_box_04 .tc_txt img {
  max-width: 22% !important;
  margin-top: -19%;
}
@media screen and (max-width: 640px) {
  .tc_line .tc_box_04 h2 img {
    max-width: 100% !important;
    display: inline;
  }
  .tc_line .tc_box_04 .tc_txt img {
    max-width: 30% !important;
    margin-top: 0%;
  }
}
.tc_line .tc_box_06 {
  margin-top: 10%;
  border: 2px solid #4481dd;
}
.tc_line .tc_box_06 h2 img {
  margin: -9% 0 0 0;
}
.tc_line .tc_box_06 .tc_inner:last-child {
  border: 2px solid #f33;
  background: url(../images/line/line_06_bg.jpg) repeat scroll 0px 0px transparent;
}
.tc_line .tc_box_06 .tc_inner:last-child .tc_txt {
  color: #fe0000;
}
.tc_line .tc_box_06 h3 {
  margin: -1.5% 0 0 2%;
  color: #fe0000;
  font-size: 2rem;
  line-height: 1.4em;
  font-weight: 800;
  text-align: left;
  text-shadow: 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
}
@media screen and (min-width: 1025px) {
  .tc_line .tc_box_06 .is_1per2 li:first-child {
    padding: 0 10px 0 0;
  }
  .tc_line .tc_box_06 .is_1per2 li:last-child {
    padding: 0 0 0 10px;
  }
}
@media screen and (max-width: 1024px) {
  .tc_line .tc_box_06 {
    max-width: 96%;
  }
  .tc_line .tc_box_06 h3 {
    margin: -2% 0 0 2%;
  }
}
@media screen and (max-width: 480px) {
  .tc_line .tc_box_06 .tc_inner {
    padding: 0 0 2%;
  }
  .tc_line .tc_box_06 .is_1per2 li {
    width: 100%;
    padding: 0 0 2%;
  }
  .tc_line .tc_box_06 h3 {
    margin: -5% 0 0 2%;
  }
}
.tc_line .tc_box_09 .tc_txt {
  max-width: 94%;
  color: #2f2f2f;
  background: #fff799;
}
.tc_line .tc_box_09 span {
  display: block;
  margin-bottom: 2%;
  font-size: 150%;
}
@media screen and (max-width: 640px) {
  .tc_line .tc_box_09 span {
    font-size: 100%;
  }
}
.tc_line .tc_box_10 .tc_txt {
  color: #2f2f2f;
  font-weight: bold;
}
.tc_line .tc_box_10 .is_1per2 li:first-child {
  width: 35%;
}
.tc_line .tc_box_10 .is_1per2 li:last-child {
  width: 65%;
}
@media screen and (min-width: 1025px) {
  .tc_line .tc_box_10 .is_1per2 li:first-child {
    width: 35%;
  }
  .tc_line .tc_box_10 .is_1per2 li:last-child {
    width: 65%;
  }
}
.tc_line .tc_box_11 {
  margin-top: 6%;
}
.tc_line .tc_box_11 .tc_txt {
  text-align: center;
}
/*line*/
.tc_box_01 .tc_inner h2 {
  aspect-ratio: 1.66384;
}
@media screen and (max-width: 767px) {
  .tc_box_01 .tc_inner h2 {
    aspect-ratio: 1.13677;
  }
}
.tc_box_01 .tc_inner h2 img {
  aspect-ratio: 1.66384;
}
@media screen and (max-width: 767px) {
  .tc_box_01 .tc_inner h2 img {
    aspect-ratio: 1.13677;
  }
}
.tc_line .tc_inner .section__caution {
  max-width: 1024px;
  margin: 20px auto;
  padding: 20px;
  color: #232323;
  background: #fff1eb;
  border-left: solid 10px #f34a00;
}
@media screen and (max-width: 1024px) {
  .tc_line .tc_inner .section__caution {
    padding: 2%;
    width: 95%;
    margin: 4% auto;
  }
}
@media screen and (max-width: 767px) {
  .tc_line .tc_inner .section__caution {
    padding: 4%;
    width: 90%;
  }
}
.tc_line .tc_inner .section__caution__text {
  font-size: 1.6rem;
  line-height: 1.8em;
  color: #232323;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .tc_line .tc_inner .section__caution__text {
    font-size: 1.4rem;
    line-height: 1.6em;
  }
}
.tc_line .tc_inner .section__caution__text span {
  font-weight: 800;
  display: initial;
  font-size: initial;
}
@media screen and (max-width: 767px) {
  .tc_line .line-bnr {
    padding: 2% 4%;
  }
}
