@charset "UTF-8";

*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p {
  margin: 0
}
h2,
h3 {
  font-weight: 600;
}

html {
  scroll-behavior: smooth
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto
}

img,
picture {
  max-width: 100%;
  display: block
}

button,
input,
select,
textarea {
  font: inherit
}

li,
ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

a {
  text-decoration: none
}

a:hover {
  opacity: 0.5;
  transition: 0.3s;
}

img {
  height: auto
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgba(5, 60, 110, var(--tw-bg-opacity))
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity))
}

.border-collapse {
  border-collapse: collapse
}

.border-primary {
  border-color: #053c6e
}

.border-solid {
  border-style: solid
}

.border-dotted {
  border-style: dotted
}

.border-0 {
  border-width: 0
}

.border-1 {
  border-width: 1px
}

.border-r-1 {
  border-right-width: 1px
}

.border-b-1 {
  border-bottom-width: 1px
}

.block {
  display: block
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.vertical-bottom {
  vertical-align: bottom!important;
}

.table {
  display: table
}

.contents {
  display: contents
}

.hidden {
  display: none
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row
}

.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.text-14 {
  font-size: 14px
}

.text-15 {
  font-size: 15px
}

.text-16 {
  font-size: 16px
}

.text-18 {
  font-size: 18px
}

.text-19 {
  font-size: 19px
}

.text-20 {
  font-size: 20px
}

.text-42 {
  font-size: 42px
}

.leading-none {
  line-height: 1
}

.leading-loose {
  line-height: 2
}

.mb-1rem {
  margin-bottom: 1rem;
}

.mb-2rem {
  margin-bottom: 2rem;
}

.my-1rem {
  margin: 1rem 0;
}

.my-2rem {
  margin: 2rem 0;
}

.my-3rem {
  margin: 3rem 0;
}

.my-4rem {
  margin: 4rem 0;
}

.my-5rem {
  margin: 5rem 0;
}

.mt-5px {
  margin-top: 5px
}

.mt-10px {
  margin-top: 10px
}

.mr-10px {
  margin-right: 10px
}

.ml-10px {
  margin-left: 10px
}

.mt-15px {
  margin-top: 15px
}

.mt-5 {
  margin-top: 5rem;
}

.mt-20px {
  margin-top: 20px
}

.mr-20px {
  margin-right: 20px
}

.mb-20px {
  margin-bottom: 20px
}

.mt-25px {
  margin-top: 25px
}

.mt-30px {
  margin-top: 30px
}

.mb-30px {
  margin-bottom: 30px
}

.mt-35px {
  margin-top: 35px
}

.mt-40px {
  margin-top: 40px
}

.mt-45px {
  margin-top: 45px
}

.mt-50px {
  margin-top: 50px
}

.mt-60px {
  margin-top: 60px
}

.mt-65px {
  margin-top: 65px
}

.my-5 {
  margin-top: 5rem;
  margin-bottom: 5rem
}

.py-5 {
  padding-top: 5rem;
  padding-bottom: 5rem
}

.px-5 {
  padding-left: 5rem;
  padding-right: 5rem
}

.px-7 {
  padding-left: 7rem;
  padding-right: 7rem
}

.py-5px {
  padding-top: 5px;
  padding-bottom: 5px
}

.py-10px {
  padding-top: 10px;
  padding-bottom: 10px
}

.px-1rem {
  padding-left: 1rem;
  padding-right: 1rem
}

.px-10px {
  padding-left: 10px;
  padding-right: 10px
}

.px-20px {
  padding-left: 20px;
  padding-right: 20px
}

.py-30px {
  padding-top: 30px;
  padding-bottom: 30px
}

.pr-20px {
  padding-right: 20px
}

.pb-20px {
  padding-bottom: 20px
}

.pt-50px {
  padding-top: 50px
}

.pt-60px {
  padding-top: 60px
}

.pb-150px {
  padding-bottom: 150px
}

.fs-15px {
  font-size: 15px;
}

.fs-28px {
  font-size: 28px;
}

.fw-bold {
  font-weight: bold;
}

.static {
  position: static
}

.sticky {
  position: -webkit-sticky;
  position: sticky
}

.resize {
  resize: both
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.text-center {
  text-align: center
}

.text-right {
  text-align: right
}

.text-primary {
  font-size: 20px;
  font-weight: bold;
  color: #71B487;
}

.text-primary:after {
  content: '';
  position: absolute;
  top: 50px;
  display: inline-block;
  width: 50px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F03731;
}

.text-white {
  color: #fff
}

.w-100 {
  width: 100%;
}

.w-full {
  width: 100%
}

.display-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.justify-content-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@-webkit-keyframes ping {
  100% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0
  }
}

@keyframes ping {

  100%,
  75% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0
  }
}

@keyframes pulse {
  50% {
    opacity: .5
  }
}

@-webkit-keyframes bounce {
  100% {
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1)
  }
}

@keyframes bounce {

  0,
  100% {
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1)
  }

  50% {
    -webkit-transform: none;
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1)
  }
}

html {
  font-size: 62.5%;
  -webkit-font-feature-settings: "palt"1;
  font-feature-settings: "palt"1
}

body {
  position: relative;
  font-family: "Zen Maru Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.7;
  color: #3a3937;
  word-break: break-word;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-top: 60px;
  background-color: #fff;
}

a {
  color: #053c6e
}

.header {
  height: 10vh;
  position: fixed;
  z-index: 2;
  background-color: #fff;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  -moz-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}
@media(max-width:1024px) {
  .header {
    height: 7.5vh;
  }
}
.header_fixed {
  padding-top: 10vh;
  margin-top: -10vh;
  display: block;
}
@media(max-width:1024px) {
  .header {
    padding-top: 7.5vh;
    margin-top: -7.5vh;
    display: block;
  }
}

.header_inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding-left: 3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  position: relative;
}

.header_logo {
  width: 268px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.header_logo a {
  display: block
}

.header_logo a img {
  display: block;
  width: auto;
  max-height: 60px;
}

.header_menu {
  position: absolute;
  display: none;
  top: 60px;
  left: 0;
  width: 100%;
  z-index: 1;
}

.header_menu_inr {
  height: 100%;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 40px
}

.header_menu_btn {
  position: relative;
  width: 60px;
  height: 60px;
  top: 0;
  margin-left: auto;
  background: #8b8b8b;
}

.header_menu_btn_icon {
  position: absolute;
  display: block;
  width: 3rem;
  height: 2.5rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.header_menu_btn_icon>span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0
}

.header_menu_btn_icon>span:nth-child(1) {
  top: 0
}

.header_menu_btn_icon>span:nth-child(2) {
  top: 50%
}

.header_menu_btn_icon>span:nth-child(3) {
  top: auto;
  bottom: 0
}

.header_menulist {
  display: block;
  background-color: #fff;
  margin: 20px 0;
}

.header_menulist>li {
  position: relative;
  border-bottom: 1px solid #eee;
  margin: 0 3rem
}

/*
.header_menulist>li:last-child {
  border-bottom: none;
  border-left: 1px solid #D3D3D3;
}
*/

.header_menulist>li>a {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  display: block;
  color: #3A3937;
  padding: 20px 50px 20px 0;
  z-index: 1;
  letter-spacing: 3px;
}

.header_menulist>li>a:hover {
  color: #71B487;
  text-decoration: none;
  opacity: 1;
}

.header_menulist>li>a>span {
  display: inline-block
}

.header_menulist_item>a>span {
  position: relative
}

.header_menu_active {
  color: #71B487;
}

.globalNav {
  display: none;
  width: 100%;
  background-color: #fff;
  padding-left: 25px;
  padding-right: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #eee
}

.globalNav_btn {
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  right: 0;
  top: 23px;
  z-index: 0
}

.globalNav_btn::before {
  position: absolute;
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #053c6e
}

.globalNav_btn::after {
  position: absolute;
  content: '';
  display: block;
  height: 100%;
  width: 2px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e
}

.globalNav_name {
  display: none
}

.globalNav_menu {
  padding: 10px 0
}

.globalNav_item {
  padding-top: 10px;
  padding-bottom: 10px
}

.globalNav_item>a {
  position: relative;
  color: #3A3937;
  display: block
}

.globalNav_item>a:after {
  content: '';
  display: block;
  visibility: hidden;
  width: 0;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 31px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

.gnav_contact_img {
  margin-right: 1rem;
}

.home .wrap {
  overflow: hidden;
}

.wrap {
  position: relative;
  display: block;
  padding: 0 3rem 70px
}

.inner {
  display: block
}

.main_top {
  margin-left: -3rem
}

.main_top::after {
  content: "";
  display: block;
  clear: both
}

.main_top .breadCrumbs {
  padding-top: 15px;
  margin-left: 3rem
}

.maintitle {
  position: relative;
  display: inline-block;
  color: #fff;
  background: linear-gradient(90deg, #71B487, #3064CC);
  padding: 6rem;
  margin-top: -11rem;
  width: 88%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.maintitle h1:before {
  position: absolute;
  content: " ";
  display: block;
  border-top: 1px solid #EE140D;
  top: 15%;
  width: 15%;
}

.maintitle_en {
  line-height: 1;
  display: block;
  font-size: 6.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5rem;
  display: block
}

.maintitle_ja {
  line-height: 1;
  display: block;
  font-size: 3rem;
  padding-top: 2rem
}

.main_body {
  padding-top: 45px
}

.main_inr_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse
}

.main_inr_contents {
  margin-top: 40px
}

.footer {
  text-align: center;
  padding-top: 2rem;
  font-size: 14px;
}

.footer_inr {
  position: relative;
  padding: 45px 3rem
}

.footer_logo {
  width: 241px;
}

.footer_logo img {
  display: block;
  width: 100%;
}

.footer_menu {
  list-style: none;
  padding: 0;
  margin: 2rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.footer_menu>li a {
  color: #3A3937;
  letter-spacing: 1px;
}

.footer_bottom {
  margin: 1rem 0;
}

.footer_link {
  font-size: 13px;
  letter-spacing: normal;
  list-style: none;
  padding: 0;
  margin: 15px 0 0
}

.footer_link>li {
  line-height: 1.2;
  text-align: left;
  margin-top: 15px
}

.footer_link>li a {
  color: #3A3937
}

.footer_copy {
  font-size: 11px;
  letter-spacing: normal;
  color: rgba(0, 45, 136, 0.37);
}

.sidenav_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -20px
}

.sidenav_item {
  font-size: 15px;
  letter-spacing: normal;
  font-weight: 700;
  width: 50%;
  margin-top: 20px
}

@media(max-width:440px) {
  .sidenav_item {
    font-size: 12px;
  }
}

.sidenav_item a {
  color: #3A3937;
  text-decoration: none;
}

.sidenav_item .ico-arw2 {
  margin: 0 5px 0 2px;
  position: relative;
  display: inline-block;
}

@media(max-width:1024px) {
  .sidenav_item .ico-arw2:before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -8px;
    border-top: solid 2px #71B487;
    border-right: solid 2px #71B487;
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    left: 0;
  }
}

.l-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px
}

.l-grid_item {
  margin-top: 30px
}

.selectmenu-wrap {
  position: relative;
  display: inline-block;
  background-color: #fff
}

.selectmenu-wrap:before {
  content: '';
  position: absolute;
  display: block;
  width: 11px;
  height: 6px;
  background-repeat: no-repeat;
  background-image: url('');
  background-size: 100% auto;
  left: 15px;
  top: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.selectmenu {
  position: relative;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #053c6e;
  border: none;
  outline: 0;
  padding: 20px 15px 20px 35px;
  min-width: 180px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.selectmenu::-ms-expand {
  display: none
}

.breadCrumbs {
  margin: auto;
  font-size: 11px
}

.breadCrumbs ol {
  letter-spacing: -0.4em
}

.breadCrumbs ol li {
  color: #666;
  letter-spacing: normal;
  display: inline
}

.breadCrumbs ol li::after {
  content: '';
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  width: 8px;
  height: 1px;
  background-color: #3A3937;
  margin: 0 10px
}

.breadCrumbs ol li:last-child::after {
  display: none
}

.breadCrumbs ol li>a,
.breadCrumbs ol li>span {
  color: #3A3937;
  display: inline;
  position: relative;
  z-index: 1
}

.heading-ec {
  position: relative
}

.heading-ec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6.2rem;
  height: 0.4rem;
  background-color: #e50012
}

.text-h2 {
  font-size: 20px
}

.text-h3 {
  font-size: 19px
}

.news_title {
  font-size: 19px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.5rem
}

.news_title.heading-ec {
  padding-top: 15px
}

.btn {
  font-weight: 700;
  position: relative;
  text-align: center;
  background-color: #fff;
  padding: 20px 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.btn:hover {
  text-decoration: none
}

.btn_ico {
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.btn-primary {
  color: #fff;
  position: relative;
  background-color: #053c6e
}

.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0
}

.btn-primary:hover {
  color: #053c6e
}

.btn-primary:hover::before {
  width: 100%
}

.btn-primary:hover .btn_ico {
  fill: #053c6e
}

.btn-primary .btn_ico {
  fill: #fff
}

.btn-primary>span {
  position: relative;
  z-index: 1
}

.btn-secondary {
  color: #fff;
  position: relative;
  background-color: #e50012
}

.btn-secondary::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0
}

.btn-secondary:hover {
  color: #e50012
}

.btn-secondary:hover::before {
  width: 100%
}

.btn-secondary:hover .btn_ico {
  fill: #e50012
}

.btn-secondary .btn_ico {
  fill: #fff
}

.btn-secondary>span {
  position: relative;
  z-index: 1
}

.btn-white {
  /*
    border: 2px solid #71B487;
    */
  position: relative
}

.btn-white::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #71B487, #3064CC);
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}

.btn-white:hover {
  color: #fff
}

.btn-white:hover::before {
  width: 100%
}

.btn-white:hover .btn_ico {
  stroke: #fff;
}

.btn-white>span {
  position: relative;
  z-index: 1
}

.btn-l {
  display: block;
  width: 100%;
  text-align: center;
  border: 1px solid #053c6e;
  padding: 50px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.075, .82, 0.165, 1);
  transition: background-color 0.3s cubic-bezier(0.075, .82, 0.165, 1)
}

.btn-l:hover {
  color: #fff;
  text-decoration: none;
  background-color: #053c6e
}

.btn-pagetop {
  position: fixed;
  width: 45px;
  bottom: 20px;
  right: 20px;
  margin-left: auto;
  z-index: 3;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

.btn-pagetop.is-pagetop {
  -webkit-transform: translateY(110%);
  transform: translateY(110%);
  opacity: 0
}

.btn-pagetop.is-absolute {
  position: absolute
}

.btn-pagetop>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.btn-pagetop>a:hover {
  text-decoration: none
}

.btn-pagetop>a>span {
  font-size: 10px;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-top: 5px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out
}

.btn-pagetop>a .ico-arw {
  display: inline-block;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

@-webkit-keyframes pagetop {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg)
  }
}

@keyframes pagetop {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg)
  }

  33% {
    opacity: 0;
    -webkit-transform: translateY(-10px) rotate(-90deg);
    transform: translateY(-10px) rotate(-90deg)
  }

  66% {
    opacity: 0;
    -webkit-transform: translateY(10px) rotate(-90deg);
    transform: translateY(10px) rotate(-90deg)
  }

  80% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg)
  }
}

.btn-pagetop-sp {
  position: fixed;
  width: 45px;
  height: 45px;
  bottom: 10px;
  right: 3rem;
  z-index: 3;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out
}

.btn-pagetop-sp.is-pagetop {
  -webkit-transform: translateY(150%);
  transform: translateY(150%);
  opacity: 0
}

.btn-pagetop-sp.is-absolute {
  position: absolute;
  top: 45px;
  bottom: auto;
  right: 3rem
}

.btn-scrolldown {
  width: 9rem
}

.btn-scrolldown>a {
  display: block;
  width: 15px;
  position: relative
}

.btn-scrolldown>a:hover {
  text-decoration: none
}

.btn-scrolldown>a:after {
  content: '';
  position: relative;
  display: block;
  width: 2px;
  height: 55px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e;
  -webkit-animation: scrolldown 2s cubic-bezier(1, 0, 0, 1) infinite;
  animation: scrolldown 2s cubic-bezier(1, 0, 0, 1) infinite
}

.btn-scrolldown>a>span {
  font-size: 10px;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-top: 10px
}

@-webkit-keyframes scrolldown {
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }
}

@keyframes scrolldown {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  30% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
  }

  70% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }

  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
  }
}

.tag {
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: #053c6e;
  background-color: #d7e0e8;
  border-radius: 4rem;
  padding: 6px 15px
}

.tag-l {
  font-size: 16px;
  background-color: #e6ebf0
}

.mv {
  color: #fff;
  background-color: #053c6e;
  margin-top: 120px;
}
@media(max-width:1024px) {
  .mv {
    margin-top: 0;
  }
}

.mv_inr {
  padding: 85px 7rem
}

.mv_inr-narrow {
  padding-top: 60px;
  padding-bottom: 60px
}

.mv_ttl {
  position: relative;
  font-size: 6.8rem;
  padding-top: 3rem;
  letter-spacing: 0.5rem
}

.mv_ttl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6.2rem;
  height: 0.4rem;
  background-color: #e50012
}

.mv_ttl_en {
  display: block;
  line-height: 1
}

.mv_ttl_sm {
  display: block;
  font-size: 3rem;
  line-height: 1;
  margin-top: 2rem
}

.mv_ttl_md {
  display: block;
  font-size: 3rem;
  margin-top: 2rem
}

.mv .aspect-ratio-box {
  padding-top: 66.66667%;
  background: #fff;
}

.mv img {
  width: 100%
}

.mv .aspect-ratio-box {
  height: 0;
  overflow: hidden;
  padding-top: 66.66667%;
  background: #fff;
  position: relative
}

.mv_btnscroll {
  position: fixed;
  bottom: 2rem;
  left: 2.5rem
}

.mv_btnscroll.is-absolute {
  position: absolute;
  bottom: 8rem;
  left: 2.5rem
}

.mv-ie {
  display: none;
}

/* IE用 mv */

@media all and (min-width: 600px) and (-ms-high-contrast: none) {
  .mv-fadein {
    display: none;
  }

  .mv-ie {
    display: block;
  }

}

@media all and (max-width: 599px) and (-ms-high-contrast: none) {
  .mv-fadein {
    display: block;
  }

  .mv-ie {
    display: none;
  }

}

.ico-arw {
  fill: #053c6e;
  width: 19px;
  display: inline-block
}

.ico-arw2 {
  fill: #e50012;
  width: 15px;
  display: inline-block
}

.ico-arw-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.date {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em
}

a.card {
  display: block;
  color: #3A3937
}

a.card:hover {
  text-decoration: none
}

.card_body {
  padding: 6rem
}

.table {
  display: block;
  border-top: 1px solid #bcc3c9
}

.table tbody {
  display: block
}

.table tr {
  display: block
}

.table th {
  display: block;
  text-align: left;
  padding-top: 15px
}

.table th::after {
  position: absolute;
  content: '';
  display: block;
  width: 1px;
  height: calc(100% - 50px);
  background-color: #bcc3c9;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.table td {
  display: block;
  font-size: 14px;
  padding-bottom: 15px;
  border-bottom: 1px solid #bcc3c9
}

.pagenaion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  letter-spacing: normal
}

.pagenation_prev {
  margin-right: 10px
}

.pagenation_prev>a {
  display: block
}

.pagenation_prev>span {
  opacity: 0
}

.pagenation_next {
  margin-left: 10px
}

.pagenation_next>a {
  display: block
}

.pagenation_next>span {
  opacity: 0
}

.pagenation_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.pagenation_item {
  margin: 0 8px
}

.pagenation_item>a {
  color: #3A3937;
  font-weight: 700;
  display: block;
  border: 1px solid #3A3937;
  width: 40px;
  line-height: 40px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out
}

.pagenation_item>a:hover {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none
}

.pagenation_item>a.current {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none
}

.pagenation_item.current>a {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none
}

.overlay_bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 2
}

.border-box {
  border: 1px solid #dadada;
  padding: 30px
}

.list {
  text-indent: -1em;
  padding-left: 1em
}

.list>li {
  margin-top: 10px
}

.list>li:first-child {
  margin-top: 0
}



.contact .contact_step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px
}

.contact .contact_step>div {
  text-align: center;
  font-weight: 700;
  display: block;
  width: 30%;
  padding: 15px 10px;
  background-color: #d7e0e8
}

.contact .contact_step>div.now {
  color: #fff;
  background-color: #e50012
}

.contact .form_table {
  display: block;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #dadada
}

.contact .form_table tbody {
  display: block;
  width: 100%
}

.contact .form_table tr {
  display: block;
  border-top: 1px solid #dadada;
  padding: 15px 5px
}

.contact .form_table td,
.contact .form_table th {
  display: block;
  text-align: left
}

.contact .form_table th {
  position: relative;
  padding-bottom: 10px
}

.contact .form_table th>span {
  font-size: 12px;
  color: #e50012;
  display: inline-block;
  border: 1px solid #e50012;
  padding: 0 5px;
  margin-left: 5px
}

.contact .form_table td input[type=email],
.contact .form_table td input[type=tel],
.contact .form_table td input[type=text],
.contact .form_table td textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #bcc3c9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.contact .form_table td input.input_s {
  width: 7em
}

.contact .form_table td input[name=address] {
  margin-top: 15px
}

.contact label.label {
  display: inline-block;
  cursor: pointer
}

.contact .center {
  text-align: center
}

.contact #form_btn {
  text-align: center;
  margin-top: 50px
}

.contact #form_btn1 {
  cursor: pointer;
  font-weight: 700;
  display: inline-block;
  border: none;
  color: #fff;
  position: relative;
  background-color: #053c6e;
  padding: 15px 30px;
  width: 300px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 10px 5px;
  background-image: url('');
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: 95% 50%;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out
}

.contact #form_btn1:hover {
  text-decoration: none;
  opacity: .8
}

.contact #form_btn2 {
  cursor: pointer;
  font-weight: 700;
  display: inline-block;
  border: none;
  color: #3A3937;
  position: relative;
  background-color: #d7e0e8;
  padding: 15px 30px;
  width: 300px;
  max-width: 100%;
  margin: 10px 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-image: url('');
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: 5% 50%;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out
}

.contact #form_btn2:hover {
  text-decoration: none;
  opacity: .8
}

.contact .contact-biz-inquiry label,
.contact .contact-biz-radio label {
  display: block
}

.contact form a[rel=noopener] {
  text-decoration: underline
}

.contact form a[rel=noopener]:hover {
  text-decoration: none
}

.ff-ar {
  font-family: Arial, sans-serif;
  letter-spacing: 1px;
}

.ff-mincho {
  font-family: "Yu Mincho", "YuMincho", serif;
}

.fz-sm {
  font-size: 12px
}

.fz-19 {
  font-size: 19px
}

.text-white {
  color: #fff
}

.lh-l {
  line-height: 2.25
}

.bg-white {
  background-color: #fff
}

.mt-sec {
  margin-top: 70px
}

.mt-h2 {
  margin-top: 20px
}

.hov {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease
}

.hov:hover {
  opacity: .7
}

.blank {
  display: inline-block;
  padding-right: 16px;
  background: no-repeat right center;
  background-size: 12px 12px;
  background-image: url('')
}

.aspect-ratio-box {
  position: relative;
  height: 0;
  overflow: hidden
}

.aspect-ratio-box-inside {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

/*
.is-ie body {
  overflow-x: hidden;
}
*/

.is-ie .ico-arw2 svg {
  height: 8px
}

.is-ie .ico-arw svg {
  height: 12px
}

.is-ie .header_menu_inr {
  height: 90%
}

.js-animation .mv-home_copy img {
  opacity: 0;
  -webkit-transform: translate(0, -50px);
  transform: translate(0, -50px)
}

.js-animation .mv-home_pt img {
  opacity: 0
}

.js-animation.is-show .mv-home_copy img {
  -webkit-animation: home-mv-slide-in 2s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: home-mv-slide-in 2s cubic-bezier(0.25, .46, 0.45, .94) both
}

.js-animation.is-show .mv-home_pt img {
  -webkit-animation: home-mv-fade-in 2.5s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: home-mv-fade-in 2.5s cubic-bezier(0.25, .46, 0.45, .94) both
}

@-webkit-keyframes home-mv-slide-in {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@keyframes home-mv-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px)
  }

  50% {
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@-webkit-keyframes home-mv-fade-in {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes home-mv-fade-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
  }

  20% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

.js-animation .mv-fadein {
  opacity: 1;
  -webkit-transform: scale(1.03);
  transform: scale(1.03)
}

.js-animation .mv-slidetop {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px)
}

.js-animation .mv-slidetop-2 {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px)
}

.js-animation .mv-slidetop-3 {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px)
}

.js-animation.is-show .mv-fadein {
  -webkit-animation: mv-fade-in 2s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: mv-fade-in 2s cubic-bezier(0.25, .46, 0.45, .94) both
}

.js-animation.is-show .mv-slidetop {
  -webkit-animation: mv-slide-top 2s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: mv-slide-top 2s cubic-bezier(0.25, .46, 0.45, .94) both
}

.js-animation.is-show .mv-slidetop-2 {
  -webkit-animation: mv-slide-top2 2.3s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: mv-slide-top2 2.3s cubic-bezier(0.25, .46, 0.45, .94) both
}

.js-animation.is-show .mv-slidetop-3 {
  -webkit-animation: mv-slide-top3 2.3s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: mv-slide-top3 2.3s cubic-bezier(0.25, .46, 0.45, .94) both
}

@-webkit-keyframes mv-fade-in {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes mv-fade-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
  }

  10% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@-webkit-keyframes mv-slide-in {
  100% {
    width: 100%
  }
}

@keyframes mv-slide-in {
  0% {
    width: 0
  }

  60% {
    width: 0
  }

  100% {
    width: 100%
  }
}

@-webkit-keyframes mv-slide-top {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes mv-slide-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  50% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@-webkit-keyframes mv-slide-top2 {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes mv-slide-top2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  70% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@-webkit-keyframes mv-slide-top3 {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes mv-slide-top3 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  80% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

.js-fadein {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: opacity 0.5s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: transform 1s ease-in-out, opacity 0.5s ease-in-out;
  transition: transform 1s ease-in-out, opacity 0.5s ease-in-out, -webkit-transform 1s ease-in-out
}

.js-fadein.is-visible {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

.header_menu {
  display: block;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  height: 100vh;
  left: auto;
  right: 0;
  background-color: #fff
}

body.is-nav-open {
  overflow: hidden
}

body.is-nav-open .overlay_bg {
  display: none
}

body.is-nav-open .header_menu {
  display: block;
  height: 100vh;
  background-color: rgba(255,255,255,0.8);
  -webkit-animation: slide-left 0.5s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: slide-left 0.5s cubic-bezier(0.25, .46, 0.45, .94) both
}

@supports(-webkit-touch-callout:none) {
  body.is-nav-open .header_menu {
    height: -webkit-fill-available
  }
}

body.is-nav-open.is-nav-close .header_menu {
  -webkit-animation: slide-left-rev 0.5s cubic-bezier(0.25, .46, 0.45, .94) both;
  animation: slide-left-rev 0.5s cubic-bezier(0.25, .46, 0.45, .94) both
}

.js-btn-subnav.is-nav-open .globalNav {
  display: block;
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

@-webkit-keyframes slide-left {
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes slide-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@-webkit-keyframes slide-left-rev {
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
}

@keyframes slide-left-rev {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }

  90% {
    opacity: 0
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }
}

@-webkit-keyframes fade-in-bg {
  100% {
    opacity: .3
  }
}

@keyframes fade-in-bg {
  0% {
    opacity: 0
  }

  100% {
    opacity: .3
  }
}

@-webkit-keyframes fade-out-bg {
  100% {
    opacity: 0
  }
}

@keyframes fade-out-bg {
  0% {
    opacity: .3
  }

  100% {
    opacity: 0
  }
}

@-webkit-keyframes fade-out {
  100% {
    opacity: 0
  }
}

@keyframes fade-out {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@-webkit-keyframes fade-in {
  100% {
    opacity: 1
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }

  1% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.header_menu_btn_icon,
.header_menu_btn_icon span {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg)
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg)
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(3) {
  opacity: 0
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0)
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0)
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(3) {
  opacity: 1
}

.globalNav_btn {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

.js-btn-subnav.is-nav-open .globalNav_btn {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.js-btn-subnav.is-nav-open .globalNav_btn::after {
  opacity: 0
}

@media(min-width:600px) {

  body {
    font-size: 14px;
    overflow-x: hidden;
  }

  .header_logo {
    width: 268px
  }

  .header_menu {
    top: 80px
  }

  .header_menu_btn {
    width: 80px;
    height: 80px
  }

  .header_menu_btn_icon {
    width: 30px;
    height: 22px;
    border-width: 1px
  }

  .wrap {
    padding: 20px 3rem 3rem;
  }

  .inner {
    /*
        padding-left: 1.7rem;
        padding-right: 1.7rem
        */
  }

  .main_top {
    margin-left: -3rem
  }

  .main_top .breadCrumbs {
    float: right;
    padding-top: 0;
    margin-left: 0
  }

  .maintitle {
    width: auto;
    padding: 4.5rem;
    margin-top: -7rem;
    min-width: 33.5rem;
    margin-bottom: 40px
  }

  .maintitle h1:before {
    border-top: 3px solid #EE140D;
    top: 20%;
  }

  .maintitle_en {
    font-size: 4.4rem
  }

  .maintitle_ja {
    font-size: 1.4rem;
    padding-top: 11px
  }

  .main_body {
    padding-top: 40px
  }

  .footer_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .footer_menu {
    text-align: right;
    font-size: 14px;
    display: block;
    letter-spacing: -0.04em
  }

  .footer_menu>li {
    letter-spacing: 0.2em;
    width: auto;
    display: inline-block;
    margin-top: 0;
    padding: 0px 10px;
    border-right: 1px solid #CCCCCC;
  }

  .footer_menu>li:first-child {
    margin-left: 0
  }
  .footer_menu>li:last-child {
    padding: 0 0 0 10px;
    border: none;
  }

  .footer_bottom {
    text-align: right;
  }

  .footer_link {
    font-size: 12px;
    margin-top: 0
  }

  .footer_link>li {
    display: inline-block;
    margin-top: 0;
    margin-right: 1em
  }

  .footer_copy {
    font-size: 10px;
    border-top: none;
    padding-top: 0;
    margin-top: 0
  }

  .l-grid {
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -20px
  }

  .l-grid_item {
    padding: 0 10px;
    margin-top: 20px
  }

  .breadCrumbs {
    text-align: right
  }

  .breadCrumbs ol li::after {
    vertical-align: 3px;
    width: 7px;
    height: 1px;
    margin: 0 6px
  }

  .heading-ec::before {
    width: 40px;
    height: 2px
  }

  .text-h2 {
    font-size: 24px
  }

  .text-h3 {
    font-size: 20px
  }

  .news_title {
    font-size: 22px
  }

  .btn-pagetop {
    right: 15px
  }

  .btn-pagetop>a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .btn-pagetop>a .ico-arw {
    width: 20px
  }

  .btn-scrolldown {
    width: 10px
  }

  .btn-scrolldown>a {
    position: relative;
    display: block;
    right: -1.5rem
  }

  .tag {
    font-size: 12px;
    padding: 8px 15px
  }

  .tag-l {
    font-size: 14px
  }

  .newslist_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    border-top: none;
    padding: 0;
    max-width: 100%
  }

  .newslist_cell {
    border-top: 1px solid #dadada;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }

  .newslist_cell-date {
    width: auto;
    white-space: nowrap;
    padding: 20px 2rem 20px 0;
    margin-right: 0
  }

  .newslist_cell-tag {
    width: auto;
    white-space: nowrap;
    padding: 20px 2rem 20px 0
  }

  .newslist_cell-link {
    margin-top: 0;
    padding: 20px 0
  }

  .mv_inr {
    padding: 80px 7rem
  }

  .mv_inr-narrow {
    padding-top: 60px;
    padding-bottom: 60px
  }

  .mv_ttl {
    font-size: 55px;
    padding-top: 15px
  }

  .mv_ttl_sm {
    font-size: 15px;
    margin-top: 5px
  }

  .mv_ttl_md {
    font-size: 28px;
    margin-top: 5px
  }

  .mv .aspect-ratio-box {
    padding-top: 27.61421%
  }

  .mv .aspect-ratio-box {
    padding-top: 27.61421%
  }

  .mv_btnscroll {
    left: 0
  }

  .mv_btnscroll.is-absolute {
    bottom: 5rem;
    left: 0
  }

  .ico-arw {
    width: 20px;
    vertical-align: middle
  }

  .ico-arw2 {
    width: 15px;
    vertical-align: middle
  }

  .ec-line {
    padding-top: 15px
  }

  .ec-line::before {
    width: 4rem;
    height: 0.22rem
  }

  .ec-line2 {
    padding-left: 30px
  }

  .ec-line2::before {
    width: 20px
  }

  .date {
    font-size: 13px
  }

  .card_body {
    padding: 2.25rem
  }

  .table {
    display: table;
    border-collapse: separate;
    border-spacing: 0
  }

  .table tbody {
    display: table-row-group
  }

  .table tr {
    display: table-row
  }

  .table th {
    display: table-cell;
    position: relative;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    padding: 25px 35px 25px 0;
    border-bottom: 1px solid #bcc3c9
  }

  .table td {
    display: table-cell;
    font-size: 15px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #bcc3c9;
    padding: 25px 30px
  }

  .pagenation_item>a {
    width: 42px;
    line-height: 42px
  }

  .home .mv.mv-home {
    padding-bottom: 5.3rem
  }

  .home .mv-home_copy .aspect-ratio-box {
    padding-top: 16.08078%
  }

  .home .bnr-recxruit-01 .aspect-ratio-box {
    padding-top: 51.33929%
  }

  .home .vision {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
  }

  .home .vision_pt {
    position: relative;
    top: 0;
    width: 56rem;
    margin-left: -4.7rem;
    margin-right: -4.7rem;
    z-index: 0
  }

  .home .vision_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 61rem;
    margin-top: 38rem;
    margin-right: -4.7rem;
    margin-left: -30rem;
    z-index: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .home .vision_txt_inr {
    position: relative;
    padding: 0
  }

  .home .vision_txt_inr_inr {
    padding: 6rem 9rem
  }

  .home .business {
    padding-top: 60px
  }

  .home .business::before {
    width: 70rem
  }

  .home .business_contents {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .home .business_contents_item {
    width: 49%
  }

  .news .news-detail p {
    line-height: 2
  }

  .news .news-detail p::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 2) * 0.5em)
  }

  .company.about .maintitle {
    margin-top: -13rem
  }

  .company .messagecol_text {
    right: -4.7rem
  }

  .business.solution .btn-contact {
    font-size: 15px;
    width: 122px;
    height: 122px;
    padding: 26px 5px
  }

  .business.solution .btn-contact .ico-contact-arw {
    width: 21px;
    height: 12px
  }

  .business.solution .btn-contact .ico-contact-arw svg {
    width: 21px;
    height: 12px
  }

  .business.solution .btn-contact .ico-contact {
    width: 24px;
    height: 16px
  }

  .business.solution .btn-contact .ico-contact svg {
    width: 24px;
    height: 16px
  }

  .business.solution .h3 span {
    display: inline-block;
    padding: 15px 60px
  }

  .business.solution .panel {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row
  }

  .business.solution .panel_img {
    width: 50%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0
  }

  .business.solution .panel_text {
    width: 50%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0
  }

  .business.solution .panel_text {
    padding: 50px 25px
  }

  .business.solution .flowcol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .business.solution .flowcol::after {
    display: none
  }

  .business.solution .flowcol_item {
    width: 30.565%;
    margin-top: 0
  }

  .business.solution .flowcol_item::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -56px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    width: 45px;
    height: 38px;
    background: url('/arrow.png') no-repeat;
    background-size: 100% auto
  }

  .business.solution .flowcol_text .title {
    font-size: 16px
  }

  .business.solution .flowcol_text p {
    font-size: 15px
  }

  .business.solution .flowcol-notarw .flowcol_item::after {
    display: none
  }

  .business.solution .voicecol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -5%
  }

  .business.solution .voicecol_item {
    width: 47.5%;
    margin-top: 5%
  }

  .business.solution .voicecol_head {
    padding: 0 0 0 75px
  }

  .business.solution .voicecol_head::before {
    top: 50%;
    width: 61px;
    height: 61px;
    margin-top: -30px;
    margin-left: 0;
    left: 0;
    top: 50%
  }

  .business.solution .serviceflow {
    padding: 30px 5%;
    margin-bottom: 50px
  }

  .business.solution .serviceflow_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .business.solution .serviceflow_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px;
    width: 50px
  }

  .business.solution .serviceflow_list li.arrow {
    width: 12.5%;
    padding: 0
  }

  .business.solution .serviceflow_list li.arrow:before {
    width: 70%;
    max-width: 67px;
    height: 0;
    padding-top: 30%;
    background-image: url('/arrow2.png');
    background-size: 100% auto
  }

  .business.solution .serviceflow_list li span {
    display: block;
    font-size: 16px
  }

  .business.solution .serviceflow_list li span.text {
    font-size: 15px;
    margin-left: 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }

  .fz-sm {
    font-size: 11px
  }

  .fz-19 {
    font-size: 16px
  }

  .mt-sec {
    margin-top: 60px
  }

  .blank {
    background-size: 14px 14px;
    padding-right: 20px
  }

  .is-ie .btn-pagetop {
    right: 10px
  }

  .md\:border-b-0 {
    border-bottom-width: 0
  }

  .md\:border-r-1 {
    border-right-width: 1px
  }

  .md\:block {
    display: block
  }

  .md\:inline-block {
    display: inline-block
  }

  .md\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .md\:hidden {
    display: none
  }

  .md\:justify-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }

  .md\:text-15 {
    font-size: 15px
  }

  .md\:text-18 {
    font-size: 18px
  }

  .md\:mt-0 {
    margin-top: 0
  }

  .md\:mt-4r {
    margin-top: 4rem
  }

  .md\:mr-20px {
    margin-right: 20px
  }

  .md\:ml-20px {
    margin-left: 20px
  }

  .md\:mt-25px {
    margin-top: 25px
  }

  .md\:mt-30px {
    margin-top: 30px
  }

  .md\:mt-50px {
    margin-top: 50px
  }

  .md\:mt-60px {
    margin-top: 60px
  }

  .md\:mt-80px {
    margin-top: 80px
  }

  .md\:mt-85px {
    margin-top: 85px
  }

  .md\:mt-110px {
    margin-top: 110px
  }

  .md\:py-10px {
    padding-top: 10px;
    padding-bottom: 10px
  }

  .md\:px-20px {
    padding-left: 20px;
    padding-right: 20px
  }

  .md\:pr-20px {
    padding-right: 20px
  }

  .md\:text-left {
    text-align: left
  }

  .md\:whitespace-nowrap {
    white-space: nowrap
  }

  .md\:w-30 {
    width: 25%
  }

  .md\:w-75 {
    width: 75%
  }

  .md\:w-1\/2 {
    width: 50%
  }
}

@media(min-width:1025px) {

  body {
    font-size: 16px;
    padding-top: 0
  }

  .header {
    margin: auto
  }

  .header_inr {
    display: block;
    padding-top: 0;
    padding-left: 0;
    padding-bottom: 0
  }

  .header_logo {
    position: absolute;
    width: 268px;
    top: 50%;
    left: 3rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
  }

  .header_menu {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }

  .header_menu_inr {
    height: auto;
    overflow: visible;
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-bottom: 0;
    padding-right: 3%;
  }

  .header_menu_btn {
    display: none
  }

  .header_menulist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }

  .header_menulist>li {
    position: static;
    border-bottom: none;
    margin: 0
  }

  .header_menulist>li>a {
    font-size: 16px;
    letter-spacing: 1px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    width: 100%;
    padding: 0 14px;
    margin: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .header_menulist_item>a>span::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #71B487;
    top:40px;
    bottom: -1px;
    transform: scale(0, 1);
    transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    transition: transform 0.3s;
  }

  .header_menulist_item>a:hover>span::after {
    transform: scale(1, 1);
  }


  .company .header_menulist .header_menulist_item-company>a>span::after {
    width: 100%
  }

  .news .header_menulist .header_menulist_item-news>a>span::after {
    width: 100%
  }

  .shop .header_menulist .header_menulist_item-shop>a>span::after {
    width: 100%
  }

  .business .header_menulist .header_menulist_item-business>a>span::after {
    width: 100%
  }

  .globalNav {
    position: absolute;
    top: 0;
    left: 0;
    top: 100px
  }

  .globalNav_btn {
    display: none
  }

  .globalNav_name {
    display: block;
    position: absolute;
    left: 2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  .globalNav_name_en {
    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
    color: #053c6e
  }

  .globalNav_name_ja {
    font-size: 14px;
    font-weight: 700
  }

  .globalNav_menu {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .globalNav_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 3rem
  }

  .globalNav_item>a {
    font-size: 14px;
    padding: 45px 0
  }

  .globalNav_item>a:hover {
    color: #053c6e;
    text-decoration: none
  }

  .globalNav_item>a:hover:after {
    visibility: visible;
    width: 100%
  }

  .wrap {
    padding-bottom: 140px
  }

  .inner {
    position: relative;
    max-width: 1180px;
    margin: auto;
    /*
        padding-left: 5.3rem;
        padding-right: 5.3rem
        */
  }

  .main_top {
    margin-left: -5.3rem
  }

  .maintitle {
    margin-top: -11rem;
    padding: 5rem 6rem;
    min-width: 37.5rem;
    margin-bottom: 50px
  }

  .maintitle_en {
    font-size: 57px
  }

  .maintitle_ja {
    font-size: 16px;
    padding-top: 13px
  }

  .main_body {
    padding-top: 50px
  }

  .main_inr_wrap {
    display: block;
    width: 100%
  }

  .main_inr_wrap::after {
    content: "";
    display: block;
    clear: both
  }

  .main_inr_contents {
    float: right;
    width: 80%;
    margin-top: 0;
    border-left: 1px solid #B9B9B9;
    padding-left: 10%;
  }

  .footer_copy {
    font-size: 11px
  }

  .sidenav {
    position: -webkit-sticky;
    position: sticky;
    float: left;
    width: 15%;
    top: 140px
  }

  .sidenav_link {
    display: block;
    margin-top: 0
  }

  .sidenav_item {
    width: 100%;
    margin-top: 0
  }

  .sidenav_item a {
    display: block;
    padding: 13px 0 13px 30px
  }

  .sidenav_item a.active {
    color: #71B487;
    font-weight: 700;
    position: relative;
    display: inline-block;
  }

  .sidenav_item a.active::before {
    content: '';
    width: 11px;
    height: 11px;
    margin-top: -5px;
    border-top: solid 2px #71B487;
    border-right: solid 2px #71B487;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 0;
  }

  .l-grid {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px
  }

  .l-grid_item {
    padding: 0 15px;
    margin-top: 30px
  }

  .selectmenu-wrap:before {
    width: 15px;
    height: 9px;
    left: 27px
  }

  .selectmenu {
    font-size: 16px;
    min-width: 190px;
    padding-left: 55px
  }

  .breadCrumbs {
    font-size: 12px;
    text-align: right
  }

  .breadCrumbs ol {
    text-align: left;
    display: inline-block;
    margin-left: auto
  }

  .breadCrumbs ol li::after {
    vertical-align: 4px
  }

  .heading-ec::before {
    width: 40px;
    height: 2px
  }

  .text-h2 {
    font-size: 32px
  }

  .text-h3 {
    font-size: 28px
  }

  .news_title {
    font-size: 24px
  }

  .news_title.heading-ec {
    padding-top: 10px
  }

  .btn-pagetop {
    right: 25px
  }

  .btn-pagetop>a:hover .ico-arw {
    -webkit-animation: pagetop 0.5s cubic-bezier(0.25, .46, 0.45, .94) both;
    animation: pagetop 0.5s cubic-bezier(0.25, .46, 0.45, .94) both
  }

  .btn-pagetop>a .ico-arw {
    width: 15px
  }

  .tag {
    font-size: 13px
  }

  .tag-l {
    font-size: 16px
  }

  .mv_inr {
    padding: 135px 5rem;
    max-width: 2000px;
    margin: auto
  }

  .mv_inr-narrow {
    padding-top: 60px;
    padding-bottom: 60px
  }

  .mv_ttl {
    font-size: 57px;
    padding-top: 20px
  }

  .mv_ttl::before {
    width: 40px;
    height: 2px
  }

  .mv_ttl_sm {
    font-size: 16px;
    margin-top: 10px
  }

  .mv_ttl_md {
    font-size: 30px;
    margin-top: 10px
  }

  .mv_btnscroll {
    left: 0
  }

  .mv_btnscroll.is-absolute {
    bottom: 0
  }

  .ico-arw {
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.25, .46, 0.45, .94);
    transition: -webkit-transform 0.5s cubic-bezier(0.25, .46, 0.45, .94);
    transition: transform 0.5s cubic-bezier(0.25, .46, 0.45, .94);
    transition: transform 0.5s cubic-bezier(0.25, .46, 0.45, .94), -webkit-transform 0.5s cubic-bezier(0.25, .46, 0.45, .94)
  }

  .ec-line {
    padding-top: 18px
  }

  .ec-line::before {
    width: 40px;
    height: 2px
  }

  .ec-line2 {
    padding-left: 55px
  }

  .ec-line2::before {
    width: 38px
  }

  .date {
    font-size: 14px
  }

  a.card .card_head {
    overflow: hidden
  }

  a.card .card_head img {
    -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out
  }

  a.card:hover {
    opacity: .8
  }

  .card_body {
    padding: 4rem 3.5rem 1rem;
  }

  .pagenation_prev {
    margin-right: 8px
  }

  .pagenation_prev>a:hover svg {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
  }

  .pagenation_prev>a svg {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out
  }

  .pagenation_next {
    margin-left: 8px
  }

  .pagenation_next>a {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out
  }

  .pagenation_next>a:hover svg {
    -webkit-transform: translateX(10px);
    transform: translateX(10px)
  }

  .pagenation_next>a svg {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out
  }

  .pagenation_item {
    margin: 0 12px
  }

  .pagenation_item>a {
    width: 45px;
    line-height: 45px
  }

  .border-box {
    padding: 40px
  }

  .home .mv.mv-home::before {
    width: 89.3%;
    height: 96%
  }

  .home .mv.mv-home {
    height: 0;
    padding-top: 53.8%;
    padding-bottom: 0
  }

  .home .mv-home_copy {
    position: absolute;
    opacity: 1;
    width: 35.8rem;
    top: 50%;
    left: 10.8rem;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 2
  }

  .home .mv-home_copy .aspect-ratio-box {
    padding-top: 87.81407%
  }

  .home .mv-home_pt {
    position: absolute;
    width: 83.5rem;
    right: 0;
    top: 0
  }

  .home .vision {
    padding-bottom: 0
  }

  .home .vision_pt {
    position: relative;
    width: 77.5rem;
    margin-left: -8.3rem;
    top: 4.5rem
  }

  .home .vision_txt {
    width: 77.5rem;
    margin-right: -8.3rem;
    margin-left: 0;
    margin-top: 0
  }

  .home .vision_txt_inr_inr {
    padding: 9rem 11.5rem
  }

  .home .business::before {
    width: 24rem;
    left: -8.3rem;
    top: auto;
    bottom: 0;
    height: 90%
  }

  .home .business::after {
    content: '';
    display: block;
    position: absolute;
    width: 87rem;
    height: 42rem;
    right: -8.3rem;
    bottom: 0;
    background-color: #dfe7ed;
    z-index: 0
  }

  .home .business_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .home .business_title {
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    left: 0;
    width: 45rem
  }

  .home .business_contents {
    display: block;
    margin-top: 0;
    width: 59rem;
    margin-bottom: -6rem
  }

  .home .business_contents_item {
    width: 100%
  }

  .news .newsinfo_item {
    margin-right: 15px
  }

  .news .news-detail p {
    margin-top: 40px;
    line-height: 2.0625
  }

  .news .news-detail p::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 2.0625) * 0.5em)
  }
  .fz-sm {
    font-size: 12px
  }

  .fz-19 {
    font-size: 18px
  }

  .mt-sec {
    margin-top: 80px
  }

  .mt-h2 {
    margin-top: 25px
  }

  .is-ie .header_menu_inr {
    height: auto
  }

  .js-animation .mv-home_copy img {
    -webkit-transform: translate(-50px, 0);
    transform: translate(-50px, 0)
  }

  .js-animation.is-show .mv-home_copy img {
    -webkit-animation: home-mv-slide-in 2s cubic-bezier(0.25, .46, 0.45, .94) both;
    animation: home-mv-slide-in 2s cubic-bezier(0.25, .46, 0.45, .94) both
  }

  .header_menu {
    height: auto;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none;
    -webkit-animation: none;
    animation: none
  }

  body.is-nav-open {
    overflow: auto
  }

  body.is-nav-open .overlay_bg {
    display: block;
    opacity: 0;
    -webkit-animation: fade-in-bg 0.2s ease-in-out 0.1s 1 normal forwards;
    animation: fade-in-bg 0.2s ease-in-out 0.1s 1 normal forwards
  }

  body.is-nav-open .header_menu {
    height: auto;
    -webkit-animation: none;
    animation: none;
    background-color: transparent
  }

  body.is-close .globalNav {
    -webkit-animation: fade-out 0.3s ease-in-out 0.1s 1 normal forwards;
    animation: fade-out 0.3s ease-in-out 0.1s 1 normal forwards
  }

  body.is-close .overlay_bg {
    opacity: .3;
    -webkit-animation: fade-out-bg 0.3s ease-in-out 0.1s 1 normal forwards;
    animation: fade-out-bg 0.3s ease-in-out 0.1s 1 normal forwards
  }

  .header_menulist_item.is-nav-open>a {
    color: #053c6e
  }

  .header_menulist_item.is-nav-open>a>span:after {
    width: 100%
  }

  .lg\:block {
    display: block
  }

  .lg\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .lg\:items-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .lg\:hidden {
    display: none
  }

  .lg\:items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .lg\:justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .lg\:text-14 {
    font-size: 14px
  }

  .lg\:text-15 {
    font-size: 15px
  }

  .lg\:text-16 {
    font-size: 16px
  }

  .lg\:text-17 {
    font-size: 17px
  }

  .lg\:text-18 {
    font-size: 18px
  }

  .lg\:text-19 {
    font-size: 19px
  }

  .lg\:text-20 {
    font-size: 20px
  }

  .lg\:text-24 {
    font-size: 24px
  }

  .lg\:text-26 {
    font-size: 26px
  }

  .lg\:text-64 {
    font-size: 64px
  }

  .lg\:mt-0 {
    margin-top: 0
  }

  .lg\:mt-15px {
    margin-top: 15px
  }

  .lg\:mt-20px {
    margin-top: 20px
  }

  .lg\:mt-25px {
    margin-top: 25px
  }

  .lg\:mt-30px {
    margin-top: 30px
  }

  .lg\:mt-40px {
    margin-top: 40px
  }

  .lg\:mt-50px {
    margin-top: 50px
  }

  .lg\:mt-60px {
    margin-top: 60px
  }

  .lg\:mb-70px {
    margin-bottom: 70px
  }

  .lg\:mt-80px {
    margin-top: 80px
  }

  .lg\:mt-90px {
    margin-top: 90px
  }

  .lg\:mt-130px {
    margin-top: 130px
  }

  .lg\:mt-160px {
    margin-top: 160px
  }

  .lg\:py-3 {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .lg\:pr-3 {
    padding-right: 3rem
  }

  .lg\:pl-5 {
    padding-left: 5rem
  }

  .lg\:pl-20px {
    padding-left: 20px
  }

  .lg\:pt-100px {
    padding-top: 100px
  }

  .lg\:w-12 {
    width: 12%
  }

  .lg\:w-20 {
    width: 20%
  }

  .lg\:w-30 {
    width: 30%
  }

  .lg\:w-33 {
    width: 33.333%
  }

  .lg\:w-38 {
    width: 38%
  }

  .lg\:w-50 {
    width: 50%
  }

  .lg\:w-55 {
    width: 55%
  }

  .lg\:w-60 {
    width: 60%
  }

  .lg\:w-80 {
    width: 80%
  }

  .lg\:w-95 {
    width: 95%
  }

  .lg\:w-1\/2 {
    width: 50%
  }

  .lg\:w-1\/3 {
    width: 33.333333%;
    margin-left: -15px;
    margin-right: -15px;
  }
}

@media(min-width:1970px) {

  .lg2\:hidden {
    display: none
  }
}

@media(min-width:2000px) {

  .home .mv.mv-home::before {
    width: 90%
  }

  .home .mv.mv-home {
    height: 1080px;
    padding-top: 0
  }
}

@media(prefers-reduced-motion:reduce) {

  *,
  ::after,
  ::before {
    -webkit-animation-duration: NaNs !important;
    animation-duration: NaNs !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: NaNs !important;
    transition-duration: NaNs !important;
    scroll-behavior: auto !important
  }
}




/*///////////////////*/

/*main_view*/
.main_view {
  position: relative;
  margin-top: 90px;
}
/*
.main_view__inner {
  height: 100vh;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
*/
@media(max-width:1024px) {
  .main_view {
    margin-top: 0;
  }
}

.sub_main_view {
  background-image: url(/assets/img/sub_mv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 150px 0;
  margin-top: 90px;
}
.sub_main_view__title {
  font-size: clamp(2.4rem, 2vw, 3rem);
  color: #fff;
  font-weight: bold;
  text-shadow: 0 3px 6px rgb(0, 0, 0, 0.16);
}
@media(max-width:1024px) {
  .sub_main_view {
    margin-top: 0;
    padding: 20% 10%;
  }
}

.main_view__title {
  z-index: 1;
  position: absolute;
  right: 3%;
  bottom: 25%;
  line-height: 1.5;
  font-size: clamp(1.8rem, 5vw, 4rem);
  text-align: right;
  font-weight: bold;
  color: #fff;
  line-height: 2;
  text-shadow: 0 3px 6px rgb(0, 0, 0, 0.16);
}

.main_view__title h2 {
  font-size: 45px;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.main_view__title p {
  font-weight: bold;
  font-size: 12px;
}

@media(max-width:1024px) {
  .header_menulist:last-child>li>a {
    display: flex;
  }
}
@media(max-width:580px) {
  .main_view__title {
    bottom: 35%;
  }
}

/*////// 共通部分 ///////*/
.contents-title, .school_title {
  text-align: center;
  margin-bottom: 3rem;
  color: #3a3937;
}
.contents-title::after,.school_title::after {
  content: "";
  margin-top: 1rem;
  background-image: url(/assets/img/line.svg);
  display: block;
  background-position: center;
  height: 6px;
  background-repeat: no-repeat;
}

.contents-subtitle {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 3rem;
}

.marker {
  background: linear-gradient(transparent 50%, #ECAC4A90 50%);
}

/*////// フォントサイズ統一 ///////*/
.fss {
  font-size:clamp(1.4rem, 2vw, 1.6rem);
}
.fsm {
  font-size:clamp(1.8rem, 2vw, 2.4rem);
}
.fsl {
  font-size: clamp(2.4rem, 2vw, 3rem);
}
.fsxl {

}

/*////// 共通部分 ///////*/

#company {
  padding-top: 10vh;
}
.company_info {
  margin-bottom: 2rem;
}
.company_box {
  background-color: #fff;
  padding: 10%;
  border-radius: 30px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  margin-top: 10%;
}
.home_service {
  background: #F3F2F2;
  margin-top: -1px;
  position: relative;
}
.home_service_box {
  position: relative;
  padding-bottom: 120px;
}
.home_service_box:last-child {
  padding-bottom: 0;
}
.home_service h3 {
  color: #3a3937;
  margin-bottom: 2rem;
}
.home_service h3::after {
  content: "";
  margin-top: 1rem;
  background-image: url(/assets/img/index/line_h3.svg);
  display: block;
  background-position: left;
  height: 6px;
  background-repeat: no-repeat;
}
.home_service p {
  margin-bottom: 2rem;
}
.home_service img {
  border-radius: 10px;
}
.home_service_btn {
  position: relative;
  background: #fff;
  padding: 2rem 2rem 2rem 10%;
  border-radius: 12px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  margin-top: 2rem;
  font-weight: 700;
  display: inline-block;
  width: 100%;
  color: #3a3937;
}
.home_service_link {
  color: #3A3937;
  /*
  position: absolute;
  */
  width: 100%;
  bottom: 0;
}
.home_service_btn img {
  position: absolute;
  right: 8%;
  top: 20%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media(max-width:580px) {
  .company_info {
    font-size: 24px;
  }
  .company_text {
    font-size: 16px;
    padding-bottom: 2rem;
  }
  .company_box {
    background-color: #fff;
    padding: 5%;
    border-radius: 8px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    margin-top: 10%;
  }
  .company_box .contents_table th {
    background-color: #F9F8F4;
    border: none;
    padding: 1rem;
    display: inline-block;
    width: 100%;
  }
  .company_box .contents_table td {
    padding: 1rem;
    width: 100%;
    display: block;
  }
  .home_service h3 {
    font-size: 3rem;
  }
  .home_service_link {
    position:inherit;
  }
  .home_service_btn {
    margin: 2rem 0;
  }
  .home_service_btn img {
    zoom: 80%;
  }
  .home_service_box {
    padding-bottom: 15%;
  }

}

/* after-school */
.triangle {
  text-align: center;
  /*
  padding-bottom: calc(10vw + 10px);
  */
  position: relative;
  overflow: hidden;
  background-image: url(/assets/img/after-school/triangle.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0.5rem 0.5rem 0.2rem 0.5rem;
  margin: 0 10px 10px 0;
  font-size: 1.8rem;
  font-weight: bold;
  white-space: nowrap;
  min-width: 55px;
}
@media(max-width:1199px) {
  .group_text-title {
    font-size: 1.2rem;
  }
}
@media(max-width:1199px) {
  .group_text-title {
    font-size: 1.2rem;
  }
}
.group_features {
  margin-bottom: 3rem;
}
.group_features h3 {
  font-size: 1.6rem;
}
.group_features ul {
  margin-left: 2rem;
  font-weight: bold;
}
.group_features li {
  list-style: disc;
}
@media(max-width:580px) {
  .triangle {
    min-width: 40px;
    font-size: 24px;
  }
  .group_features h3 {
    font-size: 15px;
    letter-spacing: 2px;
  }
  .group_features li {
    font-size: 12px;
  }
}
.group_text-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.support_feature {
  background-image: url(/assets/img/after-school/feature_box_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 5% 0 10%;
  background-position: bottom;
}
.feature_box {
  background-image: url(/assets/img/after-school/feature_box_text_bg.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 10%;
  margin-top: 3rem;
}
.school {
  background-color: #F3F2F2;
  padding: 6.25rem 0;
}
.school_title {
  text-align: center;
}
.school_title h2 {
  font-size: 2rem;
}
.school_title span {
  font-size: 1.5rem;
}
.school_box {
  background-color: #fff;
  padding: 5% 10%;
  border-radius: 30px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.school_text {
  margin-bottom: 3rem;
}
.school_img {
  margin-bottom: 2rem;
}
@media(max-width:580px) {
  .school_title  br {
    display: none;
  }
  .school_title  br:nth-child(2) {
    display: block;
  }
}
.dl_btn {
  border: 5px solid #ECAC4A;
  border-radius: 20px;
  padding: 5%;
  text-align: center;
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
}
.office {
  margin-bottom: 3rem;
}
.flow {
  background-color: #F3F2F2;
  padding: 6.25rem;
}
.flow_box {
  background-color: #fff;
  padding: 5% 10%;
  border-radius: 30px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.flow_num {
  height: 80px;
  margin-top: 1rem;
  border-bottom: 3px dashed #C7D1C2;
}
.flow_num_title span {
  border-right: 3px solid #C7D1C2;
  padding: 0 20px;
  color: #96C183;
  font-weight: bold;
  font-size:clamp(1.8rem, 2vw, 2.4rem);
  margin-right: 20px;
}
.flow_num_title {
  font-weight: bold;
  font-size: 2rem;
  vertical-align: middle;
  padding-right: 30px;
  color: #3A3937;
}
.flow_table {
  margin-bottom: 2rem;
}
.flow_table table {
  width: 100%;
}
.flow_table td {
  font-size:clamp(1.4rem, 2vw, 1.6rem);
}
.indent {
	padding-left: 1rem;
	text-indent: -1rem;
}
.price {
  font-weight: bold;
}
.price_table {
  text-align: -webkit-center;
  margin-top: 2rem;
  margin-bottom: 4rem;
  font-size: 1.6rem;
}
.price_table th {
  background-color: #F9F8F4;
  border: 2px solid #DDDDDD;
  padding: 12px;
  width: 30%;
  text-align: center;
}
.price_table td {
  border: 2px solid #DDDDDD;
  padding: 10px 20px;
}
.dl_table {
  text-align: -webkit-center;
}
.dl_table table {
  font-size: 1.6rem;
}
.dl_table th {
  width: 50%;
}
.dl_table th,
.dl_table td {
  padding: 1rem 0;
}
@media(max-width:580px) {
  .dl_table th,
  .dl_table td {
    display: block;
    width: 100%;
  }
}
.dl_button {
  background-color: #ecac4a;
  border-radius: 10px;
  color: #fff;
  padding: .5rem 4rem;
  margin: 0 auto;
  position: relative;
  width: 100%;
  max-width: 250px;
  text-align: center;
}
.dl_button::before {
  content: " ";
  display: block;
  position: absolute;
  right: 1rem;
  top: 35%;
  display: inline-block;
  width: 14px;
  height: 18px;
  background: url("/assets/img/after-school/dl.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.review, .recruit {
  margin-top: 3rem;
}


/* introduction */
.introduction_feature {
  background-color: #F3F2F2;
  padding: 6.25rem;
}
.introduction_box {
  background-color: #fff;
  padding: 40px;
  border-radius: 30px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.introduction_box ul {
  line-height: 2.5;
  font-weight: bold;
  font-size: 1.6rem;
}
.introduction_box li {
  list-style: decimal;
}
.introduction_box_text {
  padding: 5% 10%;
  background: #F9F8F4;
  border-radius: 30px;
}
.home_contents_title {
  font-size: 2rem;
  border-left: 6px solid #707070;
  padding-left: 1rem;
  text-align: left;
  margin-bottom: 1rem;
}
.introduction_box p {
  font-size: 1.6rem;
  font-weight: bold;
  padding: 2rem 0;
}
.contents_table {
  margin-bottom: 2rem;
  width: -webkit-fill-available;
}
.contents_table tr {
  border: 1px solid #DDDDDD;
}
.contents_table th {
  background-color: #F9F8F4;
  border: 1px solid #DDDDDD;
  padding: .5rem 1rem;
  font-size: 1.4rem;
}
.contents_table td {
  padding: 1rem;
  font-size: 1.4rem;
}
.freedial {
  text-align: center;
  line-height: 1.4;
  padding: 2rem;
  background: #F3F2F2;
}
.freedial span {
  font-size: 4rem;
  font-family: Arial;
  font-weight: bold;
}
@media(max-width:580px) {
  .freedial span {
    font-size: clamp(2.6rem, 2vw, 3rem);
  }
  .button_HP a {}
}
.freedial_number {
  line-height: 1.2;
}
.button_HP {
  margin-top:1.2rem;
}
.button_HP a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 80%;
  padding: 15px 5%;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #ECAC4A;
  filter: drop-shadow(0px 2px 4px #ccc);
  border-radius: 3px;
  border-radius: 50px;
  overflow: hidden;
}
.button_HP a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient(
130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
  -webkit-transition: 0.5s;
  transition: 0.6s;
}
.button_HP a:hover:before {
  left: 100%;
}
.button_HP img {
  width: 100%;
  margin-bottom: 0!important;
}
.button_HP a:hover {
  opacity: 1;
}
@media(max-width:580px) {
  .button_HP a {
    position: relative;
    display: block;
    max-width: 100%;
    padding: 5%;
    color: #FFF;
  }
  .button_HP img {
    margin-bottom: 0!important;
  }
}

/* support-program */
.support-program_feature {
  padding: 6.25rem;
}
.support-program_box {
  background-color: #fff;
  padding: 40px;
  border-radius: 30px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
}
.support-program_box__text {
  letter-spacing: 1px;
}
.support-program_table h3 {
  color: #4a912b;
  margin-top: 1rem;
  height: 50px;
}
.support-program_table th {
  width: 30%;
  border: 1px solid #ccc;
  padding: 1rem;
  background-color: #f9f8f4;
}
.support-program_table td {
  border: 1px solid #ccc;
  padding: 1rem;
}
.support-program_table__02 {
  padding: 2rem;
  border-radius: 15px;
  margin: 1rem 0;
}
.support-program_table__02 th {
  width: 100%;
  border: 2px solid #fff;
  padding: 1rem;
  background-color: #e3edde;
}
.support-program_table__02 td {
  width: 100%;
  border: 2px solid #fff;
  padding: 1rem;
  background-color: #e3edde;
}
.support-program_table__03 {
  padding: 2rem 0;
  border-radius: 15px;
  margin: 1rem 0;
}
.support-program_table__03 th {
  border: 2px solid #ccc;
  padding: 1rem;
  background-color: #e3edde;
}
.support-program_table__03 td {
  border: 2px solid #ccc;
  padding: 1rem;
}
.support-program_table__03 li {
  list-style-type: disc;
  margin-left: 2rem;
  margin-bottom: 2rem;
  letter-spacing: 1px;
}
.support-program_table__03 li:last-child {
  margin-bottom: 0;
}
.number-list li, .number-list__02 li {
  list-style-type: decimal;
  margin-left: 3rem;
  margin-bottom: 1.5rem;
  letter-spacing: 1px;
}
.number-list__02 li {
  position: relative;
  padding-bottom: 25px;
}
.number-list__02 li:after{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 10px solid #4a912b;
}
.bg-4a912b {
  background-color: #4a912b;
  padding: 0.3rem 1rem;
  border-radius: 20px;
}
.color-white {
  color: white;
}
.table-w25 {
  width: 25%;
}
.table-w30 {
  width: 30%;
}
.bg-dcebd4 {
  background-color: #dcebd4;
}
.support-program_title {
  font-size: 2rem;
  border-left: 6px solid #96c183;
  padding-left: 1rem;
  text-align: left;
  margin-bottom: 1rem;
  color: #4a912b;
  margin: 3rem 0 1rem;
}
.border-bottom {
  border-bottom: 1px solid #e2e2e2;
  padding: 0 0 2rem;
}
.event-table th {
  width: 20%;
}
.border-r-1 {
  border-right: 1px solid #ccc;
}
@media(max-width:767px) {
  .support-program_table h3 {
    height: auto;
  }
  .support-program_table th, .support-program_table td {
    width: 100%;
    display: block;
  }
  .support-program_table__03 th {
    display: none;
  }
  .support-program_table__03 td {
    width: 100%;
    display: block;
    border: 1px solid #ccc;
    border-bottom: none;
  }
  .support-program_table__03 td:last-child {
    border-bottom: 1px solid #ccc;
  }
  .table-w25, .table-w30 {
    width: 100%;
  }
  .table-bg-e3edde {
    background-color: #e3edde;
    font-weight: bold;
  }
  .border-r-1 {
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
}


/* footer */
.footer_contact__wrap {
  background-image: url('../img/index/footer_bg.jpg');
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0;
  color: #fff;
  padding: 70px 0;
}
.footer_contact__wrap h3 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 3rem;
}
.footer_contact__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.footer_tel_box {
  border-radius: 20px;
  background: #fff;
  color: #3A3937;
  font-size: 15px;
  padding: 15px;
  text-align: center;
  max-width: 270px;
  margin: 0 10px;
}
.footer_tel_box__support {
  border-radius: 20px;
  background: #fff;
  color: #3A3937;
  font-size: 15px;
  padding: 15px;
  text-align: center;
  max-width: 270px;
  margin: 0 auto;
}
.footer_tel {
  font-weight: 700;
  font-size: 22px;
}
.footer_tel span {
  font-size: 1rem;
}
.footer_tel a {
  color: #3A3937;
}
.footer_address {
  margin-top: 1rem;
  letter-spacing: 2px;
}
@media(max-width:580px) {
  .footer_inner {
    padding: 0 3rem;
  }
  .footer_logo {
    margin: 0 auto;
  }
  .footer_menu {
    list-style: none;
    padding: 0;
    margin: 2rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: column;
    text-align: left;
  }
  .footer_menu li {
    padding-bottom: 1rem;
  }
}

.r_time {
  font-weight: 600;
  text-align: center;
  margin-top: 1rem;
}
.footer_contact__left {
  width: 70%;
  padding-right: 3%;
}
.footer_contact__right {
  width: 30%;
  border-left: 2px solid #fff;
}
@media(max-width:1024px) {
  .footer_contact__inner {
    display: block;
  }
  .footer_contact__left,
  .footer_contact__right {
    width: 100%;
  }
  .footer_contact__right {
    border-left: none;
    border-top: 2px solid #fff;
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .footer_tel_box {
    width: 100%;
    margin: 0 0.5rem 1rem;
    max-width:100%;
  }
  .footer_tel_box__support {
    max-width: 100%;
  }
}

.company_logo {
  margin: 10px 0;
}

@media(min-width:1201px) {
  .home_service__sp-view {
    display: none;
  }
}

@media(max-width:1200px) {
  .home_service__pc-view {
    display: none;
  }

  .home_service_btn {
    width: 50%;
    margin-bottom: 3rem;
  }

  .footer_contact__wrap {
    padding: 70px 20px;
  }

  .footer_contact__tel {
    font-size: 30px;
    font-weight: bold;
  }
}

@media(max-width:1024px) {
  .flow_num {
    height: 100px;
    display: flex;
    flex-direction: column;
  }
  .sub_main_view {
    padding: 10vw;
  }
  .introduction_about_box img {
    margin-top: 2rem;
  }
  .introduction_about p {
  }
  .introduction_feature {
    padding: 3rem;
  }
  .introduction_about p {
  }
  .introduction_box p {
  }
  .introduction_box ul {
    line-height: 1.75;
  }
  .contents_table tr {
  }
  .freedial {
    margin-bottom: 3rem;
    margin-top: 3rem;
  }

  .flow, .school, .introduction_feature, .support-program_feature {
    padding: 4rem 2rem;
  }
  .flow_box, .school_box, .introduction_box {
    padding: 4rem 2rem;
  }
  .school_text {
    padding: 0;
  }
  .flow_num {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
    padding-bottom: 1rem;
    margin-top: 2rem;
  }
  .flow_num  th {
    width: 100%;
  }
  .dl_btn {
    border: 3px solid #ECAC4A;
  }
  .office {
    margin-bottom: 5rem;
  }
  .office_image img {
    margin-bottom: 2rem;
  }
  .home_contents_text {
  }
  .introduction_about_box img {
    margin-top: 2rem;
  }
  .introduction_about p {
  }
  .introduction_box p {
  }
  .introduction_box ul {
    line-height: 1.75;
  }
  .contents_table tr {
    font-size: 1.2rem;
    border: 1px solid #DDDDDD;
    display: flex;
    flex-direction: column;
    margin-bottom: -1px;
  }
  .contents_table th {
    margin-bottom: -1px;
    width: 100%;
  }
  .home_contents_text img {
    margin-bottom: 2rem;
  }

  .footer_contact__wrap {
    padding: 7rem 3rem;
  }

  .footer_contact__text:last-child {
    margin-bottom: 2rem;
  }

  .footer_contact__btn {
    margin: 0;
    text-align: center;
    display: block;
    padding: 15px;
    max-width: 100%;
  }

  .footer_contact__wrap .lg\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .footer_contact__btn svg {
    margin-bottom: -5px;
  }
}

@media(max-width:992px) {
  .main_view__inner {
    height: 100vh;
    overflow:hidden;
  }
  .home_service_btn {
    width: 100%;
  }

  .school_box,
  .flow_box {
    padding: 5%;
  }

  .footer_contact__box {
    padding: 0 3%;
  }

  .feature_box {
    padding: 15% 5%;
    margin-top: 0rem;
  }
  .company_box {
    padding: 5%!important;
  }
  .footer_menu {

  }
  .footer_contact__left .d-md-flex {
    display: block!important;
  }
  .footer_inner .d-md-flex {
    display: block!important;
  }
  .footer_inner br {
    display: none;
  }

  .footer_contact__tel_line {
    display: none;
  }

  .footer_contact__wrap .lg\:flex {
    display: block;
  }

  .footer_contact__wrap .inner {
    display: flex;
  }

  .footer_contact__wrap .lg\:w-55 {
    display: block;
  }

  .footer_contact__btn {
    margin: 10px 0 0;
  }
}

@media(max-width:580px) {
  .sp_mt20 {
    margin-top: 20px;
  }

  .footer_contact__wrap .lg\:flex {
    display: block;
  }

  .footer_contact__wrap .inner {
    display: block;
  }

  .footer_contact__text {
    margin: 10px 0;
  }
}



@media(min-width:1025px) {
  .sp-view {
    display: none;
  }
}

@media(max-width:1024px) {
  .pc-view {
    display: none;
  }
}
