@charset "UTF-8";
/* ご挨拶 */
#pagetit {
  background: url(../img/bg_pagetit.jpg) no-repeat center bottom;
  background-size: cover; }

#sec1 .bg {
  position: relative;
  height: 708px;
  background: url(../img/bg_sec1_01.jpg) no-repeat center bottom;
  text-align: center; }
  @media (min-width: 2001px) {
    #sec1 .bg {
      background-size: 100%; } }
  #sec1 .bg .bg_tit {
    position: absolute;
    left: 50%;
    top: 26%;
    margin-left: -.6em;
    display: inline-block;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
    font-size: 28px;
    text-shadow: 0 0 6px #000, 0 0 6px #000, 0 0 10px #000; }
#sec1 .txt {
  margin: 40px 0;
  line-height: 2;
  text-align: center; }
#sec1 .pic {
  max-width: 1040px;
  margin: 0 auto 60px; }

#sec2 {
  padding: 60px 0;
  background: url(../img/bg_sec2_01.png) center;
  background-size: cover; }
  #sec2 .tit_wrap {
    position: relative;
    margin-bottom: 60px;
    text-align: center; }
    #sec2 .tit_wrap .tit {
      position: relative;
      display: inline-block;
      padding: 0 50px;
      font-size: 27px;
      line-height: 1.4;
      background: url(../img/icn_tit.png) no-repeat left center, url(../img/icn_tit.png) no-repeat right center;
      background-size: 19px; }
  #sec2 .pic_col {
    width: 50%; }
  #sec2 .txt_col {
    width: 50%;
    padding-left: 40px; }
    #sec2 .txt_col .caption {
      font-size: 25px;
      line-height: 1.5;
      margin-bottom: 15px; }
    #sec2 .txt_col .txt {
      line-height: 1.8; }
  #sec2 .reverse .txt_col {
    padding-left: 0;
    padding-right: 40px; }

#page_footer {
  padding-top: 80px; }

@media screen and (max-width: 768px) {
  #pagetit {
    background: none; }

  #sec1 .bg {
    height: 320px;
    background-size: cover; }
    #sec1 .bg .bg_tit {
      top: 30px;
      font-size: 20px; }
  #sec1 .txt {
    margin: 20px 0;
    text-align: left;
    line-height: 1.8; }
  #sec1 .pic {
    margin: 0 auto 30px;
    padding: 0 10px; }
    #sec1 .pic > div {
      width: 49%;
      margin-bottom: 2%; }

  #sec2 {
    padding: 30px 0 0; }
    #sec2 .tit_wrap {
      margin-bottom: 30px; }
      #sec2 .tit_wrap .tit {
        padding: 0 30px;
        font-size: 22px;
        background-size: 16px; }
    #sec2 .flexbox {
      display: block; }
    #sec2 .pic_col {
      width: 100%; }
      #sec2 .pic_col .flL,
      #sec2 .pic_col .flR {
        float: none; }
    #sec2 .txt_col {
      width: 100%;
      padding: 15px 0 20px; }
      #sec2 .txt_col .caption {
        margin-bottom: 10px;
        font-size: 20px; }
      #sec2 .txt_col .txt {
        line-height: 1.6; }
    #sec2 .reverse .txt_col {
      padding-right: 0; } }
