@charset "UTF-8";
/* ==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
.button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: relative;
  z-index: 2;
  line-height: 50px;
}
.button::before, .button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button::before, .button::after {
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button:hover {
  background-color: #1a1a1a;
  border-color: #1a1a1a;
}
.button a:hover {
  color: #fff;
}
.button::before, .button::after {
  top: 0;
  width: 50%;
  height: 100%;
}
.button::before {
  right: 0;
}
.button::after {
  left: 0;
}
.button:hover::before, .button:hover::after {
  width: 0;
  background-color: #1a1a1a;
}

.gnav a, .botton02 {
  -webkit-transition: all .3s;
  transition: all .3s;
}

.gnav a:hover {
  letter-spacing: 2px;
}

.botton02:hover {
  margin-top: -5px;
  opacity: 0.8;
}

.inner {
  width: 970px;
  padding: 0 13px;
  margin: 0 auto;
}

.mr0 {
  margin-right: 0 !important;
}

.Link01 {
  background: url(../img/icon_arrow_or.png) left no-repeat;
  /*	display: inline-block;
  */
  padding-left: 18px;
  color: #ff9000;
}

.opLink:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.alignL {
  text-align: left;
}

.alignR {
  text-align: right;
}

.alignC {
  text-align: center;
}

.mb0 {
  margin-bottom: 0 !important;
}

.color__white {
  color: #fff !important;
}

.color__black {
  color: #1a1a1a !important;
}

.color_blue {
  color: #1d3264 !important;
}

.btn__default a {
  background: #2962FF;
  color: #fff;
  padding: 20px;
  font-size: 18px;
}

.btn__default02 a {
  background: #2962FF;
  color: #fff;
  padding: 20px;
  font-size: 18px;
  font-weight: 700;
}

.btn__default a:before, .btn__default02 a:before, .footer__bnr li a:before {
  margin-right: 7px;
}

/*==========================================================================*/
/*                               header                                     */
/*==========================================================================*/
.box__title img {
  width: 350px;
}

.topics dt, .topics dd {
  display: inline-block;
}
.topics dt {
  margin-right: 10px;
  background: #2962FF;
  color: #fff;
  padding: 5px 10px;
}

.wrap__tel {
  position: fixed;
  top: 10px;
  right: 30px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);
}
.wrap__tel p {
  font-size: 14px;
  color: #36231A;
}

.telBtn__type01 a {
  font-size: 24px;
  color: #006734;
}

.header__contact {
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "MS 明朝", serif;
}

.btn__tel_head a {
  display: block;
  font-size: 22px;
  font-weight: 300;
  color: #7aa0da;
}

.telBtn__type01 a {
  font-size: 24px;
  color: #006734;
}

.wrap__tel {
  background: rgba(255, 255, 255, 0.8);
  padding: 10px 45px;
}

.btn__type01 {
  background: #36231A;
  padding: 5px 0;
}
.btn__type01 a {
  color: #fff;
}

.header__contact a:before {
  font-weight: 900;
}

.btn__tel_head {
  margin-right: 30px;
  padding-top: 15px;
}

.btn__mail_head {
  background: #ffde2d;
  padding: 20px;
}

/*nav*/
.bg__grade {
  background: #1d3264;
  /* Old browsers */
  background: -moz-linear-gradient(top, #1d3264 0%, #304b68 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #1d3264 0%, #304b68 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #1d3264 0%, #304b68 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d3264', endColorstr='#304b68',GradientType=0 );
  /* IE6-9 */
}

.bg__base {
  background: #2962FF;
}

header {
  border-top: 4px solid #2962FF;
}

.btn__tel {
  width: 480px;
}

.gnav {
  margin: 0 auto;
  max-width: 980px;
  top: 0;
  z-index: 9999;
  padding: 5px 0 15px;
  padding: 5px 0 15px;
}
.gnav li {
  width: 163.33333px;
  text-align: center;
  border-right: 1px solid #bebebe;
}
.gnav li:nth-of-type(6) {
  border: none;
}
.gnav a {
  display: block;
}

.list__type01 {
  width: 335px;
}
.list__type01 dt {
  float: left;
  clear: left;
  margin-right: 10px;
  background: #2962FF;
  color: #fff;
  padding: 0 10px;
}

.wrap__gnav {
  padding: 12px 0 0;
}

.lisType01 dt, .lisType01 dd {
  margin-bottom: 5px;
  padding: 3px 5px;
  display: inline-block;
}
.lisType01 dt {
  background: #fff;
  color: #2962FF;
}

.lisType02 dt, .lisType02 dd {
  float: left;
}
.lisType02 dd {
  margin-right: 14px;
}

/*==========================================================================*/
/*                               footer                                     */
/*==========================================================================*/
/*footer {
  background: #4a74b3;
  color: #fff;
}
*/
footer {
  background: #eee;
}

.footer__in {
  padding: 30px 0;
}

.footer__bnr li {
  margin-bottom: 10px;
  width: 190px;
  text-align: center;
  padding: 10px 20px;
}

.text__name_footer {
  margin-bottom: 10px;
  position: relative;
  font-size: 26px;
  font-family: "Sawarabi Mincho";
}

.btn__tel_contact a {
  color: #fff;
  font-size: 36px;
}
.btn__tel_contact span {
  font-size: 24px;
  margin-right: 5px;
}

.btn__mail_contact {
  background: #1a1a1a;
  text-align: center;
  padding: 10px 20px;
  display: inline-block;
}
.btn__mail_contact a {
  color: #fff;
  font-size: 18px;
  display: block;
}

.box__company img {
  width: 300px;
}

.btn__page_top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #36231A;
  z-index: 9999;
}
.btn__page_top a {
  width: 50px;
  height: 50px;
  display: table-cell;
  vertical-align: middle;
  visibility: hidden;
}
.btn__page_top:before {
  content: "\f062";
  font-size: 26px;
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translate(-50%, 0);
  color: #fff;
}

.box__company {
  max-width: 980px;
  margin: 0 auto;
}

.btn__contact a {
  text-align: center;
  display: block;
  color: #4a74b3;
}

.contact {
  position: relative;
  display: block;
  margin: 0 auto;
  color: #fff;
}

.contact__telBox li {
  text-align: left;
  margin-right: 20px;
}
.contact__telBox span {
  display: block;
  font-size: 14px;
}

/*==========================================================================*/
/*                           　	common style                                */
/*==========================================================================*/
/*           BLOK           */
.content__default {
  max-width: 980px;
  margin: 0 auto 80px;
  position: relative;
}

.content__default02 {
  max-width: 980px;
  margin: 0 auto;
  position: relative;
}

.content__inner {
  padding: 60px;
}

.list__type01 span {
  font-size: 31px;
  margin-right: 14px;
  font-style: italic;
  color: #36231A;
}

.box__type01 {
  padding: 0 15px;
}

.box__type02 {
  padding: 0 40px;
}

.box__half {
  width: 48%;
}

.btn--hover {
  transition: all 300ms 0s ease;
  position: relative;
}

.btn--hover:hover {
  transition: all 300ms 0s ease;
  opacity: 0.7;
}

.list__type01 li {
  margin-bottom: 9px;
}
.list__type01 a {
  color: #36231A;
}

.box__padding_default {
  padding: 60px 0;
}

.box__inner_half {
  width: 48%;
}

.content__inner {
  padding: 60px 0;
}

/* background */
.bg__type01 {
  background: #eee;
}

.bg__type02 {
  background: #00268f;
}

.bg__type03 {
  background: #222;
}

.bgImg__type01 {
  background: url(../img/common/bgImg_type01.jpg) no-repeat left bottom;
  background-size: cover;
}

.bgImg__type02 {
  background: url(../img/common/ico_shichan.png) no-repeat center bottom;
  background-size: contain;
}

.bgImg__type03 {
  background: url(../img/common/bgImg_type03.jpg) no-repeat center bottom;
  background-size: cover;
}

.topBnr {
  position: relative;
}
.topBnr:before {
  display: block;
  content: "";
  width: 280px;
  height: 400px;
  background: url(../img/common/ico_shichan.png) no-repeat center bottom;
  position: absolute;
  bottom: -264px;
  left: 110px;
  background-size: 330px;
}

/*flex*/
.box__flex {
  display: -ms-flexbox;
  /* IE10 */
  display: -webkit-box;
  /* Android4.3以下、Safari3.1〜6.0 */
  display: -webkit-flex;
  /* Safari6.1以降 */
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
}
.box__flex.couner {
  justify-content: space-between;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
}
.box__flex.around {
  justify-content: space-around;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-around;
  /* Safari6.1以降 */
}
.box__flex.center {
  -webkit-justify-content: center;
  /* Safari etc. */
  -ms-justify-content: center;
  /* IE10        */
  justify-content: center;
}
.box__flex.align_center {
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}
.box__flex.reverce {
  flex-direction: row-reverse;
}

/* img */
.img__type01 {
  width: 50%;
}

.img__type02 {
  position: absolute;
  top: 100px;
  left: 0;
}

/*           TITLE           */
h1 {
  font-size: 23px;
  font-family: "Sawarabi Mincho",'Ryumin Medium KL', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
  padding: 0 0 0 50px;
  margin-bottom: 8px;
}

.h2__type01 {
  color: #2962FF;
  font-size: 32px;
  line-height: 1.4;
  margin-bottom: 40px;
  font-weight: 700;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
.h2__type01 span {
  font-size: 16px;
  color: #969696;
  display: block;
  font-family: "Sawarabi Mincho";
}

.h2__type01:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #2962FF;
  border-radius: 2px;
}

.h3__default {
  font-size: 20px;
  color: #7aa0da;
  margin-bottom: 15px;
}

.h3__type01 {
  font-size: 40px;
}

.h4__default {
  font-size: 18px;
  margin-bottom: 10px;
}

.h4__top {
  position: absolute;
  bottom: 0;
  background: rgba(54, 35, 26, 0.8);
  color: #fff;
  width: 100%;
  padding: 5px;
  font-size: 22px;
  line-height: 1.4;
  font-family: "Sawarabi Mincho",'Ryumin Medium KL', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
}
.h4__top span {
  font-size: 12px;
  display: block;
  color: #969696;
}

/*==========================================================================*/
/*                           　	topページ                                   */
/*==========================================================================*/
.topics {
  padding: 40px 10px;
}

.price li {
  font-family: "Sawarabi Mincho";
  font-size: 20px;
  display: inline-block;
  margin-right: 30px;
}
.price li span {
  font-size: 45px;
  color: #1d3264;
}

.box__bnr_top li {
  width: 23%;
  margin: 0 2% 0 0;
  position: relative;
}
.box__bnr_top li:last-of-type {
  margin-right: 0;
}
.box__bnr_top a {
  position: relative;
  display: block;
  height: 100%;
  font-size: 24px;
  font-weight: 700;
  color: #333;
}

.box__fv {
  position: relative;
  font-family: "Sawarabi Mincho";
}
.box__fv li {
  position: relative;
}

.fv__text {
  position: absolute;
  top: 50%;
  left: 40px;
  font-size: 2.2vw;
  color: #fff;
  transform: translate(0, -50%);
  letter-spacing: -2px;
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);
}
.fv__text span {
  font-size: 3.4vw;
}

.topix dt {
  float: left;
  clear: left;
  margin-right: 30px;
}

.mt_negative {
  margin-top: -20%;
}

.text__top01 {
  position: relative;
  z-index: 2;
  font-family: 'Ryumin Medium KL', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', YuMincho, "Meiryo", serif;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.05);
  padding: 40px;
  background: #fff;
}

.text__top01_inner {
  font-size: 24px;
  color: #7aa0da;
  text-align: center;
  margin-bottom: 20px;
}

.text__top02 {
  color: #7aa0da;
  font-size: 34px;
  font-family: "Sawarabi Mincho";
  margin-bottom: 40px;
}
.text__top02 span {
  font-size: 24px;
  display: block;
}

.contact__telBox a {
  position: relative;
  padding-left: 40px;
}

.contact__telBox a:before {
  position: absolute;
  top: 19px;
  left: 10px;
  font-size: 26px;
}

.form .form-contents {
  padding: 0;
}

.form .form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before {
  background: #d45656;
}

.form .form-pattern-1 .submit-btn {
  background: #2962ff;
  border: 1px solid #2962ff;
}

.form .form-pattern-1 .submit-btn:hover {
  background: #2962ff;
  opacity: 0.7;
}
