@charset "utf8";
/*=============================
  - reset.css
	- 汎用css
==============================*/
/*----------------------------------------------------
	リセットCSS
----------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  color: #000;
  text-decoration: none;
  box-sizing: border-box;
}
body {
  min-width: 1360px;
}
a,
p,
span,
h1,
h2,
h3,
h4,
h5,
h6,
li,
dt,
dd,
th,
td {
  line-height: 1.4em;
}
ul,
ol {
  list-style: none;
}
table {
  border-collapse: collapse;
  width: 100%;
}
img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: none;
}
img,
iframe {
  vertical-align: bottom;
}
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media screen and (max-width: 767px) {
  body {
    min-width: initial;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
/*----------------------------------------
  form_base css
----------------------------------------*/
label {
  cursor: pointer;
}
input[type="text"],
input[type="email"],
input[type="tel"] {
  background: #fff;
  border: 1px solid #d1d2d2;
  border-radius: 5px;
  font-size: 16px;
  padding: 7px 10px;
  width: 350px;
}
input[type="number"] {
  background: #fff;
  border: 1px solid #d1d2d2;
  border-radius: 5px;
  font-size: 16px;
  padding: 7px 10px;
  width: 100px;
}
input[type="submit"] {
}
textarea {
  width: 100%;
  border: 1px solid #d1d3d3;
  height: 150px;
  border-radius: 5px;
  resize: none;
}
select {
  background: rgba(255, 255, 255, 0.4);
  width: 100%;
  padding: 0px 30px 0px 20px;
  font-size: 16px;
  border: 1px solid;
  border-radius: 0px;
  height: 48px;
  cursor: pointer;
}
select:active,
select:focus {
  box-shadow: none;
  outline: none;
}

select::-ms-expand {
  display: none;
}
.select-wrap {
  position: relative;
}
.select-wrap:before {
  content: "▼";
  position: absolute;
  right: 10px;
  top: 0;
  display: flex;
  align-items: center;
  height: 100%;
  pointer-events: none;
  font-size: 14px;
}
button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  border: none;
  font-weight: bold;
  font-size: 18px;
  cursor: pointer;
}
button i {
  font-size: 28px;
}
button.submit {
  background: #5cb9ff;
  color: #fff;
}
@media screen and (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"] {
    width: 100%;
  }
  input[type="number"] {
    font-size: 16px;
    padding: 7px 10px;
    width: 60px;
  }
  select {
    font-size: 14px;
    height: 50px;
  }
  .select-wrap:before {
    font-size: 12px;
  }
  .main-v .top-form-wrap .form-inner-wrap .submit-wrap,
  .main-v .top-form-wrap .form-inner-wrap .submit {
    width: 100% !important;
    margin-left: 0px !important;
    margin-top: 10px;
  }
  button {
    height: 50px;
    padding: 5px;
  }
}
/*----------------------------------------
  固定汎用CSS
----------------------------------------*/
/* box-shadow */
.b-shadow {
  box-shadow: 0px 0px 3px 2px #d6d7d7;
  -moz-box-shadow: 0px 0px 3px 2px #d6d7d7;
  -webkit-box-shadow: 0px 0px 3px 2px #d6d7d7;
}

/* underline */
.underline {
  text-decoration: underline;
}
/* indent */
.indent {
  margin-left: 1em;
  text-indent: -1em;
}

/* link */
.opa {
  transition: 0.3s;
}
.opa:hover {
  opacity: 0.7;
}
.sp-link {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .sp-link {
    pointer-events: auto;
  }
}

/* position */
.relative { position: relative; }

/* dispaly */
.inline { display: inline; }
.inline-block { display: inline-block; }
.block { display: block; }

/* float */
.fl {  float: left !important; }
.fr { float: right !important; }
.cf:after { clear: both; }
.cf { overflow: hidden; }

/* vertical-align */
.va-t {
  vertical-align: top !important;
}
.va-m {
  vertical-align: middle !important;
}
.va-b {
  vertical-align: bottom !important;
}
.va-base {
  vertical-align: baseline !important;
}

/* width */
.w30 { width: 30px; }
.w50 { width: 50px; }

.par5 { width: 5%; }
.par10 { width: 10%; }
.par15 { width: 15%; }
.par20 { width: 20%; }
.par25 { width: 25%; }
.par30 { width: 30%; }
.par33 { width: 33%; }
.par35 { width: 35%; }
.par40 { width: 40%; }
.par45 { width: 45%; }
.par50 { width: 50%; }
.par55 { width: 55%; }
.par60 { width: 60%; }
.par65 { width: 65%; }
.par70 { width: 70%; }
.par75 { width: 75%; }
.par80 { width: 80%; }
.par85 { width: 85%; }
.par90 { width: 90%; }
.par95 { width: 95%; }
.par100 { width: 100%; }
@media screen and (max-width: 767px) {
  .sp-par100 {
    width: 100% !important;
  }
}

/* margin */
.ma { margin: auto; }

.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt55 { margin-top: 55px; }
.mt60 { margin-top: 60px; }
.mt65 { margin-top: 65px; }
.mt70 { margin-top: 70px; }
.mt75 { margin-top: 75px; }
.mt80 { margin-top: 80px; }
.mt90 { margin-top: 90px; }
.mt100 { margin-top: 100px; }
.mt-10 { margin-top: -10px; }

.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb80 { margin-bottom: 80px; }

.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }

.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }

@media screen and (max-width: 767px) {
	.sp-mt0 { margin-top: 0px; }
	.sp-mt10 { margin-top: 10px; }
	.sp-mt15 { margin-top: 15px; }
	.sp-mt20 { margin-top: 20px; }
	.sp-mt30 { margin-top: 30px; }
	.sp-mt35 { margin-top: 35px; }
	.sp-mt40 { margin-top: 40px; }
	.sp-mt50 { margin-top: 50px; }
	.sp-mt60 { margin-top: 60px; }
	.sp-mt70 { margin-top: 70px; }

	.sp-mb0 { margin-bottom: 0; }
	.sp-mb5 { margin-bottom: 5px; }
	.sp-mb10 { margin-bottom: 10px; }
	.sp-mb15 { margin-bottom: 15px; }
	.sp-mb20 { margin-bottom: 20px; }
	.sp-mb30 { margin-bottom: 30px; }
	.sp-mb40 { margin-bottom: 40px; }
	.sp-mb50 { margin-bottom: 50px; }
	
	.sp-ml0 { margin-left: 0; }
	.sp-ml5 { margin-left: 5px; }
	.sp-ml10 { margin-left: 10px; }
	.sp-ml15 { margin-left: 15px; }
	.sp-ml20 { margin-left: 20px; }
	.sp-ml25 { margin-left: 25px; }
	.sp-ml30 { margin-left: 30px; }

	.sp-mr0 { margin-right: 0; }
	.sp-mr5 { margin-right: 5px; }
	.sp-mr10 { margin-right: 10px; }
	.sp-mr15 { margin-right: 15px; }
	.sp-mr20 { margin-right: 20px; }
	.sp-mr25 { margin-right: 25px; }
	.sp-mr30 { margin-right: 30px; }
}

/* padding */
.p5 {
  padding: 5px;
}
.p10 {
  padding: 10px;
}
.p15 {
  padding: 15px;
}
.p20 {
  padding: 20px;
}
.p25 {
  padding: 25px;
}
.p30 {
  padding: 30px;
}
.pb60 {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .sp-pb0 {
    padding-bottom: 0;
  }
}

/* font-size*/
.f10 { font-size: 10px; }
.f11 { font-size: 11px; }
.f12 { font-size: 12px; }
.f13 { font-size: 13px; }
.f14 { font-size: 14px; }
.f15 { font-size: 15px; }
.f16 { font-size: 16px; }
.f17 { font-size: 17px; }
.f18 { font-size: 18px; }
.f20 { font-size: 20px; }
.f21 { font-size: 21px; }
.f22 { font-size: 22px; }
.f24 { font-size: 24px; }
.f25 { font-size: 25px; }
.f26 { font-size: 26px; }
.f28 { font-size: 28px; }
.f30 { font-size: 30px; }
.f32 { font-size: 32px; }
.f33 { font-size: 33px; }
.f36 { font-size: 36px; }
.f40 { font-size: 40px; }
.f50 { font-size: 50px; }
.f60 { font-size: 60px; }
@media screen and (max-width: 767px) {
	.sp-f10 { font-size: 10px; }
	.sp-f11 { font-size: 11px; }
	.sp-f12 { font-size: 12px; }
	.sp-f13 { font-size: 13px; }
	.sp-f14 { font-size: 14px; }
	.sp-f15 { font-size: 15px; }
	.sp-f16 { font-size: 16px; }
	.sp-f18 { font-size: 18px; }
	.sp-f20 { font-size: 20px; }
	.sp-f22 { font-size: 22px; }
	.sp-f24 { font-size: 24px; }
	.sp-f26 { font-size: 26px; }
	.sp-f28 { font-size: 28px; }
	.sp-f30 { font-size: 30px; }
	.sp-f32 { font-size: 32px; }
	
}

/* line-height */
.lh10 { line-height: 1em; }
.lh12 { line-height: 1.2em; }
.lh14 { line-height: 1.4em; }
.lh15 { line-height: 1.5em; }
.lh16 { line-height: 1.6em; }
.lh18 { line-height: 1.8em; }
.lh20 { line-height: 2em; }
.lh22 { line-height: 2.2em; }
.lh24 { line-height: 2.4em; }
.lh26 { line-height: 2.6em; }
.lh28 { line-height: 2.8em; }
.lh30 { line-height: 3em; }
@media screen and (max-width: 767px) {
  .sp-lh10 { line-height: 1em; }
  .sp-lh12 { line-height: 1.2em; }
  .sp-lh14 { line-height: 1.4em; }
  .sp-lh16 { line-height: 1.6em; }
  .sp-lh18 { line-height: 1.8em; }
  .sp-lh20 { line-height: 2em; }
  .sp-lh22 { line-height: 2.2em; }
  .sp-lh24 { line-height: 2.4em; }
}

/* font-weight */
.bold {
  font-weight: bold;
}
.normal {
  font-weight: normal;
}

/* text-align */
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .sp-center {
    text-align: center;
  }
  .sp-left {
    text-align: left;
  }
  .sp-right {
    text-align: right;
  }
}

/* sp pc 出し分け */
.sp-only,
.sp-only-i,
.sp_only {
  display: none !important;
}
.pc-only,
.pc_only  {
  display: block;
}
.pc-only.flex {
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-only,
  .pc_only {
    display: none !important;
  }
  .sp-only,
  .sp_only {
    display: block !important;
  }
  .sp-only-i {
    display: inline-block !important;
  }
  .sp-only.flex {
    display: flex !important;
  }
}

/* flex-box */
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.row {
  flex-direction: row;
}
.row-r {
  flex-direction: row-reverse;
}
.column {
  flex-direction: column;
}
.column-r {
  flex-direction: column-reverse;
}
/*===コンテンツの折返し===*/
.wrap {
  flex-wrap: wrap;
}
.wrap-r {
  flex-wrap: wrap-reverse;
}
.no-wrap {
  flex-wrap: nowrap;
}
/*===コンテンツの水平方向揃え ===*/
.flex-left {
  justify-content: flex-start;
}
.flex-right {
  justify-content: flex-end;
}
.flex-center {
  justify-content: center;
}
.flex-space-b {
  justify-content: space-between;
}
.flex-space-a {
  justify-content: space-around;
}
/*===コンテンツの垂直方向揃え ===*/
.flex-top {
  align-items: flex-start;
}
.flex-middle {
  align-items: center;
}
.flex-bottom {
  align-items: flex-end;
}
/* 順番 */
.no1 {
  order: 1;
}
.no2 {
  order: 2;
}
.no3 {
  order: 3;
}
.no4 {
  order: 4;
}
.no5 {
  order: 5;
}
.no6 {
  order: 6;
}
.no7 {
  order: 7;
}
@media screen and (max-width: 767px) {
  .sp-w100{
    width: 100% !important;
  }
  .sp-flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
  .sp-row {
    flex-direction: row;
  }
  .sp-row-r {
    flex-direction: row-reverse;
  }
  .sp-column {
    flex-direction: column;
  }
  .sp-column-r {
    flex-direction: column-reverse;
  }
  .sp-flex-wrap {
    flex-wrap: wrap;
  }
  /*===コンテンツの折返し===*/
  .sp-wrap {
    flex-wrap: wrap;
  }
  .sp-wrap-r {
    flex-wrap: wrap-reverse;
  }
  .sp-no-wrap {
    flex-wrap: nowrap;
  }
  /*===コンテンツの水平方向揃え ===*/
  .sp-flex-left {
    justify-content: flex-start;
  }
  .sp-flex-right {
    justify-content: flex-end;
  }
  .sp-flex-center {
    justify-content: center;
  }
  .sp-flex-space-b {
    justify-content: space-between;
  }
  .sp-flex-space-a {
    justify-content: space-around;
  }
  /*===コンテンツの垂直方向揃え ===*/
  .sp-flex-top {
    align-items: flex-start;
  }
  .sp-flex-middle {
    align-items: center;
  }
  .sp-flex-bottom {
    align-items: flex-end;
  }
  /* 順番 */
  .sp-no1 {
    order: 1;
  }
  .sp-no2 {
    order: 2;
  }
  .sp-no3 {
    order: 3;
  }
  .sp-no4 {
    order: 4;
  }
  .sp-no5 {
    order: 5;
  }
  .sp-no6 {
    order: 6;
  }
  .sp-no7 {
    order: 7;
  }
} /*-- sp end --*/
