

*{
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}

body{
 font-family: Hiragino Sans, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", Yu Gothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-size: 14px;
 color: #000000;
 line-height: 1.8;
 min-width: 1040px;
}

.F_MIN{
 font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
 font-weight: 500;
}

.F_HEL{
 font-family: Helvetica, Arial, Hiragino Sans, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", Yu Gothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.F_GTC{
 font-family: Hiragino Sans, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", Yu Gothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.F_YUG{
 font-family: "游ゴシック", Yu Gothic, Hiragino Sans, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.PC{
 display: block !important;
}

.SP{
 display: none !important;
}

.PC_I{
 display: inline !important;
}

.SP_I{
 display: none !important;
}

.PC_IB{
 display: inline-block !important;
}

.SP_IB{
 display: none !important;
}

.PC_B{
 display: block !important;
}

.SP_B{
 display: none !important;
}

.NONE{
 display: none !important;
}

a{
 color: #000000;
}

a:hover{
 opacity: 0.8;
}

a.non_opt:hover{
 opacity: 1;
}

.phone_link{
 pointer-events: none;
}

.D_TBL{
 display: table;
 width: 100%;
}

.D_TBL .D_TBL_CELL{
  display: table-cell;
}

.D_FLEX{
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -ms-flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
}

.D_I_FLEX{
 display: -webkit-inline-flex;
 display: inline-flex;
}

.FW_N{
 -ms-flex-wrap: nowrap;
 -webkit-flex-wrap: nowrap;
 flex-wrap: nowrap;
}

.FD_C{
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-direction: column;
 flex-direction: column;
}

.JC_C{
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
}

.JC_FE{
 -webkit-box-pack: end;
 -ms-flex-pack: end;
 justify-content: flex-end;
}

.JC_SB{
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
}

.JC_SA{
 -webkit-justify-content: space-around;
 -ms-flex-pack: distribute;
 justify-content: space-around;
}

.AI_C{
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
}

.contents_wrapper{
 width: 100%;
 max-width: 1040px;
 padding-right: 20px;
 padding-left: 20px;
 margin-right: auto;
 margin-left: auto;
}

.more_arrow{
 font-size: 13px;
}

.more_arrow::after{
 content: "";
 display: inline-block;
 width: 40px;
 height: 6px;
 margin-left: 6px;
 border-right: 1px solid #000000;
 border-bottom: 1px solid #000000;
 transform: skewX(45deg);
 -webkit-transform:skewX(45deg);
}

.link_arrow{
 position: relative;
}

.link_arrow::after{
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 content: '';
 display: inline-block;
 width: 15px;
 height: 18px;
 margin-left: 5px;
 background: url('/img/link_arrow.svg') no-repeat center center;
 background-size: 100%;
 vertical-align: baseline;
}

.full_width{
 overflow-x: hidden;
}

.main_img_wrapper{
 position: relative;
 height: 320px;
}

.main_title{
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
 font-size: 28px;
 font-weight: 400;
 color: #000000;
}

.main_title img{
  max-width: 520px;
}

.page_link_wrapper{
 border-top: 2px solid #CDCECE;
 text-align: center;
}

.page_link_wrapper a{
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
}

.page_link_wrapper strong{
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  vertical-align: top;
  border-top: 2px solid #000000;
  margin-top: -2px;
}

.page_link_wrapper .pre_page{
  color: #FFFFFF;
  font-size: 18px;
  background-color: #000000;
  margin-top: -2px;
  border-top: 2px solid #000000;
  margin-right: 20px;
  margin-left: 20px;
}

.page_link_wrapper .next_page{
  color: #FFFFFF;
  font-size: 18px;
  background-color: #000000;
  margin-top: -2px;
  border-top: 2px solid #000000;
  margin-right: 20px;
  margin-left: 20px;
}

.page_link_wrapper .last_page{
  display: none;
}

.page_link_wrapper .first_page{
  display: none;
}

.section_title{
 text-align: center;
 font-size: 28px;
 font-weight: 400;
 color: #000000;
}

.zoom_img_wrapper{
 overflow: hidden;
 position: relative;
}

