/*====ページ全体 ==========================================================*/
body {
  margin: 0 auto;
  padding: 0;
  font-family: "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 20px;
  line-height: 1.8;
}

.ttl {
  position: absolute;
  /* bottom: 12px; */
  left: 50%;
  transform: translate(-50%, 0%);
  width: 50px;
  text-align: center;
  height: 100%;
}
.ttl img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.sidebar {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  background-image: linear-gradient(#326DF9, #7865FD);  width: 50px;
  height: 100vh;
}

img {
  border: none;
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
  max-width: 100%;
}

table {
  max-width: 1000px;
  border-collapse: collapse;
  border-spacing: 0;
}

.social_buttons {
  margin: 8px auto 0;
  max-width: 1000px;
}

.nbo_header {
  text-align: center;
}

.nbo_header img {
  vertical-align: top;
}

#ContentsArea {
  background: url(bg.jpg) center top no-repeat;
  background-image: linear-gradient(#E8EBF2, #d6dee0);
  background-attachment: fixed;
  margin: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

#header {
  background-color: #fff;
  width: 100%;
}

a {
  text-decoration: none;
  color: #4AC3E2;
  border: none;
}

a:hover {
  color: #37AFFF;
  text-decoration: underline;
}

h1 {
  margin: 0;
  padding: 0;
  line-height: 0;
}

h2 {
  margin: 35px 0 0 0;
  color: #fff;
  font-size: 25px!important;
  font-weight: bold;
  letter-spacing: 0.2em;
}

h2#ttl1,
h2#ttl2,
h2#ttl3,
h2#ttl4,
h2#ttl5,
h2#ttl6,
h2#ttl7 {
  font-weight: bold;
  padding: 25px 0px 15px;
  text-align: center;
  line-height: 1.2;
  color: #000;
  max-width: 1200px;
  margin: 15px auto;
  font-size: 150%;
  background: url(ttl_bg.png) center bottom no-repeat;
}

h2#ttl1 span,
h2#ttl2 span,
h2#ttl3 span,
h2#ttl4 span,
h2#ttl5 span,
h2#ttl6 span,
h2#ttl7 span {
  font-size: 30px;
  color: #326DF9;
}

h2#ttl1W,
h2#ttl2W,
h2#ttl3W {
  background: url(ttl_bg02.jpg) left top;
  padding: 5px 10px 5px 30px;
}

h2.ttl_con {
  color: #fff;
  font-weight: bold;
  font-size: 17px!important;
  padding: 2px 0 2px 10px;
  margin-top: 20px;
  font-family: YuGothic,
    /* Mac用 */
    'Yu Gothic',
    /* Windows用 */
    serif;
  background: #3071B9;
  margin-bottom: 15px;
  border-radius: 10px

}

h2.ttl_conW {
  background-color: #01A982;
  padding: 5px 0 5px 10px;
}

h3 {
  padding: 4px 15px 2px;
  margin: 0 0 10px;
  background-color: #787878;
  color: #fff;
  font-size: 14px;
  border-radius: 50px;
  font-family: YuGothic,
    /* Mac用 */
    'Yu Gothic',
    /* Windows用 */
    serif;
}

h4 {
  margin: 5px 5px;
  padding: 0;
  line-height: 0;
}

p {
  margin: 0;
  padding: 0 0 20px;
}

.caption {
  display: block;
  padding: 10px;
  margin-bottom: 10px;
  font-size: 80%;
  line-height: 1.3;
  color: white;
  background-color: #EEEFEF;
  color: #000;
}

.link a {
  display: block;
  border-bottom: 1px dotted #ccc;
  padding: 5px 0;
}


.bdt {
  border-top: 1px solid #000;
}

.header_sp {
  display: none;
}

.related_contents {
  display: flex;
  max-width: 920px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

.g_menu {
  background-color: #000;
  margin: 0 auto;
  max-width: 1920px;
  padding-bottom: 10px;
}

.g_menu table {
  margin: 0 auto;
  padding-bottom: 20px;
  max-width: 1920px;
  padding: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.g_menu table tr {
  margin: 0;
  padding: 0;
}

.g_menu table tr td {
  margin: 0;
  padding: 0;
  max-height: 100% !important;
  max-width: 100% !important;
  line-height: 0;
}

.g_menu p {
  text-align: center;
  max-width: 1452px;
  max-height: 180px;
  margin: 0 auto;
  padding: 20px 0 20px;
}

.g_menu2 {
  margin: 30px auto;
  max-width: 704px;
  text-align: center;
}

.g_menu2 div.butbox,
.g_menu2 div.but2box {
  margin-right: 1px;
  margin-bottom: 1px;
  float: left;
}

.g_menu2 div.butlbox {
  float: left;
}

.photostyle {
  float: right;
  margin: 0 0px 10px 20px;
  max-width: 50%;
}
.photostyle2 {
  float: left;
  margin: 0 20px 10px 0px;
  max-width: 50%;
}
.photostyle span {
    padding-top: 10px;
    display: block;
    font-size: 75%;
    line-height: 1.4;
    text-align: right;
}

.photostyle2 span {
    padding-top: 10px;
    display: block;
    font-size: 75%;
    line-height: 1.4;
}

@media screen and (max-width: 640px) {
    .photostyle,.photostyle2 {
        float: none;
        margin: 0 auto;
        max-width: 100%;
        text-align: center;

    }
    .photostyle span,.photostyle2 span {
        text-align: center;
	}
}
.photostyle span strong,.photostyle2 span strong{
    color: #0054A7;
}


@media screen and (min-width: 1361px) {
  .sidebar {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    background-color: #000;
    width: 50px;
    height: 100vh;
  }
}
  .photolo {
    margin: 30px 0;
  }

  .photo1 {
    float: left;
    margin-right: 20px;
    margin-left: -140px;
  }

  .photo2 {
    float: right;
    margin-left: 20px;
    margin-right: -140px;
  }

  .photo3 {
    max-width: 800px;
    margin: 0 auto;
  }

  .photo4 {
    max-width: 820px;
    margin: 0 auto;
  }

  .topleadBG {
    padding: 0.5rem;
    max-width: calc(1000px - 1rem);
    background-image: linear-gradient(#326DF9, #7865FD);
    margin: 0 auto 10px;
    font-size: clamp(16px, 1.8vw, 20px);
    border-radius: 10px
  }

  .topleadBG .toplead {
    padding: 1rem;
    display: block;
    background-color: #fff;
    font-size: 85%;
    border-radius: 10px
  }

  .cl {
    clear: both;
  }

  .fl {
    float: left;
  }

  .fr {
    float: right;
  }

  .smlTxt {
    font-size: 80%;/ font-weight: bold;
  }

  .smlTxt span {
    display: block;
    font-weight: normal;
  }

  .figure {
    margin: 0 auto 20px;
    max-width: 680px;
    border-right: 1px solid #0054A7;
    border-left: 1px solid #0054A7;
  }

  .figure p {
    margin: 0 !important;
    padding-bottom: 0 !important;
  }

  .figure .figttl {
    padding: 5px 10px 5px !important;
    font-size: 90%;
    background-color: #0054A7;
    color: #fff;
  }

  .figure .figcap {
    padding: 5px 10px 5px !important;
    font-size: 80%;
    background-color: #0054A7;
    color: #fff;
    line-height: 1.5 !important;
  }

  /*====ヘッダイメージ ==========================================================*/
  #MainImgArea {
    max-width: 1920px;
    padding: 0;
    margin: 0 auto 0;
  }
  #MainImgArea {
  animation: fade-in 5s;
  animation-fill-mode: forwards;
  }
  @keyframes fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  #MainImgArea span {
    margin: 0;
    padding: 0;
  }

  /*====コンテンツサイズ ==========================================================*/
  #MainArea {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #444;
  }

  *html #MainArea {
    width: 100%;
  }

  #LeftArea {
    padding: 0;
    float: none;
    background-color: #fff;
  }

  .whitearea {
    max-width: 1000px;
    margin: 0 auto;
  }

  .whitearea2 {
    max-width: 1000px;
    margin: 65px auto 20px;
  }

  .nxt_header {
    max-width: 1000px;
    margin: 0 auto;
  }

  /*====LeftArea ==========================================================*/
  a.alpha:hover {
    opacity: .75;
    /* Standard: FF gt 1.5, Opera, Safari */
    filter: alpha(opacity=75);
    /* IE lt 8 */
    -ms-filter: "alpha(opacity=75)";
    /* IE 8 */
    -khtml-opacity: .75;
    /* Safari 1.x */
    -moz-opacity: .75;
    /* FF lt 1.5, Netscape */
  }

  /* Page ------------------------------*/
  #pag1 {
    background-color: #fff;
  }

  /* 各記事の設定 ------------------------------*/
  .Account {
    margin: 0 auto;
    padding: 0 5px 0 5px;/ max-width: 960px;/ font-size: 18px;
    background: #fff;
    line-height: 1.8;
  }

  .acc {
    margin: 10px 20px 0;
  }

  .AccountImg {
    margin: 0 10px 5px 0;
    padding: 0;
    float: left;
  }


  .acc .sp2 {
    margin: 15px 0;
    padding: 15px 0;
    font-weight: bold;
    border-top: #CCC dashed 1px;
  }

  /* ContactAreaの設定 ------------------------------*/
  #ContactArea {
    margin: 0;
    padding: 10px;
  }

  #Contact {
    margin: 5px;
    padding: 10px 0 0 0;
  }

  #ContactTxt {
    margin: 0 0 0 10px;
    padding: 0;
    float: left;
    line-height: 1.5em;
  }

  .contact {
    word-break: break-all;
  }

  #ContactTxt p {
    margin: 0px;
  }

  #ContactImg {
    margin: 0 0 0 0;
    float: right;
  }

  /* PageTopの設定 ------------------------------*/
  .PageTop {
    margin: 0 110px 0;
    padding: 0;
  }

  /*====Add ==========================================================*/
  .mt20 {
    margin-top: 20px;
  }

  .mt10 {
    margin-top: 10px;
  }

  /* margin-top */
  .mt1 {
    margin-top: 1px;
  }

  .mt2 {
    margin-top: 2px;
  }

  .mt3 {
    margin-top: 3px;
  }

  .mt4 {
    margin-top: 4px;
  }

  .mt5 {
    margin-top: 5px;
  }

  .mt10 {
    margin-top: 10px;
  }

  .mt15 {
    margin-top: 15px;
  }

  .mt20 {
    margin-top: 20px;
  }

  .mt30 {
    margin-top: 30px;
  }

  .mt40 {
    margin-top: 40px;
  }

  .mt50 {
    margin-top: 50px;
  }

  .mt60 {
    margin-top: 60px;
  }

  /* margin-right */
  .mr1 {
    margin-right: 1px;
  }

  .mr2 {
    margin-right: 2px;
  }

  .mr3 {
    margin-right: 3px;
  }

  .mr4 {
    margin-right: 4px;
  }

  .mr5 {
    margin-right: 5px;
  }

  .mr10 {
    margin-right: 10px;
  }

  .mr15 {
    margin-right: 15px;
  }

  .mr20 {
    margin-right: 20px;
  }

  .mr30 {
    margin-right: 30px;
  }

  /* margin-bottom */
  .mb0 {
    margin-bottom: 0px;
  }

  .mb1 {
    margin-bottom: 1px;
  }

  .mb2 {
    margin-bottom: 2px;
  }

  .mb3 {
    margin-bottom: 3px;
  }

  .mb4 {
    margin-bottom: 4px;
  }

  .mb5 {
    margin-bottom: 5px;
  }

  .mb10 {
    margin-bottom: 10px;
  }

  .mb15 {
    margin-bottom: 15px;
  }

  .mb20 {
    margin-bottom: 20px;
  }

  .mb30 {
    margin-bottom: 30px;
  }

  .mb50 {
    margin-bottom: 50px;
  }

  /* margin-left */
  .ml1 {
    margin-left: 1px;
  }

  .ml2 {
    margin-left: 2px;
  }

  .ml3 {
    margin-left: 3px;
  }

  .ml4 {
    margin-left: 4px;
  }

  .ml5 {
    margin-left: 5px;
  }

  .ml10 {
    margin-left: 10px;
  }

  .ml15 {
    margin-left: 15px;
  }

  .ml20 {
    margin-left: 20px;
  }

  /* padding-top */
  .pt1 {
    padding-top: 1px;
  }

  .pt2 {
    padding-top: 2px;
  }

  .pt3 {
    padding-top: 3px;
  }

  .pt4 {
    padding-top: 4px;
  }

  .pt5 {
    padding-top: 5px;
  }

  .pt10 {
    padding-top: 10px;
  }

  .pt15 {
    padding-top: 15px;
  }

  .pt20 {
    padding-top: 20px;
  }

  /* padding-right */
  .pr1 {
    padding-right: 1px;
  }

  .pr2 {
    padding-right: 2px;
  }

  .pr3 {
    padding-right: 3px;
  }

  .pr4 {
    padding-right: 4px;
  }

  .pr5 {
    padding-right: 5px;
  }

  .pr10 {
    padding-right: 10px;
  }

  .pr15 {
    padding-right: 15px;
  }

  .pr20 {
    padding-right: 20px;
  }

  /* padding-bottom */
  .pb0 {
    padding-bottom: 0px;
  }

  .pb1 {
    padding-bottom: 1px;
  }

  .pb2 {
    padding-bottom: 2px;
  }

  .pb3 {
    padding-bottom: 3px;
  }

  .pb4 {
    padding-bottom: 4px;
  }

  .pb5 {
    padding-bottom: 5px;
  }

  .pb10 {
    padding-bottom: 10px;
  }

  .pb15 {
    padding-bottom: 15px;
  }

  .pb20 {
    padding-bottom: 20px;
  }
  .pb30 {
    padding-bottom: 30px;
  }

  /* padding-left */
  .pl1 {
    padding-left: 1px;
  }

  .pl2 {
    padding-left: 2px;
  }

  .pl3 {
    padding-left: 3px;
  }

  .pl4 {
    padding-left: 4px;
  }

  .pl5 {
    padding-left: 5px;
  }

  .pl10 {
    padding-left: 10px;
  }

  .pl15 {
    padding-left: 15px;
  }

  .pl20 {
    padding-left: 20px;
  }

  .pl30 {
    padding-left: 30px;
  }

  .pl40 {
    padding-left: 40px;
  }

  /* padding */
  .pg1 {
    padding: 1px;
  }

  .pg2 {
    padding: 2px;
  }

  .pg3 {
    padding: 3px;
  }

  .pg4 {
    padding: 4px;
  }

  .pg5 {
    padding: 5px;
  }

  .pg10 {
    padding: 10px;
  }

  .pg15 {
    padding: 15px;
  }

  .pg20 {
    padding: 20px;
  }

  .pg30 {
    padding: 30px;
  }

  .pg40 {
    padding: 40px;
  }

  .line {
    border-bottom: 1px dotted #696969;
  }

  .kome {
    font-size: 80%;
    padding: 5px 10px 0 0;
  }

  #bookmarkBox {
    float: left;
    width: 300px;
  }

  br {
    line-height: 0.8;
  }

  .nam {
    font-weight: bold;
  }

  .mod {
    color: #000;
  }

  .name {
    font-weight: bold;
    color: #0054A7;
  }

  #backnumber {
    display: block;
    margin-top: 10px !important;
  }

  .globalFooter {
    background-color: #fff;
    padding: 15px 0 !important;
  }

  .named {
    font-weight: bold;
    color: #0054A7;
  }

  .named2 {
    font-weight: bold;
    color: #ff9d00;
  }

  .figttl {
    padding: 2px 5px 0;
    font-weight: bold;
    display: block;
    background-color: #dcdcdc;
  }

  .figcap {
    color: #fff;
    padding: 5px 10px;
    line-height: 1.4;
    font-size: 14.5px;
    display: block;
    background-color: #0054A7;
    margin-bottom: 15px;
  }

  .linkcap {
    padding: 5px 2px;
    max-width: 456px;
    font-size: 12px;
    letter-spacing: -0.01em;
    line-height: 1.4;
  }

  .accS {
    padding: 0 5px 0;
    margin: 0 auto;
    font-size: 18px;
  }

  .accST {
    padding: 35px 0px 0;
    margin: 0 auto 0;
    / background-color: #fff;
    font-size: 18px;
  }

  .sp_nxt_header {
    display: none;
  }

  .pc {display: inline;}
  .sp {display: none;}

  .sp_bio {
    display: none;
  }

  .spbr {
    display: none;
  }

  .column {
    background-color: #ECECEC;
    margin: 15px 0;
  }

  .column .cttl {
    padding: 5px;
    color: #70C1D3;
    background: url(columnbg.jpg) left center;
    font-size: 20px;
    font-weight: bold;
  }

  .column .txta {
    padding: 5px 10px;
  }

  .column .foot {
    padding: 5px 10px;
  }

  .column .foot a {
    color: #444 !important;
  }

  .column span {
    padding: 2px 5px;
    margin-right: 15px;
    display: inline;
    background-color: #F2881A;
    color: #fff;
    margin-bottom: 15px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
  }

  @media screen and (max-width:1452px) {
    .g_menu {
      margin-left: 0 !important;
    }
  }

  @media screen and (max-width:1220px) {
    .photo1 {
      float: left;
      margin-right: 20px;
      margin-left: -50px;
      max-width: 400px;
    }
	.pc_s {display: none;}

    .photo2 {
      float: right;
      margin-left: 20px;
      margin-right: -50px;
      max-width: 400px;
    }
  }

  @media screen and (max-width:1000px) {
    #ContentsArea {
      overflow: hidden;
    }

    .pc {display: none;}
    .sp {display: inline;}

    .Account {
      font-size: 16px;
      line-height: 1.8;
      margin: 0 !important;
      padding: 0 !important;
    }

    .whitearea2 {
      margin-top: 0;
    }

    #MainImgArea {
      max-width: 900px;
      margin: 0 auto 0px;
      padding: 0;
    }

    .accS {
      padding: 0 20px 0;
      margin: 0 auto;
    }

    .accST {
      padding: 30px 20px 0;
      margin: 0 auto;
    }

    h2#ttl1,
    h2#ttl2,
    h2#ttl3,
    h2#ttl4,
    h2#ttl5,
    h2#ttl6,
    h2#ttl7 {
      min-height: 25px;
      padding-top: 15px;
      font-size: 115%;
      padding-bottom: 5px;
    }

    .photo1 {
      float: left;
      margin-right: 20px;
      margin-left: 0px;
      max-width: 350px;
    }

    .photo2 {
      float: right;
      margin-left: 20px;
      margin-right: 0px;
      max-width: 350px;
    }
  }

  @media screen and (min-width:641px) and (max-width:1000px) {
    .banner {
      width: 49%;
      min-height: auto;
      margin-bottom: 10px;
      }
    }

    h2 {
      font-size: 26px;
    }
  }

  @media screen and (max-width:721px) {
    .pc {display: none;}
    .sp {display: inline;}
  }

  @media screen and (max-width:640px) {
	body {line-height: 1.6;}
    h2 {
      letter-spacing: 0em;
      font-size: 90%!important;
    }
    h2 span{
      font-size: 120%!important;
    }

    #MainArea {}

    .g_menu p {
      text-align: center;
      padding: 0;
    }

    #LeftArea {
      padding-top: 15px;
      padding-left: 0;
      padding-right: 0;
      width: 100%;
      margin: 0 auto;
      border-left: none;
      border-right: none;
    }

    h2#ttl1,
    h2#ttl2,
    h2#ttl3,
    h2#ttl4,
    h2#ttl5,
    h2#ttl6,
    h2#ttl7 {
      padding: 20px 0 10px;
      min-height: 40px;
      margin-bottom: 0px;
      font-size: 100%;
    }

    .acc {
      margin-left: 0;
      margin-right: 0;
    }

    .accS {
      padding: 0 10px 0;
      margin: 0 auto;
      font-size: 15px;
    }

    .accST {
      padding: 10px 10px 0;
      margin: 0 auto;
      font-size: 15px;
    }

    .photo1 {
      float: none;
      margin: 0px auto;
      max-width: 400px;
    }

    .photo2 {
      float: none;
      margin: 0px auto;
      max-width: 400px;
    }

    h2.ttl_con {
      font-size: 4vw;
      padding: 7 15px;
    }

    .header_pc {
      display: none;
    }

    .figttl {
      padding-left: 10px;
      padding-right: 10px;
    }

    .header_sp {
      display: block;
      padding: 8px 0;
      text-align: center;
    }

    .photoH {
      max-width: 250px;
    }

    .PageTop {
      margin: 0 10px 0;
    }

    .banner {
      min-height: auto;
      margin-bottom: 15px;
    }

    .related_contents {
      flex-direction: column;
      align-items: center;
    }
  }

  @media screen and (min-width:401px) and (max-width:640px) {
    h2 {
      font-size: 4vw;
      letter-spacing: 0em;
    }

    #ContactArea,
    .linkcap {
      font-size: 3vw;
    }

    .br-pc {
      display: none;
    }
  }

  @media screen and (max-width:450px) {
    body {
      background-color: #fff;
    }

    .whitearea2 {
      margin-top: 0;
      font-size: 3.5vw;
    }

    h2 {
      letter-spacing: 0em;
    }

    .nxt_header {
      display: none;
    }

    .sp_nxt_header {
      display: inline;
      width: 100%;
      text-align: center;
    }

    .bdt {
      display: none;
    }

    .sp_bio {
      display: inline;
      width: 100%;
      padding-bottom: 10px;
      font-size: 14PX;
    }

    .photoH {
      max-width: 150px;
    }

    .bio_l {
      width: 100%;
      padding: 5px 0px 10px 5px;
    }

    .bio_r {
      width: 100%;
      padding: 5px 5px 5px 0px;
    }

    /br.sp {
      display: none;
    }

    h2#ttl1,
    h2#t,
    tl2,
    h2#ttl3,
    h2#ttl4,
    h2.ttl_con {
      border-radius: 0px;
    }

    h2#ttl1,
    h2#ttl2,
    h2#ttl3,
    h2#ttl4,
    h2#ttl5,
    h2#ttl6,
    h2#ttl7 {
      border-radius: 0px;
    }

    .acc .sp {
      margin: 0 0 -1px 0;
      padding: 0 0 0 0;
    }

    .br-pc {
      display: none;
    }

    .cb {
      clear: both;
    }

    .biotxt {
      font-size: 14px;
    }
  }

  @media screen and (max-width:400px) {
    h2 {
      font-size: 4.5vw;
      letter-spacing: 0em;
    }

    #ContactArea,
    .linkcap {
      font-size: 4vw;
    }

    .header_sp img {
      max-width: 170px;
    }

    .Account {
      font-size: 15px;
      line-height: 1.6;
    }

    .figttl {
      padding-left: 7px;
      padding-right: 0px;
    }
  }

  @media screen and (max-width:330px) {
    .figttl {
      padding-left: 0px;
      padding-right: 0px;
    }

    .Account {
      font-size: 13px;
      margin: 0 auto;
      line-height: 1.6;
    }

    .accS {
      padding: 0;
      margin: 10 auto;
    }

    .accST {
      padding: 5px;
      margin: 10px auto;
    }
  }

  @media(min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none;
    }
  }