/*====================================================
	common settings
====================================================*/

address {
  font-style: normal;
}

/*====================================================
	common classes
====================================================*/

.hidetxt {
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1;
  font-size: 1rem;
  display: block;
}

.d_block {
  display: block;
}

br.tab,
br.mob {
  display: none !important;
}

.d_nonePC {
  display: none;
}

ul.read_more {
  display: none;
}

@media print, screen and (max-width: 900px) {
  ul.read_more {
    display: block;
  }

  .mobHidetxt {
    display: none;
  }
}

@media print, screen and (max-width: 768px) {
  br.mob {
    display: block !important;
  }

  br.pc,
  br.tab {
    display: none;
  }

  img.pc {
    display: none !important;
  }

  img.mob {
    display: block !important;
  }

  .mobHidetxt {
    display: none;
  }

  ul.read_more {
    display: block !important;
  }

  .smp_d_block {
    display: block;
  }
}

/*==========================
	anchor
============================*/

a.blue {
  color: #3399cc;
}

a:hover.blue {
  color: #3399cc;
}

a.line {
  text-decoration: underline;
}

/*==========================
	image
============================*/

img {
  height: auto;
  max-width: 100%;
  color: #fff;
  width: auto;
  border: 0;
  vertical-align: middle;
}

img.mob,
img.tab {
  display: none !important;
}

@media print, screen and (max-width: 768px) {
  img.pc {
    display: none !important;
  }

  img.mob {
    display: block !important;
  }
}

/*==========================
	flexbox
============================*/

.flexbox {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.flexbox .txtbox {
  width: 55%;
  text-align: left;
}

.flexbox figure {
  width: 40%;
}

@media print, screen and (max-width: 900px) {
  .flexbox {
    display: block;
  }

  .flexbox .txtbox {
    width: 100%;
    margin-bottom: 30px;
  }

  .flexbox figure {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
  }
}

/*==========================
	margin マージン
============================*/

/* center */

.m_LR_auto {
  margin-left: auto;
  margin-right: auto;
  /* display: block; */
}

/* bottom */

.mb_0 {
  margin-bottom: 0;
}

.mb_5 {
  margin-bottom: 5px;
}

.mb_10 {
  margin-bottom: 10px;
}

.mb_15 {
  margin-bottom: 15px;
}

.mb_20 {
  margin-bottom: 20px;
}

.mb_30 {
  margin-bottom: 30px;
}

.mb_40 {
  margin-bottom: 40px;
}

.mb_45 {
  margin-bottom: 45px;
}

.mb_60 {
  margin-bottom: 60px;
}

.mb_90 {
  margin-bottom: 90px;
}

/* margin mobile */
@media print, screen and (max-width: 900px) {
  .smp_mb_0 {
    margin-bottom: 0;
  }

  .smp_mb_5 {
    margin-bottom: 5px;
  }

  .smp_mb_10 {
    margin-bottom: 10px;
  }

  .smp_mb_15 {
    margin-bottom: 15px;
  }

  .smp_mb_20 {
    margin-bottom: 20px;
  }

  .smp_mb_30 {
    margin-bottom: 30px;
  }

  .smp_mb_40 {
    margin-bottom: 40px;
  }

  .smp_mb_45 {
    margin-bottom: 45px;
  }

  .smp_mb_60 {
    margin-bottom: 60px;
  }

  .smp_mb_90 {
    margin-bottom: 90px;
  }
}

/*==========================
	padding 
============================*/

/* top */

.pt_15 {
  padding-top: 15px;
}

.pt_30 {
  padding-top: 30px;
}

.pt_45 {
  padding-top: 45px;
}

.pt_60 {
  padding-top: 60px;
}

.pt_90 {
  padding-top: 90px;
}

.pt_120 {
  padding-top: 120px;
}

/* bottom */

.pb_10 {
  padding-bottom: 10px;
}

.pb_15 {
  padding-bottom: 15px;
}

.pb_20 {
  padding-bottom: 20px;
}

.pb_30 {
  padding-bottom: 30px;
}

.pb_60 {
  padding-bottom: 60px;
}

.pb_90 {
  padding-bottom: 90px;
}

.pb_120 {
  padding-bottom: 120px;
}

@media print, screen and (max-width: 900px) {
  /* top */

  .smp_pt_15 {
    padding-top: 15px;
  }

  .smp_pt_30 {
    padding-top: 30px;
  }

  .smp_pt_60 {
    padding-top: 60px;
  }

  .smp_pt_90 {
    padding-top: 90px;
  }

  .smp_pt_120 {
    padding-top: 120px;
  }

  /* bottom */

  .smp_pb_0 {
    padding-bottom: 0;
  }

  .smp_pb_10 {
    padding-bottom: 10px;
  }

  .smp_pb_30 {
    padding-bottom: 30px;
  }

  .smp_pb_60 {
    padding-bottom: 60px;
  }

  .smp_pb_90 {
    padding-bottom: 90px;
  }

  .smp_pb_120 {
    padding-bottom: 120px;
  }
}

/*=================================
	font 
===================================*/

/* style */
.wf_sawarabimincho {
  font-family: "Sawarabi Mincho";
}

/* size */

.f_10 {
  font-size: 1rem;
}

.f_11 {
  font-size: 1.1rem;
}

.f_12 {
  font-size: 1.2rem;
}

.f_13 {
  font-size: 1.3rem;
}

.f_14 {
  font-size: 1.4rem;
}

.f_15 {
  font-size: 1.5rem;
}

.f_16 {
  font-size: 1.6rem;
}

.f_18 {
  font-size: 1.8rem;
}

.f_20 {
  font-size: 2rem;
}

.f_22 {
  font-size: 2.2rem;
}

.f_24 {
  font-size: 2.4rem;
}

.f_26 {
  font-size: 2.6rem;
}

.f_28 {
  font-size: 2.8rem;
}

.f_30 {
  font-size: 3rem;
}

.f_36 {
  font-size: 3.6rem;
}

.f_40 {
  font-size: 4rem;
}

.f_50 {
  font-size: 5rem;
}

.f_60 {
  font-size: 6rem;
}

@media print, screen and (max-width: 768px) {
  /* size */

  .smp_f_10 {
    font-size: 1rem;
  }

  .smp_f_11 {
    font-size: 1.1rem;
  }

  .smp_f_12 {
    font-size: 1.2rem;
  }

  .smp_f_13 {
    font-size: 1.3rem;
  }

  .smp_f_14 {
    font-size: 1.4rem;
  }

  .smp_f_15 {
    font-size: 1.5rem;
  }

  .smp_f_16 {
    font-size: 1.6rem;
  }

  .smp_f_18 {
    font-size: 1.8rem;
  }

  .smp_f_20 {
    font-size: 2rem;
  }

  .smp_f_22 {
    font-size: 2.2rem;
  }

  .smp_f_24 {
    font-size: 2.4rem;
  }

  .smp_f_26 {
    font-size: 2.6rem;
  }

  .smp_f_28 {
    font-size: 2.8rem;
  }

  .smp_f_30 {
    font-size: 3rem;
  }

  .smp_f_40 {
    font-size: 4rem;
  }

  .smp_f_46 {
    font-size: 4.6rem;
  }

  .smp_f_60 {
    font-size: 6rem;
  }
}

/*=================================
	font layout 
===================================*/
/* layout */

.fw_normal {
  font-weight: normal;
}

.fw_bold {
  font-weight: bold;
}

.t_left {
  text-align: left;
}

.t_right {
  text-align: right;
}

.t_center {
  text-align: center;
}

.red {
  color: #9e0905;
}

.red2 {
  color: #f00;
}

.black {
  color: #000;
}

.gray {
  color: #999;
}

.endtxt {
  color: #f00;
  margin-bottom: 0 !important;
  font-size: 1.4rem !important;
  font-weight: normal;
}

s {
  color: #999;
}

/*=================================
	line-heigt
===================================*/

.l_height_11 {
  line-height: 1.1;
}

.l_height_13 {
  line-height: 1.3;
}

/*=================================
	parts
===================================*/

/* icon */

article .icon {
  color: #fff;
  background: #000;
  display: inline-block;
}

.icon_m {
  padding: 3px 15px;
}

/* btn */
.btn_1 {
  color: #fff;
  background: #000;
  vertical-align: middle;
  display: inline-block;
}

.btn_2 {
  color: #000;
  background: #fff;
  vertical-align: middle;
  border: #000 thin solid;
  display: inline-block;
}

.btn_s {
  padding: 0 10px;
}

.btn_m {
  padding: 0 15px;
}

.btn_L {
  padding: 15px 10px;
}

/*==========================
	box width
============================*/

.box_w_98 {
  width: 98%;
}

.box_w_95 {
  width: 95%;
}

.box_w_90 {
  width: 90%;
}

.box_w_85 {
  width: 85%;
}

.box_w_80 {
  width: 80%;
}

.box_w_70 {
  width: 70%;
}

.box_w_60 {
  width: 60%;
}

.box_w_50 {
  width: 50%;
}

@media print, screen and (max-width: 900px) {
  .smp_box_w_100 {
    width: 100%;
  }

  .smp_box_w_98 {
    width: 98%;
  }

  .smp_box_w_95 {
    width: 95%;
  }

  .smp_box_w_90 {
    width: 90%;
  }

  .smp_box_w_80 {
    width: 80%;
  }

  .smp_box_w_70 {
    width: 70%;
  }

  .smp_box_w_60 {
    width: 60%;
  }

  .smp_box_w_50 {
    width: 50%;
  }
}

/*==========================
	apply
============================*/

.apply_box {
  padding: 30px 30px;
  border: #aaa thin solid;
}

.apply_btn a {
  color: #fff;
  background: #9d4753;
}

.apply_btn a:hover {
  color: #fff;
}
