@charset "UTF-8";
/* ----------------------------
key color
---------------------------- */
/* ----------------------------
共通スタイル
------------------------------- */
* {
  list-style: none;
  margin: 0px;
  padding: 0px;
  font-family: 'YuGothic','Yu Gothic','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo', 'メイリオ', Verdana,'ＭＳ Ｐゴシック',sans-serif;
  font-weight: 500; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small,
strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label,
legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, figcaption, figure, footer, header, hgroup, menu, nav,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section {
  display: block; }

body {
  margin: 0px;
  padding: 0px; }

table {
  table-layout: fixed; }

#wrapper {
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 0;
  background-color: #e9f1f7; }
  #wrapper.office {
    background-color: #f4ece9; }

a.noborder,
a.noborder:link,
a.noborder:hover,
a.noborder:active,
a.noborder:visited,
img {
  border: 0;
  vertical-align: bottom; }

img {
  width: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-feature-settings: "palt"; }

/* contentWrap -------------- */
.contentWrap {
  margin: 0 auto 0 auto;
  width: 90%; }

/* clearfix -------------- */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

/* タイトル ------------- */
h2,
h2 span {
  font-family: 'Montserrat', sans-serif; }

p {
  line-height: 1.7;
  font-size: 15px;
  color: #333333; }

/* PC/SP ------------- */
.only_sp {
  display: block; }

.only_pc {
  display: none; }

/* フェード ------------- */
.fade {
  opacity: 0;
  transform: translateY(50px);
  transition: 1s ease; }

/* fade */
.fadein {
  opacity: 1;
  transform: translateY(0); }

.fade_slide {
  opacity: 0;
  transform: translateX(-50px);
  transition: 1s ease; }

/* fade */
.fadein_slide {
  opacity: 1;
  transform: translateX(0); }

/* ----------------------------
東洋経済 ヘッダー&フッター
------------------------------- */
#tk_head {
  position: relative;
  top: 0;
  z-index: 9999999999;
  padding: 10px 10px 10px 10px;
  box-sizing: border-box;
  width: 100%;
  height: 60px; }
  #tk_head::after {
    content: "";
    display: block;
    clear: both; }
  #tk_head > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: auto; }
  #tk_head .logo {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin: 0 auto 0 0;
    padding: 0;
    box-sizing: border-box;
    /* a */ }
    #tk_head .logo a {
      display: block; }
      #tk_head .logo a.tkologo img {
        display: block;
        width: auto;
        height: 34px; }
  #tk_head p {
    margin: 7px 5px 0;
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    color: #ffffff; }
    #tk_head p:first-of-type {
      position: absolute;
      top: 15px;
      right: 50px; }
    #tk_head p.ad {
      width: 25%;
      text-align: right;
      font-size: 12px; }
      #tk_head p.ad img {
        display: block;
        max-width: 30px;
        margin: 0 0 4px auto; }

/* tk_head */
footer {
  margin-top: 60px;
  padding: 0 0 20px 0;
  border: none;
  background-color: #ffffff;
  /* nav */
  /* p */ }
  footer nav {
    padding: 0;
    /* ul */ }
    footer nav ul {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 20px;
      width: 100%;
      border-top: solid 1px #c7c7c7; }
      footer nav ul li {
        width: 50%;
        height: 48px;
        box-sizing: border-box;
        border-right: none;
        border-bottom: solid 1px #c7c7c7; }
        footer nav ul li:nth-child(1) {
          order: 1; }
          footer nav ul li:nth-child(1) span {
            border-right: solid 1px #c7c7c7; }
        footer nav ul li:nth-child(2) {
          order: 2; }
        footer nav ul li:nth-child(3) {
          order: 3; }
          footer nav ul li:nth-child(3) span {
            border-right: solid 1px #c7c7c7; }
        footer nav ul li:nth-child(4) {
          order: 4;
          border-bottom: solid 1px #c7c7c7; }
        footer nav ul li:nth-child(5) {
          width: 100%;
          order: 5; }
          footer nav ul li:nth-child(5) span {
            border-style: none; }
        footer nav ul li a {
          font-size: 100%;
          padding: 0; }
          footer nav ul li a:link, footer nav ul li a:active {
            color: #333;
            text-decoration: none; }
          footer nav ul li a:visited {
            color: #333;
            text-decoration: none; }
          footer nav ul li a:hover {
            color: #333;
            text-decoration: underline; }
          footer nav ul li a:focus {
            outline: none; }
        footer nav ul li span {
          display: flex;
          justify-content: center;
          height: 36px;
          margin: 6px 0;
          align-items: center;
          font-family: Hiragino Sans,'ヒラギノ角ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Meiryo', 'メイリオ', Verdana,'ＭＳ Ｐゴシック',sans-serif; }
  footer p {
    text-align: center; }
    footer p img {
      width: 250px;
      height: 59px; }

/* footer */
.logo_tkbs {
  display: block;
  margin: 40px auto 50px auto;
  width: 240px; }

/* ----------------------------*/
#contents {
  /* header----------------- */
  /* headerArea */
  /* sectionArea 共通----------------- */
  /* sectionArea */
  /* sec1 固有----------------- */
  /* sec1 */
  /* sec3 固有----------------- */
  /* sec3 */
  /* contactArea----------------- */
  /* contactArea */
  /* linkArea----------------- */
  /* linkArea */
  /* sns----------------- */
  /*-----------------
office 差分ここから
----------------- */
  /* office */ }
  #contents .bg1,
  #contents .bg2,
  #contents .bg3,
  #contents .bg4 {
    position: absolute;
    z-index: -1;
    width: 100%;
    background-repeat: no-repeat;
    background-size: auto 100%; }
  #contents .bg1 {
    top: 0%;
    height: 299.466vw;
    background-image: url(../images/bg_1.png);
    background-position: 85% top; }
  #contents .bg2 {
    bottom: 10%;
    height: 351.7333vw;
    background-image: url(../images/bg_2.png);
    background-position: right 15% top; }
  #contents .bg3 {
    top: -12%;
    width: 100%;
    height: 311.2vw;
    background-image: url(../images/bg_3.png);
    background-position: right 15% top; }
  #contents .bg4 {
    top: -5%;
    height: 311.2vw;
    background-image: url(../images/bg_2.png);
    background-position: right 15% top; }
  #contents .headerArea {
    margin: 0 0 40px 0;
    padding: 20px 0 0 0; }
    #contents .headerArea h1 {
      margin: 0 0 30px 0; }
    #contents .headerArea p {
      font-weight: 600;
      font-size: 14px;
      color: #ffffff; }
      #contents .headerArea p.small {
        margin: 1em 0 0 0;
        text-align: right;
        font-size: 12px; }
      #contents .headerArea p a {
        font-weight: 700;
        color: #ffffff; }
        #contents .headerArea p a:hover {
          text-decoration: none; }
  #contents .sectionArea {
    position: relative;
    margin: 0 0 40px 0;
    /* imgBox_out */ }
    #contents .sectionArea h2 {
      margin: 0 0 0 -5%; }
    #contents .sectionArea .textBox {
      padding: 20px 15px 30px 15px;
      box-sizing: border-box;
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
      background-color: #ffffff; }
      #contents .sectionArea .textBox > p {
        margin: 0 0 1.5em 0; }
      #contents .sectionArea .textBox a {
        font-weight: 600;
        color: #333333; }
        #contents .sectionArea .textBox a:hover {
          text-decoration: none; }
      #contents .sectionArea .textBox .small {
        font-size: 12px; }
    #contents .sectionArea .imgBox_out {
      margin: 25px 0 25px 0; }
      #contents .sectionArea .imgBox_out span {
        display: block;
        margin: 0 0 20px 0;
        width: 100%;
        height: 85.47vw;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top; }
      #contents .sectionArea .imgBox_out p {
        text-align: center;
        font-weight: 600;
        font-size: 14px; }
        #contents .sectionArea .imgBox_out p strong {
          display: block;
          margin: 0.5em 0 0 0;
          font-weight: 700;
          font-size: 18px; }
    #contents .sectionArea .imgBox_in {
      margin: 25px 0 25px 0; }
      #contents .sectionArea .imgBox_in img {
        border: 1px solid #b7b7b7; }
      #contents .sectionArea .imgBox_in.twoBlock img:first-of-type {
        margin-bottom: 20px; }
  #contents .sec1 {
    /* imgBox_out */ }
    #contents .sec1 .imgBox_out span {
      background-image: url(../images/photo_1.jpg?1105); }
  #contents .sec3 {
    /* imgBox_out */ }
    #contents .sec3 .imgBox_out:first-of-type span {
      background-image: url(../images/photo_2.jpg); }
    #contents .sec3 .imgBox_out:nth-of-type(2) span {
      background-image: url(../images/photo_3.jpg?1111); }
  #contents .banner {
    display: block;
    width: 90%;
    max-width: 1000px;
    margin: 50px auto 60px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3); }
  #contents .contactArea {
    margin: 0 auto 0px auto;
    width: 90%;
    /* txt */ }
    #contents .contactArea h3 {
      margin: 0 auto 1em auto;
      text-align: center;
      font-size: 24px;
      font-weight: 700;
      color: #0078d4; }
    #contents .contactArea p {
      margin: 0 auto 0.2em auto;
      text-align: center;
      font-weight: 600;
      font-size: 18px;
      color: #444444; }
      #contents .contactArea p.small {
        line-height: 1.5;
        font-size: 12px;
        font-weight: 500; }
    #contents .contactArea .txt > p {
      margin-bottom: 0.5em; }
    #contents .contactArea .txt strong {
      font-weight: 600;
      font-size: 18px; }
    #contents .contactArea .txt .tell {
      margin-bottom: 0.2em;
      display: flex;
      justify-content: center; }
      #contents .contactArea .txt .tell span {
        font-weight: 600;
        font-size: 22px; }
      #contents .contactArea .txt .tell svg {
        display: block;
        align-self: center;
        margin-right: 8px;
        width: 20px;
        height: 20px; }
      #contents .contactArea .txt .tell .st0 {
        fill: #0078d4; }
      #contents .contactArea .txt .tell a {
        font-weight: 600;
        font-size: 32px;
        color: #0078d4; }
  #contents .linkArea {
    margin: 0 auto 60px auto;
    width: 90%; }
    #contents .linkArea li {
      position: relative;
      margin: 0 10px 60px auto;
      width: 90%; }
      #contents .linkArea li :after {
        content: "";
        display: block;
        position: absolute;
        top: -15px;
        left: -15px;
        z-index: -1;
        width: 100%;
        height: 100%;
        border: 4px solid #d83b01; }
      #contents .linkArea li a {
        display: block; }
      #contents .linkArea li img {
        display: block;
        background-color: #ffffff;
        box-shadow: 2px 8px 8px 0px rgba(0, 0, 0, 0.2); }
      #contents .linkArea li:nth-of-type(2) :after {
        border: 4px solid #0000ff; }
  #contents ul.sns {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    width: 70%;
    text-align: center; }
    #contents ul.sns li {
      width: 30%; }
    #contents ul.sns img {
      width: 40px;
      height: 40px; }
  #contents.office {
    /* contactArea----------------- */
    /* contactArea */
    /* linkArea----------------- */
    /* linkArea */
    /* sec1 固有----------------- */
    /* sec1 */
    /* sec3 固有----------------- */
    /* sec3 */ }
    #contents.office .bg1 {
      background-image: url(../images/bg_1.png); }
    #contents.office .bg2 {
      background-image: url(../images/bg_2.png); }
    #contents.office .bg3 {
      background-image: url(../images/bg_3.png); }
    #contents.office .bg4 {
      background-image: url(../images/bg_2.png); }
    #contents.office .contactArea {
      /* txt */ }
      #contents.office .contactArea h3 {
        color: #d83b01; }
      #contents.office .contactArea .txt .st0 {
        fill: #d83b01; }
      #contents.office .contactArea .txt a {
        color: #d83b01; }
    #contents.office .linkArea li {
      position: relative;
      margin: 0 10px 60px auto;
      width: 90%; }
      #contents.office .linkArea li :after {
        content: "";
        display: block;
        position: absolute;
        top: -15px;
        left: -15px;
        z-index: -1;
        width: 100%;
        height: 100%;
        border: 4px solid #0078d4; }
      #contents.office .linkArea li:nth-of-type(2) :after {
        border: 4px solid #0000ff; }
      #contents.office .linkArea li:nth-of-type(3) :after {
        border: 4px solid #c43e1c; }
      #contents.office .linkArea li:nth-of-type(4) :after {
        border: 4px solid #217346; }
      #contents.office .linkArea li:nth-of-type(5) :after {
        border: 4px solid #185abd; }
    #contents.office .sec1 {
      /* imgBox_out */ }
      #contents.office .sec1 .imgBox_out span {
        background-image: url(../images/photo_1.jpg); }
      #contents.office .sec1 .imgBox_in {
        max-width: none; }
    #contents.office .sec3 {
      /* imgBox_out */ }
      #contents.office .sec3 .imgBox_out:first-of-type span {
        background-image: url(../images/photo_2.jpg); }
      #contents.office .sec3 .imgBox_out:nth-of-type(2) span {
        background-image: url(../images/photo_3.jpg?1111); }

/* contents */
/* --------------------------------------
TABLET
-------------------------------------- */

/*# sourceMappingURL=style.css.map */