@charset "UTF-8";
@import url("iconmonstr-iconic-font.css");
@import url("https://use.typekit.net/bmb7giu.css");
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}

img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
}

/*svg { max-width: 100%; max-height: 100%; line-height: 100%;}*/
a {
  text-decoration: none;
  color: #D1316D; 
}

a:hover {
  text-decoration: none;
  color: #ff0060; 
}
p {
  margin-bottom:1.5rem !important;
}
#loading {
  width: 100%;
  height: 100%;
  background: #FFF;
  position: fixed;
  z-index: 99999;
}
#all {
  /*visibility: hidden;
  opacity: 0;*/
  padding-top: 70px;
  /*display: none;*/
  position: relative;
}
#wrapper {

}
#conall {
  /*display: none;*/
}
#con_in {
  padding: 7.5vw 0;
}
#footer {
  padding: 5vw 0;
  background: #322F2F;
  color: #FFF;
}
#copy {
  text-align: center;
}
#totop {
  width: 39px;
  height: 39px;
  position: fixed;
  bottom: 10px;
  right: 10px;
  border-radius: 20px;
  background: #FFF;
  border: solid 1px #dedede;
  font-size: 0;
}
#totop img {
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transition: 0.3s transform;
  -webkit-transition: 0.3s transform;
}
a:hover #totop img {
  transform: translate(-50%, -70%);
  -webkit-transform: translate(-50%, -70%);
}

.section {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 20px;
}
.section_in {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 20px;
}
.indentleft {
  padding-left: 1rem;
  text-indent: -1rem;
}

.animation {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}

.hide {
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}

.anime {
  opacity: 0;
}

.anime-bf {
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
}

.anime-af {
  transition: .8s;
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}

.ptt {
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  font-size: 28px;
  font-size: 2.8rem;
  text-align: center;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 80px;
}

.ptt span {
  width: 90px;
  height: 4px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0%);
}

.pttline {
  width: 9px;
  height: 4px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0%) scale(10, 1);
}

.pttline img {
  width: 100% !important;
}

.bg_wht {
  background: #FFF;
}

.bg_blk {
  background: #000;
}

.bg_gry {
  background: #555;
}

.bg_wht {
  background: #FFF;
}
.red {
  color: #FF0000;
}
.lnh_s {
  line-height: 1.5 !important;
}
.kkako {
  display:inline-block;
  margin-left: -0.8rem;
}
.fancybox-skin {
  padding: 0 !important;
}
.fancybox-close {
  background-image: url(../source/close.png);
  background-size:inherit;
  width: 50px;
  height: 50px;
  top: -25px;
  right: -25px;
}
.swiper-container {
  padding-bottom:30px;
}
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0px !important;
}

a.morebtn {
  font-family: century-gothic, sans-serif;
  position: relative;
  border: solid 1px;
  padding: 10px 60px;
  display: inline-block;
  text-align: center;
  line-height: 1;
  color: #FFF;
  border-radius: 4px;
}

a.morebtn:after {
  position: absolute;
  right: 8px;
  width: 20px;
  height: 20px;
  content: url(../img/arrow_wht.png);
  transition: 0.3s all ease 0s;
}

a.morebtn:hover:after {
  right: 3px;
}

a.morebtn_release {
  font-family: century-gothic, sans-serif;
  position: relative;
  border: solid 1px;
  padding: 15px 60px;
  display: block;
  text-align: center;
  line-height: 1;
  color: #FFF;
  background: #000;
  border-radius: 4px;
}

a.morebtn_release:after {
  position: absolute;
  right: 8px;
  width: 20px;
  height: 20px;
  content: url(../img/arrow_clr.png);
  transition: 0.3s all ease 0s;
}

a.morebtn_release:hover:after {
  right: 3px;
}
a.backbtn {
  font-family: century-gothic, sans-serif;
  position: relative;
  border: solid 1px;
  padding: 10px 60px;
  display: inline-block;
  text-align: center;
  line-height: 1;
  color: #000;
  border-radius: 4px;
}

a.backbtn:after {
  position: absolute;
  left: 8px;
  width: 20px;
  height: 20px;
  content: url(../img/arrow_back_blk.png);
  transition: 0.3s all ease 0s;
}

a.backbtn:hover:after {
  left: 3px;
}

.articletitle {
  font-family: YakuHanJP, "Yu Mincho", YuMincho, "Hiragino Minchō Pro", "Noto Serif CJK JP", serif;
  margin-bottom:4rem;
  padding-bottom:2rem;
  text-align: center;
  background: url(../img/articletitle_bg_b.png) no-repeat bottom;
  background-size:100% 1px;
}
.articletitlel span {
    display: inline-block;
    text-align: left;
}
.articletitle a {
  color: #000;
}
.article {
  line-height: 200%;
  word-wrap: break-word;
  margin-bottom:3rem;
}
.posrela {
  position: relative;
}
.dotline_bottom {
  border-bottom: dotted 1px #dedede;
}
@media screen and (max-width: 960px) {
  #all {
    /*visibility: hidden;
    opacity: 0;*/
    padding-top: 50px;
    /*display: none;*/
  }

  .ptt {
    line-height: 30px;
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 9vw;
  }

  .ptt span {
    width: 90px;
    height: 5px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0%);
  }
}

@media screen and (max-width: 640px) {
  .fancybox-close {
    background-image: url(../source/close.png);
    background-size: 30px 30px;
    width: 30px;
    height: 30px;
    top: -35px;
    right: 0px;
  }
  #totop {
    width: 29px;
    height: 29px;
    border-radius: 15px;
  }

}


.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mgtb_XXL {
  margin: 120px 0px;
}

.mgtb_XL {
  margin: 60px 0px;
}

.mgtb_L {
  margin: 30px 0px;
}

.mgtb_M {
  margin: 15px 0px;
}

.mgtb_S {
  margin: 10px 0px;
}

.mgtb_XS {
  margin: 5px 0px;
}

.mgt_XXL {
  margin-top: 120px;
}

.mgt_XL {
  margin-top: 60px;
}

.mgt_L {
  margin-top: 30px;
}

.mgt_M {
  margin-top: 15px;
}

.mgt_S {
  margin-top: 10px;
}

.mgt_XS {
  margin-top: 5px;
}

.mgb_XXL {
  margin-bottom: 120px;
}

.mgb_XL {
  margin-bottom: 60px;
}

.mgb_L {
  margin-bottom: 30px;
}

.mgb_M {
  margin-bottom: 15px;
}

.mgb_S {
  margin-bottom: 10px;
}

.mgb_XS {
  margin-bottom: 5px;
}

.pd_XXL {
  padding: 120px 120px;
}

.pd_XL {
  margin: 60px 60px;
}

.pd_L {
  padding: 30px 30px;
}

.pd_M {
  padding: 15px 15px;
}

.pd_S {
  padding: 10px 10px;
}

.pd_XS {
  padding: 5px 5px;
}

.pdtb_XXL {
  padding: 120px 0px;
}

.pdtb_XL {
  margin: 60px 0px;
}

.pdtb_L {
  padding: 30px 0px;
}

.pdtb_M {
  padding: 15px 0px;
}

.pdtb_S {
  padding: 10px 0px;
}

.pdtb_XS {
  padding: 5px 0px;
}

.pdt_XXL {
  padding-top: 120px;
}

.pdt_XL {
  padding-top: 60px;
}

.pdt_L {
  padding-top: 30px;
}

.pdt_M {
  padding-top: 15px;
}

.pdt_S {
  padding-top: 10px;
}

.pdt_XS {
  padding-top: 5px;
}

.pdb_XXL {
  padding-bottom: 120px;
}

.pdb_XL {
  padding-bottom: 60px;
}

.pdb_L {
  padding-bottom: 30px;
}

.pdb_M {
  padding-bottom: 15px;
}

.pdb_S {
  padding-bottom: 10px;
}

.pdb_XS {
  padding-bottom: 5px;
}

.smaller {
  font-size: smaller;
}

.larger {
  font-size: larger;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.wid10 {
  width: 10% !important;
}

.wid15 {
  width: 15% !important;
}

.wid20 {
  width: 20% !important;
}

.wid25 {
  width: 25% !important;
}

.wid30 {
  width: 30% !important;
}

.wid35 {
  width: 35% !important;
}

.wid40 {
  width: 40% !important;
}

.wid45 {
  width: 45% !important;
}

.wid50 {
  width: 50% !important;
}

.wid55 {
  width: 55% !important;
}

.wid60 {
  width: 60% !important;
}

.wid65 {
  width: 65% !important;
}

.wid70 {
  width: 70% !important;
}

.wid75 {
  width: 75% !important;
}

.wid80 {
  width: 80% !important;
}

.wid85 {
  width: 85% !important;
}

.wid90 {
  width: 90% !important;
}

.wid95 {
  width: 95% !important;
}

.wid100 {
  width: 100% !important;
}

@media screen and (max-width: 640px) {
  p + p {
    margin: 18px 0px 0px  0px;
  }

  /*h1 { font-size: 3.0rem;}
  h2 { font-size: 2.4rem;}
  h3 { font-size: 1.8rem;}
  h4 { font-size: 1.4rem;}
  h5 { font-size: 1.2rem;}
  h6 { font-size: 1.0rem;}*/
  /*h1 { font-size:6.5vw;margin: 18px 0px 18px 0px;}
  h2 { font-size:6.0vw;margin: 18px 0px 18px 0px;}
  h3 { font-size:5.0vw;margin: 18px 0px 18px 0px;}
  h4 { font-size:4.0vw;margin: 18px 0px 18px 0px;}
  h5 { font-size:3.0vw;margin: 18px 0px 18px 0px;}
  h6 { font-size:2.0vw;margin: 18px 0px 18px 0px;}*/
  .mgtb_XXL {
    margin: 48px 0px;
  }

  .mgtb_XL {
    margin: 32px 0px;
  }

  .mgtb_L {
    margin: 16px 0px;
  }

  .mgtb_M {
    margin: 8px 0px;
  }

  .mgtb_S {
    margin: 4px 0px;
  }

  .mgtb_XS {
    margin: 2px 0px;
  }

  .mgt_XXL {
    margin-top: 60px;
  }

  .mgt_XL {
    margin-top: 40px;
  }

  .mgt_L {
    margin-top: 20px;
  }

  .mgt_M {
    margin-top: 10px;
  }

  .mgt_S {
    margin-top: 5px;
  }

  .mgt_XS {
    margin-top: 2px;
  }

  .mgb_XXL {
    margin-bottom: 60px;
  }

  .mgb_XL {
    margin-bottom: 40px;
  }

  .mgb_L {
    margin-bottom: 20px;
  }

  .mgb_M {
    margin-bottom: 10px;
  }

  .mgb_S {
    margin-bottom: 5px;
  }

  .mgb_XS {
    margin-bottom: 2px;
  }

  .pdb_sp_0 {
    padding-bottom: 0;
  }

  .pdtb_XXL {
    padding: 48px 0px;
  }

  .pdtb_XL {
    margin: 32px 0px;
  }

  .pdtb_L {
    padding: 16px 0px;
  }

  .pdtb_M {
    padding: 8px 0px;
  }

  .pdtb_S {
    padding: 4px 0px;
  }

  .pdtb_XS {
    padding: 2px 0px;
  }

  .pdt_XXL {
    padding-top: 60px;
  }

  .pdt_XL {
    padding-top: 40px;
  }

  .pdt_L {
    padding-top: 20px;
  }

  .pdt_M {
    padding-top: 10px;
  }

  .pdt_S {
    padding-top: 5px;
  }

  .pdt_XS {
    padding-top: 2px;
  }

  .pdb_XXL {
    padding-bottom: 60px;
  }

  .pdb_XL {
    padding-bottom: 40px;
  }

  .pdb_L {
    padding-bottom: 20px;
  }

  .pdb_M {
    padding-bottom: 10px;
  }

  .pdb_S {
    padding-bottom: 5px;
  }

  .pdb_XS {
    padding-bottom: 2px;
  }

  .tal_sp {
    text-align: left;
  }

  .tac_sp {
    text-align: center;
  }

  .tar_sp {
    text-align: right;
  }

  .wid10 {
    width: 50%;
  }

  .wid15 {
    width: 50%;
  }

  .wid20 {
    width: 50%;
  }

  .wid25 {
    width: 50%;
  }

  .wid30 {
    width: 50%;
  }

  .wid35 {
    width: 50%;
  }

  .wid40 {
    width: 50%;
  }

  .wid45 {
    width: 50%;
  }

  .wid50 {
    width: 100%;
  }

  .wid55 {
    width: 100%;
  }

  .wid60 {
    width: 100%;
  }

  .wid65 {
    width: 100%;
  }

  .wid70 {
    width: 100%;
  }

  .wid75 {
    width: 100%;
  }

  .wid80 {
    width: 100%;
  }

  .wid85 {
    width: 100%;
  }

  .wid90 {
    width: 100%;
  }

  .wid95 {
    width: 100%;
  }

  .wid100 {
    width: 100%;
  }

  .sp-wid10 {
    width: 10% !important;
  }

  .sp-wid20 {
    width: 20% !important;
  }

  .sp-wid30 {
    width: 30% !important;
  }

  .sp-wid40 {
    width: 40% !important;
  }

  .sp-wid50 {
    width: 50% !important;
  }

  .sp-wid60 {
    width: 60% !important;
  }

  .sp-wid70 {
    width: 70% !important;
  }

  .sp-wid80 {
    width: 80% !important;
  }

  .sp-wid90 {
    width: 90% !important;
  }

  .sp-wid100 {
    width: 100% !important;
  }
}
/* 改行設定
-------------------- */
/*
.pc-only_br  = PCのみ改行
.tab-only_br = タブレットのみ改行
.sp-only_br  = SPのみ改行

.pc-tab_br = PCとタブレットで改行
.tab-sp_br = タブレットとSPで改行
*/
.sp-only_br {
  display: none;
}

.tab-only_br {
  display: none;
}

.tab-sp_br {
  display: none;
}

@media screen and (max-width: 768px) {

  .pc-only_br {
    display: none;
  }

  .tab-only_br {
    display: inline;
  }

  .tab-sp_br {
    display: inline;
  }
}
@media screen and (max-width: 640px) {
  .tab-only_br {
    display: none;
  }

  .sp-only_br {
    display: inline;
  }

  .pc-tab_br {
    display: none;
  }
}

/*--clearfix--*/
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}


/*--pager--*/
.pager {
  overflow: hidden;
  margin:50px 0px 20px 0px;
}
 
.pager ul {
/*  background: #EEE;*/
  list-style: none;
  position: relative;
  /*left: 50%;
  float: left;
  transform: translate(-50%, 0%);*/
  padding:0;
  width: 100%;
  text-align: center;
  font-size: 0;
}
 
.pager ul li {
  margin: 0 3px;
  list-style: none;
  position: relative;
  /*left: -50%;*/
  /*float: left;*/;
  display: inline-block;
  font-size: 1.3rem;

}
 
.pager ul li span,
.pager ul li a {
  display: block;
  padding: 8px;
  border-radius: 3px;
  line-height: 1;
  text-shadow:none;
  background: #000000;
  color: #ffffff;
  text-decoration: none;
}
.pager ul li.current span {
  background: #F4E1EB;
  color: #000;
}

.pager ul li a:hover {
  background: #555;
  color: #F4E1EB;
}



