@charset "UTF-8";
/*--------------------------------
キーカラー	：d0121b ea3546
黒			：241b15 271f1d
濃グレー	：726a68
中グレー	：bab7b6
薄グレー	：d4d2d2
白グレー	：fbf9f9
白			：fff
 --------------------------------*/
/* --------------------------------
 * base
 * -------------------------------- */
* {
  font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'Yu Gothic', YuGothic, Verdana, Helvetica, 'ＭＳ Ｐゴシック', sans-serif;
  /*
	font-family: "リュウミン R-KL", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
}
img {
  line-height: 1rem;
}
html {
  font-size: 62.5%;
}
body {
  background: #fff;
  color: #02020b;
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 1;
}
#container {
  width: 100%;
	overflow: hidden;
}
input {
  font-size: 1.8rem;
}
input:focus {
  outline: none;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 0;
  padding: 0;
}
*, *::before, *::after {
  box-sizing: border-box;
  /*  transition-duration: .3s;*/
}
.clearfix {
  display: block;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.clearfix:before {
  content: "";
  display: block;
  clear: both;
}
ol, ul, dl, li, dt, dd {
  padding: 0;
  margin: 0;
}
li, dt, dd {
  list-style: none;
}
a, a:link, a:visited, a:hover {
  color: #02020b;
  text-decoration: none;
}
a {
  transition-duration: .3s;
}
a:hover {
  opacity: 0.7;
}
a img {
  border: none;
}
button {
  padding: 0;
  border: none;
  background: transparent;
}
button:click, button:active {
  border: none;
}
/* --------------------------------
 * parts 
 * -------------------------------- */
.wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px;
  padding: 0px 2%;
}
.nowrapper {
  padding: 0 2%;
}
.alignL {
  text-align: left !important;
}
.alignC {
  text-align: center !important;
}
.alignR {
  text-align: right !important;
}
.valignC {
  display: block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
}
.floatL {
  float: left;
}
.floatR {
  float: right;
}
@media all and (max-width: 767px) {
  article .floatL, article .floatR {
    float: none;
  }
}
.floatN {
  float: none;
}
.flex, .flex_rev {
  display: flex;
}
.wrap {
  flex-wrap: wrap;
}
.margin_l img, .margin_r img, .top_article .flex img, .flex_rev img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.flex_wrap {
  flex-wrap: wrap;
}
.flex_j_space_between {
  justify-content: space-between;
}
.flex_j_center {
  justify-content: center;
}
.flex_d_column {
  flex-direction: column;
}
.align_item_c {
  align-items: center;
}
.flex_alignC {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  text-align: center;
}
figure {
  display: table;
  text-align: center;
  line-height: 1.25;
}
figure img {
  max-width: 100%;
}
figcaption {
  margin-top: 0.5rem;
}
.mark2 {
  color: #ea3546;
  display: inline-block;
}
.color_fff {
  color: #fff !important;
}
.color_009ac9 {
  color: #009ac9 !important;
}
.caution1 {
  color: #ea3546;
}
.ex1 {
  color: #5ab050;
}
.dl1, .dl1-2, .dl1-3 {
  margin: 40px 0;
  overflow: hidden;
}
.dl1 dt, .dl1-2 dt, .dl1-3 dt {
  display: block;
  clear: both;
  float: left;
  width: 30%;
  padding: 2% 2% 2% 0;
  border-top: 1px solid #5795fc;
}
.dl1 dd, .dl1-2 dd, .dl1-3 dd {
  display: block;
  margin-left: 30%;
  padding: 2% 0 2% 2%;
  border-top: 1px dotted #bab7b6;
}
.dl1 dt:last-of-type, .dl1-2 dt:last-of-type, .dl1-3 dt:last-of-type {
  border-bottom: 1px solid #5795fc;
}
.dl1 dd:last-child, .dl1-2 dd:last-child, .dl1-3 dd:last-child {
  border-bottom: 1px dotted #bab7b6;
}
dl .dl1-3 {
  border-top: 0 none transparent;
  border-bottom: 0 none transparent;
  margin: 0;
}
dl .dl1-3 dd {
  border-left: 1px dotted #bab7b6;
  overflow: hidden;
}
dl .dl1-3 dt:first-of-type, dl .dl1-3 dd:first-of-type {
  padding-top: 0;
}
dl .dl1-3 dt:last-of-type, dl .dl1-3 dd:last-of-type {
  padding-bottom: 0;
}
.dl1-3 dd:after {
  content: "";
  display: block;
  clear: both;
}
.dl2 {
  display: flex;
  flex-wrap: wrap;
  padding: 2%;
  background: #edf6ff;
  margin: 2% 0;
}
.dl2 dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 30%;
  padding: 2%;
  background-color: #FFF;
  margin-top: 2%;
}
.dl2 dd {
  width: 70%;
  padding: 2%;
  background-color: #FFF;
  margin-top: 2%;
}
.dl2 dt:first-child, .dl2 dd:first-of-type {
  margin-top: 0px;
}
.dl1:after, .dl2:after {
  content: "";
  clear: both;
  display: block;
}
.dl3 {
  padding: 3%;
  background: #edf6ff;
  margin: 2% 0 0 0;
}
.dl3 dt {
  background-color: #FFF;
  padding: 2%;
  text-align: right;
  border-bottom: dotted 1px #bab7b6;
}
.dl3 dd {
  background-color: #FFF;
  padding: 2%;
}
.bg_color_fff {
  background-color: #FFF;
}
/*---------- 表 ----------*/
.table1 {
  clear: both;
  background-color: #fff;
  width: 100%;
}
.table1 th {
  padding: 10px 5px 5px 10px;
  text-align: left;
  vertical-align: top;
}
.table1 td {
  padding: 5px;
  padding: 10px 5px 5px 7px;
}
.table1 img {
  padding: 1px;
  border: solid 1px #eee;
}
.table2 {
  clear: both;
  margin-right: 10px;
  background-color: #ccc;
  width: 100%;
}
.table2 th {
  font-weight: bold;
  text-align: left;
  padding: 5px;
  background-color: #eee;
  border: 1px solid #fff;
}
.table2 td {
  padding: 5px;
  background-color: #fff;
  border: 1px solid #fff;
}
.table3 {
  clear: both;
  MARGIN-right: 10px;
  background-color: #cdcdcd;
}
.table3 th {
  clear: both;
  font-weight: normal;
  margin: 2px;
  padding: 4px;
  background-color: #f1f1f1;
  border: 2px solid #fff;
}
.table3 td {
  margin: 0px;
  padding: 2px;
  background-color: #fff;
  border: 2px solid #fff;
}
.table4 {
  display: flex;
  justify-content: space-around;
}
.table4 tr {
  display: flex;
  justify-content: center;
}
.table4 th, .table4 td {
  margin: 2%;
  display: block;
}
.table4 img {
  max-width: 100%;
}
@media all and (max-width: 767px) {
  .table4 tr {
    flex-direction: column;
  }
  .table4 th, .table4 td {
    margin: 1%;
  }
}
#color_gray1 {
  background-color: #696969;
  color: #fff;
}
#color_gray2 {
  background-color: #c9c9c9;
}
#color_moji_gray1 {
  color: #5d5d5d;
  background-color: #c9c9c9;
}
#color_blue1 {
  background-color: #2E669E;
  color: #fff;
}
#color_blue2 {
  background-color: #B1CCDE;
}
#color_moji_blue1 {
  color: #246997;
  background-color: #B1CCDE;
}
#color_orange1 {
  background-color: #ED6C00;
  color: #fff;
}
#color_orange2 {
  background-color: #F9CAA3;
}
#color_moji_orange1 {
  color: #D25F00;
  background-color: #F9CAA3;
}
#color_red1 {
  background-color: #A5464D;
  color: #fff;
}
#color_red2 {
  background-color: #DFBCBF;
}
#color_moji_red1 {
  color: #BF1717;
  background-color: #DFBCBF;
}
#color_green1 {
  background-color: #7DA70D;
  color: #fff;
}
#color_green2 {
  background-color: #D0DFA8;
}
#color_moji_green1 {
  color: #6A8E0B;
  background-color: #D0DFA8;
}
#color_brown1 {
  background-color: #776D5B;
  color: #fff;
}
#color_brown2 {
  background-color: #CECAC4;
}
#color_moji_brown1 {
  color: #6A6251;
  background-color: #CECAC4;
}
#moji_blue1 {
  color: #2771A4;
}
#moji_orange1 {
  color: #ED6C00;
}
#moji_red1 {
  color: #A5464D;
}
#moji_green1 {
  color: #7DA70D;
}
#moji_gray1 {
  color: #696969;
}
#moji_brown1 {
  color: #696969;
}
/* --------------------------------
 * background-parallax
 * -------------------------------- */
.parallax {
  min-height: 400px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
.parallax_b_content {
  padding: 60px;
  background-color: #fff;
}
.parallax.bg-01 {
  background-image: url(../../img/menu3_back_img.jpg);
  background-color: #edf6ff;
}
.bg_color_3 {
  background-color: #5c5b5b;
}
/* --------------------------------
 * fade-in
 * -------------------------------- */
.effect-fade {
  opacity: 0;
  transform: translate(0, 100px); /* フェードインで動く高さを指定 */
  transition: all 1000ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
/* --------------------------------
 * header
 * -------------------------------- */
#header_area {}
nav {
  width: 100%;
  background: rgb(1, 202, 220);
  background: linear-gradient(180deg, rgba(1, 202, 220, 1) 0%, rgba(0, 36, 124, 1) 50%);
}
.site-description {
  padding: 0.5rem 10px;
  color: #00247c;
  height: 1.8rem;
  overflow: hidden;
  font-size: 0.8rem;
}
.site-logo {
  padding: 1.6rem 0;
}
.site-logo a {
  font-size: clamp(1vw, 3.6rem, 3vw);
  color: #fff;
}
.header_r {}
.header_r_logo {
  line-height: 1rem;
  width: 32vw;
  max-width: 515px;
  height: 4.5vw;
  max-height: 60px;
  border-radius: 0 0 100px 100px;
  background: #fff;
  position: fixed;
  top: 0;
  right: 10vw;
  box-shadow: 0px 0px 10px 0px #fff;
}
.header_r_logo img {
  width: 23vw;
  max-width: 300px;
  position: relative;
  top: 10px;
}
/* --------------------------------
 * 三メニュー
 * -------------------------------- */
#nav-toggle, #nav-toggle2 {
  cursor: pointer;
  font-size: 1.1rem;
  position: fixed;
  right: 10px;
  top: 7px;
  background: linear-gradient(180deg, rgba(0, 36, 124, 0.8) 0%, rgba(1, 202, 220, 0.8) 100%);
  border-radius: 50%;
  background-position: center center;
}
#nav-toggle {
  height: 65px;
	width:65px;
  padding: 7px 15px 10px;
}
#nav-toggle2 {
  height: 65px;
	width:65px;
  padding: 7px 15px 10px;
}
.open #nav-toggle, .nav_fixed #nav-toggle, .open #nav-toggle2, .nav_fixed #nav-toggle2 {
  cursor: pointer;
  font-size: 1.1rem;
}
#nav-toggle > div, #nav-toggle2 > div {
  position: relative;
  width: 35px;
}
#nav-toggle span, #nav-toggle2 span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #fff;
  position: absolute;
  -webkit-transition: top .5s ease, -webkit-transform .3s ease-in-out;
  transition: top .5s ease, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .5s ease;
  transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
  /* #nav-toggle close */
}
#nav-toggle span:nth-child(1), #nav-toggle2 span:nth-child(1) {
  top: 10px;
}
#nav-toggle span:nth-child(2), #nav-toggle2 span:nth-child(2) {
  top: 20px;
}
#nav-toggle span:nth-child(3), #nav-toggle2 span:nth-child(3) {
  top: 30px;
}
#nav-toggle p, #nav-toggle2 p {
  top: 26px;
  width: 100%;
  display: block;
  position: absolute;
  color: #fff;
}
#nav-toggle:hover span:nth-child(1), #nav-toggle2:hover span:nth-child(1) {
  top: 10px;
}
#nav-toggle:hover span:nth-child(3), #nav-toggle2:hover span:nth-child(3) {
  top: 30px;
}
.open #nav-toggle span:nth-child(1), .open #nav-toggle2 span:nth-child(1) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2), .open #nav-toggle2 span:nth-child(2) {
  top: 20px;
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3), .open #nav-toggle2 span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#global-nav, #global-nav2 {
  background: #edf6ff;
  color: #271f1d;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100vh;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: flex-start;
  padding-left: 0;
  -webkit-transform: translateX(100vw);
  transform: translateX(100vw);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#global-nav::-webkit-scrollbar, #global-nav2::-webkit-scrollbar { /* Chrome, Safari 対応 */
  display: none;
  -webkit-appearance: none;
}
.open #global-nav, .open #global-nav2 {
  width: 50vw;
  -webkit-transform: translateX(50vw);
  transform: translateX(50vw);
}
@media all and (max-width: 767px) {
  .open #global-nav, .open #global-nav2 {
    width: 100vw;
    -webkit-transform: translateX(100vw);
    transform: translateX(0vw);
  }
}
#global-nav nav, #global-nav2 nav {
  background: rgba(255, 255, 255, 0.98);
  margin: 50px 5vw 5vw 5vw;
}
#global-nav a, #global-nav2 a {
  display: block;
  color: #00247c;
  text-decoration: none;
  position: relative;
}
#global-nav ul, #global-nav2 ul {
  list-style: none;
  margin-top: 84px;
  margin-left: 5%;
  margin-right: 5%;
  margin-bottom: 100px;
}
#global-nav ul li, #global-nav2 ul li {
  -webkit-transform: translateX(-200px);
  transform: translateX(-200px);
  -webkit-transition: -webkit-transform 1.3s ease;
  transition: -webkit-transform 1.3s ease;
  transition: transform 1.3s ease;
  transition: transform 1.3s ease, -webkit-transform 1.3s ease;
  position: relative;
  text-align: left;
}
#global-nav ul li:first-child, #global-nav2 ul li:first-child {
  border-top: solid 1px rgba(0, 36, 124, 0.3);
}
.lv_1 a:hover, .lv_2 a:hover {
  background-color: #fff;
  opacity: 1;
}
.lv_1 a:before, .lv_2 a:before {
  content: "";
  background: url("../img/btn_icon1_kcolor.svg") no-repeat;
  background-position: left 0.25rem;
  background-size: 7px 11px;
  padding-right: 1rem;
  position: absolute;
  width: 7px;
  height: 100%;
  left: 0;
}
.lv_1 .no_link, .lv_2 .no_link {
  display: block;
  color: #00247c;
}
.lv_1 .no_link:before, .lv_2 .no_link:before {
  content: "";
  background: url("../img/btn_icon1_gray.svg") no-repeat;
  background-position: left 0.25rem;
  background-size: 7px 11px;
  padding-right: 1rem;
  position: absolute;
  width: 7px;
  height: 100%;
  left: 0px;
}
/*#global-nav ul li:after, #global-nav2 ul li:after {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  left: -100vw;
  position: absolute;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
}
#global-nav ul li:hover:after, #global-nav2 ul li:hover:after {
  -webkit-transform: translateX(100vw);
  transform: translateX(100vw);
}*/
.open #global-nav li, .open #global-nav2 li {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.lv_1 {
  border-bottom: solid 1px rgba(0, 36, 124, 0.3);
}
.lv_1 a, .lv_1 .no_link {
  font-weight: bold;
  padding: 1rem;
  margin-top: 1.5rem;
}
.lv_2 a, .lv_2 .no_link {
  margin-left: 2rem !important;
  padding: 1rem 1rem 1rem 1rem;
  border-bottom: dotted 1px rgba(0, 36, 124, 0.3);
}
.tel:before {
  content: "";
  background: url("../img/tel_icon1.png") no-repeat;
  background-position: left top;
  background-size: 2rem;
  padding-right: 2.4rem;
}
._blank:after {
  background: url("../img/_blank_icon.svg") no-repeat;
  content: "";
  background-position: right top;
  background-size: 2rem;
  padding-left: 2.4rem;
}
._blank_fff:after {
  background: url("../img/_blank_icon_fff.svg") no-repeat;
  content: "";
  background-position: right top;
  background-size: 2rem;
  padding-left: 2.4rem;
}
@media all and (max-width: 767px) {
  .tel:before {
    background-size: 1.6rem;
    padding-right: 2.0rem;
  }
  ._blank:after, ._blank_fff:after {
    background-size: 1.4rem;
    padding-left: 2.0rem;
  }
}
/* --------------------------------
 * main
 * -------------------------------- */
main {
  line-height: 1.75;
}
.main_cont {
  background: repeat-x #fff url("../../img/line_blue2.png") bottom;
  background-size: 400px auto;
  padding-bottom: 12.8rem;
}
article {
  text-align: left;
  line-height: 1.75;
}
article a:link, article a:visited, article a:active {
  border-bottom: solid 1px #02020b;
  color: #02020b;
}
article a:hover {
  opacity: 1;
  background-color: #02020b;
  color: #FFF;
}
article a img:link, article a img:visited, article a img:active {
  border-bottom: none;
}
article ol {
  counter-reset: item;
}
article ol, article ul {
  margin: 2rem 40px;
}
article ol ol, article ul ul {
  padding-left: 1rem;
  margin: 1rem 0;
}
article ol li, article ul li {
  text-indent: -1.3em;
  padding-left: 1.3rem;
}
article ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  padding-right: .5rem;
  color: #ea3546;
}
article ul li:before {
  content: "・";
  padding-right: .5rem;
  color: #ea3546;
}
table ol, table ul {
  margin: 0;
}
article img {
  border: solid 1px rgba(186, 183, 182, 0.3);
}
/*---------- 画像 ----------*/
.image_r {
  float: right;
  margin-bottom: 10px;
  margin-left: 10px;
  line-height: 1em;
  padding: 4px;
  border: solid 1px #dadada;
}
.image_r img, .image_l img {
  float: none;
  margin: 0px;
}
.image_r span, .image_l span {
  margin-top: 2px;
  display: block;
  font-size: 0.8rem;
  text-align: center;
}
.image_l {
  float: left;
  margin-bottom: 10px;
  margin-right: 10px;
  margin-left: 0px;
  line-height: 1rem;
  padding: 4px;
  border: solid 1px #dadada;
}
.image_c {
  float: none;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1rem;
  padding: 4px;
  border: solid 1px #dadada;
  text-align: center;
}
.image_r, .image_l {
  max-width: 100%;
  height: auto;
}
.image_c {
  max-width: 100%;
  display: flex;
  justify-content: center;
  height: auto;
}
.image_r:after, .image_l:after {
  clear: both;
}
.image_l:last-child, .image_r:last-child, .image_c:last-child {
  margin-bottom: 4rem;
}
@media all and (max-width: 767px) {
  .image_r, .image_l, .image_c {
    float: none !important;
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 2rem auto !important;
  }
}
/* --------------------------------
 * parts 優先
 * -------------------------------- */
.btn1, .btn2 {
  margin: 6rem auto 0;
  text-align: center;
}
.btn1 a {
  display: inline-block;
  text-align: center;
  background: url(../img/btn_icon1.png) no-repeat, linear-gradient(90deg, rgba(0, 36, 124, 1) 0%, rgba(1, 202, 220, 1) 100%);
  background-position: center 90%, center center;
  color: #fff !important;
  border-radius: 50px;
  padding: 2.2rem 2rem;
}
.btn2 a {
  display: inline-block;
  background: #fff url(../img/btn_icon1.png) no-repeat;
  filter: drop-shadow(0px 0px 4px rgba(0, 36, 124, 0.8));
  background-position: center 90%, center center;
  color: #00247c;
  border-radius: 50px;
  padding: 2.2rem 2rem;
}
.btn2 a {
  display: inline-block;
  padding-left: 2rem;
}
.btn2 a::before {
  content: "";
  background: url("../img/btn_icon1_logo.png") no-repeat;
  width: 72px;
  height: 43px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;
}
.btn2 a:hover {
  transition: all .3s ease-out;
  background-position: 80% 90%, center center;
  opacity: 1;
}
.btn4 a {
  background: url(../../img/btn_icon3.svg) no-repeat 50% 5.2rem #FFF;
  border: solid 1px #02020b !important;
  color: #02020b !important;
  padding: 2.2rem 2rem;
  border-radius: 4rem;
}
.btn5 a {
  background: url(../../img/btn_icon4.svg) no-repeat center bottom #02020b;
  border: solid 1px #8e8a8a !important;
  border-bottom: solid 1px #8e8a8a !important;
  color: #fff;
}
.btn1 a:hover {
  background: url(../img/btn_icon1.png) no-repeat, linear-gradient(90deg, rgba(1, 202, 220, 1) 0%, rgba(0, 36, 124, 1) 100%);
  transition: all .3s ease-out;
  background-position: 80% 90%, center center;
  opacity: 1;
}
.btn4 a:hover {
  background: url(../../img/btn_icon3_rev.svg) no-repeat 70% 5.2rem #FFF;
  border: solid 1px #02020b !important;
  background-color: #02020b;
  color: #FFF !important;
  opacity: 1;
}
.btn3 {
  margin: 4rem auto;
  text-align: center;
}
.btn3 a {
  width: 100%;
  color: #fff !important;
  background: url("../../img/btn_icon1.svg") no-repeat 50% 5.2rem #ea3546;
  position: relative;
  display: block;
  padding: 2.2rem 0.5rem;
  border-radius: 4rem;
}
.btn3 a:hover {
  opacity: 1;
  background: url(../../img/btn_icon1_rev.svg) no-repeat 70% 5.2rem rgba(248, 66, 52, 0.7);
  color: #FFF !important;
}
.columun_btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
.column_btn a {
  display: flex;
  height: 100%;
  width: 100%;
  background: url("../../img/btn_icon3.svg") no-repeat 50% 60% #fff;
  position: relative;
  align-items: center;
  justify-content: center;
}
.column_btn a:hover {
  height: 100%;
  width: 100%;
  background: url("../../img/btn_icon1_rev.svg") no-repeat 70% 60% #02020b;
  position: relative;
  align-self: center;
  color: #fff !important;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .column_btn a {
    background: url("../../img/btn_icon3.svg") no-repeat 50% 80% #fff;
  }
  .column_btn a:hover {
    background: url("../../img/btn_icon1_rev.svg") no-repeat 70% 80% #02020b;
  }
}
.flex_btn1 a {
  display: inline-block;
  margin: 1rem 2rem;
  padding: 0.5rem 1rem;
  text-align: center;
  border: solid 1px #ea3546;
}
.btn_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 2rem;
}
.btn_flex div {
  margin-left: 10px;
  margin-right: 10px;
}
.link_img {
  border-bottom: none !important;
  line-height: 1;
}
.link_img:hover {
  border-bottom: none !important;
  line-height: 1;
  background: none !important;
}
.link_img img {
  transition: 0.3s;
}
.link_img img:hover {
  opacity: .7;
  transform: scale(1.05, 1.05);
}
.marker1 {
  background: linear-gradient(transparent 40%, rgba(255, 244, 36, 0.6) 0%);
  font-weight: bold;
  color: inherit;
}
/* --------------------------------
 * topic path
 * -------------------------------- */
.topic_path_area {
  background: #edf6ff url("../../img/topic_path_back.svg") no-repeat right top;
  padding-bottom: 10px;
}
.topic_path {
  text-align: left;
  padding: 50px 0px 5px 0px;
}
.topic_path li {
  position: relative;
  display: inline-block;
  padding-left: 1.4rem;
  padding-right: 0.7rem;
  font-size: 1.4rem;
}
.topic_path li:before {
  position: absolute;
  content: url("../../img/topic_path_icon.png");
  left: 0px;
}
/* --------------------------------
 * dtail page
 * -------------------------------- */
.pattern_1 {
  background: repeat #fff url("../img/bg_img_1.png") center center;
  background-attachment: fixed;
}
.pattern_2 {
  background: #b8ddf1;
}
.pattern_3 {
  background: #004b93;
}
.lead {
  padding: 6.4rem 2%;
}
.lead img {
  max-width: 100%;
  height: auto;
}
@media all and (max-width: 767px) {
  .lead img {
    width: 70vw;
    margin: 2rem auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
}
.article_area {
  align-items: baseline;
  justify-content: space-between;
}
.top_dammy {
  margin-bottom: 6.4rem;
}
.block_title {
  position: relative;
  padding: 0 0 2.5rem 3.8rem;
  margin: 6.4rem 0 3.2rem;
  line-height: 1.1;
  background: url("../../img/block_title_back.svg") right bottom no-repeat;
  text-align: left;
  font-size: 3.2rem;
  clear: both;
}
.block_title::before {
  position: absolute;
  content: "";
  display: inline-block;
  border-left: solid 13px #02020b;
  top: 0;
  left: 0;
  width: 13px;
  height: 3.2rem;
  clear: both;
}
.block_title a {
  display: block;
}
.block_title a:link, .block_title a:visited, .block_title a:active {
  border: none;
}
.block_title a:hover {
  background-color: transparent;
  background-position: left bottom;
  background-size: 100% 1px;
  color: #ea3546;
}
.block_title a::after {
  content: " →";
}
.block_title a:hover::after {
  content: " →";
}
.sub_title {
  position: relative;
  padding: 0 0 0 3.2rem;
  margin: 6.4rem 0 3.2rem;
  line-height: 1.1;
  text-align: left;
  font-size: 2.8rem;
  clear: both;
}
.sub_title::before {
  position: absolute;
  content: "";
  display: inline-block;
  border-left: solid 12px #a7c8fb;
  border-radius: 6px;
  top: 0;
  left: 0;
  width: 12px;
  height: 2.8rem;
  clear: both;
}
.keyword_waku {
  margin: 40px 0 0;
  background-color: #fff;
  border: solid 20px #edf6ff;
  padding: 20px;
  clear: both;
}
.keyword_waku:first-of-type {
  margin-top: 80px;
}
.keyword_cont {
  margin: 2rem 40px;
}
.keyword_cont a {
  margin-right: 1rem;
}
/* --------------------------------
 * accordion
 * -------------------------------- */
.accordion1 .acd-check {
  display: none;
}
.accordion1 .acd-label:hover {
  background: #02020b;
  color: #FFF;
  transition: .5s;
}
.accordion1 .acd-label {
  border-bottom: solid 2px #02020b;
  background: #edf6ff;
  display: block;
  margin: 2% 0;
  padding: 2% 50px 2% 2%;
  position: relative;
}
.accordion1 .acd-label:after {
  box-sizing: border-box;
  content: '\f063';
  color: #02020b;
  display: block;
  font-family: "FontAwesome";
  padding: 2% 20px;
  position: absolute;
  right: 0;
  top: 0px;
  transition: .5s;
}
.accordion1 .acd-label:hover::after {
  color: #FFF;
}
.accordion1 .acd-content {
  display: block;
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .5s;
  visibility: hidden;
}
.accordion1 .acd-check:checked + .acd-label::after {
  transform: rotate(180deg);
  color: #FFF;
  transition: .5s;
}
.accordion1 .acd-check:checked + .acd-label + .acd-content {
  height: auto;
  opacity: 1;
  padding: 10px 10px 2rem 10px;
  visibility: visible;
}
.accordion1 .acd-check:checked + .acd-label {
  background: #02020b;
  color: #FFF;
}
.accordion1 .acd-check:checked + .acd-label:hover {
  background: rgba(0, 36, 124, 0.7);
}
/* --------------------------------
 * smenu
 * -------------------------------- */
.smenu_area {
  text-align: left;
  background: #02020b;
  color: #fff;
  padding: 10px 0 30px;
  border-radius: 20px;
}
.smenu_area ul li ul li {
  background: none;
}
.smenu_area li, .smenu_area li ul li {
  display: block;
}
.smenu_area ul li {
  background: url("../../img/block_title_back.svg") right 40px no-repeat;
}
.smenu_area a {
  display: block;
  padding: 1rem;
  width: 100%;
  color: #fff;
}
.smenu_area li ul li:first-child {
  padding-top: 1.4rem;
}
.smenu_area ul li ul li a {
  padding-left: 2.8rem;
}
.smenu_area li a:hover {
  background: rgba(255, 255, 255, 0.14);
}
.smenu_selected a, .smenu_selected span {
  background: rgba(255, 255, 255, 0.14) url("../../img/smenu_icon.png") 1rem 1.4rem no-repeat;
  transition: none;
}
/* --------------------------------
 * footer
 * -------------------------------- */
footer {
  background: #0B2F8D url("../img/footer_back.jpg") center top no-repeat;
  background-size: cover;
  color: #fff;
  padding-top: 70px;
  padding-bottom: 100px;
}
footer a:link, footer a:visited, footer a:active {
  color: inherit;
}
address {
  font-weight: normal;
  font-style: normal;
  text-align: left;
  line-height: 1.5;
  width: 30%;
}
.footer_stitle {
  margin-bottom: 20px;
  font-size: 2.4rem;
}
.footer_mail a:before {
  font-family: "FontAwesome";
  content: '\f0e0';
  font-size: 24px;
  color: #FFF;
}
.footer_access {
  margin-top: 20px;
}
.footer_access a:link {
  text-decoration: none;
  border-bottom: solid 1px;
  padding-bottom: 0.5px;
}
.footer_instagram {
  margin-top: 20px;
}
.footer_instagram a:before {
  font-family: "FontAwesome";
  content: '\f16d';
  font-size: 4rem;
}
.footer_btn {
  margin-top: 4rem;
  width: 70%;
  min-width: 10rem;
}
.footer_btn a {
  display: block;
  background: url("../img/btn_icon2.png") no-repeat #fff;
  background-position: center 80%, center center;
  border: solid 1px #fff;
  padding: 3rem;
  text-align: center;
  border-radius: 5rem;
}
.footer_btn a:link, .footer_btn a:visited, .footer_btn a:active {
  color: #00247c;
}
.footer_btn a:hover {
  transition: all .3s ease-out;
  background-position: 80% 80%, center center;
  opacity: 1;
}
.footer_menu_area {
  width: 70%;
}
.footer_menu_box {
  font-size: 1.2rem;
  text-align: left;
  width: 25%;
  line-height: 2rem;
  margin-bottom: 20px;
}
.footer_menu_box dl {
  margin: 0px 2rem 1rem 10px;
  font-size: 1.2rem;
}
.footer_menu_box dt {
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.footer_menu_box dd {
  margin-left: 1rem;
  margin-bottom: 10px;
}
.footer_menu_2 {
  margin: 2rem;
}
.footer_menu_2 li {
  font-size: 1.2rem;
  display: inline-block;
  padding: 0 2rem;
  border-left: solid 1px rgba(255, 255, 255, 0.2);
}
.footer_menu_2 li:last-child {
  border-right: solid 1px rgba(255, 255, 255, 0.2);
}
.icon_area {
  margin: 4rem 0;
}
.icon_area img {
  width: 60px;
}
.icon_area > a {
  display: inline-block;
  margin-right: 3rem;
}
.copyright {
  font-size: 1.2rem;
}
/* --------------------------------
 * baseline_btn
 * -------------------------------- */
.baseline_btn_area {
  width: 95vw;
  max-width: 800px;
  background: rgba(255, 255, 255, 0.8);
  filter: drop-shadow(0px 0px 4px rgba(0, 36, 124, 0.5));
  padding: 1rem;
  position: fixed;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  bottom: 0;
  left: 2.5vw;
  z-index: 800;
}
.baseline_btn_area ul {
  display: flex;
  justify-content: center;
}
.baseline_btn_area li {
  display: block;
  width: 50%;
}
.baseline_btn_rsv a {
  background: url("../img/btn_icon3.png") no-repeat #f84234;
  background-position: center 90%, center center;
  position: relative;
  display: block;
  padding: 2.2rem 1em;
  border-radius: 4rem;
	width:100%;
}
.baseline_btn_rsv a:hover {
  transition: all .3s ease-out;
  background-position: 80% 90%, center center;
  opacity: 1;
}
.baseline_tel {
  padding: 1rem 0;
  color: #00247c;
  font-size: min(2.4rem, 4vw);
}
.baseline_tel a:link, .baseline_tel a:visited, .baseline_tel a:active {
  color: #00247c;
  font-weight: 600;
}
.baseline_tel:before {
  font-family: "FontAwesome";
  content: '\f2a0';
  padding-right: 0.5rem;
}
.baseline_btn_rsv a:link, .baseline_btn_rsv a:visited, .baseline_btn_rsv a:hover {
  color: #FFF;
}
/* --------------------------------
 * pagetop
 * -------------------------------- */
.pagetop {
  line-height: 1;
  display: block;
  position: fixed;
  background: linear-gradient(0deg, rgba(0, 36, 124, 0.8) 0%, rgba(1, 202, 220, 0.8) 100%);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  right: 16px;
  bottom: 90px;
}
.pagetop::before {
  font-family: "FontAwesome";
  color: #FFF;
  content: '\f077';
  position: relative;
  top: 35%;
  font-size: 20px;
}
/* --------------------------------
 * top_link_list
 * -------------------------------- */
.link_list1 {
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1rem #edf6ff;
  border-radius: 50px;
  padding: 1rem;
  margin: 4rem 0;
}
.link_list1 dt, .link_list1 dd {
  display: flex;
}
.link_list1 dd a {
  border: solid 1px #5795fc;
  margin-left: 1rem;
  vertical-align: middle;
  text-decoration: none !important;
  padding: 0px 1rem;
  border-radius: 10px;
  background: #edf6ff;
  display: inline-block;
  text-indent: 0;
}
.link_list1 dd a:hover {
  background-color: #01257d;
}
@media screen and (max-width: 767px) {
  .link_list1 {
    flex-direction: column;
    border-radius: 10px;
  }
  .link_list1 dt, .link_list1 dd {
    text-align: center;
    margin: 0.5rem;
    width: 100%;
  }
  .link_list1 dt {
    margin: 0.5rem;
    font-weight: bold;
  }
  .link_list1 dd a {
    width: 100%;
    padding: 0.5rem;
  }
}
/* --------------------------------
 * info
 * -------------------------------- */
.sns_waku1 {
  padding: 2%;
  background: #edf6ff;
  margin: 20px 0 0 0;
}
.sns_waku1 li {
  display: flex;
  justify-content: center;
  text-indent: inherit;
  background-color: #FFF;
  padding: 2%;
  margin-bottom: 2%;
  border: solid 1px rgba(186, 183, 182, 0.3);
}
.sns_waku1 li:last-child {
  margin-bottom: 0;
}
.sns_waku1 li:before {
  content: "";
  padding-right: 0;
}
.sns_image_waku {
  width: 25%;
}
.sns_cont {
  width: 75%;
  margin-left: 3%;
}
.sns_cont span {
  display: block;
  margin-bottom: 1rem;
  line-height: 1;
  font-family: 'Playfair Display';
  font-size: 2.4rem;
  color: #ea3546;
  font-style: italic;
}
.sns_image1 img {
  width: 100%;
  border: solid 1px rgba(186, 183, 182, 0.3);
}
.sns_image1 {
  display: block;
}
.sns_image1:link, .sns_image1:visited, .sns_image1:active {
  border-bottom: none;
}
.sns_image1:hover {
  background: none;
  color: inherit;
}
.sns_image1 img {
  transition: 0.3s;
}
.sns_image1 img:hover {
  opacity: .7;
  transform: scale(1.05, 1.05);
}
/* --------------------------------
 * voice
 * -------------------------------- */
.index_menu1_area {
  display: flex;
  align-items: stretch;
  margin: 4rem 0;
}
.index_menu1_1, .index_menu1_2 {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  text-align: center;
  padding: 4% 2%;
  width: 50%;
}
.index_menu1_1:link, .index_menu1_1:visited, .index_menu1_1:active {
  color: #ea3546;
  background: url(../../img/btn_icon1.svg) no-repeat center bottom rgba(186, 183, 182, 0.3);
  border-bottom: none;
}
.index_menu1_2:link, .index_menu1_2:visited, .index_menu1_2:active {
  color: #ea3546;
  background: url(../../img/btn_icon1.svg) no-repeat center bottom rgba(176, 183, 93, 0.2);
  border-bottom: none;
}
.index_menu1_1:hover, .index_menu1_2:hover {
  background: url(../../img/btn_icon1.svg) no-repeat right bottom #ea3546;
  color: #FFF;
  border-bottom: none;
}
.index_menu1_title {
  display: inline-block;
  font-size: 2.4rem;
  line-height: 1.25;
  font-weight: 900;
}
@media screen and (max-width: 959px) {
  .index_menu1_title {
    font-size: 2.0rem;
  }
}
.index_menu1_title:after {
  content: ">";
  padding-left: 1rem;
}
.img_pickup {
  padding-top: 20%;
  margin-top: auto;
  margin-bottom: 35%;
  display: block;
  position: relative;
}
.img01.waku03 {
  width: 50%;
  padding: 0;
  line-height: 1;
  display: flex;
  border: 5px solid rgba(255, 255, 255, 0.5);
}
.img01 img {
  width: 100%;
  height: 100%;
}
/*
.position01,
.position02 {
	-moz-transform: rotate(-2deg);
	-webkit-transform: rotate(-2deg);
	-ms-transform: rotate(-2deg);
	transform: rotate(-2deg);
	border-radius:2%;

}
*/
.waku03.position01 {
  position: absolute;
  top: 0;
  left: 5%;
}
.waku03.position02 {
  position: absolute;
  top: 40%;
  right: 5%;
}
/* --------------------------------
 * タブ
 * -------------------------------- */
.panel-radios {
  display: none;
}
#tabs-list {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: center;
  list-style: none;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  max-width: 1600px;
  line-height: normal;
}
#tabs-list li {
  position: relative;
  min-width: 20%;
  padding: 5px;
  display: block;
  cursor: pointer;
  background-color: #fff;
  border-left: solid 1px #a9a6a5;
  border-top: solid 1px #a9a6a5;
  margin-top: 20px;
  font-weight: bold;
}
#tabs-list li i {
  color: #ea3546;
  display: none;
  width: 100%;
  text-align: center;
  bottom: 0px;
}
#tabs-list li:last-child {
  border-right: solid 1px #a9a6a5;
}
#tabs-list li:hover {
  color: #02020b;
  background: linear-gradient(17deg, #fe7b0e 0%, #f94303 80%);
  cursor: pointer;
}
.panel-label {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
  cursor: pointer;
}
#panels {
  background-color: #fff;
}
.tab_cont_waku {
  border-top: solid 5px #a9a6a5;
  padding: 4rem 2% 2rem;
  max-width: 1600px;
  margin: auto;
  background: #a9a6a5;
}
@media screen and (max-width:767px) {
  .tab_cont_waku {
    padding: 2rem 2% 0 2%;
  }
  .tab_cont_waku .copy2 {
    font-size: 1.4rem;
    background-color: #fbf9f9;
    border-top: solid 1px #d4d2d2;
    border-right: solid 1px #d4d2d2;
    border-bottom: solid 1px #d4d2d2;
    font-weight: normal;
  }
  .tab_cont_waku .copy1 {
    font-size: 1.4rem;
  }
}
#panels .tab_contarea {
  margin: 0 auto;
  width: 100%;
}
#panels section label.panel-label {
  padding: 12px 24px;
}
#panels section .panel_content {
  max-height: 0;
  opacity: 0;
  overflow-y: hidden;
}
#panel-1-ctrl:checked ~ #panels #panel-1 .panel_content, #panel-2-ctrl:checked ~ #panels #panel-2 .panel_content, #panel-3-ctrl:checked ~ #panels #panel-3 .panel_content, #panel-4-ctrl:checked ~ #panels #panel-4 .panel_content, #panel-5-ctrl:checked ~ #panels #panel-5 .panel_content {
  max-height: initial;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0;
  opacity: 1;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1, #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2, #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3, #panel-4-ctrl:checked ~ #tabs-list #li-for-panel-4, #panel-5-ctrl:checked ~ #tabs-list #li-for-panel-5 {
  pointer-events: none;
  cursor: default;
  background: #fff;
  border-right: solid 1px #a9a6a5;
  margin-top: 0px;
  border-bottom: solid 1px #fff;
  position: relative;
  top: 5px;
  padding-bottom: 0px;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 + li, #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 + li, #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 + li, #panel-4-ctrl:checked ~ #tabs-list #li-for-panel-4 + li, #panel-5-ctrl:checked ~ #tabs-list #li-for-panel-5 + li {
  border-left: 1px solid #fff;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 label.panel-label, #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 label.panel-label, #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label, #panel-4-ctrl:checked ~ #tabs-list #li-for-panel-4 label.panel-label, #panel-5-ctrl:checked ~ #tabs-list #li-for-panel-5 label.panel-label {
  background-color: white;
  border-bottom: solid 5px #fe7b0e;
  border-image: linear-gradient(17deg, #fe7b0e 0%, #f94303 100%);
  border-image-slice: 1;
  padding-bottom: 26px;
}
#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 i, #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 i, #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 i, #panel-4-ctrl:checked ~ #tabs-list #li-for-panel-4 i, #panel-5-ctrl:checked ~ #tabs-list #li-for-panel-5 i {
  display: block;
}
@media all and (max-width: 767px) {
  .panel-label {
    padding: 0px;
  }
  #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 label.panel-label, #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 label.panel-label, #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label, #panel-4-ctrl:checked ~ #tabs-list #li-for-panel-4 label.panel-label, #panel-5-ctrl:checked ~ #tabs-list #li-for-panel-5 label.panel-label {
    padding-bottom: 5px;
  }
}
/* --------------------------------
 * 強制系
 * -------------------------------- */
.margin_t0 {
  margin-top: 0 !important;
}
.margin_b0 {
  margin-bottom: 0 !important;
}
.margin_l0 {
  margin-left: 0 !important;
}
.margin_r0 {
  padding-right: 0 !important;
}
.padding_t0 {
  padding-top: 0 !important;
}
.padding_t100 {
  padding-top: 100px !important;
}
.padding_b0 {
  padding-bottom: 0 !important;
}
.padding_b5per {
  padding-bottom: 5% !important;
}
.padding_l0 {
  padding-left: 0 !important;
}
.padding_r0 {
  padding-right: 0 !important;
}
.display_no {
  display: none !important;
}
.margin_t2per {
  margin-top: 2% !important;
}
.margin_b2per {
  margin-bottom: 2% !important;
}
.margin_l2per {
  margin-left: 2% !important;
}
.margin_r2per {
  margin-right: 2% !important;
}
#hubspot-messages-iframe-container {
  z-index: 2147483646 !important;
}