@charset "UTF-8";
/* Scss Document */
@import url(reset.css);
@import url(magnific-popup.css);
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
/*=======================================================
	css
========================================================*/
/*-------------- ブレークポイント作成 ここから ----------------*/
/*-------------- ブレークポイント作成 ここまで ----------------*/
/*-------------- calc mixin ここから ----------------*/
/*-------------- calc mixin ここまで ----------------*/
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
  font-size: 1.6rem;
  color: #323232;
  -webkit-font-smoothing: antialiased;
  line-height: normal;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

main {
  display: block;
}

a {
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
a:hover {
  opacity: 0.7;
  cursor: pointer;
}
a:visited, a:link {
  color: #323232;
}

img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

.wrapper {
  overflow: hidden;
  font-family: "Noto Sans Japanese", sans-serif;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 1020px) {
  .inner {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .inner {
    padding: 0 5.33%;
  }
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
}
.u-emphasis-text {
  color: #f27070;
  font-weight: 700;
}

/*=======================================================

	header

========================================================*/
.header {
  padding: 38px 0;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 75px;
}
@media only screen and (max-width: 767px) {
  .header {
    height: 60px;
    padding: 22.5px 0;
  }
}
.header_logo {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .header_logo {
    font-size: 1rem;
  }
}
.header_logo a span {
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .header_btn {
    cursor: pointer;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 60px;
    font-size: 0.9rem;
    width: 60px;
    height: 60px;
    text-align: center;
    padding-top: 36px;
    border-left: 1px solid #dedede;
  }
}
.header_btn div {
  width: 24px;
  height: 13px;
  position: absolute;
  top: 17px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.header_btn div span {
  display: block;
  height: 1px;
  background-color: #000;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.header_btn div span:nth-of-type(2) {
  -webkit-transform: translate3d(0, 6px, 0);
          transform: translate3d(0, 6px, 0);
}
.header_btn div span:nth-of-type(3) {
  -webkit-transform: translate3d(0, 12px, 0);
          transform: translate3d(0, 12px, 0);
}
.header_btn:not(.close) div span:nth-of-type(1) {
  -webkit-transform: translate3d(0, 6px, 0) rotate(-45deg);
          transform: translate3d(0, 6px, 0) rotate(-45deg);
}
.header_btn:not(.close) div span:nth-of-type(2) {
  opacity: 0;
}
.header_btn:not(.close) div span:nth-of-type(3) {
  -webkit-transform: translate3d(0, 4px, 0) rotate(45deg);
          transform: translate3d(0, 4px, 0) rotate(45deg);
}
.header_login {
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  line-height: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .header_login {
    width: 60px;
    height: 60px;
    line-height: normal;
  }
}
.header_login a {
  font-size: 1.4rem;
  display: block;
  text-align: center;
  background-color: #f3f1d6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .header_login a {
    font-size: 0.9rem;
    height: 60px;
    padding-top: 36px;
  }
}
.header_login a:hover {
  opacity: 1;
  background-color: #a4793c;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .header_login a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f007";
    font-weight: bold;
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 1.6rem;
  }
}
.header .gNav {
  position: absolute;
  top: 0;
  right: 30px;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .header .gNav {
    width: 100%;
    top: 60px;
    right: 0;
  }
}
.header .gNav ul {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .header .gNav ul {
    height: 75px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: center;
        align-content: center;
  }
}
.header .gNav ul li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .header .gNav ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 768px) {
  .header .gNav ul li:not(:last-of-type) {
    padding-right: 25px;
  }
}
@media print, screen and (min-width: 768px) {
  .header .gNav ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 3px 0;
    border-bottom: 1px solid #fff;
  }
}
.header .gNav ul li a:hover {
  opacity: 1;
}
@media print, screen and (min-width: 768px) {
  .header .gNav ul li a:hover {
    border-bottom: 1px solid #a4793c;
  }
}
.header .gNav ul li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: #a4793c;
  margin-right: 5px;
  font-size: 2rem;
}
.header .gNav ul li a span {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 1020px) {
  .header .gNav ul li a span {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .gNav ul li a span {
    text-align: left;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .gNav ul li:last-of-type a {
    border-bottom: 1px solid #dedede;
  }
}
.header .gNav_home a::before {
  content: "\f015";
}
.header .gNav_mypage a::before {
  content: "\f007";
}
.header .gNav_logout a::before {
  content: "\f2f5";
}
.header-login .header_logo {
  left: 30px;
}
@media only screen and (max-width: 767px) {
  .header-login .header_logo {
    left: 20px;
    margin: 0 auto;
    text-align: center;
  }
}
@media only screen and (max-width: 349px) {
  .header-login .header_logo {
    width: 160px;
  }
}
@media only screen and (max-width: 767px) {
  .header-login .header_logo a span {
    display: block;
    margin-bottom: 5px;
  }
}
.header-before .header_logo {
  text-align: center;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.header-before .header_logo a span {
  display: inline-block;
  margin-right: 5px;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .header-before .header_logo a span {
    display: block;
    margin: 0 0 5px;
  }
}

/*=======================================================

	.menu

========================================================*/
.menu {
  border-top: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .menu {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 10;
  }
}
.menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  .menu ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.menu ul li {
  width: 23.29%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .menu ul li {
    width: 100%;
    border-bottom: 1px solid #dedede;
  }
}
@media print, screen and (min-width: 768px) {
  .menu ul li:first-of-type:before {
    content: "";
    display: block;
    width: 1px;
    height: 40px;
    background-color: #dedede;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .menu ul li::after {
    content: "";
    display: block;
    width: 1px;
    height: 40px;
    background-color: #dedede;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .menu ul li:not(:last-of-type) {
    padding-right: 1px;
    position: relative;
  }
}
.menu ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.42;
  padding: 21px 5px 22px;
  -webkit-transition-property: background-color;
  transition-property: background-color;
}
@media only screen and (max-width: 767px) {
  .menu ul li a {
    display: block;
    text-align: left;
    padding: 21px 20px 21px 45px;
    background-color: #fff;
  }
}
@media print, screen and (min-width: 768px) {
  .menu ul li a {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 767px) {
  .menu ul li a span {
    margin: 0 auto;
  }
}
.menu ul li a .menu_support_note {
  color: #f27070;
}
.menu ul li a:hover {
  opacity: 1;
  color: #fff;
}
.menu ul li a:hover .menu_support_note {
  color: #fff;
}
.menu ul li.active {
  pointer-events: none;
}
.menu ul li.active a {
  color: #fff;
}
.menu_support a {
  background: url(../img/common/ico_life.svg) no-repeat center 19px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_support a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_support a:hover {
  background: #ec914f url(../img/common/ico_life_hover.svg) no-repeat center 19px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_support a:hover {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_support.active a {
  background: #ec914f url(../img/common/ico_life_hover.svg) no-repeat center 19px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_support.active a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_travel a {
  background: url(../img/common/ico_travel.svg) no-repeat center 21px;
  background-size: 36px auto;
}
@media only screen and (max-width: 767px) {
  .menu_travel a {
    background-position: 20px center;
    background-size: 18px auto;
  }
}
.menu_travel a:hover {
  background: #f27070 url(../img/common/ico_travel_hover.svg) no-repeat center 21px;
  background-size: 36px auto;
}
@media only screen and (max-width: 767px) {
  .menu_travel a:hover {
    background-position: 20px center;
    background-size: 18px auto;
  }
}
.menu_travel.active a {
  background: #f27070 url(../img/common/ico_travel_hover.svg) no-repeat center 21px;
  background-size: 36px auto;
}
@media only screen and (max-width: 767px) {
  .menu_travel.active a {
    background-position: 20px center;
    background-size: 18px auto;
  }
}
.menu_employ a {
  background: url(../img/common/ico_employ.svg) no-repeat center 20px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_employ a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_employ a:hover {
  background: #62bebb url(../img/common/ico_employ_hover.svg) no-repeat center 20px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_employ a:hover {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_employ.active a {
  background: #62bebb url(../img/common/ico_employ_hover.svg) no-repeat center 20px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_employ.active a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_high a::before {
    content: "";
    display: block;
    width: 24px;
    height: 22px;
    background: url(../img/common/ico_highlife.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_high a {
    background: url(../img/common/ico_highlife.svg) no-repeat center 23px;
    background-position: 20px center;
    background-size: 12.5px auto;
  }
}
@media only screen and (max-width: 767px) {
  .menu_high a:hover {
    background: #58a7c4 url(../img/common/ico_highlife_hover.svg) no-repeat center 23px;
    background-position: 20px center;
    background-size: 12.5px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_high a:hover {
    background: #58a7c4;
  }
  .menu_high a:hover::before {
    background: url(../img/common/ico_highlife_hover.svg) no-repeat center/contain;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_high.active a {
    background: #58a7c4;
  }
  .menu_high.active a::before {
    background: url(../img/common/ico_highlife_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_high.active a {
    background: #58a7c4 url(../img/common/ico_highlife_hover.svg) no-repeat center 23px;
    background-position: 20px center;
    background-size: 12.5px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_sympathy a::before {
    content: "";
    display: block;
    width: 32px;
    height: 23px;
    background: url(../img/common/ico_sympathy.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_sympathy a {
    background: url(../img/common/ico_sympathy.svg) no-repeat center 21px;
    background-position: 20px center;
    background-size: 18.5px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_sympathy a:hover {
    background: #60b68d;
  }
  .menu_sympathy a:hover::before {
    background: url(../img/common/ico_sympathy_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_sympathy a:hover {
    background: #60b68d url(../img/common/ico_sympathy_hover.svg) no-repeat center 21px;
    background-position: 20px center;
    background-size: 18.5px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_sympathy.active a {
    background: #60b68d;
  }
  .menu_sympathy.active a::before {
    background: url(../img/common/ico_sympathy_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_sympathy.active a {
    background: #60b68d url(../img/common/ico_sympathy_hover.svg) no-repeat center 21px;
    background-position: 20px center;
    background-size: 18.5px auto;
  }
}
.menu_insurance a {
  background: url(../img/common/ico_insurance.svg) no-repeat center 28px;
  background-size: 40px auto;
}
@media only screen and (max-width: 767px) {
  .menu_insurance a {
    background-position: 20px center;
    background-size: 20px auto;
  }
}
.menu_insurance a:hover {
  background: #20aee5 url(../img/common/ico_insurance_hover.svg) no-repeat center 28px;
  background-size: 40px auto;
}
@media only screen and (max-width: 767px) {
  .menu_insurance a:hover {
    background-position: 20px center;
    background-size: 20px auto;
  }
}
.menu_insurance.active a {
  background: #20aee5 url(../img/common/ico_insurance_hover.svg) no-repeat center 28px;
  background-size: 40px auto;
}
@media only screen and (max-width: 767px) {
  .menu_insurance.active a {
    background-position: 20px center;
    background-size: 20px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_health a::before {
    content: "";
    display: block;
    width: 19px;
    height: 30px;
    background: url(../img/common/ico_medical.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_health a {
    background: url(../img/common/ico_medical.svg) no-repeat center 17px;
    background-position: 20px center;
    background-size: 11px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_health a:hover {
    background: #72a2cf;
  }
  .menu_health a:hover::before {
    background: url(../img/common/ico_medical_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_health a:hover {
    background: #72a2cf url(../img/common/ico_medical_hover.svg) no-repeat center 17px;
    background-position: 20px center;
    background-size: 11px auto;
  }
}
@media print, screen and (min-width: 768px) {
  .menu_health.active a {
    background: #72a2cf;
  }
  .menu_health.active a::before {
    background: url(../img/common/ico_medical_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .menu_health.active a {
    background: #72a2cf url(../img/common/ico_medical_hover.svg) no-repeat center 17px;
    background-position: 20px center;
    background-size: 11px auto;
  }
}
.menu_circle a {
  background: url(../img/common/ico_circle.svg) no-repeat center 21px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_circle a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_circle a:hover {
  background: #8f8acc url(../img/common/ico_circle_hover.svg) no-repeat center 21px;
  background-size: 27px auto;
}
@media only screen and (max-width: 767px) {
  .menu_circle a:hover {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.menu_circle.active a {
  background-color: #8f8acc;
}

/*=======================================================

	home main-visual

========================================================*/
.main-wrapper {
  max-width: 1080px;
  width: 100%;
  background-color: #fff;
  padding-bottom: 8.78%;
  margin-inline: auto;
}

.main-visual_headline {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-top: 40px;
}
@media only screen and (max-width: 767px) {
  .main-visual_headline {
    padding-top: 24px;
  }
}
.main-visual_headline img {
  height: auto;
  margin-inline: auto;
}
.main-visual_headline + * {
  margin-top: 32px;
}
@media only screen and (max-width: 767px) {
  .main-visual_headline + * {
    margin-top: 16px;
  }
}

.main-visual_list {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4.387755102% 1fr 4.387755102% 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 4.387755102%;
     -moz-column-gap: 4.387755102%;
          column-gap: 4.387755102%;
  max-width: 1020px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}
@media only screen and (max-width: 767px) {
  .main-visual_list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    row-gap: 16px;
    padding-inline: 5.33%;
  }
}
.main-visual_list + * {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .main-visual_list + * {
    margin-top: 40px;
  }
}

.main-visual_item {
  --_border-width: 4px;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 4;
  grid-row: span 4;
  border: var(--_border-width) solid rgb(var(--_color));
  border-radius: 16px;
  background-color: rgb(var(--_color), 0.1);
  padding-block: calc(21px - var(--_border-width)) calc(32px - var(--_border-width));
  padding-inline: calc(24px - var(--_border-width));
}
.main-visual_item[data-color=highlife] {
  --_color: 88, 167, 196;
}
.main-visual_item[data-color=condolence] {
  --_color: 96, 182, 141;
}
.main-visual_item[data-color=healthcheck] {
  --_color: 114, 162, 207;
}
@media only screen and (max-width: 767px) {
  .main-visual_item {
    row-gap: 0;
    padding-block: calc(24px - var(--_border-width)) calc(32px - var(--_border-width));
  }
}
.main-visual_item > * {
  -ms-grid-column-align: center;
      justify-self: center;
}

.main-visual_item-icon {
  display: block;
  height: auto;
}

.main-visual_item-headline {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.3846;
  letter-spacing: 0;
  text-align: center;
  color: rgb(var(--_color));
  margin-top: 17px;
}
@media only screen and (max-width: 767px) {
  .main-visual_item-headline {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 11px;
  }
}
.main-visual_item-headline.u-wbr {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.main-visual_item-text {
  line-height: 1.875;
  letter-spacing: 0;
  text-align: center;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .main-visual_item-text {
    text-align: left;
    margin-top: 5px;
  }
}

a.main-visual_item-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  color: #FFFFFF;
  background-color: rgb(var(--_color));
  border-radius: 8px;
  margin-top: 14px;
  padding-block: 16px;
  padding-inline: 20px;
}
@media only screen and (max-width: 767px) {
  a.main-visual_item-button {
    line-height: 2;
    padding-block: 10px;
    margin-top: 10px;
  }
}

/*=======================================================

	footer

========================================================*/
.footer_body {
  padding: 2.92% 30px;
  position: relative;
}
.footer_body .inner {
  position: relative;
}
.footer_body .contact {
  width: 37.45%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
  right: 6.58%;
}
@media only screen and (max-width: 1020px) {
  .footer_body .contact .inner {
    padding: 0;
  }
}
.footer_body .contact_text {
  font-size: 1.6rem;
  text-align: left;
}
.footer_body .contact_img span {
  width: 100%;
  margin: 0 auto 0 0;
  text-align: left;
}
.footer_login {
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (max-width: 1020px) {
  .footer_login {
    right: 20px;
  }
}
.footer_login a {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  border: 1px solid #dedede;
  padding: 9px 30px;
  border-radius: 4px;
}
.footer_login a:hover {
  opacity: 1;
  background-color: #dedede;
}
.footer_login a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f023";
  font-weight: bold;
  margin-right: 5px;
}
.footer_list {
  width: 41.72%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer_list li {
  width: 30%;
}
.footer_list li p {
  line-height: 0;
}
.footer_list li p:not(:first-of-type) {
  margin-top: 10px;
}
.footer_list li p a {
  display: block;
  font-size: 1.2rem;
  line-height: 1.4;
  left: 0.05em;
  padding-left: 25px;
  position: relative;
}
.footer_list li p a:hover {
  opacity: 1;
  text-decoration: underline;
}
.footer_list li p a::before {
  content: "";
  display: block;
  width: 6px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 10px;
}
.footer_foot {
  background-color: #f4f4f4;
}
@media print, screen and (min-width: 768px) {
  .footer_foot {
    padding: 2.04% 0;
  }
}
.footer_foot .inner {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .footer_foot .inner {
    padding: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .footer_link {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 131px;
  }
}
@media only screen and (max-width: 1020px) {
  .footer_link {
    right: 151px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer_link li {
  padding: 0 10px;
  position: relative;
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .footer_link li {
    float: left;
  }
}
@media only screen and (max-width: 1020px) {
  .footer_link li {
    padding: 0 7px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_link li {
    width: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0;
    border-bottom: 1px solid #dedede;
  }
}
@media only screen and (max-width: 767px) {
  .footer_link li:nth-of-type(2n+1) {
    border-right: 1px solid #dedede;
  }
}
@media print, screen and (min-width: 768px) {
  .footer_link li:not(:last-of-type)::after {
    content: "";
    width: 1px;
    height: 12px;
    background-color: #dedede;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
  }
}
.footer_link li a {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: normal;
}
@media only screen and (max-width: 1020px) {
  .footer_link li a {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer_link li a {
    display: block;
    padding: 11.2% 12%;
    font-size: 1.1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .footer_link li a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}
.footer_logo {
  font-weight: 500;
  color: #000;
}
@media only screen and (max-width: 1020px) {
  .footer_logo {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer_logo {
    text-align: center;
    margin-top: 5.5%;
    font-size: 1rem;
  }
}
.footer_copy {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .footer_copy {
    text-align: center;
    margin-top: 0.66%;
    padding-bottom: 4%;
  }
}
.footer_btn {
  line-height: 0;
  position: fixed;
  right: 5.33%;
  bottom: 20px;
  cursor: pointer;
  z-index: 5;
}
@media print, screen and (min-width: 768px) {
  .footer_btn {
    width: 4%;
    right: 2%;
  }
}
.footer_btn:hover {
  opacity: 0.7;
}
@media print, screen and (min-width: 768px) {
  .footer:not(.footer-login) .footer_copy {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
  }
}
@media only screen and (max-width: 1020px) {
  .footer:not(.footer-login) .footer_copy {
    right: 20px;
  }
}
.footer-login .footer_foot {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .footer-login .footer_foot {
    padding: 18px 30px;
  }
}
.footer-login .footer_link {
  right: 30px;
}
@media print, screen and (min-width: 768px) {
  .footer-login .footer_link {
    width: 38.92%;
  }
}
.footer-login .footer_logo span {
  display: inline-block;
  margin-right: 5px;
}
.footer-login .footer_copy {
  margin-top: 5px;
}

/*=======================================================

	.home

========================================================*/
.home .greeting {
  background-color: #c11111;
  line-height: 0;
  padding: 10px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .home .greeting img {
    width: 100%;
  }
}
.home .banner_img {
  line-height: 0;
}
.home .banner_img img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .home .block-02 .box-01 a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1441px) {
  .home .block-02 .box-01 .box_img {
    width: 70.2%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .home .block-02 .box-01 .box_img {
    width: 70.2%;
  }
}
@media print, screen and (min-width: 768px) {
  .home .block-02 .box-01 .box_img {
    background-size: cover;
    background-position: center bottom;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .home .block-02 .box-01 .box_inner {
    width: 29.8%;
  }
}
.home .block-02 .box-02 .box_inner, .home .block-02 .box-03 .box_inner {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .home .header {
    border-bottom: 1px solid #dedede;
  }
}
.home .footer_body {
  border-top: 1px solid #dedede;
}
.home .menu {
  border-bottom: 1px solid #dedede;
}
.home main.contents {
  background: url(../img/home/bg_hero.png);
  padding-bottom: 0;
}

/*=======================================================

	共通パーツ

========================================================*/
.contents {
  padding-bottom: 8.78%;
}
@media only screen and (max-width: 767px) {
  .contents {
    padding-bottom: 10.66%;
  }
}

.layout > div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .layout > div {
    float: left;
    width: 50%;
  }
}

.img {
  line-height: 0;
  text-align: center;
}
.img-max img {
  width: 100%;
}

.btn a, .btn span, .btn button, .btn input {
  width: 300px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  letter-spacing: 0.05em;
  padding: 15px 0;
  border: 1px solid #727272;
  border-radius: 7px;
  text-align: center;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  cursor: pointer;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .btn a, .btn span, .btn button, .btn input {
    width: 200px;
    padding: 20px 0;
    font-size: 1.2rem;
  }
}
.btn a:hover, .btn span:hover, .btn button:hover, .btn input:hover {
  opacity: 1;
  background-color: #727272;
  color: #fff;
}
.btn button,
.btn input {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .btn button,
  .btn input {
    font-size: 1.2rem;
  }
}
.btn-big a, .btn-big button {
  width: 350px;
  font-size: 2.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .btn-big a, .btn-big button {
    width: 250px;
    font-size: 1.6rem;
  }
}
.btn-reverse a, .btn-reverse button, .btn-reverse input {
  background-color: #727272;
  color: #fff;
}
.btn-reverse a:hover, .btn-reverse button:hover, .btn-reverse input:hover {
  opacity: 0.7;
}
.btn-brown a {
  color: #fff;
  background-color: #a4793c;
  border-color: #a4793c;
}
.btn-brown a:hover {
  background-color: #a4793c;
  opacity: 0.7;
}
.btn-watch {
  text-align: center;
}
.btn-watch a {
  display: inline-block;
  width: auto;
  background-color: #e77775;
  border: none;
  -webkit-box-shadow: 0 3px 0 0 #ce6260;
          box-shadow: 0 3px 0 0 #ce6260;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 15px 30px;
}
@media only screen and (max-width: 767px) {
  .btn-watch a {
    width: 100%;
    max-width: 335px;
    font-size: 1.8rem;
    padding: 15px 10px;
  }
}
@media only screen and (max-width: 349px) {
  .btn-watch a {
    font-size: 1.6rem;
  }
}
.btn-watch a:hover {
  background-color: #e77775;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-circle a {
  background: url(../img/common/bg_stripe_circle.png) left top;
  border: none;
  color: #fff;
  font-weight: bold;
}
.btn-circle a:hover {
  color: #fff;
  opacity: 0.7;
}
.btn-goto a {
  background-color: #2b96d9;
  border-color: #2b96d9;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .btn-goto a {
    font-size: 1.6rem;
  }
}
.btn-goto a:hover {
  color: #2b96d9;
  background-color: #fff;
}

.text-center {
  text-align: center;
}

.breadcrumbs {
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  padding: 8px 35px;
}
@media only screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 8px 5.33%;
  }
}
.breadcrumbs a, .breadcrumbs span {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
.breadcrumbs a {
  color: #a4793c;
}
.breadcrumbs a:hover {
  opacity: 1;
  text-decoration: underline;
}
.breadcrumbs a::after {
  content: ">";
  display: inline-block;
  margin-left: 5px;
  color: #323232;
}

.head {
  padding: 4.39% 0;
  background: url(../img/common/bg_stripe_creem.png) left top;
  margin-bottom: 2.92%;
}
@media only screen and (max-width: 767px) {
  .head {
    padding: 5.33% 0;
    margin-bottom: 40px;
  }
}
.head_title {
  text-align: center;
  font-size: 4.4rem;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .head_title {
    font-size: 2.2rem;
  }
}
.head_title span {
  display: inline-block;
  border: 1px solid #727272;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0.66% 6.12%;
}
@media only screen and (max-width: 767px) {
  .head_title span {
    display: block;
    font-size: 2rem;
    padding: 1.34% 0;
  }
}
.head_text {
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 2.04%;
}
@media only screen and (max-width: 767px) {
  .head_text {
    margin-top: 4.47%;
  }
}

.cont_title {
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.14;
  left: 0.05em;
  padding: 2.55% 0;
  background: url(../img/common/bg_stripe_creem.png) left top;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .cont_title {
    font-size: 2rem;
    line-height: 1.2;
    padding: 4.47% 0;
    margin-bottom: 5.97%;
  }
}
.cont_title span {
  color: #a4793c;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .cont_text {
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .cont_text {
    font-size: 1.2rem;
  }
}
.cont_text span {
  font-weight: bold;
  color: #f27070;
}
.cont_alert {
  text-align: center;
  color: #d43333;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  margin: 2.04% 0 4.08%;
}
@media only screen and (max-width: 767px) {
  .cont_alert {
    font-size: 1.2rem;
    margin: 5.22% 0;
  }
}
.cont_action {
  padding: 3.06%;
  border: 1px solid #a4793c;
  margin-top: 3.57%;
}
@media only screen and (max-width: 767px) {
  .cont_action {
    padding: 3.73% 4.44% 4.47%;
  }
}
.cont_action p {
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 2;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .cont_action p {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.cont_action p:not(:first-of-type) {
  margin-top: 2.17%;
}
@media only screen and (max-width: 767px) {
  .cont_action p:not(:first-of-type) {
    margin-top: 4%;
  }
}
.cont_action p span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .cont_action p span {
    display: block;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.cont_action p span span {
  font-size: 2.2rem;
}
@media only screen and (max-width: 767px) {
  .cont_action p span span {
    display: block;
    font-size: 1.6rem;
  }
}
.cont_action-reverse {
  background-color: #a4793c;
}
.cont_action-reverse p {
  color: #fff;
  font-weight: bold;
}
.cont_head {
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .cont_head {
    line-height: 1.4;
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.cont .flow_box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  border: 1px solid #dedede;
  padding: 2% 1%;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box {
    width: 23.46%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box {
    padding: 4.47%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box:not(:first-of-type) {
    margin-top: 5.97%;
  }
}
@media only screen and (max-width: 349px) {
  .cont .flow_box:not(:first-of-type) {
    margin-top: 20px;
  }
}
.cont .flow_box:not(:last-of-type)::before {
  content: "";
  display: block;
  width: 10%;
  padding-bottom: 10%;
  border-top: 1px solid #dedede;
  border-right: 1px solid #dedede;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box:not(:last-of-type)::before {
    top: -o-calc(50% - 8.5px);
    top: calc(50% - 8.5px);
    right: -5.5%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box:not(:last-of-type)::before {
    width: 22px;
    padding-bottom: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    top: -o-calc(100% - 10px);
    top: calc(100% - 10px);
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box > div {
    width: 61.2%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box-send .flow_img span {
    top: 28.75%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box-send .flow_img span {
    width: 49.57%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box-receive .flow_img span {
    top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box-receive .flow_img span {
    width: 40.17%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box-input .flow_img span {
    top: 15%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box-input .flow_img span {
    width: 37.71%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box-fax .flow_img span {
    top: 15%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box-fax .flow_img span {
    width: 39.31%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow_box-confirm .flow_img span {
    top: 12.5%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_box-confirm .flow_img span {
    width: 37.6%;
  }
}
.cont .flow_img {
  line-height: 0;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .cont .flow_img {
    padding-bottom: 42.55%;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_img {
    width: 38.8%;
  }
}
.cont .flow_img span {
  display: block;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .cont .flow_img span {
    position: absolute;
    left: 0;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .cont .flow_img span img {
    width: 100%;
  }
}
.cont .flow_label {
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .cont .flow_label {
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.3;
  }
}
.cont .flow_title {
  color: #a4793c;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .cont .flow_title {
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.3;
  }
}
.cont .flow_text {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  text-align: left;
  margin-top: 5.31%;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .cont .flow_text {
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow-03 .flow_box {
    width: 31.83%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow-03 .flow_box:not(:last-of-type)::before {
    width: 7.37%;
    padding-bottom: 7.37%;
    right: -4.1%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow-03 .flow_box .flow-input .flow_img {
    margin: 5.71% 0 4.5%;
  }
}
@media print, screen and (min-width: 768px) {
  .cont .flow-03 .flow_box .flow-receive .flow_img {
    margin: 0 0 5.6%;
  }
}
.cont .sub {
  margin-top: 8.16%;
}
.cont .sub > p:not(:first-of-type) {
  margin-top: 4.08%;
}
@media only screen and (max-width: 767px) {
  .cont .sub > p:not(:first-of-type) {
    margin-top: 3.73%;
  }
}
.cont .sub_title {
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.18;
  color: #a4793c;
  padding-bottom: 1.02%;
  border-bottom: 1px solid #dedede;
  margin-bottom: 1%;
}
@media only screen and (max-width: 767px) {
  .cont .sub_title {
    font-size: 1.6rem;
    padding-bottom: 2.98%;
    margin-bottom: 2.98%;
  }
}
.cont .sub_text {
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .cont .sub_text {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.cont .sub_text strong {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .cont .sub_text a {
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .cont .sub_text a {
    text-decoration: underline;
  }
}
@media only screen and (max-width: 767px) {
  .cont .sub_text a:hover {
    text-decoration: none;
  }
}
.cont .sub_link {
  margin-top: 1.63%;
}
.cont .sub_link li a {
  display: block;
  letter-spacing: 0.05em;
  padding: 2.19% 3.57%;
  border: 1px solid #dedede;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cont .sub_link li a {
    font-size: 1.2rem;
    padding: 5.97% 5.22%;
  }
}
.cont .sub_link li a::after {
  content: "";
  display: block;
  width: 1.73%;
  padding-bottom: 9.04%;
  background: url(../img/common/ico_link.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2.55%;
}
@media only screen and (max-width: 767px) {
  .cont .sub_link li a::after {
    width: 12.5px;
    padding-bottom: 15.5px;
  }
}
.cont .sub_link li:not(:first-of-type) {
  margin-top: 1.02%;
}
.cont .sub_list li {
  line-height: 2;
  letter-spacing: 0.05em;
  padding-left: 33px;
  text-indent: -33px;
}
@media only screen and (max-width: 767px) {
  .cont .sub_list li {
    font-size: 1.2rem;
    line-height: 1.4;
    padding-left: 25px;
    text-indent: -25px;
  }
}
.cont .sub_list-child {
  padding-left: 31px;
}
@media only screen and (max-width: 767px) {
  .cont .sub_list-child {
    padding-left: 24px;
  }
}
.cont .sub_list-child li {
  padding-left: 27px;
  text-indent: -27px;
}
@media only screen and (max-width: 767px) {
  .cont .sub_list-child li {
    padding-left: 20px;
    text-indent: -20px;
  }
}

.notes {
  margin-top: 4.08%;
}
@media only screen and (max-width: 767px) {
  .notes {
    margin-top: 5.97%;
  }
}
.notes p {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .notes p {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.notes p:not(:first-of-type) {
  margin-top: 3%;
}
@media only screen and (max-width: 767px) {
  .notes p:not(:first-of-type) {
    margin-top: 4.91%;
  }
}
.notes_inner {
  border: 1px dashed #dedede;
  padding: 3.19% 3.8%;
}
@media only screen and (max-width: 767px) {
  .notes_inner {
    padding: 5.22% 5.97%;
  }
}
.notes_head {
  color: #d43333;
  display: block;
  font-weight: bold;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .notes_head {
    font-size: 1.2rem;
    margin-bottom: 0.9%;
  }
}
.notes_child {
  display: block;
}
@media only screen and (max-width: 767px) {
  .notes_child {
    padding-left: 16px;
    text-indent: -16px;
  }
}

.contact {
  text-align: center;
  margin-top: 3.57%;
}
@media only screen and (max-width: 767px) {
  .contact {
    margin-top: 40px;
  }
}
.contact_title {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #fff;
  background: url(../img/common/bg_stripe_travel.png) left top;
  padding: 20px 0;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .contact_title {
    font-size: 2rem;
    margin-bottom: 10px;
    padding: 10px 0;
  }
}
.contact_text {
  font-size: 2.2rem;
  left: 0.05em;
  line-height: 1.63;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .contact_text {
    font-size: 1.6rem;
  }
}
.contact_text span {
  display: block;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .contact_text span {
    font-size: 1rem;
  }
}
.contact_plus {
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  padding: 25px 0;
  margin-top: 25px;
  font-size: 1.4rem;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .contact_plus {
    padding: 15px 0;
    font-size: 1rem;
    margin-top: 20px;
  }
}
.contact_plus span {
  font-weight: bold;
}
.contact_img {
  margin-top: 2.55%;
}
.contact_img span {
  display: block;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .contact_img span {
    max-width: 56.58%;
  }
}
.contact_btn {
  margin-top: 35px;
}

.contact-family {
  text-align: center;
}

.contact-family-wrapper {
  padding: 3.06% 0;
  margin-top: 3.57%;
  border-top: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .contact-family-wrapper {
    padding: 4.47% 0;
    margin-top: 5.97%;
  }
}

.contact-family_caution {
  color: #f27070;
}

.contact-family_text {
  font-weight: 700;
}

.mail_text {
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  font-size: 1.4rem;
  margin-top: 3.57%;
  padding: 3.06% 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .mail_text {
    margin-top: 5.97%;
    padding: 4.47% 0;
  }
}
.mail_text a {
  text-decoration: underline;
}
.mail_text a:hover {
  text-decoration: none;
  opacity: 1;
}

.contact-family + .mail .mail_text {
  margin-top: 0;
}

.news .inner {
  position: relative;
}
.news_head {
  color: #a4793c;
  font-size: 2.2rem;
  margin-bottom: 10px;
  padding-left: 32px;
  background: url(../img/common/ico_news_head.svg) no-repeat left center;
}
@media only screen and (max-width: 767px) {
  .news_head {
    font-size: 1.8rem;
  }
}
.news_more {
  padding-right: 23px;
  background: url(../img/common/ico_news_more.svg) no-repeat right center;
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (max-width: 1020px) {
  .news_more {
    right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .news_more {
    top: 5px;
    right: 5.33%;
  }
}
.news_list {
  border-top: 1px solid #dedede;
}
.news_list li {
  border-bottom: 1px solid #dedede;
}
.news_list li a {
  display: block;
  padding: 20px;
}
.news_category {
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.085em;
  padding: 5px 0 5px 40px;
}
.news_date {
  color: #727272;
}
.news_title {
  letter-spacing: 0.05em;
  line-height: 1.875;
}
.news_employ .news_category {
  color: #62bebb;
  background: url(../img/common/ico_employ.svg) no-repeat left center;
}
.news_travel .news_category {
  color: #f27070;
  background: url(../img/common/ico_travel.svg) no-repeat left center;
}
.news_web .news_category {
  color: #a4793c;
  background: url(../img/common/ico_web.svg) no-repeat left center;
}
.news_support .news_category {
  color: #ec914f;
  background: url(../img/common/ico_life.svg) no-repeat left center;
}
.news_insurance .news_category {
  color: #20aee5;
  background: url(../img/common/ico_insurance.svg) no-repeat left center;
}
.news_club .news_category {
  color: #908bcd;
  background: url(../img/common/ico_club.svg) no-repeat left center;
}
.news_highlife .news_category {
  color: #58a7c4;
  background: url(../img/common/ico_highlife.svg) no-repeat left center;
}
.news_medical .news_category {
  color: #72a2cf;
  background: url(../img/common/ico_medical.svg) no-repeat left center;
}
.news_sympathy .news_category {
  color: #60b68d;
  background: url(../img/common/ico_sympathy.svg) no-repeat left center;
}

.detail_head {
  padding: 15px 0;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  .detail_head {
    margin-bottom: 20px;
  }
}
.detail_head p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.detail_category {
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.085em;
  padding: 5px 0 5px 45px;
}
.detail_date {
  font-size: 1.2rem;
  letter-spacing: 0.085em;
  color: #727272;
  padding: 5px 0;
}
.detail_title {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .detail_title {
    font-size: 2rem;
  }
}
.detail_title-small {
  font-size: 2.2rem;
  line-height: 1.63;
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .detail_title-small {
    font-size: 1.8rem;
    margin-top: 25px;
  }
}
.detail_text:not(:first-of-type) {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .detail_text:not(:first-of-type) {
    margin-top: 15px;
  }
}
.detail_img {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .detail_img {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .detail_img > div {
    width: 47.5%;
  }
}
@media print, screen and (min-width: 768px) {
  .detail_img > div:last-of-type {
    margin-left: 5%;
  }
}
@media only screen and (max-width: 767px) {
  .detail_img > div:last-of-type {
    margin-top: 10px;
  }
}
.detail_img > div p {
  line-height: 0;
}
.detail_img > div p img {
  width: 100%;
}
.detail_btn {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .detail_btn {
    margin-top: 30px;
  }
}
.detail-employ .detail_category {
  color: #62bebb;
  background: url(../img/common/ico_employ.svg) no-repeat left center;
}
.detail-travel .detail_category {
  color: #f27070;
  background: url(../img/common/ico_travel.svg) no-repeat left center;
}
.detail-web .detail_category {
  color: #a4793c;
  background: url(../img/common/ico_web.svg) no-repeat left center;
}
.detail-support .detail_category {
  color: #ec914f;
  background: url(../img/common/ico_life.svg) no-repeat left center;
}
.detail-insurance .detail_category {
  color: #20aee5;
  background: url(../img/common/ico_insurance.svg) no-repeat left center;
}
.detail-club .detail_category {
  color: #908bcd;
  background: url(../img/common/ico_club.svg) no-repeat left center;
}
.detail-highlife .detail_category {
  color: #58a7c4;
  background: url(../img/common/ico_highlife.svg) no-repeat left center;
}
.detail-medical .detail_category {
  color: #72a2cf;
  background: url(../img/common/ico_medical.svg) no-repeat left center;
}
.detail-sympathy .detail_category {
  color: #60b68d;
  background: url(../img/common/ico_sympathy.svg) no-repeat left center;
}
.detail_coupon {
  display: inline-block;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #d43333;
  color: #fff;
  padding: 0 10px;
  margin-right: 10px;
}
.detail_coupon span {
  font-weight: bold;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .detail_coupon span {
    font-size: 1.4rem;
  }
}

.pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 65px;
}
@media only screen and (max-width: 767px) {
  .pager {
    margin-top: 30px;
  }
}
.pager a, .pager span {
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  border-radius: 3px;
}
@media only screen and (max-width: 767px) {
  .pager a, .pager span {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
}
.pager a {
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  border-left: 1px solid #dedede;
}
.pager a.pager_prev, .pager a.pager_next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  background-color: #a4793c;
  border: 1px solid #a4793c;
  line-height: 54px;
  cursor: pointer;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
@media only screen and (max-width: 767px) {
  .pager a.pager_prev, .pager a.pager_next {
    line-height: 50px;
  }
}
.pager a.pager_prev:hover, .pager a.pager_next:hover {
  opacity: 0.7;
}
.pager a.pager_prev {
  margin-right: 15px;
}
.pager a.pager_next {
  margin-left: 15px;
}
.pager a.inactive {
  pointer-events: none;
}
.pager span {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.pager span.pager_dot {
  border: none;
  border-radius: 0;
  line-height: 38px;
  border-left: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .pager span.pager_dot {
    line-height: 34px;
  }
}
.pager_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.pager_inner a:first-of-type {
  border-radius: 3px 0 0 3px;
}
.pager_inner a:last-of-type {
  border-radius: 0 3px 3px 0;
  border-right: 1px solid #dedede;
}
.pager_inner a + a {
  border-radius: 0;
}
.pager_inner a:hover {
  opacity: 1;
  position: relative;
  background-color: #eeecda;
  border-color: #a4793c;
}
.pager_inner a:hover + a, .pager_inner a:hover + span {
  border-left-color: #a4793c;
}
.pager_inner a.active {
  position: relative;
  background-color: #eeecda;
  border-color: #a4793c;
}
.pager_inner a.active + a, .pager_inner a.active + span {
  border-left-color: #a4793c;
}

.prologue_alert {
  padding: 25px 40px;
  border: 1px dashed #dedede;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .prologue_alert {
    margin-top: 10px;
    padding: 10px 20px;
  }
}
.prologue_alert dl dt, .prologue_alert dl dd {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .prologue_alert dl dt, .prologue_alert dl dd {
    font-size: 1.2rem;
  }
}
.prologue_alert dl dt {
  color: #d43333;
}
.prologue_alert dl dd p {
  padding-left: 15px;
  text-indent: -15px;
}
@media only screen and (max-width: 767px) {
  .prologue_alert dl dd p {
    padding-left: 12px;
    text-indent: -12px;
  }
}
.prologue_alert dl dd p a {
  color: #a4793c;
  text-decoration: underline;
}
.prologue_alert dl dd p a:hover {
  text-decoration: none;
  opacity: 1;
}

.step {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .step {
    margin-top: 30px;
  }
}
.step_inner {
  background: url(../img/common/bg_stripe_insurance.png) left top;
  padding: 55px 40px 50px;
}
@media only screen and (max-width: 767px) {
  .step_inner {
    padding: 25px 20px;
  }
}
.step_title {
  font-weight: bold;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .step_title {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .step_text {
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .step_text {
    font-size: 1.1rem;
  }
}
.step_text:not(:first-of-type) {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .step_text:not(:first-of-type) {
    margin-top: 5px;
  }
}
.step_text span {
  font-weight: bold;
  color: #f27070;
}
.step_text-brown {
  font-weight: bold;
  font-size: 2.2rem;
  color: #a4793c;
  letter-spacing: 0.05em;
  line-height: 1.63;
}
@media only screen and (max-width: 767px) {
  .step_text-brown {
    font-size: 1.2rem;
  }
}
.step_text-small {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .step_text-small {
    font-size: 1rem;
    line-height: 1.2;
  }
}
.step_text li {
  padding-left: 15px;
  text-indent: -15px;
}
@media only screen and (max-width: 767px) {
  .step_text li {
    padding-left: 11px;
    text-indent: -11px;
  }
}
@media only screen and (max-width: 767px) {
  .step_text li:first-of-type {
    margin-top: 5px;
  }
}
.step_box {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .step_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .step_box {
    text-align: left;
    background-color: #fff;
    padding: 10px 10px 15px;
  }
}
.step_box:not(:first-of-type) {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .step_box:not(:first-of-type) {
    margin-top: 20px;
  }
}
.step_box:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 17px solid transparent;
  border-top-color: #fff;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.step_box > div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .step_box > div {
    padding: 20px;
  }
}
.step_num {
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  color: #20aee5;
}
@media print, screen and (min-width: 768px) {
  .step_num {
    width: 120px;
    border-right: 1px dashed #21ade5;
  }
}
@media only screen and (max-width: 767px) {
  .step_num {
    display: inline-block;
    font-size: 1.2rem;
    padding-bottom: 2px;
    border-bottom: 1px dashed #21ade5;
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .step_cont {
    width: -o-calc(100% - 120px);
    width: calc(100% - 120px);
  }
}
.step_img {
  line-height: 0;
  margin-top: 15px;
}

.strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .strip {
    margin-top: 20px;
  }
}
.strip p {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 12.5px 25px;
}
@media only screen and (max-width: 767px) {
  .strip p {
    padding: 10px;
  }
}
.strip_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 140px;
  background-color: #20aee5;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .strip_head {
    width: 75px;
  }
}
.strip_head span {
  display: block;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.18;
  letter-spacing: 0.1em;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .strip_head span {
    font-size: 1.2rem;
  }
}
.strip_body {
  width: -o-calc(100% - 140px);
  width: calc(100% - 140px);
  background-color: #f3f2e2;
  font-size: 1.4rem;
  color: #000;
}
@media only screen and (max-width: 767px) {
  .strip_body {
    width: -o-calc(100% - 75px);
    width: calc(100% - 75px);
    font-size: 1rem;
  }
}
.strip_body span {
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
  color: #f27070;
}
@media only screen and (max-width: 767px) {
  .strip_body span {
    font-size: 1.2rem;
  }
}

.check {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .check {
    margin-top: 30px;
  }
}
.check dl {
  border: 1px dashed #d43333;
  padding: 25px 40px 40px;
}
@media only screen and (max-width: 767px) {
  .check dl {
    padding: 15px 20px;
  }
}
.check dl dt {
  font-size: 2.2rem;
  line-height: 1.63;
  letter-spacing: 0.05em;
  font-weight: bold;
  text-align: center;
  color: #d43333;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .check dl dt {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}
.check dl dd p {
  font-size: 1.4rem;
  line-height: 2;
  padding-left: 17px;
  text-indent: -17px;
}
@media only screen and (max-width: 767px) {
  .check dl dd p {
    font-size: 1.2rem;
    padding-left: 15px;
    text-indent: -15px;
    line-height: 1.4;
  }
}
@media only screen and (max-width: 767px) {
  .check dl dd p:not(:first-of-type) {
    margin-top: 5px;
  }
}
.check dl dd p span {
  color: #d43333;
}

.block {
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .block {
    padding: 30px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-2 > div, .block .layout-2 > li {
    width: 50%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-2 .box_label-border {
    margin-bottom: 2.77%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-2-offset > div, .block .layout-2-offset > li {
    width: 48%;
  }
  .block .layout-2-offset > div:nth-of-type(n+3), .block .layout-2-offset > li:nth-of-type(n+3) {
    margin-top: 3.18%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-2-offset > div:not(:nth-of-type(2n)), .block .layout-2-offset > li:not(:nth-of-type(2n)) {
    margin-right: 4%;
  }
}
.block .layout-2 .box_title {
  font-size: 2.6rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .block .layout-2 .box_title {
    font-size: 1.9rem;
  }
}
.block .layout-3 > div, .block .layout-3 > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .block .layout-3 > div, .block .layout-3 > li {
    width: 33.33%;
  }
  .block .layout-3 > div:nth-of-type(n+4), .block .layout-3 > li:nth-of-type(n+4) {
    margin-top: 3.18%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-3-offset > div, .block .layout-3-offset > li {
    width: 30.4%;
  }
  .block .layout-3-offset > div:nth-of-type(n+4), .block .layout-3-offset > li:nth-of-type(n+4) {
    margin-top: 3.18%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-3-offset > div:not(:nth-of-type(3n)), .block .layout-3-offset > li:not(:nth-of-type(3n)) {
    margin-right: 4.4%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-3 .box_label-border {
    margin-bottom: 4.16%;
  }
}
.block .layout-3 .box_title {
  font-size: 1.8rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .block .layout-3 .box_title {
    font-size: 1.9rem;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-4 > div, .block .layout-4 > li {
    width: 25%;
  }
}
@media print, screen and (min-width: 768px) {
  .block .layout-4-offset > div, .block .layout-4-offset > li {
    width: 21.73%;
    margin-right: 4.36%;
  }
  .block .layout-4-offset > div:nth-of-type(4n), .block .layout-4-offset > li:nth-of-type(4n) {
    margin-right: 0;
  }
}
.block .box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.block .box > a {
  display: block;
}
.block .box_img {
  position: relative;
}
.block .box_img img {
  width: 100%;
}
.block .box_label {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .block .box_label {
    font-size: 1.2rem;
  }
}
.block .box_label:not(.box_label-border) {
  position: absolute;
  bottom: 0;
  background-color: #fff;
}
.block .box_label-center {
  text-align: center;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.block .box_label-border {
  display: inline-block;
  border: 1px solid #fff;
  padding: 2.5px 4.5px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .block .box_label-border {
    padding: 1px 2px;
    margin-bottom: 4.26%;
  }
}
.block .box_title {
  font-weight: bold;
}
.block .box_info {
  color: #8a8a8a;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .block .box_info {
    font-size: 1.2rem;
    margin-top: 3.03%;
  }
}
.block .box_info dt {
  float: left;
  margin-right: 17px;
}
@media only screen and (max-width: 767px) {
  .block .box_info dt {
    margin-right: 10px;
  }
}
.block .box_info dd {
  float: left;
  position: relative;
}
.block .box_info dd span {
  display: block;
  position: relative;
  padding-left: 18px;
}
.block .box_coupon {
  background-color: #d43333;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 5px 10px 8px;
  line-height: 1.25;
  position: absolute;
  top: -8px;
  left: 8px;
}
.block .box_coupon::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-left: 5px solid #af1616;
  border-right: 5px solid transparent;
  border-bottom: 6px solid transparent;
  position: absolute;
  top: -3px;
  left: -8px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.block .box_coupon span {
  font-size: 3.2rem;
  line-height: 1;
}
.block-article {
  padding: 0 0 60px;
}
@media only screen and (max-width: 767px) {
  .block-article {
    padding: 0 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .block-article .box_info {
    padding: 0;
  }
}
.block-article .box_info dt {
  background-color: #242424;
  color: #fff;
  float: left;
  margin: 0;
  padding: 9px 18px;
}
@media only screen and (max-width: 767px) {
  .block-article .box_info dt {
    padding: 6px;
  }
}
.block-article .box_info dd {
  background-color: #f5f5f5;
  padding: 9px 20.5px;
}
@media only screen and (max-width: 767px) {
  .block-article .box_info dd {
    padding: 6px 8px;
  }
}
.block-article .box_info span:not(:first-of-type) {
  margin-left: 10px;
}
.block-article .box_info span.cat, .block-article .box_info span.num {
  border: 1px solid #000;
  padding: 0 5px;
}
.block-article .box_img {
  margin-top: 3.47%;
}
@media only screen and (max-width: 767px) {
  .block-article .box_img {
    margin-top: 8%;
  }
}
.block-article .box_img img {
  width: auto;
}
.block-article .box_title {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.4;
  padding-bottom: 1%;
  border-bottom: 1px solid #000;
}
@media only screen and (max-width: 767px) {
  .block-article .box_title {
    font-size: 1.9rem;
  }
}
.block-article .box_title .inner {
  display: block;
  font-size: inherit;
  font-weight: inherit;
}
.block-article .box_title-lg {
  background-color: #242424;
  color: #fff;
  padding: 27px 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box_title-lg {
    padding: 17px 0;
  }
}
.block-article .box_title-md {
  background-color: #f5f5f5;
  padding: 22px 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box_title-md {
    padding: 17px 0;
  }
}
.block-article .box_title-sm {
  margin: 3.9% 0 2.1%;
}
@media only screen and (max-width: 767px) {
  .block-article .box_title-sm {
    margin: 7.2% 0 4.8%;
  }
}
.block-article .box_gray {
  margin: 3.47% 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box_gray {
    margin: 6.66% 0;
  }
}
.block-article .box_gray .box_inner {
  background-color: #f5f5f5;
  padding: 3.1% 3.6%;
}
@media only screen and (max-width: 767px) {
  .block-article .box_gray .box_inner {
    padding: 5.7% 5.7% 4.3%;
  }
}
.block-article .box_gray p:last-child {
  margin-bottom: 0 !important;
}
.block-article .box_table {
  margin-top: 4.16%;
}
@media only screen and (max-width: 767px) {
  .block-article .box_table {
    overflow: auto;
    white-space: nowrap;
    margin-top: 8%;
  }
}
.block-article .box_table table {
  width: 100%;
  border: 1px solid #d9d9d9;
}
.block-article .box_table table tr th, .block-article .box_table table tr td {
  font-size: 1.6rem;
  border: 1px solid #d1d2d5;
  vertical-align: middle;
  padding: 10px 13px;
}
@media only screen and (max-width: 767px) {
  .block-article .box_table table tr th, .block-article .box_table table tr td {
    font-size: 1.3rem;
    padding: 4px 10px;
  }
}
.block-article .box_table table tr th {
  background-color: #f5f5f5;
}
.block-article .box_list {
  font-size: 1.6rem;
  margin-top: 2.08%;
}
@media only screen and (max-width: 767px) {
  .block-article .box_list {
    margin-top: 6.66%;
    font-size: 1.3rem;
  }
}
.block-article .box_list-number {
  padding-left: 20px;
}
@media only screen and (max-width: 1020px) {
  .block-article .box_list-number {
    padding-left: 40px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 1020px) {
  .block-article .box_list-number {
    padding-left: -o-calc(5.33% + 15px);
    padding-left: calc(5.33% + 15px);
  }
}
.block-article .box_list-number li {
  position: relative;
  list-style: decimal;
}
.block-article .box-tag {
  margin-top: 3.47%;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag {
    margin-top: 5.33%;
  }
}
.block-article .box-tag li {
  display: inline-block;
  position: relative;
  margin-right: 1.8%;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag li {
    margin-right: 1.4%;
  }
}
.block-article .box-tag li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag li::before {
    width: 7px;
    top: 28px;
    left: 4%;
  }
}
.block-article .box-tag li a {
  color: #dedede;
  font-size: 1.4rem;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag li a {
    font-size: 1.2rem;
  }
}
.block-article .box-tag li a span {
  display: block;
  position: relative;
  color: inherit;
  font-size: inherit;
  padding-left: 18px;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag li a span {
    padding-left: 16px;
  }
}
.block-article .box-tag li a span::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/article/ico_pricetag.svg) no-repeat left center;
  background-size: 16px auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box-tag li a span::before {
    width: 14px;
    height: 14px;
    background-size: 14px auto;
  }
}
@media all and (-ms-high-contrast: none) {
  .block-article .box-tag li a span::before {
    -webkit-transform: translateY(-65%);
            transform: translateY(-65%);
  }
}
.block-article .box-share {
  margin-top: 3.47%;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share {
    margin-top: 6.66%;
  }
}
.block-article .box-share .box_inner {
  background-color: #f5f5f5;
  padding: 3.6%;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner {
    padding: 5.8%;
  }
}
.block-article .box-share .box_inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.block-article .box-share .box_inner ul li {
  width: 17.6%;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li {
    width: 30%;
  }
}
.block-article .box-share .box_inner ul li a {
  height: 80px;
  display: block;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li a {
    height: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .block-article .box-share .box_inner ul li:not(:last-child) {
    margin-right: 3%;
  }
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li:not(:nth-child(3n)) {
    margin-right: 5%;
  }
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li:nth-child(n+4) {
    margin-top: 4.4%;
  }
}
.block-article .box-share .box_inner ul li .box_ico {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.block-article .box-share .box_inner ul li .box_text {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 15px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li .box_text {
    font-size: 1.3rem;
    bottom: 10px;
  }
}
.block-article .box-share .box_inner ul li.facebook .box_ico, .block-article .box-share .box_inner ul li.twitter .box_ico, .block-article .box-share .box_inner ul li.google .box_ico {
  top: 11px;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.facebook .box_ico, .block-article .box-share .box_inner ul li.twitter .box_ico, .block-article .box-share .box_inner ul li.google .box_ico {
    top: 2.5px;
  }
}
.block-article .box-share .box_inner ul li.hatena .box_ico, .block-article .box-share .box_inner ul li.pocket .box_ico {
  top: 16px;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.hatena .box_ico, .block-article .box-share .box_inner ul li.pocket .box_ico {
    top: 8px;
  }
}
.block-article .box-share .box_inner ul li.facebook .box_ico {
  color: #4166b2;
  font-size: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.facebook .box_ico {
    font-size: 3rem;
  }
}
.block-article .box-share .box_inner ul li.twitter .box_ico {
  color: #2b95e1;
  font-size: 3.4rem;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.twitter .box_ico {
    font-size: 2.9rem;
  }
}
.block-article .box-share .box_inner ul li.hatena .box_ico {
  width: 29px;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.hatena .box_ico {
    width: 24px;
  }
}
.block-article .box-share .box_inner ul li.google .box_ico {
  color: #db4437;
  font-size: 3.7rem;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.google .box_ico {
    font-size: 3.3rem;
  }
}
.block-article .box-share .box_inner ul li.pocket .box_ico {
  width: 26px;
}
@media only screen and (max-width: 767px) {
  .block-article .box-share .box_inner ul li.pocket .box_ico {
    width: 24px;
  }
}
.block-article .box p:not(:first-of-type) {
  margin-top: 2.08%;
}
@media only screen and (max-width: 767px) {
  .block-article .box p:not(:first-of-type) {
    margin-top: 2.66%;
  }
}
.block-article .box a {
  text-decoration: underline;
}
.block-article .box a ion-icon {
  font-size: 2rem;
  vertical-align: sub;
  margin-left: 2px;
  color: #6e6e6e;
}
.block-article .box strong {
  background-color: #d9d9d9;
  font-weight: bold;
  padding: 6px 0;
}
@media only screen and (max-width: 767px) {
  .block-article .box strong {
    padding: 3px 0;
  }
}
.block-article .box .btn a {
  text-decoration: none;
}
.block-02 {
  padding-top: 0;
}
.block-02 .box_inner {
  width: 100%;
  line-height: normal;
  background-color: rgb(36, 36, 36);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .block-02 .box_inner {
    background-color: rgba(36, 36, 36, 0.8);
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .block-02 .box_inner {
    padding: 5.3% 4% 3.2%;
  }
}
.block-02 .box_inner p {
  color: #fff;
}
.block-02 .box_title {
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .block-02 .box_title {
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-02 .box_text {
    margin-top: 2.93%;
  }
}
@media print, screen and (min-width: 768px) {
  .block-02 .box_info {
    margin-top: 2.1%;
  }
}
.block-02 .box_img {
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .block-02 .box-01 a {
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  }
}
.block-02 .box-01 .box_inner {
  right: 0;
}
@media screen and (min-width: 1441px) {
  .block-02 .box-01 .box_inner {
    width: 29.8%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1440px) {
  .block-02 .box-01 .box_inner {
    width: 430px;
  }
}
@media print, screen and (min-width: 768px) {
  .block-02 .box-01 .box_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 12.84% 2.08%;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .block-02 .box-01 .box_text {
    margin-top: 5%;
  }
}
@media print, screen and (min-width: 768px) {
  .block-02 .box-02 .box_inner, .block-02 .box-03 .box_inner {
    position: absolute;
    bottom: 0;
    padding: 4.16% 4.166% 3%;
  }
}
@media only screen and (max-width: 1020px) {
  .block-02 .box-02 .box_label, .block-02 .box-03 .box_label {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-02 .box-02 .box_label, .block-02 .box-03 .box_label {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1020px) {
  .block-02 .box-02 .box_title, .block-02 .box-03 .box_title {
    font-size: 2.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-02 .box-02 .box_title, .block-02 .box-03 .box_title {
    font-size: 1.9rem;
  }
}
@media print, screen and (min-width: 768px) {
  .block-02 .box-02 .box_text, .block-02 .box-03 .box_text {
    margin-top: 2.08%;
  }
}
@media only screen and (max-width: 1020px) {
  .block-02 .box-02 .box_text, .block-02 .box-03 .box_text {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-02 .box-02 .box_text, .block-02 .box-03 .box_text {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .block-03 .box:nth-of-type(n+2) {
    margin-top: 10.1%;
  }
}
.block-03 .box_label {
  padding: 8px 13px 0 0;
}
@media only screen and (max-width: 767px) {
  .block-03 .box_label {
    padding: 10px 8px 0 0;
  }
}
.block-03 .box_inner {
  margin-top: 5.98%;
}
@media only screen and (max-width: 767px) {
  .block-03 .box_inner {
    margin-top: 5.66%;
  }
}
.block-03 .box_text {
  margin-top: 4.19%;
}
@media only screen and (max-width: 767px) {
  .block-03 .box_text {
    margin-top: 2.6%;
  }
}
.block-03 .btn {
  margin-top: 2.78%;
}
@media only screen and (max-width: 767px) {
  .block-03 .btn {
    margin-top: 10.4%;
  }
}

.pumpkin {
  max-width: 640px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px;
  background-color: #fff;
  font-family: "Noto Sans Japanese", sans-serif;
}
@media only screen and (max-width: 767px) {
  .pumpkin {
    padding: 20px;
  }
}
.pumpkin_head {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 20px;
  border-bottom: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .pumpkin_head {
    font-size: 1.6rem;
  }
}
.pumpkin_head span {
  display: block;
  line-height: 0;
  margin-bottom: 5px;
}
.pumpkin_body {
  padding-top: 25px;
}
.pumpkin_body p {
  text-align: center;
}
.pumpkin_body .btn-reverse {
  margin-top: 25px;
}
.pumpkin_body .btn-brown {
  margin-top: 15px;
}
.pumpkin_body .btn a {
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .pumpkin .mfp-close {
    display: none;
  }
}

.mfp-container .mfp-arrow {
  display: none;
}

.importantInfo {
  text-align: center;
}
.importantInfo.importantInfo--home {
  font-size: 1.8rem;
  font-weight: bold;
}
.importantInfo.importantInfo--home a {
  display: block;
  background-color: #C11111;
  color: #FDFD00;
  padding: 12px 10px;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--home a {
    padding: 10px 30px;
  }
}
.importantInfo.importantInfo--login {
  background-color: #C11111;
  margin-bottom: 30px;
  padding: 15px 12px;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--login {
    padding: 10px 5px;
  }
}
.importantInfo.importantInfo--login .importantInfo_textBold {
  font-weight: bold;
  color: white;
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--login .importantInfo_textBold {
    font-size: 1.4rem;
  }
}
.importantInfo.importantInfo--login .importantInfo_textLg {
  color: #FDFD00;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--login .importantInfo_textLg {
    font-size: 1.6rem;
  }
}
.importantInfo.importantInfo--login .importantInfo_textLg + .importantInfo_textMd {
  margin-top: 5px;
}
.importantInfo.importantInfo--login .importantInfo_textMd {
  color: white;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--login .importantInfo_textMd {
    font-size: 1.1rem;
  }
}
.importantInfo.importantInfo--login .importantInfo_textMd + .importantInfo_textSm {
  margin-top: 8px;
}
.importantInfo.importantInfo--login .importantInfo_textSm {
  color: white;
  font-size: 1.2rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .importantInfo.importantInfo--login .importantInfo_textSm {
    font-size: 1rem;
  }
}

.infoBanner a {
  display: block;
  color: white;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 18px;
  text-align: center;
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .infoBanner a {
    font-size: 1.6rem;
    padding: 18px 5px;
  }
}
.infoBanner a:hover {
  text-decoration: none;
}
.infoBanner.-healthcheck a {
  background-color: #c11111;
}

/*=======================================================

	.register 会員登録画面

========================================================*/
.register .contents > .btn {
  margin-top: 8.78%;
}
@media only screen and (max-width: 767px) {
  .register .contents > .btn {
    margin-top: 10.66%;
  }
}
@media print, screen and (min-width: 768px) {
  .register .method_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 768px) {
  .register .method_inner > div {
    width: 47.4%;
  }
}
.register .method_inner > div p {
  text-align: center;
}
.register .method_text {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-bottom: 3.57%;
}
@media print, screen and (min-width: 768px) {
  .register .method_text {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .register .method_text {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
.register .method_box {
  border: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .register .method_box:last-of-type {
    margin-top: 7.46%;
  }
}
@media only screen and (max-width: 767px) {
  .register .method_box:last-of-type .method_img img {
    width: 20%;
  }
}
.register .method_head {
  padding: 8.6% 0;
}
@media only screen and (max-width: 767px) {
  .register .method_head {
    padding: 6.71% 3%;
  }
}
.register .method_label span {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  padding: 0.86% 2.15%;
  border: 1px solid #323232;
}
@media only screen and (max-width: 767px) {
  .register .method_label span {
    font-size: 1.2rem;
    padding: 1.59% 3.19%;
  }
}
.register .method_title {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.63;
  margin-bottom: 8.78%;
}
@media only screen and (max-width: 767px) {
  .register .method_title {
    font-size: 2rem;
    margin-bottom: 5.83%;
  }
}
.register .method_title span {
  color: #a4793c;
  font-weight: bold;
}
.register .method_img {
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .register .method_img img {
    width: 24.66%;
  }
}
.register .method_features {
  padding: 3.22% 0 4.3%;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.66;
  background-color: #f4f4f4;
}
@media only screen and (max-width: 767px) {
  .register .method_features {
    padding: 3.58% 0;
    font-size: 1.2rem;
  }
}
.register .method_features span {
  display: inline-block;
  border: 1px solid #727272;
  font-size: 1.4rem;
  padding: 0.32% 3.22%;
  margin-bottom: 2.15%;
}
@media only screen and (max-width: 767px) {
  .register .method_features span {
    font-size: 1.2rem;
    padding: 1.04% 3.58%;
    margin-bottom: 2.98%;
  }
}
.register .method_btn {
  padding: 6.45% 0;
}
@media only screen and (max-width: 767px) {
  .register .method_btn {
    padding: 7.16% 0;
  }
}
.register .cont {
  margin-top: 8.78%;
}
.register .pattern {
  display: none;
}
@media only screen and (max-width: 767px) {
  .register .pattern-web .cont_action p:first-of-type {
    text-align: left;
  }
}
.register .pattern-paper .cont_action {
  margin-top: 2.04%;
}
@media only screen and (max-width: 767px) {
  .register .pattern-paper .cont_action {
    margin-top: 6.53%;
  }
}
.register .pattern-paper .cont_action-reverse {
  margin-top: 0;
}
@media print, screen and (min-width: 768px) {
  .register .flow_box {
    width: 18%;
  }
}
@media only screen and (max-width: 767px) {
  .register .flow_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/*=======================================================

	.form_common フォーム共通

========================================================*/
.form_common .flow {
  margin-bottom: 3.57%;
}
.form_common .flow ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.form_common .flow ul li {
  text-align: center;
  width: 31.83%;
  padding: 2.34% 0;
  border: 1px solid #dedede;
  position: relative;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .form_common .flow ul li {
    width: 30.44%;
    font-size: 1.2rem;
  }
}
.form_common .flow ul li:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 7.66%;
  padding-bottom: 7.66%;
  border-top: 1px solid #dedede;
  border-right: 1px solid #dedede;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .form_common .flow ul li:not(:last-of-type)::after {
    top: 35%;
    right: -4%;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .flow ul li:not(:last-of-type)::after {
    width: 10.78%;
    padding-bottom: 10.78%;
    top: 28.5%;
    right: -6%;
  }
}
@media only screen and (max-width: 399px) {
  .form_common .flow ul li:not(:last-of-type)::after {
    top: 32%;
  }
}
@media only screen and (max-width: 349px) {
  .form_common .flow ul li:not(:last-of-type)::after {
    top: -o-calc(50% - 4.5px);
    top: calc(50% - 4.5px);
    right: -6.5%;
  }
}
.form_common .flow ul li.flow_active {
  background-color: #a4793c;
  border-color: #a4793c;
  color: #fff;
  font-weight: bold;
}
.form_common .flow ul li.flow_active::after {
  background-color: #a4793c;
  border-color: #a4793c;
}
.form_common .flow_text {
  text-align: center;
  margin-top: 3.57%;
}
@media only screen and (max-width: 767px) {
  .form_common .flow_text {
    font-size: 1.2rem;
  }
}
.form_common .flow_text span {
  color: #d43333;
}
.form_common .flow_text strong {
  font-weight: bold;
  font-size: 2.2rem;
}
@media only screen and (max-width: 767px) {
  .form_common .flow_text strong {
    font-size: 1.6rem;
  }
}
.form_common .form_inner table {
  width: 100%;
}
.form_common .form_inner table tr th, .form_common .form_inner table tr td {
  display: block;
  text-align: left;
}
.form_common .form_inner table tr th {
  padding: 1.63% 3.06%;
  background-color: #f4f4f4;
  border-top: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr th {
    font-size: 1.2rem;
    padding: 3.73% 4.47%;
  }
}
.form_common .form_inner table tr td {
  padding: 2.44% 0;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td {
    padding: 4.47% 0;
  }
}
.form_common .form_inner table tr td .selectWrapper {
  display: inline-block;
}
.form_common .form_inner table tr td .selectWrapper .selectInner {
  position: relative;
  display: inline-block;
}
.form_common .form_inner table tr td .selectWrapper .selectInner::after {
  content: "";
  display: block;
  background: url(../img/common/ico_select.svg) center center no-repeat;
  width: 34px;
  height: 50px;
  position: absolute;
  top: 0;
  right: 43px;
  border-left: 1px solid #e2e2e2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .selectWrapper .selectInner::after {
    width: 30px;
    right: 23px;
  }
}
.form_common .form_inner table tr td .selectWrapper select {
  outline: none;
  text-indent: 0.01px;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: #323232;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 50px;
  padding: 8px 12px;
  border: 1px solid #ddd;
  width: 100%;
  border-radius: 0;
}
.form_common .form_inner table tr td .selectWrapper select:hover {
  cursor: pointer;
}
.form_common .form_inner table tr td .selectWrapper select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #888;
}
.form_common .form_inner table tr td .selectWrapper select::-ms-expand {
  display: none;
}
.form_common .form_inner table tr td .selectWrapper select option {
  background-color: #fff;
  color: #323232;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .selectWrapper select + span {
    font-size: 1.2rem;
  }
}
.form_common .form_inner table tr td .selectWrapper-pref {
  margin-top: 5px;
}
.form_common .form_inner table tr td .selectWrapper-pref .selectInner {
  width: 190px;
}
.form_common .form_inner table tr td .selectWrapper-pref .selectInner::after {
  right: 0;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .inputWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .inputWrapper input {
    display: block;
    width: 48.6%;
  }
}
.form_common .form_inner table tr td .radioWrapper,
.form_common .form_inner table tr td .checkboxWrapper {
  display: inline-block;
  margin-right: 2.55%;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .radioWrapper,
  .form_common .form_inner table tr td .checkboxWrapper {
    margin-right: 1%;
  }
}
.form_common .form_inner table tr td input[type=text], .form_common .form_inner table tr td input[type=password] {
  -webkit-appearance: none;
  border: 1px solid #dedede;
  background-color: transparent;
  border-radius: 0px;
  font-size: 1.6rem;
  padding: 1.32% 1.02%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=text], .form_common .form_inner table tr td input[type=password] {
    font-size: 1.2rem;
    padding: 3.73% 2.98%;
  }
}
.form_common .form_inner table tr td input[type=text]::-webkit-input-placeholder, .form_common .form_inner table tr td input[type=password]::-webkit-input-placeholder {
  color: #888;
}
.form_common .form_inner table tr td input[type=text]:-ms-input-placeholder, .form_common .form_inner table tr td input[type=password]:-ms-input-placeholder {
  color: #888;
}
.form_common .form_inner table tr td input[type=text]::-moz-placeholder, .form_common .form_inner table tr td input[type=password]::-moz-placeholder {
  color: #888;
}
.form_common .form_inner table tr td input[type=text]::-placeholder, .form_common .form_inner table tr td input[type=password]::-placeholder {
  color: #888;
}
@media print, screen and (min-width: 768px) {
  .form_common .form_inner table tr td input[type=text] + input, .form_common .form_inner table tr td input[type=password] + input {
    margin-left: 2.44%;
  }
}
.form_common .form_inner table tr td input[type=checkbox], .form_common .form_inner table tr td input[type=radio] {
  display: none;
}
.form_common .form_inner table tr td input[type=checkbox]:checked + label::before, .form_common .form_inner table tr td input[type=radio]:checked + label::before {
  opacity: 1;
}
.form_common .form_inner table tr td input[type=radio] {
  display: none;
}
.form_common .form_inner table tr td input[type=radio] + label {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 12px 12px 12px 42px;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=radio] + label {
    padding: 12px 12px 12px 35px;
  }
}
.form_common .form_inner table tr td input[type=radio] + label::before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 9px;
  display: block;
  width: 15px;
  height: 15px;
  content: "";
  opacity: 0;
  border-radius: 50%;
  background-color: #a4793c;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=radio] + label::before {
    width: 12px;
    height: 12px;
    left: 7px;
  }
}
.form_common .form_inner table tr td input[type=radio] + label::after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid #e2e2e2;
  border-radius: 50%;
  content: "";
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=radio] + label::after {
    width: 24px;
    height: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=radio] + label span {
    font-size: 1.2rem;
  }
}
.form_common .form_inner table tr td input[type=checkbox] + label {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 12px 12px 12px 45px;
  vertical-align: middle;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=checkbox] + label {
    padding-left: 35px;
  }
}
.form_common .form_inner table tr td input[type=checkbox] + label::before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  left: 13px;
  display: block;
  margin-top: -7px;
  width: 6px;
  height: 11px;
  border-bottom: 2px solid #a4793c;
  border-right: 2px solid #a4793c;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media print, screen and (min-width: 768px) {
  .form_common .form_inner table tr td input[type=checkbox] + label::before {
    top: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=checkbox] + label::before {
    width: 8px;
    height: 14px;
    top: 18px;
    left: 8.5px;
  }
}
.form_common .form_inner table tr td input[type=checkbox] + label::after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid #e2e2e2;
  content: "";
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td input[type=checkbox] + label::after {
    width: 24px;
    height: 24px;
  }
}
.form_common .form_inner table tr td textarea {
  width: 100%;
  -webkit-appearance: none;
  border: 1px solid #dedede;
  background-color: #fff;
  border-radius: 0px;
  font-size: 1.6rem;
  padding: 1.32% 1.02%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td textarea {
    font-size: 1.2rem;
    padding: 3.73% 2.98%;
    height: 200px;
  }
}
.form_common .form_inner table tr td textarea::-webkit-input-placeholder {
  color: #b1b1b1;
}
.form_common .form_inner table tr td textarea:-ms-input-placeholder {
  color: #b1b1b1;
}
.form_common .form_inner table tr td textarea::-moz-placeholder {
  color: #b1b1b1;
}
.form_common .form_inner table tr td textarea::-placeholder {
  color: #b1b1b1;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td p {
    font-size: 1.2rem;
  }
}
.form_common .form_inner table tr td p:not(:first-of-type):not(.form_text) {
  margin-top: 1.02%;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td span {
    font-size: 1.2rem;
  }
}
.form_common .form_inner table tr td .error_text {
  color: #d43333;
  font-size: 1.4rem;
  margin-top: 1%;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .error_text {
    font-size: 1rem;
    margin-top: 3.73%;
  }
}
.form_common .form_inner table tr td .width {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form_common .form_inner table tr td .width-01 {
  width: 24.48%;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .width-01 {
    width: 100%;
  }
}
.form_common .form_inner table tr td .width-02 {
  width: 51.02%;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr td .width-02 {
    width: 100%;
  }
}
.form_common .form_inner table tr.form_address .width-other {
  width: 95px;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_tel td p span {
    display: inline-block;
    width: 32px;
  }
}
@media print, screen and (min-width: 768px) {
  .form_common .form_inner table tr.form_tel td p input {
    margin-left: 1.53%;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_tel td p input {
    width: -o-calc(100% - 32px);
    width: calc(100% - 32px);
  }
}
.form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(1) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(1) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(1) select {
  width: 120px;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(1) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(1) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(1) select {
    width: 100px;
  }
}
.form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(3) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(3) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(3) select {
  width: 80px;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(3) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(3) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(2) select, .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(3) select {
    width: 75px;
  }
}
@media only screen and (max-width: 349px) {
  .form_common .form_inner table tr.form_birthday td .selectWrapper:nth-of-type(3), .form_common .form_inner table tr.form_join td .selectWrapper:nth-of-type(3), .form_common .form_inner table tr.form_retire td .selectWrapper:nth-of-type(3) {
    margin-top: 2%;
  }
}
.form_common .form_inner table tr.form_birthday td .selectWrapper span, .form_common .form_inner table tr.form_join td .selectWrapper span, .form_common .form_inner table tr.form_retire td .selectWrapper span {
  display: inline-block;
  margin: 0 15px 0 8px;
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_birthday td .selectWrapper span, .form_common .form_inner table tr.form_join td .selectWrapper span, .form_common .form_inner table tr.form_retire td .selectWrapper span {
    margin: 0 5px 0 3px;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_mail td input:first-of-type {
    margin-bottom: 1.49%;
  }
}
.form_common .form_inner table tr.form_mail td > span {
  display: inline-block;
}
@media print, screen and (min-width: 768px) {
  .form_common .form_inner table tr.form_mail td > span {
    margin: 0 1.53% 0 2.55%;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_mail td > span {
    width: 32px;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_mail td > span + input {
    width: -o-calc(100% - 36px);
    width: calc(100% - 36px);
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_hobby td .checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .form_common .form_inner table tr.form_hobby td .checkbox .checkboxWrapper {
    display: block;
    margin: 0;
    width: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 50%;
  }
}
.form_common .form_inner table tr.form_agreement td {
  text-align: center;
}
.form_common .form_inner table tr.form_agreement td .checkboxWrapper {
  margin-top: 2.04%;
}
.form_common .form_required {
  font-size: 1.4rem;
  color: #d43333;
}
@media only screen and (max-width: 767px) {
  .form_common .form_required {
    font-size: 1rem;
  }
}
.form_common .form_text {
  font-size: 1.4rem;
  margin-top: 3.57%;
  padding: 3.06% 0;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .form_common .form_text {
    margin-top: 5.97%;
    padding: 4.47% 0;
  }
}
.form_common .form_text a {
  text-decoration: underline;
}
.form_common .form_text a:hover {
  opacity: 1;
  text-decoration: none;
}
.form_common .form > .form_btn {
  margin: 7.02% 0 0;
}
@media only screen and (max-width: 767px) {
  .form_common .form > .form_btn {
    margin: 6.66% 0 10.66%;
  }
}
.form_common .form form > .form_btn {
  margin: 7.02% 0 0;
}
@media only screen and (max-width: 767px) {
  .form_common .form form > .form_btn {
    margin: 6.66% 0 10.66%;
  }
}

/*=======================================================

	.input 入力

========================================================*/
/*=======================================================

	.confirm 確認画面

========================================================*/
.confirm .form_inner table tr td {
  padding: 1.63% 3.06%;
}
@media only screen and (max-width: 767px) {
  .confirm .form_inner table tr td {
    padding: 3.73% 4.47%;
  }
}
.confirm .form_agreement td p {
  text-align: left;
}
.confirm .form_btn {
  text-align: center;
}
.confirm .form_btn a, .confirm .form_btn button {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .confirm .form_btn a, .confirm .form_btn button {
    width: 135px;
  }
}
.confirm .form_btn a:last-of-type, .confirm .form_btn button:last-of-type {
  margin-left: 5%;
}

/*=======================================================

	.complete 完了画面

========================================================*/
.complete .form_text p {
  text-align: center;
  line-height: 2;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .complete .form_text p {
    font-size: 1.4rem;
  }
}
.complete .form_text p strong {
  font-weight: bold;
  font-size: 2.2rem;
}
@media only screen and (max-width: 767px) {
  .complete .form_text p strong {
    font-size: 1.6rem;
  }
}
.complete .form_text p span {
  display: block;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .complete .form_text p span {
    font-size: 1.2rem;
  }
}
.complete .form_text p span:first-of-type {
  margin-top: 2.5%;
}
.complete .form_text p:not(:first-of-type) {
  margin-top: 3%;
}

/*=======================================================

	.register_form 会員登録フォーム共通

========================================================*/
/*=======================================================

	.contact_form お問い合わせフォーム

========================================================*/
@media print, screen and (min-width: 768px) {
  .contact_form.input .form_inner table tr.form_kind td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .contact_form.input .form_inner table tr.form_kind .radioWrapper {
    width: 50%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .contact_form.input .form_inner table tr.form_kind .radioWrapper {
    display: block;
  }
}

/*=======================================================

	.password_form パスワード忘れフォーム

========================================================*/
.password_form.complete .form_text p:last-of-type {
  text-align: left;
}

/*=======================================================

	.login ログイン

========================================================*/
.login .account {
  background: url(../img/home/bg_hero.png);
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .login .account {
    padding: 30px 0;
  }
}
.login .account_head {
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .login .account_head {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}
.login .account_box {
  max-width: 470px;
  margin: 0 auto;
  border: 1px solid #dedede;
}
.login .account_box .btn button,
.login .account_box .btn a {
  max-width: 100%;
}
.login .account_login {
  background-color: #fff;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  .login .account_login {
    padding: 15px;
  }
}
.login .account_link {
  text-align: center;
  margin-top: 10px;
}
.login .account_link a {
  color: #a4793c;
  text-decoration: underline;
}
.login .account_link a:hover {
  text-decoration: none;
  opacity: 1;
}
.login .account_apply {
  background-color: #f4f4f4;
  padding: 25px 30px;
}
@media only screen and (max-width: 767px) {
  .login .account_apply {
    padding: 20px 15px;
  }
}
.login .account_text {
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .login .account_text {
    margin-top: 20px;
  }
}
.login .account_bottom {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .login .account_bottom {
    margin-top: 20px;
  }
}
.login .account_bottom a {
  width: 100%;
  margin: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px 5px;
  border-radius: 7px;
}
@media only screen and (max-width: 767px) {
  .login .account_bottom a {
    width: 100%;
    margin: 0 auto;
  }
}
.login .account_bottom a:last-of-type {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .login .account_bottom a:last-of-type {
    margin-top: 15px;
  }
}
.login .account_btn {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .login .account_btn {
    background-color: #fff;
  }
}
.login .account_btn a {
  width: auto;
  max-width: 470px;
  padding: 15px 5px;
}
@media only screen and (max-width: 767px) {
  .login .account_btn a {
    padding: 20px 5px;
  }
}
.login .account_members {
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .login .account .layout > div {
    width: 47.4%;
  }
}
@media print, screen and (min-width: 768px) {
  .login .account .layout > div:last-of-type {
    margin-left: 5.2%;
  }
}
@media only screen and (max-width: 767px) {
  .login .account .layout > div:last-of-type {
    margin-top: 30px;
  }
}
.login .form input[type=text], .login .form input[type=password] {
  width: 100%;
  -webkit-appearance: none;
  border: 1px solid #dedede;
  background-color: transparent;
  border-radius: 0px;
  font-size: 1.6rem;
  padding: 15px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .login .form input[type=text], .login .form input[type=password] {
    font-size: 1.2rem;
    padding: 3.73% 2.98%;
  }
}
.login .form input[type=text]::-webkit-input-placeholder, .login .form input[type=password]::-webkit-input-placeholder {
  color: #888;
}
.login .form input[type=text]:-ms-input-placeholder, .login .form input[type=password]:-ms-input-placeholder {
  color: #888;
}
.login .form input[type=text]::-moz-placeholder, .login .form input[type=password]::-moz-placeholder {
  color: #888;
}
.login .form input[type=text]::-placeholder, .login .form input[type=password]::-placeholder {
  color: #888;
}
.login .form input[type=checkbox], .login .form input[type=radio] {
  display: none;
}
.login .form input[type=checkbox]:checked + label::before, .login .form input[type=radio]:checked + label::before {
  opacity: 1;
}
.login .form input[type=checkbox] + label {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 12px 12px 12px 45px;
  vertical-align: middle;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .login .form input[type=checkbox] + label {
    padding-left: 35px;
  }
}
.login .form input[type=checkbox] + label::before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  left: 13px;
  display: block;
  margin-top: -7px;
  width: 6px;
  height: 11px;
  border-bottom: 2px solid #a4793c;
  border-right: 2px solid #a4793c;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media print, screen and (min-width: 768px) {
  .login .form input[type=checkbox] + label::before {
    top: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .login .form input[type=checkbox] + label::before {
    width: 8px;
    height: 14px;
    top: 18px;
    left: 8.5px;
  }
}
.login .form input[type=checkbox] + label::after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  display: block;
  width: 30px;
  height: 30px;
  border: 1px solid #e2e2e2;
  content: "";
}
@media only screen and (max-width: 767px) {
  .login .form input[type=checkbox] + label::after {
    width: 24px;
    height: 24px;
  }
}
.login .form_password {
  margin-top: 25px;
}
.login .form .checkboxWrapper {
  text-align: center;
  margin: 15px 0 25px;
}
.login .form .error_text {
  color: #d43333;
  font-size: 1.4rem;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .login .form .error_text {
    font-size: 1rem;
    margin-top: 3.73%;
  }
}
@media print, screen and (min-width: 768px) {
  .login .footer-login .footer_link {
    width: 35.92%;
  }
}

/*=======================================================

	.mypage マイページ

========================================================*/
.mypage .account_text {
  text-align: center;
}
.mypage .account_info {
  margin-top: 30px;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .mypage .account_info {
    margin-top: 20px;
  }
}
.mypage .account_info div {
  font-weight: bold;
  padding: 30px 5px;
}
@media only screen and (max-width: 767px) {
  .mypage .account_info div {
    padding: 20px 5px;
  }
}
.mypage .account_info div:first-of-type {
  padding-left: 90px;
  background: url(../img/common/ico_myid.svg) no-repeat 25px center;
}
@media only screen and (max-width: 767px) {
  .mypage .account_info div:first-of-type {
    padding-left: 60px;
    background-size: 32px auto;
    background-position: 15px center;
  }
}
.mypage .account_info div:last-of-type {
  padding-left: 80px;
  background: url(../img/common/ico_myname.png) no-repeat 25px center;
}
@media print, screen and (min-width: 768px) {
  .mypage .account_info div:last-of-type {
    border-left: 1px solid #dedede;
  }
}
@media only screen and (max-width: 767px) {
  .mypage .account_info div:last-of-type {
    border-top: 1px solid #dedede;
    padding-left: 60px;
    background-size: 24px auto;
    background-position: 20px center;
  }
}
.mypage .account_info div span {
  font-size: 2.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .mypage .account_info div span {
    font-size: 1.8rem;
  }
}
.mypage .account_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .mypage .account_menu {
    margin-top: 30px;
  }
}
.mypage .account_menu a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 30%;
  text-align: center;
  padding: 15px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #727272;
  border-radius: 8px;
}
@media only screen and (max-width: 767px) {
  .mypage .account_menu a {
    width: 48%;
  }
}
@media print, screen and (min-width: 768px) {
  .mypage .account_menu a:nth-of-type(n+4) {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .mypage .account_menu a:nth-of-type(n+3) {
    margin-top: 15px;
  }
}
.mypage .account_menu a span {
  display: block;
  width: 100%;
  text-align: center;
}

/*=======================================================

	.life_supprt ライフサポート共通

========================================================*/
.life_support .menu_support a {
  background: #ec914f url(../img/common/ico_life_hover.svg) no-repeat center 19px;
  background-size: 27px auto;
  color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .life_support .menu_support a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.life_support .menu_support a .menu_support_note {
  color: #fff;
}
.life_support .head {
  background: url(../img/common/bg_stripe_support.png) left top;
}
.life_support .head_title {
  color: #fff;
}
.life_support .prologue_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #ec914f;
  border: 1px solid #ec914f;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_head {
    font-size: 2rem;
    padding: 10px 15px;
    line-height: normal;
  }
}
.life_support .prologue_head-02, .life_support .prologue_head-03 {
  margin: 120px 0 35px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_head-02, .life_support .prologue_head-03 {
    margin: 40px 0 20px;
  }
}
.life_support .prologue_img {
  line-height: 0;
  text-align: center;
}
.life_support .prologue_img-02 {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_img-02 {
    margin-top: 20px;
  }
}
.life_support .prologue_text {
  line-height: 2;
  letter-spacing: 0.05em;
  left: 0.05em;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_text {
    line-height: normal;
    margin-top: 15px;
  }
}
.life_support .prologue_text-red {
  color: #d43333;
}
.life_support .prologue_kome {
  display: block;
  padding-left: 14px;
  text-indent: -14px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_kome {
    font-size: 1.2rem;
    padding-left: 12px;
    text-indent: -12px;
    line-height: normal;
  }
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_kome-sp {
    margin-top: 5px;
  }
}
.life_support .prologue_frame {
  padding: 24px 40px 40px;
  background: url(../img/lifesupport/bg_frame_01.png) no-repeat left top, url(../img/lifesupport/bg_frame_02.png) no-repeat right top, url(../img/lifesupport/bg_frame_03.png) no-repeat left bottom, url(../img/lifesupport/bg_frame_04.png) no-repeat right bottom;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_frame {
    padding: 35px 0 15px;
    background-size: 24px auto;
  }
}
.life_support .prologue_frame p {
  line-height: 0;
}
.life_support .prologue_frame p img {
  width: 100%;
}
.life_support .prologue_alert {
  border-color: #ec914f;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_alert {
    margin-top: 20px;
  }
}
.life_support .prologue_btn {
  margin-top: 65px;
}
@media only screen and (max-width: 767px) {
  .life_support .prologue_btn {
    margin-top: 40px;
  }
}
.life_support .step_inner {
  background: url(../img/common/bg_stripe_support.png) left top;
}
.life_support .step_num {
  color: #ec914f;
  border-color: #ec914f;
}
@media print, screen and (min-width: 768px) {
  .life_support .step_num {
    padding: 20px 10px;
  }
}
.life_support .step_text-bold {
  font-weight: bold;
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .life_support .step_text-bold {
    margin-top: 15px;
  }
}
.life_support .step_btn {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .life_support .step_btn {
    margin-top: 15px;
  }
}
.life_support .step_btn a {
  width: 100%;
}
.life_support .category {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .life_support .category {
    margin-top: 20px;
  }
}
.life_support .category_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .life_support .category_inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.life_support .category_inner a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 9.18%;
  text-align: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .life_support .category_inner a {
    width: 17%;
  }
}
@media only screen and (max-width: 767px) {
  .life_support .category_inner a:nth-of-type(n+6) {
    margin-top: 15px;
  }
}
.life_support .category_inner a span {
  display: block;
  width: 100%;
}
.life_support .category_inner a span.category_ico {
  line-height: 0;
}
.life_support .category_inner a span.category_label {
  line-height: 1.375;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .life_support .category_inner a span.category_label {
    margin-top: 5px;
  }
}
.life_support .category_all .category_label {
  color: #727272;
}
.life_support .category_travel .category_label {
  color: #57a4dd;
}
.life_support .category_golf .category_label {
  color: #a6ce45;
}
.life_support .category_genki .category_label {
  color: #5dc17e;
}
.life_support .category_kurashi .category_label {
  color: #ff923a;
}
.life_support .category_hagukumu .category_label {
  color: #f18db7;
}
.life_support .category_kizuna .category_label {
  color: #eb6e79;
}
.life_support .category_car .category_label {
  color: #2c9db9;
}
.life_support .category_asobu .category_label {
  color: #a39ce5;
}
.life_support .category_manabu .category_label {
  color: #4dcdf4;
}
.life_support .category + .block {
  padding-top: 30px;
}
.life_support .close-announce {
  text-align: center;
}
.life_support .close-announce + .prologue_head {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .life_support .close-announce + .prologue_head {
    margin-top: 15px;
  }
}

/*=======================================================

	.life_supprt_single ライフサポート詳細ページ

========================================================*/
@media print, screen and (min-width: 768px) {
  .life_support_single .block-article .box_gray .layout > div:first-of-type {
    width: 40%;
  }
}
.life_support_single .block-article .box_gray .layout > div:first-of-type p img {
  width: 100%;
}
.life_support_single .block-article .box_gray .layout > div:last-of-type {
  padding-left: 30px;
}
@media print, screen and (min-width: 768px) {
  .life_support_single .block-article .box_gray .layout > div:last-of-type {
    width: 60%;
  }
}

/*=======================================================

	.travel トラベルサービス共通

========================================================*/
.travel .menu_travel a {
  background: #f27070 url(../img/common/ico_travel_hover.svg) no-repeat center 21px;
  background-size: 36px auto;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .travel .menu_travel a {
    background-position: 20px center;
    background-size: 18px auto;
  }
}
.travel .menu_travel a:hover {
  opacity: 0.7;
}
.travel .head {
  background: url(../img/common/bg_stripe_travel.png) left top;
}
.travel .head_title {
  color: #fff;
}
.travel .prologue_head {
  text-align: center;
  font-weight: bold;
  font-size: 2.8rem;
  color: #d43333;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_head {
    font-size: 2.2rem;
  }
}
.travel .prologue_box {
  padding: 80px 40px 40px;
  margin-top: 55px;
  background: url(../img/travel/bg_box_01.svg) no-repeat left top, url(../img/travel/bg_box_02.svg) no-repeat right top, url(../img/travel/bg_box_03.svg) no-repeat right bottom, url(../img/travel/bg_box_04.svg) no-repeat left bottom;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_box {
    margin-top: 40px;
    background-size: 25px auto;
    padding: 40px 0;
  }
}
.travel .prologue_title {
  color: #d43333;
  text-align: center;
  font-weight: bold;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  position: absolute;
  top: -70px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_title {
    font-size: 2.2rem;
    top: -45px;
  }
}
.travel .prologue_title span {
  display: inline-block;
  font-weight: bold;
  padding: 0 80px;
  background: url(../img/travel/bg_prologue_left.png) no-repeat left 80%, url(../img/travel/bg_prologue_right.png) no-repeat right 80%;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_title span {
    padding: 0 40px;
    background-size: 29.5px auto, 28.5px auto;
  }
}
.travel .prologue_title span strong {
  font-weight: bold;
  font-size: 8rem;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_title span strong {
    font-size: 5rem;
  }
}
.travel .prologue_text {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.63;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_text {
    font-size: 1.8rem;
  }
}
.travel .prologue_text span {
  font-weight: bold;
  color: #d43333;
}
.travel .prologue_list {
  background-color: #fdf2f2;
  padding: 25px 40px;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_list {
    padding: 15px 20px;
  }
}
.travel .prologue_list dt {
  text-align: center;
  letter-spacing: 0.05em;
}
.travel .prologue_list dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 15px;
}
.travel .prologue_list dd p {
  width: 14.63%;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_list dd p {
    width: 21.18%;
  }
}
@media print, screen and (min-width: 768px) {
  .travel .prologue_list dd p:not(:nth-of-type(6n)) {
    margin-right: 2.444%;
  }
}
@media only screen and (max-width: 767px) {
  .travel .prologue_list dd p:not(:nth-of-type(4n)) {
    margin-right: 5.09%;
  }
}
@media print, screen and (min-width: 768px) {
  .travel .prologue_list dd p:nth-of-type(n+7) {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .prologue_list dd p:nth-of-type(n+5) {
    margin-top: 10px;
  }
}
.travel .prologue_list dd p span {
  display: block;
  text-align: center;
}
.travel .prologue_list dd p span:first-of-type {
  line-height: 0;
}
.travel .prologue_list dd p span:last-of-type {
  font-size: 1.2rem;
  margin-top: 5px;
}
@media only screen and (max-width: 767px) {
  .travel .prologue_list dd p span:last-of-type {
    font-size: 0.8rem;
  }
}
.travel .prologue_img {
  line-height: 0;
  margin-top: 10px;
}
.travel .category {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .travel .category {
    margin-top: 35px;
  }
}
.travel .category_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .travel .category_inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.travel .category_inner a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 23.46%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px 5px 30px;
  border-radius: 8px;
  font-size: 2rem;
  letter-spacing: 0.05em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .travel .category_inner a {
    width: 48%;
    font-size: 1.2rem;
    padding: 12.5px 5px 15px;
    border-radius: 4px;
  }
}
.travel .category_inner a::before {
  content: "";
  display: block;
  width: 80px;
  height: 56px;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .travel .category_inner a::before {
    width: 40px;
    height: 28px;
    top: -20px;
  }
}
.travel .category_inner a::after {
  content: "";
  display: block;
  width: 32px;
  height: 29px;
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .travel .category_inner a::after {
    width: 24px;
    height: 19px;
    bottom: -9.5px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .category_inner a:nth-of-type(n+3) {
    margin-top: 35px;
  }
}
.travel .category_inner a span {
  display: block;
  width: 100%;
  text-align: center;
  font-weight: bold;
}
.travel .category_head {
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 80px;
  color: #f27171;
  border: 1px solid #f27171;
  padding: 20px 5px;
}
@media only screen and (max-width: 767px) {
  .travel .category_head {
    font-size: 1.8rem;
    margin-bottom: 40px;
    padding: 15px 5px;
  }
}
.travel .category_all {
  border: 1px solid #727272;
}
.travel .category_all::before {
  background: url(../img/travel/ico_category_all.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_all::before {
    background: url(../img/travel/sp_ico_category_all.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_all::after {
  background: url(../img/travel/ico_arrowB_gray.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_all::after {
    background: url(../img/travel/sp_ico_arrowB_gray.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_all span {
  color: #727272;
}
.travel .category_overseas {
  border: 1px solid #72a2cf;
}
.travel .category_overseas::before {
  background: url(../img/travel/ico_category_overseas.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_overseas::before {
    background: url(../img/travel/sp_ico_category_overseas.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_overseas::after {
  background: url(../img/travel/ico_arrowB_blue.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_overseas::after {
    background: url(../img/travel/sp_ico_arrowB_blue.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_overseas span {
  color: #72a2cf;
}
.travel .category_home {
  border: 1px solid #f29870;
}
.travel .category_home::before {
  background: url(../img/travel/ico_category_home.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_home::before {
    background: url(../img/travel/sp_ico_category_home.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_home::after {
  background: url(../img/travel/ico_arrowB_orange.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_home::after {
    background: url(../img/travel/sp_ico_arrowB_orange.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_home span {
  color: #f29870;
}
.travel .category_lodging {
  border: 1px solid #62bebb;
}
.travel .category_lodging::before {
  background: url(../img/travel/ico_category_lodging.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_lodging::before {
    background: url(../img/travel/sp_ico_category_lodging.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_lodging::after {
  background: url(../img/travel/ico_arrowB_green.png) no-repeat center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .travel .category_lodging::after {
    background: url(../img/travel/sp_ico_arrowB_green.png) no-repeat center;
    background-size: contain;
  }
}
.travel .category_lodging span {
  color: #62bebb;
}
.travel .detail_head {
  padding-top: 25px;
}
@media only screen and (max-width: 767px) {
  .travel .detail_head {
    padding-top: 20px;
  }
}
@media only screen and (max-width: 349px) {
  .travel .detail_date {
    width: 75px;
  }
}
.travel .detail_category {
  padding: 6px 25px;
  border-radius: 4px;
  margin-left: 20px;
}
@media only screen and (max-width: 767px) {
  .travel .detail_category {
    max-width: 180px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media only screen and (max-width: 767px) {
  .travel .detail_category {
    padding: 6px 30px;
  }
}
.travel .detail-home .detail_category {
  border: 1px solid #f29870;
  color: #f29870;
  position: relative;
}
.travel .detail-home .detail_category::after {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  background: url(../img/travel/ico_detail_home.png) no-repeat center;
  position: absolute;
  left: -25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.travel .detail-overseas .detail_category {
  border: 1px solid #72a2cf;
  color: #72a2cf;
  position: relative;
}
.travel .detail-overseas .detail_category::after {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  background: url(../img/travel/ico_detail_overseas.png) no-repeat center;
  position: absolute;
  left: -25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.travel .detail-lodging .detail_category {
  border: 1px solid #62bebb;
  color: #62bebb;
  position: relative;
}
.travel .detail-lodging .detail_category::after {
  content: "";
  display: block;
  width: 50px;
  height: 34px;
  background: url(../img/travel/ico_detail_lodging.png) no-repeat center;
  background-size: contain;
  position: absolute;
  left: -25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.travel .block-article .box_gray {
  margin-bottom: 65px;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_gray {
    margin-bottom: 30px;
  }
}
.travel .block-article .box_gray .box_inner {
  background-color: #fff;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_gray .box_inner {
    padding: 15px 15px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .travel .block-article .box_gray .box_inner > div:first-of-type {
    width: 62.5%;
  }
}
.travel .block-article .box_gray .box_inner > div:first-of-type p {
  line-height: 0;
}
.travel .block-article .box_gray .box_inner > div:first-of-type p img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .travel .block-article .box_gray .box_inner > div:last-of-type {
    width: 37.5%;
    padding: 10px 0 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_gray .box_inner > div:last-of-type {
    margin-top: 10px;
  }
}
.travel .block-article .box_gray .box_inner > div:last-of-type p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_gray .box_inner > div:last-of-type p {
    line-height: normal;
  }
}
.travel .block-article .box_gray .box_inner > div:last-of-type p span {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .travel .block-article .box_explane .layout > div:first-of-type {
    width: 32%;
  }
}
.travel .block-article .box_explane .layout > div:first-of-type p {
  line-height: 0;
}
.travel .block-article .box_explane .layout > div:first-of-type p img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .travel .block-article .box_explane .layout > div:last-of-type {
    width: 68%;
    padding: 10px 0 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_explane .layout > div:last-of-type {
    margin-top: 10px;
  }
}
.travel .block-article .box_explane .layout > div:last-of-type dl:not(:first-of-type) {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_explane .layout > div:last-of-type dl:not(:first-of-type) {
    margin-top: 10px;
  }
}
.travel .block-article .box_explane .layout > div:last-of-type dl dt {
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_explane .layout > div:last-of-type dl dt {
    font-size: 1.6rem;
  }
}
.travel .block-article .box_explane .layout > div:last-of-type dl dd {
  line-height: 1.8;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_explane .layout > div:last-of-type dl dd {
    margin-top: 5px;
  }
}
.travel .block-article .box_explane + .box_explane {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .travel .block-article .box_explane + .box_explane {
    margin-top: 20px;
  }
}
.travel .block-home .box_gray .box_inner {
  border: 1px solid #f29870;
}
.travel .block-home .box_gray .box_inner > div:last-of-type p span {
  color: #f29870;
}
.travel .block-overseas .box_gray .box_inner {
  border: 1px solid #72a2cf;
}
.travel .block-overseas .box_gray .box_inner > div:last-of-type p span {
  color: #72a2cf;
}
.travel .block-lodging .box_gray .box_inner {
  border: 1px solid #62bebb;
}
.travel .block-lodging .box_gray .box_inner > div:last-of-type p span {
  color: #62bebb;
}
.travel .link {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .travel .link {
    margin-top: 30px;
  }
}
.travel .link .inner > dl {
  text-align: center;
  padding: 30px 40px 35px;
  border: 1px solid #f27070;
}
@media only screen and (max-width: 767px) {
  .travel .link .inner > dl {
    padding: 15px 20px;
  }
}
.travel .link .inner > dl > dt {
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  color: #f27070;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .travel .link .inner > dl > dt {
    font-size: 1.6rem;
  }
}
.travel .link .inner > dl > dd {
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .travel .link .inner > dl > dd {
    font-size: 1.2rem;
  }
}
.travel .link_jtb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 15px 0 35px;
}
@media print, screen and (min-width: 768px) {
  .travel .link_jtb {
    padding: 0 90px;
  }
}
.travel .link_jtb a {
  display: block;
  width: 25%;
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .travel .link_jtb a {
    width: 47%;
  }
}
@media print, screen and (min-width: 768px) {
  .travel .link_jtb a:nth-of-type(n+4) {
    margin-top: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .travel .link_jtb a:not(:nth-of-type(3n)) {
    margin-right: 6.66%;
  }
}
@media only screen and (max-width: 767px) {
  .travel .link_jtb a:nth-of-type(n+3) {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .link_jtb a:not(:nth-of-type(2n)) {
    margin-right: 6%;
  }
}
.travel .link_jtb a:hover {
  opacity: 1;
}
.travel .link_jtb a:hover p {
  text-decoration: none;
}
.travel .link_jtb a:hover div {
  opacity: 0.7;
}
.travel .link_jtb a p {
  line-height: normal;
  letter-spacing: normal;
  color: #a4793c;
  text-decoration: underline;
}
.travel .link_jtb a div {
  line-height: 0;
  margin-top: 5px;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.travel .link_alert {
  text-align: left;
  padding: 25px 40px;
  border: 1px dashed #dedede;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .travel .link_alert {
    margin-top: 10px;
    padding: 10px 20px;
  }
}
.travel .link_alert dl dt, .travel .link_alert dl dd {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .travel .link_alert dl dt, .travel .link_alert dl dd {
    font-size: 1.2rem;
  }
}
.travel .link_alert dl dt {
  color: #d43333;
}
.travel .link_alert dl dd p {
  padding-left: 15px;
  text-indent: -15px;
}
@media only screen and (max-width: 767px) {
  .travel .link_alert dl dd p {
    padding-left: 12px;
    text-indent: -12px;
  }
}
.travel .link_alert dl dd p a {
  color: #a4793c;
  text-decoration: underline;
}
.travel .link_alert dl dd p a:hover {
  text-decoration: none;
  opacity: 1;
}
.travel .link_alert dl dd strong {
  color: #d43333;
}
.travel .link_btn {
  margin-top: 15px;
}
.travel .link_btn a {
  background-color: #f27070;
  border-color: #f27070;
}
@media print, screen and (min-width: 768px) {
  .travel .link_btn a {
    width: 400px;
  }
}
@media only screen and (max-width: 767px) {
  .travel .link_btn a {
    width: 240px;
  }
}
.travel .link_kome {
  margin-top: 10px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .travel .link_kome {
    font-size: 1rem;
  }
}
.travel .mail_text p + p {
  margin-top: 5px;
}

.jtb {
  max-width: 640px;
  margin: 0 auto;
  background-color: #fff;
  padding: 30px 30px 45px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .jtb {
    padding-bottom: 30px;
  }
}
.jtb_body {
  text-align: center;
  line-height: 1.75;
}
.jtb_body span {
  color: #d43333;
}
.jtb_btn {
  margin-top: 20px;
}
.jtb_btn a {
  width: 100%;
  background-color: #f27070;
  border-color: #f27070;
}
@media only screen and (max-width: 767px) {
  .jtb_btn a {
    font-size: 1.6rem;
  }
}
.jtb_btn a:hover {
  background-color: #f27070;
}
.jtb .mfp-close {
  position: absolute;
  top: 0;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  .jtb .mfp-close {
    display: none;
  }
}

/*=======================================================

	.travel_top トラベルトップページ

========================================================*/
.travel_top .menu_travel a {
  pointer-events: none;
}
.travel_top .menu_travel a:hover {
  opacity: 1;
}

/*=======================================================

	.travel_single トラベル詳細ページ

========================================================*/
.travel_single .category {
  margin-top: 120px;
}
@media only screen and (max-width: 767px) {
  .travel_single .category {
    margin-top: 50px;
  }
}

/*=======================================================

	.insurance 携行品損害保険サービスのご案内ページ

========================================================*/
.insurance .menu_insurance a {
  background: #20aee5 url(../img/common/ico_insurance_hover.svg) no-repeat center 28px;
  background-size: 40px auto;
  color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .insurance .menu_insurance a {
    background-position: 20px center;
    background-size: 20px auto;
  }
}
.insurance .head {
  background: url(../img/common/bg_stripe_insurance.png) left top;
}
.insurance .head_title {
  color: #fff;
}
.insurance .square_inner {
  background: url(../img/insurance/bg_insurance_01.png) left top;
  padding: 40px;
  border: 1px solid #dedede;
}
@media only screen and (max-width: 767px) {
  .insurance .square_inner {
    background: url(../img/insurance/sp_bg_insurance_01.png) repeat left top;
    padding: 20px;
  }
}
.insurance .square_title {
  line-height: 0;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .insurance .square_title {
    margin-bottom: 10px;
  }
}
.insurance .square_title:not(:first-of-type) {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .insurance .square_title:not(:first-of-type) {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 1020px) {
  .insurance .square_title-01 {
    width: 220px;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .square_title-01 {
    width: 100%;
  }
}
@media only screen and (max-width: 1020px) {
  .insurance .square_title-02 {
    width: 340px;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .square_title-02 {
    width: 100%;
  }
}
.insurance .square_text {
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  .insurance .square_text {
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .square_text {
    font-size: 1.2rem;
  }
}
.insurance .square_text-brown {
  font-weight: bold;
  color: #a4793c;
  font-size: 2.2rem;
}
@media print, screen and (min-width: 768px) {
  .insurance .square_text-brown {
    line-height: 1.63;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .square_text-brown {
    font-size: 1.6rem;
  }
}
.insurance .square_text-brown + .square_text-small {
  margin-top: 5px;
}
.insurance .square_text-small {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .insurance .square_text-small {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .square_text-kome {
    text-indent: -11px;
    padding-left: 11px;
  }
}
.insurance .square_text + .square_text-small {
  margin-top: 5px;
}
.insurance .square_kome {
  color: #f27070;
}
.insurance .square_img {
  text-align: center;
  line-height: 0;
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .insurance .square_img {
    margin-top: 15px;
  }
}
.insurance .square_list {
  border-bottom: 1px dashed #6eb92b;
}
.insurance .square_list li {
  letter-spacing: 0.05em;
  padding: 10px 0 10px 20px;
  border-top: 1px dashed #6eb92b;
  position: relative;
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  .insurance .square_list li {
    font-size: 1.2rem;
    line-height: 1.2;
  }
}
.insurance .square_list li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #6eb92b;
  position: absolute;
  top: 22px;
  left: 3px;
  border-radius: 5px;
}
@media only screen and (max-width: 767px) {
  .insurance .square_list li::before {
    top: 14px;
  }
}
.insurance .about {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .insurance .about {
    margin-top: 15px;
  }
}
.insurance .about_alert {
  text-align: center;
  font-size: 1.4rem;
  color: #d43333;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .insurance .about_alert {
    font-size: 1rem;
    margin-top: 10px;
  }
}
.insurance .example_head {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.63;
  color: #20aee5;
  padding: 40px 0;
}
@media only screen and (max-width: 767px) {
  .insurance .example_head {
    font-size: 1.8rem;
    padding: 20px 0;
    line-height: 1.3;
  }
}
.insurance .example_head span {
  display: inline-block;
  font-weight: bold;
  padding: 0 80px;
  background: url(../img/insurance/bg_example_left.png) no-repeat left center, url(../img/insurance/bg_example_right.png) no-repeat right center;
}
@media only screen and (max-width: 767px) {
  .insurance .example_head span {
    padding: 0 30px;
    background: url(../img/insurance/sp_bg_example_left.png) no-repeat left bottom, url(../img/insurance/sp_bg_example_right.png) no-repeat right bottom;
    background-size: 29px auto, 29px auto;
  }
}
.insurance .step_title {
  color: #fff462;
}
.insurance .case {
  position: relative;
}
.insurance .case ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .insurance .case ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.insurance .case ul li {
  width: 31%;
}
@media only screen and (max-width: 767px) {
  .insurance .case ul li {
    width: 47%;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case ul li:not(:nth-of-type(2n)) {
    margin-right: 6%;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case ul li:nth-of-type(n+3) {
    margin-top: 10px;
  }
}
.insurance .case_title {
  margin: 0 auto;
  text-align: center;
  line-height: 0;
}
@media print, screen and (min-width: 768px) {
  .insurance .case_title {
    display: inline-block;
    position: absolute;
    top: -72px;
    left: 0;
    right: 0;
  }
}
@media only screen and (max-width: 1020px) {
  .insurance .case_title {
    width: 153px;
    top: -68px;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case_title {
    margin-bottom: 20px;
  }
}
.insurance .case_title span {
  display: inline-block;
  line-height: 0;
}
.insurance .case_img {
  line-height: 0;
  vertical-align: bottom;
}
.insurance .case_text {
  line-height: 1.875;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .insurance .case_text {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .insurance .case-work ul li:not(:first-of-type) {
    padding-top: 3.33%;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case-work ul li:nth-of-type(2) {
    padding-top: 4.91%;
  }
}
@media only screen and (max-width: 767px) {
  .insurance .case-work .case_title {
    margin-bottom: 6px;
  }
}
.insurance .case-holiday {
  margin-top: 130px;
}
@media only screen and (max-width: 767px) {
  .insurance .case-holiday {
    margin-top: 20px;
  }
}
.insurance .alert {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .insurance .alert {
    margin-top: 30px;
  }
}
.insurance .alert_head {
  text-align: center;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  color: #20aee5;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  .insurance .alert_head {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
.insurance .contact {
  margin-top: 40px;
}
.insurance .contact_title {
  background: url(../img/common/bg_stripe_insurance.png) left top;
  margin-top: 40px;
}
.insurance .contact_img span {
  width: 36.02%;
}
.insurance .cont .cont_insurance_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #20aee5;
  border: 1px solid #20aee5;
}
@media only screen and (max-width: 767px) {
  .insurance .cont .cont_insurance_head {
    font-size: 1.8rem;
    padding: 15px 5px;
  }
}
.insurance .cont .cont_text {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .insurance .cont .cont_text {
    margin-top: 15px;
  }
}
.insurance .cont .close-announce {
  text-align: center;
}
.insurance .cont .close-announce + .cont_insurance_head {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .insurance .cont .close-announce + .cont_insurance_head {
    margin-top: 15px;
  }
}
.insurance .pdf_btn {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .insurance .pdf_btn {
    margin-top: 15px;
  }
}
.insurance .pdf_btn a {
  width: 420px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .insurance .pdf_btn a {
    width: 100%;
  }
}
.insurance .pdf_btn a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 20px;
  background: url(../img/common/ico_download_gray.svg) no-repeat center;
  vertical-align: bottom;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
@media only screen and (max-width: 767px) {
  .insurance .pdf_btn a::before {
    margin-right: 10px;
    vertical-align: middle;
  }
}
@media only screen and (max-width: 349px) {
  .insurance .pdf_btn a::before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 20px;
  }
}
.insurance .pdf_btn a:hover::before {
  background: url(../img/common/ico_download_white.svg) no-repeat center;
}
@media print, screen and (min-width: 350px) {
  .insurance .pdf_btn a br {
    display: none;
  }
}
.insurance .footer_body .contact {
  margin-top: 0;
}

/*=======================================================

	.condolence 弔慰金（お見舞金）制度のご案内

========================================================*/
.condolence .menu_sympathy a {
  background: #60b68d;
  color: #fff;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .condolence .menu_sympathy a::before {
    content: "";
    display: block;
    width: 32px;
    height: 23px;
    background: url(../img/common/ico_sympathy_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .condolence .menu_sympathy a {
    background: #60b68d url(../img/common/ico_sympathy_hover.svg) no-repeat center 21px;
    background-position: 20px center;
    background-size: 18.5px auto;
  }
}
.condolence .head {
  background: url(../img/common/bg_stripe_condolence.png) left top;
}
.condolence .head_title {
  color: #fff;
}
.condolence .prologue_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #60b68d;
  border: 1px solid #60b68d;
}
@media only screen and (max-width: 767px) {
  .condolence .prologue_head {
    font-size: 1.8rem;
    padding: 15px 5px;
  }
}
.condolence .prologue_text-big {
  font-size: 2.2rem;
  font-weight: bold;
  color: #60b68d;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .condolence .prologue_text-big {
    font-size: 1.8rem;
    margin-top: 20px;
  }
}
.condolence .prologue_text-small {
  font-size: 1.4rem;
  line-height: 2;
  left: 0.05em;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .condolence .prologue_text-small {
    margin-top: 15px;
  }
}
.condolence .prologue_alert {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .condolence .prologue_alert {
    margin-top: 30px;
  }
}
.condolence .step_inner {
  background: url(../img/common/bg_stripe_condolence.png) left top;
}
.condolence .step_num {
  color: #60b68d;
  border-color: #60b68d;
}
.condolence .step_text:not(:first-of-type) {
  margin-top: 10px;
}
.condolence .step_img {
  margin-top: 20px;
}
.condolence .step_howto {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .condolence .step_howto {
    margin-top: 15px;
  }
}
.condolence .step_howto dl {
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  .condolence .step_howto dl dt, .condolence .step_howto dl dd {
    font-size: 1.1rem;
  }
}
.condolence .step_howto dl dt {
  font-weight: bold;
}
.condolence .contact_title {
  background: url(../img/common/bg_stripe_condolence.png) left top;
}

/*=======================================================

	.employment 就労支援サービス

========================================================*/
.employment .menu_employ a {
  background: #62bebb url(../img/common/ico_employ_hover.svg) no-repeat center 20px;
  background-size: 27px auto;
  color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .employment .menu_employ a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.employment .head {
  background: url(../img/common/bg_stripe_employment.png) left top;
}
.employment .head_title {
  color: #fff;
}
.employment .prologue_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #62bebb;
  border: 1px solid #62bebb;
}
@media only screen and (max-width: 767px) {
  .employment .prologue_head {
    font-size: 1.8rem;
    padding: 15px 5px;
  }
}
.employment .prologue_text {
  text-align: center;
  line-height: 2;
  margin-top: 35px;
}
.employment .prologue_btn {
  margin-top: 55px;
}
@media only screen and (max-width: 767px) {
  .employment .prologue_btn {
    margin-top: 40px;
  }
}
.employment .prologue .close-announce {
  text-align: center;
}
.employment .prologue .close-announce + .prologue_head {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .employment .prologue .close-announce + .prologue_head {
    margin-top: 15px;
  }
}
.employment .merit {
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .employment .merit {
    margin-top: 35px;
  }
}
.employment .merit_title {
  color: #62bebb;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .employment .merit_title {
    font-size: 1.8rem;
  }
}
.employment .merit_body {
  margin-top: 55px;
}
@media print, screen and (min-width: 768px) {
  .employment .merit_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.employment .merit_box {
  background-color: #f5f5f5;
  border-radius: 7px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 55px 20px 35px;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .employment .merit_box {
    width: 30.6%;
  }
}
@media only screen and (max-width: 767px) {
  .employment .merit_box {
    padding: 50px 20px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .employment .merit_box:not(:first-of-type) {
    margin-top: 50px;
  }
}
.employment .merit_num {
  width: 66.66%;
  background-color: #62bebb;
  border-radius: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  margin: 0 auto;
  padding: 7px 5px;
  text-align: center;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
}
@media only screen and (max-width: 767px) {
  .employment .merit_num {
    width: 50%;
  }
}
.employment .merit_num span {
  font-size: 2.4rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .employment .merit_num span {
    font-size: 1.8rem;
  }
}
.employment .merit_num::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top-color: #62bebb;
  margin: 0 auto;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
.employment .merit_img {
  line-height: 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .employment .merit_img-01 img {
    width: 115px;
  }
}
@media only screen and (max-width: 767px) {
  .employment .merit_img-02 img {
    width: 85px;
  }
}
@media only screen and (max-width: 767px) {
  .employment .merit_img-03 img {
    width: 65px;
  }
}
.employment .merit_label {
  color: #a4793c;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.45;
  margin-top: 20px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .employment .merit_label {
    font-size: 1.8rem;
  }
}
.employment .merit_text {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .employment .merit_text {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}
.employment .souvenir {
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir {
    margin-top: 35px;
  }
}
.employment .souvenir_title {
  color: #62bebb;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
.employment .souvenir_body {
  margin-top: 35px;
}
@media print, screen and (min-width: 768px) {
  .employment .souvenir_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_body {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .employment .souvenir_body > div {
    width: 47.65%;
  }
}
.employment .souvenir_table table {
  width: 100%;
}
.employment .souvenir_table table tr th, .employment .souvenir_table table tr td {
  border: 1px solid #fff;
  font-size: 2.2rem;
  font-weight: bold;
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_table table tr th, .employment .souvenir_table table tr td {
    font-size: 1.6rem;
  }
}
.employment .souvenir_table table tr th {
  width: 50%;
  background-color: #62bebb;
  color: #fff;
  padding: 23px 5px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_table table tr th {
    padding: 18px 5px;
  }
}
.employment .souvenir_table table tr td {
  background-color: #f3f2e2;
  color: #000;
  padding: 16px 20px;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_table table tr td {
    padding: 12px 15px;
  }
}
.employment .souvenir_table table tr td span {
  font-size: 3.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_table table tr td span {
    font-size: 2rem;
  }
}
.employment .souvenir_table table tr td.souvenir_table-color {
  color: #f27070;
  text-align: right;
}
.employment .souvenir_gray {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_gray {
    margin-top: 20px;
  }
}
.employment .souvenir_img {
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .employment .souvenir_img {
    text-align: center;
  }
}
.employment .souvenir_text {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.employment .souvenir_text:first-of-type {
  margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .employment .step {
    margin-top: 80px;
  }
}
.employment .step_inner {
  background: url(../img/common/bg_stripe_employment.png) left top;
}
@media print, screen and (min-width: 768px) {
  .employment .step_box:not(:first-of-type) {
    margin-top: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .employment .step_box:not(:first-of-type) {
    margin-top: 25px;
  }
}
.employment .step_num {
  border-right-color: #62bebb;
  color: #62bebb;
}
@media print, screen and (min-width: 768px) {
  .employment .step_num {
    padding: 20px 16px;
  }
}
.employment .step_img {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .employment .step_img {
    margin-top: 15px;
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  .employment .step_img + .step_text {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .employment .step_img + .step_text {
    margin-top: 15px;
  }
}
.employment .step_text span {
  color: #242424;
}
.employment .step_text a {
  text-decoration: underline;
}
.employment .step_text a:hover {
  opacity: 1;
  text-decoration: none;
}
.employment .check + .contact {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  .employment .check + .contact {
    margin-top: 50px;
  }
}

/*=======================================================

	.high_life ハイライフプラン継続加入のご案内

========================================================*/
.high_life .menu_high a {
  background: #58a7c4;
  color: #fff;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .high_life .menu_high a::before {
    content: "";
    display: block;
    width: 24px;
    height: 22px;
    background: url(../img/common/ico_highlife_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .high_life .menu_high a {
    background: #58a7c4 url(../img/common/ico_highlife_hover.svg) no-repeat center 23px;
    background-position: 20px center;
    background-size: 12.5px auto;
  }
}
.high_life .head {
  background: url(../img/common/bg_stripe_life.png) left top;
}
.high_life .head_title {
  color: #fff;
}
.high_life .prologue_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #58a7c4;
  border: 1px solid #58a7c4;
}
@media only screen and (max-width: 767px) {
  .high_life .prologue_head {
    font-size: 1.8rem;
    padding: 15px 5px;
  }
}
.high_life .prologue_text-big {
  font-size: 2.2rem;
  font-weight: bold;
  color: #60b68d;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .high_life .prologue_text-big {
    font-size: 1.8rem;
    margin-top: 20px;
  }
}
.high_life .prologue_text-small {
  font-size: 1.4rem;
  line-height: 2;
  left: 0.05em;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .high_life .prologue_text-small {
    margin-top: 15px;
  }
}
.high_life .prologue_img {
  line-height: 0;
  text-align: center;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .high_life .prologue_img {
    margin-top: 30px;
  }
}
.high_life .contact_title {
  background: url(../img/common/bg_stripe_life.png) left top;
}

/*=======================================================

	.health 健康診断のご案内

========================================================*/
.health .menu_health a {
  background: #72a2cf;
  color: #fff;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .health .menu_health a::before {
    content: "";
    display: block;
    width: 19px;
    height: 30px;
    background: url(../img/common/ico_medical_hover.svg) no-repeat center/contain;
  }
}
@media only screen and (max-width: 767px) {
  .health .menu_health a {
    background: #72a2cf url(../img/common/ico_medical_hover.svg) no-repeat center 17px;
    background-position: 20px center;
    background-size: 11px auto;
  }
}
.health .head {
  background: url(../img/common/bg_stripe_health.png) left top;
}
.health .head_title {
  color: #fff;
}
.health .strip {
  margin-top: 0;
}
.health .strip + .strip {
  border-top: 1px solid #fff;
}
.health .strip_head {
  background-color: #72a2cf;
}
@media print, screen and (min-width: 768px) {
  .health .strip_head {
    width: 220px;
  }
}
@media only screen and (max-width: 767px) {
  .health .strip_head {
    width: 110px;
    padding: 10px 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .health .strip_head span {
    text-align: left;
  }
}
@media print, screen and (min-width: 768px) {
  .health .strip_body {
    width: -o-calc(100% - 220px);
    width: calc(100% - 220px);
  }
}
@media only screen and (max-width: 767px) {
  .health .strip_body {
    width: -o-calc(100% - 110px);
    width: calc(100% - 110px);
  }
}
.health .strip_body > span {
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .health .strip_body > span {
    margin-bottom: 5px;
  }
}
.health .strip_body > span span {
  display: inline;
  color: #323232;
}
.health .strip_body > span strong {
  font-size: 3.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .health .strip_body > span strong {
    font-size: 2rem;
  }
}
.health .info {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .health .info {
    margin-top: 30px;
  }
}
.health .pdf {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .health .pdf {
    margin-top: 30px;
  }
}
.health .pdf dl {
  text-align: center;
  padding: 30px 5px;
  border: 1px solid #72a2cf;
}
@media only screen and (max-width: 767px) {
  .health .pdf dl {
    padding: 15px 20px;
  }
}
.health .pdf dl dt {
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  color: #72a2cf;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .health .pdf dl dt {
    font-size: 1.6rem;
  }
}
.health .pdf dl dd {
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .health .pdf dl dd {
    font-size: 1.2rem;
  }
}
.health .pdf_btn {
  margin-top: 15px;
}
.health .pdf_btn a {
  width: 400px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .health .pdf_btn a {
    width: 100%;
  }
}
.health .pdf_btn a::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 20px;
  background: url(../img/common/ico_download_gray.svg) no-repeat center;
  vertical-align: bottom;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
@media only screen and (max-width: 767px) {
  .health .pdf_btn a::before {
    margin-right: 10px;
    vertical-align: middle;
  }
}
@media only screen and (max-width: 349px) {
  .health .pdf_btn a::before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 20px;
  }
}
.health .pdf_btn a:hover::before {
  background: url(../img/common/ico_download_white.svg) no-repeat center;
}
@media print, screen and (min-width: 350px) {
  .health .pdf_btn a br {
    display: none;
  }
}
.health .step_inner {
  background: url(../img/common/bg_stripe_health.png) left top;
}
.health .step_box {
  background-color: #fff;
  padding: 25px;
}
@media only screen and (max-width: 767px) {
  .health .step_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 12px;
  }
}
.health .step_img {
  width: 210px;
  margin-top: 0;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .health .step_img {
    width: 90px;
  }
}
.health .step_num {
  display: inline-block;
  width: auto;
  color: #72a2cf;
  border: none;
  text-align: left;
  padding: 0;
  font-size: 2.4rem;
  border-bottom: 1px dashed #72a2cf;
  padding-bottom: 5px;
}
@media only screen and (max-width: 767px) {
  .health .step_num {
    font-size: 1.2rem;
  }
}
.health .step_cont {
  padding: 5px 0 0 20px;
}
@media print, screen and (min-width: 768px) {
  .health .step_cont {
    width: -o-calc(100% - 210px);
    width: calc(100% - 210px);
  }
}
@media only screen and (max-width: 767px) {
  .health .step_cont {
    width: -o-calc(100% - 90px);
    width: calc(100% - 90px);
    padding: 0 0 0 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .health .step_text:not(.step_text-brown) {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .health .step_text-brown {
    margin-top: 0;
  }
}
.health .step_text-bottom {
  margin-top: 15px;
  color: #fff;
}
.health .step_text.pc {
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .health .step_text.sp {
    width: 100%;
    margin-top: 15px;
    text-align: center;
  }
}

/*=======================================================

	.circle サークル活動 共通

========================================================*/
.circle .menu_circle a {
  background: #8f8acc url(../img/common/ico_circle_hover.svg) no-repeat center 21px;
  background-size: 27px auto;
  color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .circle .menu_circle a {
    background-position: 20px center;
    background-size: 13.5px auto;
  }
}
.circle .head {
  background: url(../img/common/bg_stripe_circle.png) left top;
}
.circle .head_title {
  color: #fff;
}
.circle .prologue_head {
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #908bcd;
  border: 1px solid #908bcd;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_head {
    font-size: 1.8rem;
    padding: 15px 5px;
  }
}
.circle .prologue_text-big {
  font-size: 2.2rem;
  font-weight: bold;
  color: #908bcd;
  margin: 40px 0 5px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_text-big {
    font-size: 1.8rem;
    margin: 20px 0 5px;
  }
}
.circle .prologue_text-small {
  font-size: 1.4rem;
  line-height: 2;
  left: 0.05em;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_text-small {
    margin-top: 15px;
  }
}
.circle .prologue_text-before {
  text-align: center;
  line-height: 2;
}
.circle .prologue_alert {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_alert {
    margin-top: 0;
  }
}
.circle .prologue_alert > p {
  color: #a4793c;
  font-weight: bold;
  font-size: 1.8rem;
  left: 0.05em;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_alert > p {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}
.circle .prologue_alert > p:not(:first-of-type) {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_alert > p:not(:first-of-type) {
    margin-top: 15px;
  }
}
.circle .prologue_alert dl:not(:first-of-type) {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_alert dl:not(:first-of-type) {
    margin-top: 5px;
  }
}
.circle .prologue_kome {
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .circle .prologue_kome {
    margin-top: 5px;
  }
}
.circle .prologue_btn {
  margin-top: 60px;
}
.circle .block-03 {
  padding: 30px 0;
}
.circle .block .box_img {
  line-height: 0;
}
.circle .detail_category {
  padding-left: 35px;
}

/*=======================================================

	.account_form 会員情報変更フォーム

========================================================*/
.account_form.input .form_inner table tr td {
  padding: 1.63% 3.06%;
}
@media only screen and (max-width: 767px) {
  .account_form.input .form_inner table tr td {
    padding: 3.73% 4.47%;
  }
}
.account_form.complete .form_btn {
  text-align: center;
}
.account_form.complete .form_btn a {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .account_form.complete .form_btn a {
    width: 135px;
  }
}
.account_form.complete .form_btn a:last-of-type {
  margin-left: 5%;
}

/*=======================================================

	.password_change_form パスワード変更フォーム

========================================================*/
.password_change_form.complete .form_btn {
  text-align: center;
}
.password_change_form.complete .form_btn a {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .password_change_form.complete .form_btn a {
    width: 135px;
  }
}
.password_change_form.complete .form_btn a:last-of-type {
  margin-left: 5%;
}

/*=======================================================

	.mail_change メールアドレス変更フォーム

========================================================*/
.mail_change .cont .sub_text {
  text-align: center;
}

/*=======================================================

	.health_form 健康診断受診申込変更フォーム

========================================================*/
.health_form.input .flow_text {
  line-height: 2;
}
.health_form.input .form_inner table tr.form_checkup td {
  text-align: center;
}
.health_form.complete .form_btn {
  text-align: center;
}
.health_form.complete .form_btn a {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .health_form.complete .form_btn a {
    width: 135px;
  }
}
.health_form.complete .form_btn a:last-of-type {
  margin-left: 5%;
}

/*=======================================================

	.magazine_form メルマガ配信変更フォーム

========================================================*/
.magazine_form.input .flow_text {
  line-height: 2;
}
.magazine_form.input .form_inner table tr.form_magazine td {
  text-align: center;
}
.magazine_form.complete .form_btn {
  text-align: center;
}
.magazine_form.complete .form_btn a {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .magazine_form.complete .form_btn a {
    width: 135px;
  }
}
.magazine_form.complete .form_btn a:last-of-type {
  margin-left: 5%;
}

/*=======================================================

	.withdraw_form 退会申請手続きフォーム

========================================================*/
.withdraw_form.input .flow_text {
  text-align: left;
  line-height: 1.8;
}
.withdraw_form.input .form_alert {
  margin-bottom: 4%;
  border: 1px solid #dedede;
  padding: 10px;
}
.withdraw_form.input .form_alert p {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .withdraw_form.input .form_alert p {
    font-size: 1.4rem;
  }
}
.withdraw_form.input .form_alert ul {
  margin-top: 2%;
}
.withdraw_form.input .form_alert ul li {
  padding-left: 16px;
  text-indent: -16px;
}
@media only screen and (max-width: 767px) {
  .withdraw_form.input .form_alert ul li {
    font-size: 1.2rem;
    padding-left: 12px;
    text-indent: -12px;
  }
}
@media print, screen and (min-width: 768px) {
  .withdraw_form.input .form_inner table tr.form_reason td .checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .withdraw_form.input .form_inner table tr.form_reason .checkboxWrapper {
    width: 50%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .withdraw_form.input .form_inner table tr.form_reason .checkboxWrapper {
    display: block;
  }
}

/*=======================================================

	.terms 会員規約

========================================================*/
/*=======================================================

	.policy プライバシーポリシー

========================================================*/
.policy .sub_list li {
  padding-left: 6px;
  text-indent: -6px;
}
@media only screen and (max-width: 767px) {
  .policy .sub_list li {
    padding-left: 5px;
    text-indent: -5px;
  }
}

/*=======================================================

	.faq よくある質問

========================================================*/
.faq .question_box {
  border-bottom: 1px solid #dedede;
}
.faq .question_box:first-of-type {
  border-top: 1px solid #dedede;
}
.faq .question_box > div {
  padding: 20px 65px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .faq .question_box > div {
    padding: 15px 45px;
  }
}
@media only screen and (max-width: 767px) {
  .faq .question_box > div:last-of-type {
    padding-right: 20px;
  }
}
.faq .question_box > div::before {
  display: block;
  width: 36px;
  height: 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.8rem;
  position: absolute;
  top: 17px;
  left: 17px;
  text-align: center;
  line-height: 36px;
  border-radius: 50px;
}
@media only screen and (max-width: 767px) {
  .faq .question_box > div::before {
    width: 25px;
    height: 25px;
    line-height: 22px;
    font-size: 1.3rem;
    top: 10px;
    left: 10px;
  }
}
.faq .question_box > div p {
  letter-spacing: 0.05em;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .faq .question_box > div p {
    font-size: 1.2rem;
  }
}
.faq .question_head {
  cursor: pointer;
}
.faq .question_head::before {
  content: "Q";
  color: #727272;
  border: 1px solid #727272;
}
.faq .question_head.close + .question_body {
  display: none;
}
.faq .question_head.close .question_btn {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.faq .question_head p {
  font-weight: bold;
}
.faq .question_btn {
  display: block;
  width: 12px;
  height: 6px;
  background: url(../img/common/ico_arrowT_gray.svg) no-repeat center;
  background-size: 12px 6px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform-origin: center 1px;
          transform-origin: center 1px;
}
.faq .question_body {
  border-top: 1px dashed #dedede;
  background-color: #fafafa;
}
.faq .question_body::before {
  content: "A";
  color: #fff;
  background-color: #a4793c;
  border: 1px solid #a4793c;
}

/*=======================================================

	.alphaclub パンプキンαくらぶ会員の方へ

========================================================*/
/*=======================================================

	.top_phase01

========================================================*/
.top_phase01 .head {
  margin-bottom: 0;
}
.top_phase01 .hero {
  padding: 4.39% 0 8.78%;
  background: url(../img/home/bg_hero.png);
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .hero {
    padding: 8% 0;
  }
}
.top_phase01 .hero_flag {
  width: 24.08%;
  line-height: 0;
  position: absolute;
  top: -10px;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .hero_flag {
    width: 33.6%;
    top: -5px;
    z-index: 0;
  }
}
.top_phase01 .hero_flag-01 {
  left: 0;
}
.top_phase01 .hero_flag-02 {
  right: 0;
  text-align: right;
}
.top_phase01 .hero_img {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .hero .inner {
    padding: 0;
  }
}
.top_phase01 .admission {
  text-align: center;
  padding: 2.19% 0;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission {
    margin-bottom: 5%;
    padding-top: 14.66%;
  }
}
.top_phase01 .admission_title {
  font-size: 2.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_title {
    font-size: 2rem;
  }
}
.top_phase01 .admission_btn {
  margin-top: 2.04%;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_btn {
    margin-top: 4.46%;
  }
}
.top_phase01 .admission_btn a {
  font-weight: bold;
  font-size: 2.8rem;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_btn a {
    font-size: 2rem;
  }
}
.top_phase01 .admission_label {
  color: #d43333;
  font-size: 1.4rem;
  margin-top: 3.06%;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_label {
    margin-top: 5.97%;
    font-size: 1.2rem;
  }
}
.top_phase01 .admission_label span {
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding: 0 1.02%;
}
.top_phase01 .admission_label span::before, .top_phase01 .admission_label span::after {
  content: "";
  display: block;
  height: 1px;
  width: 30px;
  background-color: #d43333;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_phase01 .admission_label span::before {
  right: 100%;
}
.top_phase01 .admission_label span::after {
  left: 100%;
}
.top_phase01 .admission_text {
  margin-top: 1.02%;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_text {
    margin-top: 2.23%;
    font-size: 1.2rem;
  }
}
.top_phase01 .admission_text span {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 1.02%;
}
@media only screen and (max-width: 767px) {
  .top_phase01 .admission_text span {
    font-size: 1.4rem;
    margin-bottom: 1.49%;
  }
}

/*=======================================================

	.gototravel Go To Travelキャンペーン

========================================================*/
.gototravel .hero {
  background: url(../img/gototravel/bg_hero_01.jpg) no-repeat center;
  background-size: cover;
  padding: 110px 0 100px;
}
@media only screen and (max-width: 767px) {
  .gototravel .hero {
    padding: 55px 0 50px;
  }
}
.gototravel .hero_title {
  width: 56.43%;
  max-width: 790px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .gototravel .hero_title {
    width: 70%;
  }
}
.gototravel .prologue {
  padding: 60px 0 100px;
}
@media only screen and (max-width: 767px) {
  .gototravel .prologue {
    padding: 30px 0 50px;
  }
}
.gototravel .prologue_head {
  font-size: 2.8rem;
  text-align: center;
  line-height: 1.63;
  font-weight: bold;
  padding: 25px 5px;
  color: #2b96d9;
  border: 1px solid #2b96d9;
}
@media only screen and (max-width: 767px) {
  .gototravel .prologue_head {
    font-size: 2.2rem;
    padding: 10px 15px;
    line-height: normal;
  }
}
.gototravel .profit {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .gototravel .profit {
    margin-top: 30px;
  }
}
.gototravel .profit_title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .gototravel .profit_title {
    font-size: 2rem;
    margin-bottom: 25px;
  }
}
.gototravel .profit_title span {
  color: #d43333;
  font-size: 3.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .gototravel .profit_title span {
    display: block;
    font-size: 2.4rem;
  }
}
.gototravel .campaign {
  padding-bottom: 100px;
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign {
    padding-bottom: 50px;
  }
}
.gototravel .campaign_title {
  color: #2b96d9;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign_title {
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
}
.gototravel .campaign_title span {
  color: #000;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign_title span {
    font-size: 1.4rem;
  }
}
.gototravel .campaign_table table {
  width: 100%;
  border-top: 1px solid #dedede;
}
.gototravel .campaign_table table tr {
  border-bottom: 1px solid #dedede;
}
.gototravel .campaign_table table tr th, .gototravel .campaign_table table tr td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 0;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign_table table tr th, .gototravel .campaign_table table tr td {
    font-size: 1.4rem;
    padding: 20px 0;
  }
}
.gototravel .campaign_table table tr th {
  width: 160px;
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign_table table tr th {
    width: 110px;
  }
}
.gototravel .campaign_table table tr td {
  width: calc(100% - 160px);
}
@media only screen and (max-width: 767px) {
  .gototravel .campaign_table table tr td {
    width: calc(100% - 110px);
  }
}
.gototravel .feature {
  background-color: #eff5f8;
  padding: 75px 0 115px;
}
@media only screen and (max-width: 767px) {
  .gototravel .feature {
    padding: 30px 0 60px;
  }
}
.gototravel .feature_title {
  color: #2b96d9;
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .gototravel .feature_title {
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
}
@media print, screen and (min-width: 768px) {
  .gototravel .feature_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.gototravel .feature_item {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print, screen and (min-width: 768px) {
  .gototravel .feature_item {
    width: 31%;
  }
}
@media print, screen and (min-width: 768px) {
  .gototravel .feature_item:nth-of-type(n+4) {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .gototravel .feature_item:not(:first-of-type) {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .gototravel .feature_item:not(:nth-of-type(3n)) {
    margin-right: 3.5%;
  }
}
.gototravel .feature_label {
  font-weight: bold;
  line-height: 1.875;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .gototravel .feature_label {
    margin-top: 5px;
  }
}
.gototravel .feature_btn {
  margin-top: 55px;
}
@media only screen and (max-width: 767px) {
  .gototravel .feature_btn {
    margin-top: 30px;
  }
}
.gototravel .feature_btn a {
  width: 400px;
}
@media only screen and (max-width: 767px) {
  .gototravel .feature_btn a {
    width: 250px;
  }
}
/*# sourceMappingURL=style.css.map */