@charset "utf-8";

/*-------------------------------------
  トップページ
--------------------------------------*/
/* TOP KEY */
.key_top {
  margin-top: -1.4em;
  padding: 20em 0;
  background: url('../Image/top/key_top.jpg') center/cover;
}
.key_top > div > .box_bl {
  max-width: 106rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2.8em;
  background-color: rgba(0, 170, 255, .8);
}
.key_top > div > .box_bl .text {
  margin-top: 1em;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  color: #fff;
  letter-spacing: .05rem;
}

/* TOP SHOP */
.top_shop {
  background: url('../Image/common/bg_bd.png');
}
.box_link {
  position: relative;
}
.pdt_4link .box_link {
  padding-top: 5.5em;
}
.box_link .fx_4link {
  z-index: 1;
  position: absolute;
  top: -3em;
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  background-color: #ec8000;
  margin-bottom: -3em;
  padding: 2em 1em;
  border-radius: .3em;
}
.box_link .fx_4link > li {
  position: relative;
  width: 25%;
}
.box_link .fx_4link > li + li::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -.2rem;
  bottom: 0;
  width: .4rem;
  background: url('../Image/common/dot.png') center top/100% auto repeat-y;
}
.box_link .fx_4link > li > a {
  position: relative;
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.3;
}
.box_link .fx_4link > li > a.pe_none::after {
  content: '準備中';
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: .3em;
  right: .3em;
  bottom: 0;
  padding: .5em;
  background-color: rgba(85, 85, 85, .9);
  font-size: 2rem;
  color: #fff;
  line-height: 1;
  letter-spacing: .2rem;
}
.box_link .fx_4link > li > a > span {
  margin-top: .1em;
  display: block;
  font-size: 5rem;
  line-height: 1;
}
.box_link .fx_4link > li > a:hover,
.box_link .fx_4link > li > a:focus {
  color: #ffff00;
}
.box_link .fx_4link.wh {
  background-color: #fff;
}
.box_link .fx_4link.wh > li + li::before {
  background: url('../Image/common/dot_or.png') center top/100% auto repeat-y;
}
.box_link .fx_4link.wh > li > a {
  color: #333;
}
.box_link .fx_4link.wh > li > a > span {
  color: #ec8000;
  transition: .4s;
}
.box_link .fx_4link.wh > li > a:hover,
.box_link .fx_4link.wh > li > a:focus {
  color: #f5ab00;
}
.box_link .fx_4link.wh > li > a:hover > span,
.box_link .fx_4link.wh > li > a:focus > span {
  color: #f5ab00;
}

.wrap_shop > .item + .item {
  margin-top: 5em;
}
.wrap_shop > .item > .i_row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.wrap_shop > .item > .i_row + .i_row {
  margin-top: -3.8em;
}
.wrap_shop > .item > .i_row > .shop_ttl {
  position: relative;
  width: calc( 100% / 3 );
  padding-top: 2.5em;
  padding-bottom: 4.5em;
  text-align: center;
  color: #222;
  font-weight: bold;
}
.wrap_shop > .item > .i_row > .shop_ttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 6.6em;
  height: 1.5em;
  background: url('../Image/common/deco_or.png') center/contain no-repeat;
}
.wrap_shop > .item > .i_row > .shop_ttl > .sup {
  font-size: 1.6rem;
}
.wrap_shop > .item > .i_row > .shop_ttl > .catch {
  font-size: 2.4rem;
  line-height: 1.5;
}
.wrap_shop > .item > .i_row > .shop_ttl > .title {
  margin-top: .3em;
  font-size: 4.8rem;
  color: #ec8000;
  line-height: 1;
}
.wrap_shop > .item > .i_row > .wrap_ofi {
  width: calc( 100% - (100% / 3) );
  padding-top: 38%;
}
.wrap_shop > .item > .i_row > .shop_info {
  width: 47%;
  padding-top: 4em;
  padding-right: 3em;
  line-height: 1.1;
}
.wrap_shop > .item > .i_row.row_reverse > .shop_info {
  padding-left: 3em;
  padding-right: 0;
}
.wrap_shop > .item > .i_row > .shop_info > .title {
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: .1rem;
}
.wrap_shop > .item > .i_row > .shop_info > .tel > a {
  position: relative;
  display: inline-block;
  padding-left: 1.4em;
  font-weight: bold;
  font-size: 3rem;
  color: #222;
  letter-spacing: .1rem;
}
.wrap_shop > .item > .i_row > .shop_info > .tel > a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: .1em;
  margin: auto;
  width: 1.05em;
  height: .7em;
  background: url('../Image/common/icon_freetel_gr.png') center/contain no-repeat;
}
.wrap_shop > .item > .i_row > .shop_info > .time {
  margin-top: .5em;
  font-weight: 500;
}
.wrap_shop > .item > .i_row > .shop_info > .address {
  margin-top: 1.5em;
  font-weight: 500;
}
@media screen and (min-width: 992px) {
  .wrap_shop > .item > .i_row > .shop_info > .wrap_btn {
    text-align: left;
  }
  .wrap_shop > .item:nth-child(2) > .i_row:first-child {
    position: relative;
  }
  .wrap_shop > .item:nth-child(2) > .i_row:first-child::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: -16%;
    bottom: 0;
    margin: auto;
    width: 28em;
    height: 18em;
    background: url('../Image/top/top_illust01.png') center/contain no-repeat;
  }
}
.wrap_shop > .item > .i_row > .map {
  width: 53%;
}


/* TOP SERVICE */
.top_service .wrap_ttl {
  position: relative;
}
.top_service .ttl_bd_tb {
  position: absolute;
  top: 3em;
  right: 0;
  width: 50%;
  margin-bottom: 0;
}
.fx_service {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-left: -2.5rem;
  margin-right: -2.5rem;
}
.fx_service > .item {
  width: 50%;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.fx_service > .item:last-child {
  padding-top: 11.2em;
}
.fx_service > .item .wrap_ofi {
  padding-top: 70%;
}
.fx_service > .item .conts {
  position: relative;
  overflow: hidden;
  width: 72%;
  margin: -3.75em auto 0;
  padding-top: 1.8em;
  padding-bottom: 3em;
  background-color: #fff;
  text-align: center;
}
.fx_service > .item .conts::before {
  content: '';
  display: block;
  position: absolute;
  top: -.37em;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
  height: .75em;
  border-radius: .5em;
}
.fx_service > .item .conts.bl::before {
  background-color: #008cd2;
}
.fx_service > .item .conts.re::before {
  background-color: #c00808;
}
.fx_service > .item .conts > .title {
  margin-bottom: .8em;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.1;
}



/*--------------------------------------------
  UNDER COMMON
--------------------------------------------*/
.key_under {
  margin-top: -1.4em;
  padding: 9em 0;
  background: url('../Image/top/key_top.jpg') center/cover;
}
.key_under > div > h2 > img {
  padding: 2em;
  background-color: rgba(0, 170, 255, .8);
}


/*--------------------------------------------
  FLOW
--------------------------------------------*/
.wrap_flow > .item + .item {
  position: relative;
  margin-top: 5em;
}
.wrap_flow > .item + .item::before {
  content: '';
  display: block;
  position: absolute;
  top: -3em;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 1em 1em 0 1em;
  border-color: #777 transparent transparent transparent;
}
.wrap_flow > .item {
  border: .2rem solid #008cd2;
}
.wrap_flow > .item > .i_head {
  position: relative;
  padding: 1.2em;
  padding-left: 4.8em;
  background-color: #008cd2;
}
.wrap_flow > .item > .i_head > .num {
  position: absolute;
  top: 0;
  left: .5em;
  bottom: 0;
  margin: auto;
  padding-top: .3em;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background-color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  color: #008cd2;
  line-height: 1;
}
.wrap_flow > .item > .i_head > .title {
  font-weight: bold;
  font-size: 2.4rem;
  color: #fff;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.wrap_flow > .item > .i_conts {
  padding: 1.5em;
}

.wrap_term {
  margin-top: 5em;
  padding: 2.5em;
  background-color: #f4f4f4;
}
.dl_term {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.dl_term > .name {
  position: relative;
  width: 14%;
  padding-right: 1em;
  font-weight: bold;
}
.dl_term > .name::before {
  content: '';
  display: block;
  position: absolute;
  top: .7em;
  left: 0;
  right: .5em;
  height: 0;
  border-bottom: 2px dotted #008cd2;
}
.dl_term > .name:not(:nth-of-type(1)) {
  margin-top: 1.2em;
}
.dl_term > .name > span {
  position: relative;
  display: inline-block;
  padding: 0 .5em;
  background-color: #f4f4f4;
}
.dl_term > .description {
  width: 86%;
}
.dl_term > .description:not(:nth-of-type(1)) {
  margin-top: 1.2em;
}


/*--------------------------------------------
  SUPPORT
--------------------------------------------*/
.wrap_case {
  margin-bottom: 4em;
}
.wrap_case .box_case {
  margin-bottom: 2em;
  padding: 2em;
  background-color: #fff5ea;
}
.wrap_case .box_case > .title {
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.1;
  letter-spacing: .1rem;
}
.case_check > li {
  position: relative;
  padding-left: 2em;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: .1rem;
}
.case_check > li::before {
  content: '';
  display: block;
  position: absolute;
  top: .2em;
  left: .5em;
  width: 1em;
  height: 1em;
  background: url('../Image/common/icon_check.png') center/contain no-repeat;
}
.case_check > li + li {
  margin-top: 1em;
}
.wrap_support > .item + .item {
  margin-top: 4em;
}
.img_support {
  margin-top: 3em;
  margin-bottom: 2em;
}


/*-------------------------------------
  お問い合わせ
--------------------------------------*/
input:not([type='radio']):not([type='checkbox']),
select,
textarea {
  width: 100%;
  font-size: 1.4rem;
  padding: 1rem;
  border: 1px solid #ccc;
  line-height: 1.3;
}
select {
  padding: .8rem 1rem;
}
.ios select {
  -webkit-appearance: button;
  appearance: button;
  padding: .8rem 1rem;
}
textarea {
  min-height: 20rem;
}

.input_short {
  max-width: 25em;
}
.input_medium {
  max-width: 42em;
}

.tbl_form {
  border: 1px solid #eee;
}
.tbl_form > tbody > tr + tr {
  border-top: 1px solid #eee;
}
.tbl_form th,
.tbl_form td {
  padding: 1.5em 2em;
}
.tbl_form th {
  width: 18em;
  background-color: #36a736;
  text-align: left;
  color: #fff;
}

.input_under {
  margin-top: .5rem;
  font-size: 1.4rem;
}

.form_item .i_confirm {
  display: none;
}
.confirm_text {
  margin-bottom: 1em;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  color: #f00;
}
label.error {
  display: block;
  margin-top: .5em;
  font-weight: bold;
  font-size: 1.4rem;
  color: #f00;
}

.form_require {
  position: relative;
  display: inline-block;
  padding-left: 3.2em;
}
.form_require > span {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 1.6em;
  padding: .3em .5em;
  background-color: #fff;
  border-radius: 2px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  color: #36a736;
  line-height: 1;
  letter-spacing: .1rem;
}

.ul_check {
  line-height: 2;
}
.ul_check > li {
  display: inline-block;
  margin-right: 1.5em;
  line-height: 1.3;
}
.ul_check > li:last-child {
  margin-right: 0;
}
.ul_check > li > label {
  cursor: pointer;
}
.ul_check > li > label > input {
  position: absolute;
  visibility: hidden;
}
.ul_check > li > label > input + span {
  position: relative;
  display: inline-block;
  padding-left: 2.8rem;
}
.ul_check > li > label > input + span::before {
  content: '';
  display: block;
  position: absolute;
  top: .1em;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  border: 1px solid #c9c9c9;
  background-color: #f4f4f4;
}
.ul_check > li > label > input:checked + span::after {
  content: '';
  display: block;
  position: absolute;
  top: .2em;
  left: .2em;
  width: 1.2em;
  height: .5em;
  border-left: .3rem solid #36a736;
  border-bottom: .3rem solid #36a736;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.label_row {
  width: 100%;
  display: table;
}
.label_row + .label_row {
  margin-top: 1.5rem;
}
.label_row > * {
  display: table-cell;
}
.label_row > .label {
  width: 5rem;
  padding-right: 1.5rem;
  text-align: right;
  white-space: nowrap;
}

.address_row {
  display: table;
  width: 100%;
}
.address_row + .address_row {
  margin-top: 1.2rem;
}
.address_row > * {
  display: table-cell;
}
.address_row > .label {
  width: 11em;
  padding-right: 2rem;
  text-align: right;
  white-space: nowrap;
}

/* mainform pro */
#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_hidden {
  display: none;
}
#mfp_phase_confirm .confirm_title {
  margin-bottom: 2rem;
  text-align: center;
  font-size: 2rem;
  color: red;
}
div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin-top: .5rem;
  padding: .3rem 0 .5rem 1.8rem;
  color: #F00;
  font-size: 1.2rem;
  line-height: normal;
  /*background-image: url(../contact/mfp.statics/_images/mfp_error.gif);
  background-repeat: no-repeat;
  background-position: 0px 1px;*/
}
.mfp_parent_error {
  border: solid 2px #F00;
}
.problem {
  background-color: #FCC;
}
div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 1rem;
  display: none;
}
div#mfp_error p {
  font-size: 1.4rem;
  text-align: center;
}
div#mfp_error p strong {
  font-size: 1.8rem;
  color: #F00;
}
div#mfp_warning {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 1rem;
  display: none;
  border-radius: .5rem;
}
div#mfp_warning p {
  padding: 0px;
  margin: 0px;
  font-size: 1.4rem;
  text-align: center;
}
div#mfp_warning p strong {
  font-size: 1.8rem;
  color: #F00;
}
div.prefcodeWrapper {
  position: relative;
}
div.prefcodeResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: .5rem;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px .5rem #CCC;
  display: none;
}
div.prefcodeResult div {
  cursor: pointer;
}
div.prefcodeResult div:hover {
  background-color: #C9EBFB;
}
div.prefcodeResult div.prefcodeNext {
  background-color: #EEE;
  text-align: center;
}
div.prefLoading {
  padding: 6rem 10rem;
  background: url(../contact/mfp.statics/_images/mfp_zip_loading.gif) no-repeat center center;
}
/* mainform pro END */


/*-------------------------------------
  プライバシーポリシー
--------------------------------------*/
.terms_box > h2,
.terms_box > h3,
.terms_box > h4 {
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.3;
}
.terms_box > h2::before,
.terms_box > h3::before,
.terms_box > h4::before {
  content: '■';
  margin-right: 1rem;
  font-size: 1.2rem;
  vertical-align: .1rem;
}
.terms_box > p,
.terms_box > ul {
  font-size: 1.4rem;
}
.terms_box > p + h2,
.terms_box > ul + h2,
.terms_box > p + h3,
.terms_box > ul + h3,
.terms_box > p + h4,
.terms_box > ul + h4 {
  margin-top: 3.5rem;
}
.terms_box > p + p {
  margin-top: 1.5rem;
}
.terms_box > p + ul {
  margin-top: 1rem;
}
.terms_box > p > a {
  color: #3094b3;
  word-break: break-all;
}



/*-------------------------------------
  サイトマップ
--------------------------------------*/




/*-------------------------------------
  404
--------------------------------------*/


