@charset "UTF-8";
/*============================================================================================
      General
=============================================================================================*/
/*    Wrapper
=====================================================*/
#contact_banner {
  display: block;
}

.g_wrap {
  width: 100%;
  min-width: 1260px;
  margin: 0 auto;
}

.g_wrap__full {
  min-width: 100%;
}

.g_wrap_chd {
  max-width: 1080px;
  min-width: 1080px;
  margin: 0 auto;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_wrap {
    min-width: 100%;
  }
  .g_wrap_chd {
    max-width: 89.6vw;
    min-width: 89.6vw;
  }
}
/*    Content Wrapper
=====================================================*/
.g_content {
  max-width: 900px;
  min-width: 900px;
  margin: 0 auto;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_content {
    max-width: 89.6vw;
    min-width: 89.6vw;
  }
}
/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_hmbBox {
    width: 5.86vw;
    height: 13.33vw;
    position: absolute;
    top: 0;
    right: 5.3vw;
    margin: auto;
    z-index: 10001;
    pointer-events: auto;
    cursor: pointer;
  }
  .g_hmb {
    position: absolute;
    width: 5.86vw;
    height: 5.86vw;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .g_hmb span {
    display: block;
    width: inherit;
    height: 0.266vw;
    background-color: #fff;
    position: absolute;
    top: 50%;
    /*		margin-top: calc(-1.6vw / 2);*/
    transition: transform 0.4s;
  }
  .g_hmb .g_hmb_top {
    transform: translateY(-2.1vw);
  }
  .g_hmb .g_hmb_btm {
    transform: translateY(2.1vw);
  }
  .g_hmbBox.js_open {
    /*		background-color: #023692;*/
  }
  .g_hmbBox.js_open .g_hmb {
    width: 5.86vw;
    height: 13.33vw;
    margin: auto;
  }
  .g_hmbBox.js_open span {
    height: 0.3vw;
    /*    margin-top: calc(-0.8vw / 2);*/
    background-color: #fff;
  }
  .g_hmbBox.js_open .g_hmb_mdl {
    background: rgba(255, 255, 255, 0);
  }
  .g_hmbBox.js_open .g_hmb_top {
    transform: rotate(-45deg) translateY(0px);
  }
  .g_hmbBox.js_open .g_hmb_btm {
    transform: rotate(45deg) translateY(0px);
  }
  header .navigation.js_open {
    pointer-events: auto;
  }
}
/*    conte
=====================================================*/
/*    Section
=====================================================*/
.g_sec {
  padding: 80px 0 0;
}

.g_sec__first {
  padding-top: 0;
}

.g_sec__last {
  padding-bottom: 80px;
}

.g_sec_bg {
  margin: 80px auto 0;
  padding: 120px 0;
}

.g_sec_bg__bk {
  background-color: #fff;
}

.g_sec_smoke01 {
  background-image: url(../img/common/sec_smoke01.png);
  background-repeat: no-repeat;
  background-size: auto 50%;
  background-position-x: right;
  background-position-y: 0;
}

.g_sec_smoke02 {
  background-image: url(../img/common/sec_smoke02.png);
  background-repeat: no-repeat;
  background-size: auto 50%;
  background-position-x: right;
  background-position-y: 0;
}

.g_sec_smoke03 {
  background-image: url(../img/common/bg02.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position-x: right;
  background-position-y: 0;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_sec {
    padding: 10vw 0 0;
  }
  .g_sec__first {
    padding-top: 0;
  }
  .g_sec__last {
    padding-bottom: 13.33vw;
  }
  .g_sec_smoke01,
  .g_sec_smoke02 {
    background-size: auto 20%;
  }
}
/*    Heading
=====================================================*/
.g_Head_wrap {
  padding: 40px 0;
  margin: 0 auto 60px;
}

.g_HeadName {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  margin: auto;
}

.g_largeTtl {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 0 50px;
}

.g_largeTtl02_wrp {
  display: flex;
  align-items: center;
}
.g_largeTtl02_wrp .g_largeTtl02 {
  font-size: 2.3rem;
  position: relative;
  line-height: 1.2;
  padding-left: 15px;
  font-weight: bold;
  color: #1b1464;
}
.g_largeTtl02_wrp .g_largeTtl02:before {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background-color: #000;
  left: 0;
  top: 56%;
  transform: translateY(-50%);
}
.g_largeTtl02_wrp span {
  display: block;
  width: 183px;
  height: 2px;
  border-bottom: 2px dotted #000;
  margin: 0 15px;
  position: relative;
}
.g_largeTtl02_wrp p {
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
}
@media (max-width: 767px) {
  .g_largeTtl02_wrp {
    display: block;
  }
  .g_largeTtl02_wrp .g_largeTtl02 {
    margin-bottom: 15px;
  }
  .g_largeTtl02_wrp span {
    display: none;
  }
  .g_largeTtl02_wrp p {
    font-size: 1.5rem;
  }
}

.g_ttl {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.6;
  padding: 13px 0 35px;
  border-top: 1px solid #eee;
}

.g_ttl::before {
  width: 50px;
  height: 3px;
  background-color: #000;
  border-right: 4px solid #000;
  top: -2px;
  left: 0;
}

.g_ttl_span {
  font-size: 1.2rem;
}

.g_ttl_center {
  font-size: 3.5rem;
  font-weight: 500;
  text-align: center;
  padding-bottom: 35px;
}

.g_ttl02 {
  color: #fff;
}
.g_ttl02 span {
  font-size: 2.5rem;
  font-weight: bold;
  display: inline-block;
  background-color: #1b1464;
  padding: 5px 15px;
  margin-bottom: 10px;
}
.g_ttl02 span:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .g_ttl02 span {
    font-size: 1.4rem;
    margin-bottom: 5px;
    padding: 3px 10px;
  }
}

.g_tagTtl {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 0 auto 10px;
  padding: 0 0 0 12px;
}

.g_tagTtl::before {
  width: 4px;
  height: 14px;
  background-color: #DD0012;
  top: 5px;
  left: 0;
  margin: auto;
}

html.ie .g_HeadName,
html.ie .g_largeTtl,
html.ie .g_ttl,
html.ie .g_ttl_center,
html.ie .g_tagTtl {
  font-weight: bold;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_Head_wrap {
    padding: 8vw 0;
    margin: 0 auto 8vw;
  }
  .g_HeadName {
    text-align: center;
  }
  .g_largeTtl {
    font-size: 2.4rem;
    padding: 0 0 8vw;
  }
  .g_ttl {
    font-size: 1.8rem;
    padding: 2.6vw 0 8vw;
  }
  .g_ttl::before {
    width: 10.66vw;
    border-right: 1.66vw solid #000;
  }
  .g_ttl_center {
    font-size: 2.2rem;
    padding-bottom: 6.66vw;
  }
  .g_tagTtl {
    margin: 0 auto 2.66vw;
    padding: 0 0 0 3vw;
  }
  .g_tagTtl::before {
    width: 1.06vw;
    height: 3.73vw;
    top: 1.5vw;
  }
}
/*    text - basic
=====================================================*/
.g_txt {
  font-size: 1.6rem;
  line-height: 1.5;
}

/*    Button - basic -
=====================================================*/
.g_btn {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  background: linear-gradient(90deg, #0578FF, #05CAFF);
  transition: color 0.3s, background 0.3s;
  color: #fff;
  cursor: pointer;
  min-width: 160px;
  min-height: 44px;
}
.g_btn:hover {
  background: linear-gradient(90deg, #0578FF, #05CAFF) !important;
  opacity: 0.6;
}
.g_btn label {
  padding: 7px 15px 10px;
  display: inline-block;
  cursor: pointer;
}
.g_btn input {
  color: #fff;
  font-weight: 600;
}
.g_btn input {
  background-color: transparent;
  border: none;
}

.g_btnBorder {
  color: #00C4FF;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  display: block;
  width: 160px;
  height: 44px;
  line-height: 42px;
  margin: auto;
  border: 1px solid #00C4FF;
  transition: color 0.3s, background-color 0.3s;
}

html.ie .g_btn,
html.ie .g_btnBorder {
  font-weight: bold;
}

.g_btn:hover {
  color: #05CAFF;
  background: linear-gradient(90deg, #fff, #fff);
}

.g_btnBorder:hover {
  color: #fff;
  background-color: #00C4FF;
}

.g_btn a,
.g_btnBorder a {
  display: block;
  width: inherit;
  height: inherit;
  padding: inherit;
  text-align: center;
}

.g_btn button,
.g_btnBorder button {
  display: block;
  width: inherit;
  height: inherit;
  padding: inherit;
  color: inherit;
}

/*
.g_btn::after{
	width: 7px;
	height: 7px;
	border: 1px solid #fff;
	border-left: none;
	border-bottom: none;
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	margin: auto;
	right: 21px;
}
.g_btn:hover::after{
	border-color: #DD0012;
}
*/
/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_btn {
    width: 100%;
    height: 13vw;
    line-height: 12.8vw;
  }
  .g_btnBorder {
    width: 100%;
    height: 13vw;
    line-height: 12.8vw;
  }
  /*
  	.g_btn::after{
  		width: 1.86vw;
  		height: 1.86vw;
  		right: 5.86vw;
  	}
  */
}
/*    Decoration
=====================================================*/
/*IEのみfont-weight:500;が適用されないのでg_boldを入れる*/
html.ie .g_bold {
  font-weight: bold;
}

/*    Circle
=====================================================*/
.g_circle {
  position: relative;
  padding-left: 14px;
}

.g_circle::before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0.7em;
  left: 0;
  margin: auto;
  background-image: url(../img/common/ic_circle.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

/*    SP Mode
===========================*/
/*    List number
=====================================================*/
.g_incr {
  counter-increment: list;
}

.g_incr::before {
  content: counter(list);
}

/*    Entry
=====================================================*/
.g_entry {
  min-width: 1050px;
  max-width: 1050px;
  margin: 80px auto 0;
  padding: 75px;
  background-color: #fff;
}

.g_entry_ttl {
  font-size: 2.4rem;
  line-height: 1.2;
  margin: -3px auto;
  padding-bottom: 24px;
  border-bottom: 1px solid #eee;
}

.g_entry_group {
  margin: 25px auto 50px;
}

.g_entry_date {
  color: #686868;
  font-size: 1.2rem;
  line-height: 22px;
  margin-right: 15px;
}

.g_entry_label {
  width: auto;
  height: 22px;
  line-height: 22px;
  padding: 0 15px;
  background-color: #c3daf1;
  text-align: center;
  color: #3879b9;
  font-size: 1.2rem;
}

.g_entry_inr {
  width: 100%;
}

.g_entry_inr p {
  font-size: 1.4rem;
}

.g_entry_inr div {
  font-size: 1.4rem;
}

.g_entry_inr img {
  display: block;
  width: auto;
  max-width: 750px;
  line-height: 0;
}

.g_entry_inr img.aligncenter {
  margin: 0 auto;
}

.g_entry_inr img.alignleft {
  margin: 0 auto 0 0;
}

.g_entry_inr img.alignright {
  margin: 0 0 0 auto;
}

.g_entry_inr a {
  color: #1d459f;
  text-decoration: underline;
}

.g_entry_inr a:hover {
  text-decoration: none;
}

/*    SP Mode
===========================*/
/*    Pagetop
=====================================================*/
.g_pagetop {
  position: fixed;
  width: 50px;
  height: 50px;
  bottom: 40px;
  right: 40px;
  transition: opacity 1s, visibility 0s, ease 1s;
  opacity: 0;
  visibility: hidden;
  z-index: 200;
}

.g_pagetop img {
  width: 100%;
  transition: opacity 0.4s;
}

.g_pagetop.js_show {
  opacity: 1;
  visibility: visible;
}

.g_pagetop:hover img {
  opacity: 0.5;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_pagetop {
    position: fixed;
    width: 10.66vw;
    height: 10.66vw;
    bottom: 5.33vw;
    right: 5.33vw;
  }
}
/*    Pagenation
=====================================================*/
.g_pgnate {
  text-align: center;
  margin-top: 60px;
}

.g_pgnate__mgb {
  margin-bottom: 120px;
}

.g_pgnateLst {
  text-align: inherit;
  margin-top: -10px;
}

.g_pgnateLst_li {
  width: 46px;
  height: 46px;
  line-height: 46px;
  border-width: 1px;
  border-color: #3879b9;
  border-style: solid;
  font-size: 1.4rem;
  margin-left: 15px;
  margin-top: 10px;
  text-align: center;
  color: #3879b9;
  /*-webkit-transition: all 0.2s;
  transition: all 0.2s;*/
}

.g_pgnateLst_li__back {
  width: auto;
  padding: 0 28px;
}

.g_pgnateLst_li__prev::before,
.g_pgnateLst_li__next::before {
  width: 8px;
  height: 10px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.g_pgnateLst_li__prev::before {
  background-image: url(../img/common/ic_pgn_prev.png);
}

.g_pgnateLst_li__next::before {
  background-image: url(../img/common/ic_pgn_next.png);
}

.g_pgnateLst_li__tprev,
.g_pgnateLst_li__tnext {
  width: auto;
}

.g_pgnateLst_li__tprev::before,
.g_pgnateLst_li__tnext::before {
  width: 25px;
  height: 8px;
  top: 0;
  bottom: 0;
}

.g_pgnateLst_li__tprev::before {
  background-image: url(../img/common/ic_pgn_prev.png);
  left: 10px;
}

.g_pgnateLst_li__tnext::before {
  background-image: url(../img/common/ic_pgn_next.png);
  right: 10px;
}

.g_pgnateLst_li__tprev {
  padding: 0 19px 0 52px;
}

.g_pgnateLst_li__tnext {
  padding: 0 52px 0 19px;
}

.g_pgnateLst_li a {
  display: block;
  width: auto;
  height: inherit;
  padding: inherit;
  transition: none;
}

.g_pgnateLst_li__back a {
  margin: 0 -28px;
}

.g_pgnateLst_li__tprev a {
  margin: 0 -19px 0 -52px;
}

.g_pgnateLst_li__tnext a {
  margin: 0 -52px 0 -19px;
}

/*-- hover --*/
.g_pgnateLst_li.u_crnt,
.g_pgnateLst_li:hover {
  color: #fff;
  background-color: #3879b9;
}

.g_pgnateLst_li__prev:hover::before,
.g_pgnateLst_li__tprev:hover::before {
  background-image: url(../img/common/ic_pgn_prev_ov.png);
  -ms-pointer-events: none;
  pointer-events: none;
}

.g_pgnateLst_li__next:hover::before,
.g_pgnateLst_li__tnext:hover::before {
  background-image: url(../img/common/ic_pgn_next_ov.png);
  -ms-pointer-events: none;
  pointer-events: none;
}

/*    SP Mode
===========================*/
/*    Breadcrumb
=====================================================*/
.g_breadcrumb {
  margin-top: 40px;
  padding-bottom: 15px;
}

.g_breadcrumb_lst {
  padding: 7px 0;
}

.g_breadcrumb_lst_li {
  font-size: 1.2rem;
  line-height: 1;
  padding-right: 13px;
  margin-left: 10px;
}

.g_breadcrumb_lst_li::before {
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.g_breadcrumb_lst_li a {
  display: block;
  transition: 0.3s all;
}

.g_breadcrumb_lst_li a:hover {
  color: #00C4FF;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_breadcrumb_lst {
    padding: 1.86vw 0;
  }
  .g_breadcrumb_lst_li {
    padding-right: 3.46vw;
    margin-left: 2.66vw;
  }
  .g_breadcrumb_lst_li::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 0.2vw;
  }
}
/*    Contact Link
=====================================================*/
.g_contLink_wrap {
  /*	padding: 168px 0;*/
  /*	margin: 80px auto 0;*/
  background: url(../img/top/bg_smoke.png) no-repeat left top/auto 100%;
}

.g_contLink_area {
  /* background: url(../img/top/bg.png) no-repeat center/auto 100%; */
}

.g_contLink_lay {
  height: 100%;
  padding: 168px 0;
  /* background-color: rgba(0,0,0,0.50); */
}

.g_contLink_ttl {
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  padding: 0 0 20px;
}

html.ie .g_contLink_ttl {
  font-weight: bold;
}

.g_contLink_txt {
  text-align: center;
  padding: 0 0 35px;
}

.g_contLink_btn {
  max-width: 200px;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_contLink_wrap {
    /*		padding: 13.33vw 0 26.66vw;*/
    /*		margin: 13.33vw auto 0;*/
  }
  .g_contLink_lay {
    padding: 13.33vw 0 16vw;
  }
  .g_contLink_ttl {
    font-size: 2.2rem;
    padding: 0 0 5.33vw;
  }
  .g_contLink_txt {
    text-align: left;
    padding: 0 0 6.66vw;
  }
}
/*   PullDown
=====================================================*/
/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_pullDown {
    position: relative;
  }
  .g_pullDown::before,
  .g_pullDown::after {
    background-color: #DD0012;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all 0.3s linear;
  }
  .g_pullDown::before {
    width: 2.933vw;
    height: 1px;
    right: 5.2vw;
  }
  .g_pullDown::after {
    width: 1px;
    height: 2.933vw;
    right: 6.5vw;
  }
  .js_open .g_pullDown::before {
    display: none;
  }
  .js_open .g_pullDown::after {
    transition: all 0.3s linear;
    transform: rotate(90deg) translateY(0px);
  }
}
/*   Application DL
=====================================================*/
.g_appArea {
  width: 371px;
  padding: 14px;
  background-color: #fff;
}

.g_appContent {
  width: 343px;
}

.g_app_icon {
  width: 64px;
  height: auto;
  margin-right: 14px;
}

.g_app_dlTxt {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 10px;
}

.g_app_dlStore {
  width: 265px;
}

.g_app_dlApple {
  width: 120px;
  height: auto;
  margin-right: 10px;
}

.g_app_dlGoogle {
  width: 135px;
  height: auto;
}

.g_app_icon img,
.g_app_dlApple img,
.g_app_dlGoogle img {
  width: 100%;
}

.g_app_dlApple a,
.g_app_dlGoogle a {
  display: block;
}

/*    SP Mode
===========================*/
@media (max-width: 767px) {
  .g_appArea {
    width: 100%;
    padding: 5.33vw 0;
  }
  .g_appContent {
    width: 70.66vw;
    margin: auto;
  }
  .g_app_icon,
  .g_app_icon:first-of-type {
    width: 13.33vw;
    margin: 0 auto 2.66vw;
    display: block;
    text-align: center;
  }
  .g_app_dlTxt {
    text-align: center;
    margin-bottom: 2.66vw;
  }
  .g_app_dlStore {
    width: inherit;
    margin: auto;
  }
  .g_app_dlApple {
    width: 32vw;
    margin-right: 2.66vw;
    display: inline-block;
  }
  .g_app_dlGoogle {
    width: 36vw;
    display: inline-block;
  }
}