@charset "utf-8";
body, html {
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #333;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;

  animation: fadeIn 1.5s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
}
body::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    content: "";
    z-index: -1;
    background-image: url(../img/bg01.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.hidden-content {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

/*--- 画面全体をフェードイン(animation設定) ---*/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

h1, h2, h3, h4, h5, h6 {
    font-family: m-plus-1p, 'Noto Sans JP', sans-serif;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin: 0 auto;
    padding: 0;
}
h1 { font-size: 80px; font-weight: 900; }
h2 { font-size: 60px; font-weight: 900; margin-bottom: 3.5rem; }
h3 { font-size: 36px; letter-spacing: 0; margin-bottom: 2.5rem; }
h4 { font-size: 23px; letter-spacing: 0; margin-bottom: 1.3rem; }
h5 { font-size: 20px; letter-spacing: 0; }
h6 { font-size: 18px; letter-spacing: 0; }

.tit-icon {
    display: block;
    text-align: center;
}
.tit-icon span {
    color: #1A5FAF;
    position: relative;
    line-height: 1;
    display: inline-block;
    width: auto;
    min-width: 526px;
    margin: 0 auto;
    padding: 0.5em 1.8em;
}
.tit-icon span::before, .tit-icon span::after {
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 50%;
    z-index: 0;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-size: contain;
}
.tit-icon span::before {
    left: 0;
    background-image: url(../img/icon-l-bl.png);
    background-position: center left;
}
.tit-icon span::after {
    right: 0;
    background-image: url(../img/icon-r-bl.png);
    background-position: center right;
}
.tit-icon.tit-wh span { color: #fff; }
.tit-icon.tit-wh span::before { background-image: url(../img/icon-l-wh.png); }
.tit-icon.tit-wh span::after { background-image: url(../img/icon-r-wh.png); }

a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
a:hover, a:focus {
    text-decoration: none;
    outline: none;
}
a img {
  opacity: 1;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

p {
    margin: 0 auto 1.5em;
	padding: 0;
    line-height: 1.9;
    letter-spacing: 0.02em;
}

/*--- .txt option ---*/
.color-wh { color: #fff; }
.color-gray { color: #000; }
.color-bk { color: #F5F5F5; }
.color-bl { color: #1A5FAF; }
.bg-wh { background-color: #fff; }
.bg-gray { background-color: #F5F5F5; }
.bg-bk { background-color: #171D26; color: #fff; }
.bg-bl { background-color: rgba(8, 78, 159, 0.8); color: #fff; }
.bg-none { background-color: transparent; }

.box-wh {
    padding: 3em;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 6px 10px rgba(0,0,0,0.16));
    -moz-filter: drop-shadow(0px 6px 10px rgba(0,0,0,0.16));
    -ms-filter: drop-shadow(0px 6px 10px rgba(0,0,0,0.16));
    filter: drop-shadow(0px 6px 10px rgba(0,0,0,0.16));
}

/* bnr-box */
.bd-box { position: relative; }
.bd-box::before, .bd-box::after,
.bd-box a::before, .bd-box a::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    background-color: #fff;
}
.bd-box::before, .bd-box::after {
    width: calc(100% - 60px);
    height: 1px;
    left: 50%;
    transform: translateX(-50%);
}
.bd-box::before { top: 15px; }
.bd-box::after { bottom: 15px; }
.bd-box a::before, .bd-box a::after {
    width: 1px;
    height: calc(100% - 60px);
    top: 50%;
    transform: translateY(-50%);
}
.bd-box a::before { left: 15px; }
.bd-box a::after { right: 15px; }

/*--- full-img ---*/
.full-img {
    position: relative;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 20em;
    padding-top: 20em;
    z-index: 1;
    overflow: hidden;
}
.full-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
}


/*--- .btn00 ---*/
.btn-wrap { margin: 3em auto 2em; }
.btn00 {
    width: 100%;
    text-align: center;
}
.btn00 a {
    cursor: pointer;
    color: #fff;
    font-family: m-plus-1p, 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 13em;
    margin: 0 auto;
    padding: 8px 15px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    border: 4px solid #1A5FAF;
    border-radius: 23px;
    background: #1A5FAF;
    overflow: hidden;
    text-decoration: none;
    outline: none;
}
.btn00 a span {
    color: #fff;
    position: relative;
    z-index: 10;
    transition: color .3s;
}
.btn00 a::before, .btn00 a::after { transition: transform .3s; }
.btn00 a::after {
    font-family: "Font Awesome 6 Free";
    content: "\f107";
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    padding: 0;
    position: relative;
    z-index: 10;
    border: 2px solid #fff;
    border-radius: 100%;
    -webkit-text-stroke: 0.06em #FFF;
    text-stroke: 0.06em #FFF;
    transition: color .3s, border-color .3s, -webkit-text-stroke .3s;
}
.btn00 a:hover {
    color: #1A5FAF;
    background-color: #fff;
    text-decoration: none;
    outline: none;
}
.btn00 a:hover span { color: #1A5FAF; }
.btn00 a:hover::after {
    color: #1A5FAF;
    border-color:#1A5FAF;
    -webkit-text-stroke: 0.06em #1A5FAF;
    text-stroke: 0.06em #1A5FAF;
}


/* リキャプチャ非表示 */
.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }


/* --------------------------------------------
    グローバルナビゲーション
-------------------------------------------- */
#nav01 {
    position: fixed;
    z-index: 101;
    width: 100%;
    height: 70px;
    padding: 0;
    -webkit-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
    -moz-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
    -ms-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
     transition: 0.5s;
}
#nav01::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.3;
    transform: translateY(-100%);
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
@keyframes slideIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes slideOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
#drawer-checkbox {
    display: none;
}
.nav-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
}
.nav-wrap label {
    display: none;
}
.hd-logo {
    display: inline-block;
    width: 162px;
    margin: 0;
    padding: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.navbar-collapse { justify-content: flex-end; }
.nav-box {
    margin: 0;
    padding: 0;
    position: relative;
    right: 5vw;
}
.nav-list > li > a,
.nav-list > li > button {
    position: relative;
    display: block;
    color: #fff;
    font-size: 16px;
    font-family: m-plus-1p, 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-decoration: none;
    margin: 0 1em;
    padding: 0!important;
    background-color: transparent;
    border: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.nav-list > li > a::after,
.nav-list > li > button::after {
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 100;
    content: '';
    width: 100%;
    height: 3px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border: none;
    border-radius: 0;
    transform: scale(0, 0) translateX(-50%);
    transform-origin: left bottom;
    transition: transform .3s, opacity .3s;
}
.nav-list > li > a:hover::after,
.nav-list > li > button:hover::after {
    opacity: 1;
    transform-origin: left bottom;
    transform: scale(1, 1) translateX(-50%);
}
/*
.nav-list > li > button:hover,
.nav-list > li > button:focus,
.nav-list > li.show > button {
    color: #313233!important;
    background-color: transparent!important;
    box-shadow: none!important;
}
.nav-list > li > a:hover, .nav-list > li > a:focus,
.nav-list > li > button:hover, .nav-list > li > button:focus {
    color: #313233;
    text-decoration: none;
    outline: none;
    background-color: transparent;
    border: none;
    opacity: 0.6;
}
*/

/*--- scrolled ---*/
.hd-logo img.scroll-h {
    display: inline-block;
    opacity: 1;
    width: 162px;
    margin-top: 40px;
    margin-left: 3.5vw;
}
.hd-logo img.scroll-v {
    display: none;
    opacity: 0;
    width: 132px;
    margin-left: 8vw;
}
#nav01.scrolled::before { opacity: 1!important; transform: translateY(0)!important; }
#nav01.scrolled .nav-wrap { margin-top: 0!important; }
#nav01.scrolled .scroll-v { display: inline-block; animation: slideIn 0.5s 0s 1 forwards; }
#nav01.scrolled .scroll-h { display: none; animation: slideOut 0.5s 0s 1 forwards; }
#nav01.scrolled .nav-list > li > a { color: #000; }
#nav01.scrolled .nav-list > li > a::after,
#nav01.scrolled .nav-list > li > button::after { background-color: #1A5FAF!important; }


/* --------------------------------------------
    メインビジュアル
-------------------------------------------- */
#hd01 {
    position: fixed;
    z-index: 999;
    line-height: 0;
    display: block;
    width: 100%;
    height: auto;
}
.hd-img img { width: 100%; }


/* --------------------------------------------
    コンテンツ
-------------------------------------------- */
section {
    position: relative;
    width: calc(100% + 30px);
    margin: 0 -15px;
    padding: 0;
}
.sec-inline { padding: 6em 0 8em; padding-inline: calc((100vw - 1000px) / 2); }

/* --- flex-box --- */
.flex-box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.flex1 > div { width: 100%; }
.flex2 > div { width: calc(100% / 2); }
.flex3 > div { width: calc(100% / 3); }
.flex4 > div { width: calc(100% / 4); }
.flex5 > div { width: calc(100% / 5);; }
.flex-wrap {
    display: flex;
    justify-content: flex-end;
    flex-flow: column;
}

/*--- grid-box ---*/
.grid-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 32px;
}
.grig-wrap0 { grid-gap: 0!important; }
.grid2 { grid-template-columns: 1fr 1fr; }
.grid3 { grid-template-columns: 1fr 1fr 1fr; }
.grid4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.grid5 { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }


/* --- sec01 --- */
.sec01 > p {
    width: 100%;
    max-width: 866px;
    margin: 0 auto;
}

/* --- sec02 --- */
/* Q&Aリスト - .qa-box */
.qa-box {
    display: block;
    margin: 0 auto 30px;
    padding: 1.5em 2em;
    background-color: #F5F5F5;
    border-radius: 10px;
}
.qa-box dt,
.qa-box dd {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0 auto;
    padding-left: 3.5rem;
}
.qa-box dt {
    font-family: m-plus-1p, 'Noto Sans JP', sans-serif;
    font-size: 1.3em;
    font-weight: 800;
}
.qa-box dd + dt {
    margin-top: 1em;
}
.qa-box dt::before,
.qa-box dd::before {
    display: inline-block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 600;
    font-family: m-plus-1p, 'Noto Sans JP', sans-serif;
    font-size: 36px;
    font-weight: 800;
    line-height: 40px;
    text-align: center;
}
.qa-box dt::before {
    color: #333333;
    content: 'Q.';
}
.qa-box dd::before {
    color: #1a5faf;
    content: 'A.';
}

/* --- sec03 --- */
.sec03 { padding-bottom: 8em; }
.sec03-bg {
    height: 86vh;
    padding-top: 0;
}
.sec03-txt {
    padding-top: 3.5em!important;
    padding-bottom: 4em!important;
}
/* スライダー - .plan-slider */
.slider-wrap { position: relative; }
.plan-slider .slick-slide {
    width: 526px;
    margin-right: 33.5px!important;
    margin-left: 33.5px!important;
}
.plan-slider .slide-txt {
    color: #fff;
    display: block;
    min-height: 74px;
    padding: 10px 15px;
    background-color: #1A5FAF;
}

/* --- sec04 --- */
table {
    width: 100%;
    margin: 3em auto 0;
    border: 1px solid #707070;
    border-collapse: collapse;
}
table tr {
    background-color: #FFF;
    border-bottom: 1px solid #707070;
}
table tr:nth-child(odd){
    background-color: #F5F5F5;
}
table tr th, table tr td {
    font-size: 1.05em;
    line-height: 1.3;
    letter-spacing: 0.02em;
    padding: 15px;
    vertical-align: top;
}
table tr th {
    color: #1A5FAF;
    width: 9em;
    padding: 15px 1em;
    padding-left: 3em;
}
table tr th p, table tr td p {
    line-height: 1.6!important;
    text-align: left;
}
table tr th p:last-of-type, table tr td p:last-of-type {
    margin-bottom: 0;
}




/* --------------------------------------------
    footer
-------------------------------------------- */
#ft01 {
    position: relative;
    z-index: 5;
    color: #fff;
    padding-top: 60px;
    padding-bottom: 40px;
    background:#1A5FAF;
}
.ft-wrap p,
.ft-wrap a {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 1.05em;
    font-weight: bold;
	line-height: 1.6;
    letter-spacing: 0.02em;
    margin-bottom: 0;
}
.ft-wrap a::after {
    opacity: 0;
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 100;
    content: '';
    width: 100%;
    height: 2px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border: none;
    border-radius: 0;
    transform: scale(0, 0);
    transform-origin: right center;
    transition: transform .3s, opacity .3s;
}
.ft-wrap a:hover::after {
    opacity: 1;
    transform-origin: left center;
    transform: scale(1, 1);
}
.ft-hd, .ft-set {
    display: flex;
}
.ft-hd { margin-bottom: 3em; }
.ft-set { justify-content: space-between; }
.ft-logo {
    width: 249px;
    margin-right: 60px;
}
.ft-list {
    list-style: none;
    position: relative;
    margin: 0;
    padding: 0;
	vertical-align: top;
}
.ft-list:first-child { padding-left: 0; }
.ft-list:last-child { padding-right: 0; }
.ft-list li {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    padding: 0 1.5em;
    font-weight: bold;
    line-height: 1;
}
.ft-list li:first-child { padding-left: 0!important; }
.ft-list li:last-child { padding-right: 0!important; }
.ft-list li:not(:last-child)::after {
    content: '';
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    background-color: #fff;
}
.ft-list li > a { line-height: 1; }
.ft-cp {
    font-weight: 500;
    font-size: 15px;
    padding: 0;
}


/* --------------------------------------------
    Responsive
-------------------------------------------- */
@media screen and (max-width: 1101px) {
    .sec-inline { padding: 5em 0 6em; padding-inline: calc((100vw - 860px) / 2); }
    .ft-list li { padding: 0 1em; }
    .ft-cp { font-size: 14px; }
}
@media screen and (min-width: 992px) {
    .nav-list {
        display: inline-block;
        width: auto;
        list-style: none;
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
    .nav-list > li {
        position: relative;
        display: inline-block;
        width: auto;
        margin: 0 auto;
        line-height: 1;
    }
}
@media screen and (max-width: 991px) {
  body, html { font-size: 17px; }
    h1 { font-size: 62px; }
    h2 { font-size: 48px; }
    h3 { font-size: 32px; }
    h4 { font-size: 21px; }
    h5 { font-size: 19px; }
    h6 { font-size: 17px; }
  .sec-inline  { padding-inline: calc((100vw - 735px) / 2); }
  /*-- nav --*/
  .hd-logo img.scroll-h { width: 150px; margin-top: 22px; }
  .navbar-toggler {
    display: inline-block;
    width: 67px;
    height: 67px;
    margin: 0 auto;
    padding: 12px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 999;
    cursor: pointer;
  }
  .navbar-toggler span {
    background:  #fff;
    border-radius: 0px;
    display: block;
    height: 3px;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.3s ease-in-out;
    width: 24px;
    border-radius: 0;
  }
  .navbar-toggler span::before,
  .navbar-toggler span::after {
    -webkit-transform: rotate(0);
    background: #fff;
    border-radius: 0px;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
    transform: rotate(0);
    transition: all 0.3s ease-in-out;
  }
  .navbar-toggler span::before { margin-top: -11px; }
  .navbar-toggler span::after { margin-top: 19px; }
  .navbar-toggler:focus, .navbar-toggler:hover { outline: none; border: none; }
  .navbar-toggler[aria-expanded="true"] span { background: rgba(51, 51, 51, 0)!important; top: 50%; }
  .navbar-toggler[aria-expanded="true"] span::before,
  .navbar-toggler[aria-expanded="true"] span::after {
    content: "";
    display: block;
    width: 130%;
    height: 100%;
    position: absolute;
    background-color: #333;
  }
  .navbar-toggler[aria-expanded="true"] span::before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    margin-top: 0;
  }
  .navbar-toggler[aria-expanded="true"] span::after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    margin-top: 0;
  }
  /*--- .scrolled ---*/
  #nav01.scrolled .navbar-toggler span,
  #nav01.scrolled .navbar-toggler span::before,
  #nav01.scrolled .navbar-toggler span::after { background-color: #333; }

  /* nav content */
  .navbar-collapse {
    position: absolute;
    top: 0;
    right: 0;
    overflow-y: auto;
    display: block;
    width: 100%;
    max-width: 500px;
    height: 100vh;
    padding: 80px 60px 100px;
    background-color: #1A5FAF;
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
  .navbar-collapse.show { transform: translateX(0%); }
  .collapse:not(.show) { display: block!important; }
  .navbar-collapse a:hover { opacity: 0.6; }
  .nav-box { margin-right: 0; right: auto; }
  .navbar-nav { margin-bottom: 2em; }
  .navbar-nav > li { margin-left: 0; border-bottom: 4px #fff solid; text-align: center; }
  .navbar-nav > li:last-child { border-bottom: none; }
  .navbar-nav .nav-link { margin: 10px; }
  .navbar-nav > li > a { font-size: 18px; position: relative; color: #fff!important;  }
  .navbar-nav > li > a::before {
    font-family: "Font Awesome 6 Free";
    content: "\f105";
    font-size: 1em;
    font-weight: 900;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 10;
    transform: translateY(-50%);
  }
  .navbar-nav > li > a::after { display: none; }
  .navbar-toggler[aria-expanded="true"] span { background-color: transparent; }
  .navbar-toggler[aria-expanded="true"] span::before,
  .navbar-toggler[aria-expanded="true"] span::after { background-color: #fff!important; }

  .qa-box dt, .qa-box dd { padding-left: 3rem; }
  .qa-box dt::before, .qa-box dd::before { width: 36px; height: 36px; font-size: 30px; line-height: 36px; }
  .ft-logo { width: 225px; margin-right: 50px; }
  .ft-set { display: block; }
  .ft-list { text-align: center; margin-bottom: 50px; }
  .ft-cp { font-size: 13px; text-align: center; }
}

@media screen and (max-width: 767px) {
  body, html { font-size: 16px; }
    h1 { font-size: 50px; }
    h2 { font-size: 38px; }
    h3 { font-size: 26px; }
    h4 { font-size: 18px; }
    h5 { font-size: 17px; }
    h6 { font-size: 16px; }
    .tit-icon span { min-width: 400px; }
  .no-hover { pointer-events: none; }

  #nav01 { height: 67px; }
  /* Content */
  .sec-inline { padding-inline: calc((100vw - 520px) / 2); }
  .plan-slider .slick-slide { width: 400px; }
  .ft-logo { width: 180px; margin-right: 36px; }
}

@media screen and (max-width: 575px) {
  .tit-icon span { min-width: 320px; }
  /* スクロールしなくても */
  #nav01 { background-color: #fff!important; }
  .hd-logo img.scroll-v { display: inline-block!important; opacity: 1!important; }
  .hd-logo img.scroll-h { display: none!important; opacity: 0!important; }
  .navbar-toggler span,
  .navbar-toggler span::before,
  .navbar-toggler span::after { background-color: #333!important; }
  .navbar-toggler[aria-expanded="true"] span { background-color: transparent!important; }
  .navbar-toggler[aria-expanded="true"] span::before,
  .navbar-toggler[aria-expanded="true"] span::after { background-color: #fff!important; }
  .navbar-collapse { padding: 80px 40px 100px; }
  /* Content */
  .sec-inline { padding-inline: calc((100vw - 425px) / 2); }
  .plan-slider .slick-slide { width: 360px; }
  table tr th { width: 7em; padding-left: 1.5em; }
  .ft-hd { display: block; }
  .ft-logo { width: 168px; margin: 0 0 1.5em; }
  .ft-list li { padding: 0 1em; }
}
@media screen and (max-width: 460px) {
    h1 { font-size: 40px; }
    h2 { font-size: 32px; }
    h3 { font-size: 24px; }
    h4 { font-size: 17px; }
    h5 { font-size: 16px; }
    h6 { font-size: 15px; }
    .tit-icon span { min-width: 260px; padding: 1em 1em; }
    p { line-height: 1.8; letter-spacing: 0; }
  .sec-inline { padding-inline: calc((100vw - 310px) / 2); }
  .qa-box { padding: 1.5em 1.6em 2em; }
  .qa-box dt, .qa-box dd { display: block; padding-left: 0; }
  .qa-box dt::before, .qa-box dd::before { position: relative; display: block; margin: 0 0 5px; }
  .plan-slider .slick-slide { width: 300px; }
  table tr th, table tr td { display: block; padding: 15px 20px; }
  table tr th { width: 100%; padding-bottom: 0; }
  table tr td { padding-top: 5px; }
  .ft-logo { width: 150px; }
  .ft-wrap p, .ft-wrap a { font-size: 1em; }
  .ft-hd, .ft-list { margin-bottom: 30px; }
  .ft-list:not(:last-of-type) { margin-bottom: 5px; }
}