@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 1.6rem;
  -webkit-text-size-adjust: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
h1 {}
/* Header内で設定 */
h2 {}
h3 {}
h4 {}
a {
  color: #002e5d;
}
a:hover, a:active {
  text-decoration: none;
}
a:visited {}
ul {}
li {}
dl {}
dt {}
dd {}
table {
  width: 100%
}
th, td {}
th {}
td {}
p {
  margin-bottom: 2em;
}
p:last-child {
  margin-bottom: 0;
}
p, dt, dd, td, th, li {
  line-height: 2em;
}
.image_l {
  float: left;
  margin: 0 15px 15px 0;
}
.image_r {
  float: right;
  margin: 0 0 15px 15px;
}
#toTop {
  border: none;
  bottom: 30px;
  cursor: pointer;
  display: none;
  overflow: hidden;
  position: fixed;
  right: 20px;
  text-decoration: none;
  margin: 0;
  z-index: 5;
}
#toTop a {
  background: #80c2d7;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
/* Box sizing rules */
#index *, #index *::before, #index *::after {
  box-sizing: border-box;
  outline: none;
}
/* add
------------------------------------------------------------------------*/
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  background: none;
}
body {
  color: #333333;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 500;
}
body.active {
  height: 100%;
  overflow: hidden;
}
#wrapper {
  max-width: 2000px;
  min-width: 1220px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
  letter-spacing: 0.05em;
}
.inner {
  width: 1280px;
  margin: 0 auto;
}
.box_flex {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}
.flex_center {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.flex_space {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  flex-wrap: wrap;
}
.flex_end {
  display: flex;
  display: -webkit-flex;
  align-items: flex-end;
  flex-wrap: wrap;
}
/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
header {
  position: absolute;
  z-index: 10;
  width: 100%;
  top: 0;
  left: 0;
  padding: 0 30px;
  background: #ffffff;
  height: 130px;
}
header.active {
  position: fixed;
  top: -200px;
  background: rgba(255, 255, 255, 0.95);
  animation: head_fix 0.3s ease-out;
  -webkit-animation-fill-mode: forwards; /* Safari 4.0 - 8.0 */
  animation-fill-mode: forwards;
}
#header.active .head_inner {
  padding: 20px 40px;
  align-items: center;
}
@keyframes head_fix {
  0% {
    top: -100px;
  }
  100% {
    top: 0;
  }
}
@-webkit-keyframes head_fix {
  0% {
    top: -100px;
  }
  100% {
    top: 0;
  }
}
.head_inner {
  position: relative;
  z-index: 1;
}
.head_inner h1 {
  color: #333333;
  font-size: 1.2rem;
  line-height: 1.4em;
  padding: 7px 0 8px;
}
.head_inner #logo {
  margin: 0;
}
.head_r {
  margin-top: -5px;
}
.common_list {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
}
.common_list li {
  color: #002e5d;
  font-size: 1.4rem;
  font-family: 'NotoSansJP-Medium';
  text-align: center;
  border: #002e5d 2px solid;
  width: 120px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  margin-right: 6px;
}
.common_list li:last-child {
  margin-right: 0;
}
.head02 {
  margin-left: 40px;
}
.head_time {
  font-size: 1.2rem;
  font-family: 'NotoSansJP-Regular';
  line-height: 1.4em;
  margin-top: -3px;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}
.list_social {
  display: flex;
  justify-content: flex-end;
}
.list_social li {
  margin-left: 20px;
}
.list_social li:first-child {
  margin-left: 0;
}
.list_social li a {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.fixed_contact {
  position: fixed;
  top: 23.5%;
  right: 0;
}
.fixed_contact li {}
.fixed_contact li a {
  text-decoration: none;
  color: #ffffff;
  font-family: 'NotoSansJP-Regular';
  box-shadow: 2px 1px 5px 0px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 2px 1px 5px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 2px 1px 5px 0px rgba(0, 0, 0, 0.5);
  background: #61a0d9;
  border-radius: 10px 0 0 10px;
  height: 160px;
  text-align: center;
  letter-spacing: 0.05em;
  padding-bottom: 2px;
}
.fixed_contact .item01 {
  margin-bottom: 10px;
  transform: translateX(140px);
  transition: 0.3s all;
}
.fixed_contact .item01 a {
  display: flex;
  align-items: center;
  padding-bottom: 0;
}
.fixed_contact .item01 span {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixed_contact .item01 .tit {
  width: 60px;
}
.fixed_contact .item01 .tit i {
  font-style: normal;
  display: inline-block;
  background: url("../images/icon_tel.svg") center top no-repeat;
  background-size: 20px auto;
  padding-top: 22px;
  width: 24px;
  word-break: break-all;
  line-height: 1.05em;
  padding-left: 5px;
  padding-right: 5px;
  margin-top: 8px;
}
.fixed_contact .item01 .num {
  width: 140px;
  background: #3A82C3;
  font-size: 2rem;
}
.fixed_contact .item02 {
  margin-bottom: 10px;
}
.fixed_contact .item02, .fixed_contact .item03 {
  width: 60px;
  margin-left: auto;
}
.fixed_contact .item02 a, .fixed_contact .item03 a {
  background: #4db68b;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixed_contact .item03 a {
  background: #00b549;
}
.fixed_contact .item02 a span {
  background: url("../images/icon_web.svg") center top no-repeat;
  background-size: 20px auto;
  padding-top: 22px;
  width: 24px;
  word-break: break-all;
  line-height: 1.05em;
  padding-left: 5px;
  padding-right: 5px;
}
.fixed_contact .item03 a span {
  background: url("../images/ic_line.png") center top no-repeat;
  background-size: 20px auto;
  padding-top: 24px;
  width: 23px;
  word-break: break-all;
  line-height: 1.05em;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 1.5rem;
}
/*--- gnavi ---*/
#gnavi {}
#gnavi .menu_main {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
}
#gnavi .menu_main > li {
  text-align: center;
  margin-left: 56px;
}
#gnavi .menu_main > li:first-child {
  margin-left: 0;
}
#gnavi .menu_main > li > a {
  display: block;
  text-decoration: none;
  line-height: 1.4em;
  font-size: 1.8rem;
  color: #002e5d;
  transition: 0.3s all;
  position: relative;
  z-index: 1;
  font-family: 'NotoSansJP-Bold';
  letter-spacing: 0.08em;
}
#gnavi .menu_main li.sub {
  position: relative;
  z-index: 100;
}
#gnavi .menu_main li.sub > a {
  padding-bottom: 28px;
  background: url("../images/arrow_down_b01.svg") center bottom 12px no-repeat;
  background-size: 13px auto;
  cursor: default;
}
#gnavi .menu_main .menu_sub {
  position: absolute;
  z-index: 10;
  width: 600px;
  top: 100%;
  left: calc(50% - 300px);
  display: flex;
  flex-wrap: wrap;
  background: #61a0d9;
}
#gnavi .menu_main .menu_sub li {
  width: 50%;
}
#gnavi .menu_main .menu_sub a {
  font-size: 1.8rem;
  width: 100%;
  text-align: left;
  text-decoration: none;
  box-sizing: border-box;
  color: #ffffff;
  background: #61a0d9;
  display: flex;
  align-items: center;
  padding: 10px 10px 10px 46px;
  min-height: 70px;
  line-height: 1.4em;
  position: relative;
  font-family: 'NotoSansJP-Regular';
}
#gnavi .menu_main .menu_sub a:after {
  position: absolute;
  top: 50%;
  left: 17px;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 8px;
  height: 14px;
  background: url("../images/arrow_r_w.svg") no-repeat;
  background-size: 100% auto;
  transition: 0.5s all;
}
/*==========================================================================*/
/*                               Content                                     */
/*==========================================================================*/
#index h3 {
  text-align: center;
  padding-bottom: 96px;
  background: url("../images/idx_item_h3.png") center bottom 40px no-repeat;
}
#index h3 .h3_en {
  color: #1f518e;
  display: block;
  line-height: 1.4em;
  font-family: 'Lobster-Regular';
  font-size: 2.4rem;
  margin-bottom: 23px;
}
#index h3 .h3_jp {
  display: inline-block;
  line-height: 1.8em;
  font-size: 3.2rem;
  font-family: 'NotoSansJP-Medium';
  letter-spacing: 0.1em;
}
#index h3 .h3_jp span {
  display: block;
  font-size: 4.4rem;
  font-weight: 400;
}
.common_btn01 {
  width: 180px;
  margin-left: auto;
  margin-right: auto;
}
.common_btn01.btn_big {
  width: 400px;
}
.common_btn01 a {
  font-family: 'NotoSansJP-Bold';
  width: 100%;
  text-decoration: none;
  color: #333333;
  background: #ffffff;
  height: 48px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 20px;
  position: relative;
  z-index: 1;
  border-radius: 24px;
  transition: 0.3s all;
  border: #bacbce 1px solid;
  box-shadow: 0px 3px 1px 0px rgba(186, 203, 206, 0.5);
  -webkit-box-shadow: 0px 3px 1px 0px rgba(186, 203, 206, 0.5);
  -moz-box-shadow: 0px 3px 1px 0px rgba(186, 203, 206, 0.5);
}
.common_btn01.btn_big a {
  height: 70px;
  border-radius: 35px;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}
.common_btn01 a:after {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  z-index: -1;
  background: #bacbce;
  content: '';
  display: block;
  border-radius: 24px;
  transition: 0.3s all;
  opacity: 0;
}
.common_btn01.btn_big a:after {
  border-radius: 35px;
}
.common_btn01 a:before {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  content: '';
  display: block;
  width: 12px;
  height: 8px;
  background: url("../images/arrow_r_b.svg") no-repeat;
  background-size: 100% auto;
}
.common_btn01.btn_big a:before {
  background: url("../images/arrow_r_big.svg") no-repeat;
  background-size: 100% auto;
  width: 16px;
  height: 12px;
}
#main {
  padding-top: 130px;
}
#index #top_info {
  background: url("../images/main_img01.jpg") top center no-repeat;
  position: relative;
  z-index: 1;
}
#index #top_info:after {
  background: rgb(169, 210, 223);
  background: linear-gradient(45deg, rgba(169, 210, 223, 1) 50%, rgba(106, 155, 233, 1) 100%);
  width: 100%;
  height: 100px;
  content: '';
  display: block;
}
#index #top_info .inner {
  height: 720px;
  justify-content: space-between;
}
#index #top_info h2 {
  position: relative;
  z-index: 1;
  font-family: 'NotoSansJP-Medium';
  margin-bottom: 60px;
  margin-left: -260px;
}
#index #top_info h2:before {
  background: url("../images/main_flower.png") no-repeat;
  background-size: 100% auto;
  width: 515px;
  height: 397px;
  content: '';
  display: block;
  position: absolute;
  bottom: 101px;
  left: 0;
  z-index: -1;
}
#index #top_info h2 span {
  display: inline-block;
  font-size: 3.6rem;
  background: rgba(255, 255, 255, 0.8);
  padding: 20px 22px 24px;
  margin-top: 22px;
  letter-spacing: 0.07em;
}
.idx_main {
  display: flex;
  margin-bottom: -50px;
  margin-right: -240px;
}
.idx_main li {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  background: #64a2d9;
  margin-right: 20px;
  font-family: 'NotoSansJP-Regular';
  font-size: 2.6rem;
  color: #ffffff;
  line-height: 1.4em;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.35);
  -webkit-box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.35);
  position: relative;
  z-index: 1;
  overflow: hidden;
  letter-spacing: 0.08em;
}
.idx_main li:last-child {
  margin-right: 0;
  background: #5dc79b;
  padding-top: 14px;
}
.idx_main li:before, .idx_main li:after {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  box-sizing: border-box;
  border-radius: 50%;
}
.idx_main li:before {
  width: calc(100% - 2px);
  height: 100%;
  top: 0;
  left: 0;
  border: #ffffff 2px solid;
}
.idx_main li:after {
  width: 100%;
  height: 100%;
  background: #ffffff;
  top: -50%;
  left: 17%;
  opacity: 0.1;
}
.idx_main li span {}
.idx_main li .icon {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 16px;
}
.idx_main li .yellow {
  color: #fff072;
}
.idx_main li:first-child .yellow {
  font-size: 3rem;
}
.idx_main li .yellow i {
  font-style: normal;
  font-size: 3.6rem;
  line-height: 0.8;
  display: inline-block;
}
/*--- 01 ---*/
#index_sec01 {}
#index_sec01 .sec01_l h3 {
  background: none;
  padding-bottom: 32px;
}
#index_sec01 .sec01_l h3 .h3_en {
  font-size: 3.6rem;
  margin-bottom: 2px;
  line-height: 1;
}
#index_sec01 .sec01_l h3 .h3_jp {
  font-size: 1.8rem;
  font-weight: 600;
}
.sec01_inner01 {
  padding: 100px 0;
}
.sec01_bnr {
  width: 1000px;
  height: 160px;
  padding-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
  background: url("../images/s01_bnr.jpg") center center no-repeat;
  background-size: cover;
  border: #b6c7c7 2px solid;
  box-shadow: 0px 0px 0px 1px #ffffff inset;
  -webkit-box-shadow: 0px 0px 0px 1px #ffffff inset;
  -moz-box-shadow: 0px 0px 0px 1px #ffffff inset;
  cursor: pointer;
}
.sec01_title {
  margin-bottom: 15px;
  font-family: 'NotoSansJP-Medium';
  font-size: 2.6rem;
  letter-spacing: 0.11em;
  line-height: 1.4em;
  text-align: center;
}
.sec01_inner02 {
  padding: 150px 0;
  background: url("../images/bg_sec01.png") center center no-repeat;
  background-size: cover;
}
.sec01_inner02 .inner {
  align-items: center;
}
.sec01_l {
  padding-left: 45px;
  padding-bottom: 3px;
}
.sec01_r {
  width: 980px;
}
.news_list {
  max-height: 230px;
  overflow: auto;
}
.news_list li {
  margin-bottom: 10px;
  line-height: 1.4em;
}
.news_list li a {
  padding: 23px 20px 20px 54px;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  color: #333333;
  text-decoration: none;
}
.cate_name {
  width: 227px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: #1f518e;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.cate_name i {
  font-style: normal;
  width: 100px;
  height: 30px;
  font-size: 1.4rem;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #80c2d7;
  color: #ffffff;
  padding-top: 1px;
  margin-right: 28px;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-top: -3px;
}
.cate_name .cate02 {
  background: #82d7b4;
}
.cate_name .cate03 {
  background: #82aed7;
}
.news_list .title {
  width: calc(100% - 227px);
  display: block;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/*--- 02 ---*/
#index_sec02 {
  background: url("../images/bg_repeat01.jpg") repeat;
}
#index_sec02 h4 {
  text-align: center;
  margin-bottom: 88px;
  line-height: 1.4em;
  font-size: 2.6rem;
  font-family: 'NotoSansJP-Medium';
}
.sec02_inner01 {
  padding: 103px 0 118px;
}
.sec02_inner01 .inner {
  position: relative;
  z-index: 1;
  padding-bottom: 130px;
}
.sec02_content {
  width: 585px;
  margin: 0 auto;
}
.sec02_img01, .sec02_img02 {
  position: absolute;
  bottom: 0;
  z-index: -1;
}
.sec02_img01 {
  left: -320px;
}
.sec02_img02 {
  right: -320px;
  bottom: 100px;
  margin-bottom: 0;
}
.sec02_img02:before {
  background: url("../images/idx_bg_img.png") no-repeat;
  width: 541px;
  height: 150px;
  content: '';
  display: block;
  position: absolute;
  bottom: -82px;
  right: calc(50% + 40px);
}
.sec02_inner02 {
  padding-bottom: 95px;
}
.sec02_inner02 .inner {
  position: relative;
  z-index: 1;
}
.sec02_inner02 .inner:before {
  position: absolute;
  z-index: -1;
  background: url("../images/idx_bg_img.png") no-repeat;
  width: 541px;
  height: 150px;
  content: '';
  display: block;
  left: 15px;
  bottom: -80px;
}
.sec02_dl {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}
.sec02_dl dl {
  width: 390px;
  position: relative;
  z-index: 1;
}
.sec02_dl dl:before, .sec02_dl dl:after {
  position: absolute;
  content: '';
  display: block;
}
.sec02_dl .dl01:before {
  background: url("../images/sec02_la.png") no-repeat;
  width: 445px;
  height: 293px;
  top: -140px;
  left: -145px;
}
.sec02_dl .dl01:after {
  width: 235px;
  height: 235px;
  background: rgb(195, 248, 207);
  background: linear-gradient(135deg, rgba(195, 248, 207, 1) 0%, rgba(234, 243, 180, 1) 100%);
  left: -30px;
  top: -30px;
  z-index: -1;
}
.sec02_dl .dl03:after {
  width: 158px;
  height: 158px;
  background: rgb(195, 248, 207);
  background: linear-gradient(135deg, rgba(195, 248, 207, 1) 0%, rgba(234, 243, 180, 1) 100%);
  right: -50px;
  top: 160px;
  z-index: -1;
}
.sec02_dl dl dt {
  margin-bottom: 25px;
}
.sec02_title {
  margin-bottom: 25px;
  text-align: center;
  text-shadow: 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff, 0px 0px 3px #ffffff;
  font-family: 'NotoSansJP-Medium';
  font-size: 2.4rem;
  line-height: 1.55em;
  letter-spacing: 0.08em;
}
.sec02_title span {
  font-size: 3rem;
  position: relative;
  display: block;
}
.sec02_title span:after {
  left: 0;
  bottom: -15px;
  width: 100%;
  height: 47px;
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  background: url("../images/sec02_tit01.png") center bottom no-repeat;
}
.dl02 .sec02_title span:after {
  background: url("../images/sec02_tit02.png") center bottom no-repeat;
}
.dl03 .sec02_title span:after {
  background: url("../images/sec02_tit03.png") center bottom no-repeat;
}
/*--- 03 ---*/
#index_sec03 {
  background: url("../images/bg_sec03_top.jpg") center top no-repeat #e9f5f9;
  position: relative;
  z-index: 1;
  padding-top: 200px;
}
.sec03_inner01 {
  padding-bottom: 270px;
}
#index_sec03 .sec03_inner01 h3 {
  margin-bottom: 50px;
}
.sec03_inner01 h4 {
  line-height: 1.6em;
  font-size: 3.2rem;
  font-family: 'NotoSansJP-Medium';
  text-align: center;
  margin-bottom: 45px;
}
.sec03_inner01 h4 span {
  display: block;
  font-size: 3.6rem;
}
.sec03_list {
  display: flex;
  position: relative;
  z-index: 1;
  margin-bottom: 80px;
}
.sec03_list:before {
  position: absolute;
  background: url("../images/sec03_logo.png") no-repeat;
  width: 566px;
  height: 250px;
  content: '';
  display: block;
  top: calc(50% - 32px);
  left: calc(50% + 17px);
  transform: translate(-50%, -50%);
}
.sec03_list .item02:before, .sec03_list .item01:after {
  height: 40px;
  width: 100%;
  content: '';
  display: block;
  background: rgb(191, 236, 176);
  background: linear-gradient(135deg, rgba(191, 236, 176, 1) 0%, rgba(139, 237, 205, 1) 100%);
}
.sec03_list .item02 {
  margin-top: 40px;
}
.sec03_inner02 {
  background: #CFEDF7;
}
.sec03_inner02 .inner {
  transform: translateY(-180px);
  padding: 0 40px;
}
.sec03_doctor {
  float: right;
  position: relative;
  z-index: 1;
}
.sec03_doctor:after {
  background: url("../images/sec03_item01.png") no-repeat;
  position: absolute;
  z-index: -1;
  width: 398px;
  height: 507px;
  content: '';
  display: block;
  bottom: -92px;
  left: -270px;
}
.sec03_doctor span {
  position: absolute;
  bottom: -30px;
  right: -40px;
  background: #eaf3f6;
  width: 380px;
  height: 107px;
  /*font-family: 'NotoSansJP-Medium';*/
  font-size: 2rem;
  line-height: 1.5em;
  display: flex;
  align-items: center;
  padding-left: 30px;
  letter-spacing: 0.07em;
}
#index_sec03 .sec03_inner02 h3, .sec03_box {
  width: 560px;
  position: relative;
  z-index: 1;
}
#index_sec03 .sec03_inner02 h3 {
  text-align: left;
  background: none;
  font-size: 1.8rem;
  font-family: 'NotoSansJP-Regular';
  letter-spacing: 0.09em;
  margin-bottom: 25px;
}
#index_sec03 .sec03_inner02 h3 .h3_en {
  font-size: 4.8rem;
  line-height: 1;
}
#index_sec03 .sec03_inner02 h3 .h3_jp {
  margin-right: 32px;
  letter-spacing: 0.05em;
}
.sec03_box dl:not(:last-child) {
  margin-bottom: 40px;
}
.sec03_box dl dt {
  font-size: 2.4rem;
  font-family: 'NotoSansJP-Medium';
  padding-bottom: 7px;
  border-bottom: rgba(255, 255, 255, 0.5) 2px solid;
  margin-bottom: 30px;
}
.sec03_box dl dd {
  line-height: 2.2em;
  padding-left: 20px;
}
.sec03_box dl dd span {
  font-weight: 600;
  color: #1f518e;
  letter-spacing: 0.07em;
}
.sec03_box dl dd ul {
  display: flex;
  flex-wrap: wrap;
}
.sec03_box dl dd ul li {
  width: 47.5%;
  padding-left: 12px;
  position: relative;
  z-index: 1;
  line-height: 2.2em;
}
.sec03_box dl dd ul li:before {
  position: absolute;
  top: 15px;
  left: 0;
  content: '';
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #1f518e;
}
.sec03_inner03 {
  background: #e9f6fa;
  padding: 100px 0;
  margin-top: -94px;
}
/*--- 04 ---*/
#index_sec04 {
  background: url("../images/bg_sec04_top.jpg") center top no-repeat, url("../images/bg_sec04_bot.jpg") center bottom no-repeat, url("../images/bg_repeat01.jpg") repeat;
  padding: 195px 0 210px;
}
.sec04_inner01 h4 {
  font-size: 2.6rem;
  font-family: 'NotoSansJP-Medium';
  text-align: center;
  margin-bottom: 95px;
}
#index_sec04 .sec04_inner01 h3 {
  margin-bottom: 8px;
}
.sec04_dl01 {
  display: flex;
  align-items: center;
}
.sec04_dl01 dt {
  background: url("../images/sec04_img01.png") center center no-repeat;
  background-size: 100% auto;
  width: 309px;
  height: 306px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  text-align: center;
  flex-shrink: 0;
  margin: 0 55px 0 75px;
  font-size: 2.4rem;
  font-family: 'NotoSansJP-Medium';
  padding-bottom: 28px;
}
.sec04_dl01 dt span {
  display: block;
  line-height: 1;
  color: #1f518e;
  font-family: 'Lobster-Regular';
  font-size: 4rem;
}
.sec04_inner02 {
  padding: 115px 0 80px;
  margin-bottom: 100px;
}
.sec04_dl02 {
  display: flex;
  align-items: flex-end;
  width: 100%;
  position: relative;
  z-index: 1;
}
.sec04_dl02:after {
  left: -80px;
  bottom: -80px;
  background: url("../images/sec04_repeat01.png") no-repeat;
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  width: 1680px;
  height: 400px;
}
.sec04_dl02:last-child {
  flex-direction: row-reverse;
  margin-top: 160px;
}
.sec04_dl02:last-child:after {
  right: -75px;
  left: auto;
  background: url("../images/sec04_repeat02.png") no-repeat;
}
.sec04_dl02 dt {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  margin-right: 60px;
}
.sec04_dl02:last-child dt {
  margin-right: 0;
  margin-left: 60px;
}
.sec04_dl02 dt:after {
  width: 100%;
  height: 100%;
  bottom: -10px;
  left: -10px;
  background: #f8f8f8;
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
}
.sec04_dl02:last-child dt:after {
  left: auto;
  right: -10px;
}
.sec04_dl02 dt:before {
  width: 392px;
  height: 369px;
  top: -30px;
  left: -155px;
  background: url("../images/sec04_la01.png") no-repeat;
  background-size: 100% auto;
  content: '';
  display: block;
  position: absolute;
}
.sec04_dl02:last-child dt:before {
  width: 339px;
  height: 253px;
  top: auto;
  left: auto;
  bottom: -55px;
  right: -165px;
  background: url("../images/sec04_la02.png") no-repeat;
  background-size: 100% auto;
}
.sec04_dl02 dt span {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
}
.sec04_dl02:last-child dt span {
  left: auto;
  right: 0;
  top: calc(100% + 6px);
}
.sec04_dl02 dd {
  letter-spacing: 0.08em;
  margin-bottom: -7px;
}
.sec04_dl02 dd h4 {
  font-size: 3rem;
  font-family: 'NotoSansJP-Medium';
  line-height: 1.7em;
  margin-bottom: 25px;
  letter-spacing: 0.07em;
}
/*--- 05 ---*/
#index_sec05 {
  background: #e9f6fa;
  padding: 85px 0 177px;
}
#index_sec05 h3 {
  margin-bottom: 30px;
}
.sec05_list {
  margin-top: 110px;
  display: flex;
  flex-wrap: wrap;
}
.sec05_list li {
  width: 290px;
  margin-right: 40px;
}
.sec05_list li a {
  text-decoration: none;
  color: #333333;
  display: block;
}
.sec05_img {}
.sec05_tit {
  font-family: 'NotoSansJP-Medium';
  font-size: 1.6rem;
  margin-top: 10px;
  display: block;
  line-height: 2em;
  letter-spacing: 0;
  background: url("../images/sec05_arrow01.svg") right center no-repeat;
}
.sec05_tit.icon02 {
  background: url("../images/sec05_arrow02.svg") right center no-repeat;
}
.sec05_tit.icon03 {
  background: url("../images/sec05_arrow03.svg") right center no-repeat;
}
.sec05_tit.icon04 {
  background: url("../images/sec05_arrow04.svg") right center no-repeat;
}
.sec05_tit i {
  font-style: normal;
  display: block;
  font-size: 3rem;
}
/*--- 06 ---*/
#index_sec06 {
  background: url("../images/sec06_bg.png") center top repeat-y;
  padding: 116px 0 276px;
}
#index_sec06 h3 {
  background: none;
  padding-bottom: 36px;
}
#index_sec06 h3 .h3_en {
  margin-bottom: 12px;
}
.sec06_list {
  padding: 30px 60px 32px 60px;
  background: #ffffff;
  display: flex;
  justify-content: space-between;
}
/*--- 07 ---*/
#index_sec07 {
  background: url("../images/sec07_bg.png") center bottom no-repeat #d9f0c1;
  padding-bottom: 125px;
}
.sec07_img {
  float: left;
  margin: -180px 0 0 -87px;
  position: relative;
  z-index: 1;
}
.sec07_img:after {
  background: url("../images/sec07_flower.png") no-repeat;
  background-size: 100% auto;
  width: 415px;
  height: 399px;
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  right: -325px;
  bottom: 110px;
}
.sec07_inner {
  width: 660px;
  padding-top: 72px;
  position: relative;
  z-index: 1;
}
#index_sec07 h3 {
  font-family: 'NotoSansJP-Medium';
  font-size: 3.2rem;
  line-height: 1.65em;
  background: none;
  padding-bottom: 40px;
}
#index_sec07 h3 span {
  position: absolute;
  top: -46px;
  left: -110px;
}
/*==========================================================================*/
/*                               Footer                                     */
/*==========================================================================*/
footer {
  background: url("../images/footer_bg.png") center bottom no-repeat;
  padding-top: 112px;
  padding-bottom: 118px;
}
.footer01 {
  margin-bottom: 300px;
}
.f01_inner {
  margin-bottom: 40px;
}
.footer_l {
  width: 525px;
  float: left;
}
.footer_r {
  width: 640px;
  float: right;
  padding-top: 20px;
}
.footer_map {
  line-height: 0;
  margin-bottom: 10px;
}
.info_map {
  display: flex;
  justify-content: space-between;
  color: #002e5d;
  font-family: 'NotoSansJP-Medium';
  font-size: 1.8rem;
}
.info_map span {
  letter-spacing: 0.1em;
}
.info_map a {
  font-weight: 400;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
}
.info_map a:before {
  background: url("../images/icon_map.png") no-repeat;
  background-size: 100% auto;
  width: 22px;
  height: 24px;
  content: '';
  display: block;
  margin-right: 10px;
}
.footer_txt {
  width: 100%;
  font-size: 1.4rem;
}
.footer_logo {
  padding-left: 10px;
}
.footer_info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  letter-spacing: 0;
  margin-bottom: 28px;
}
.footer_info a {
  color: #002e5d;
  display: block;
  line-height: 1.4em;
  font-family: 'Lobster-Regular';
  font-size: 3.4rem;
  text-decoration: none;
  letter-spacing: 0.1em;
  background: url("../images/icon_tel_b.svg") left center no-repeat;
  background-size: 28px auto;
  padding-left: 42px;
  margin-right: -6px;
}
.f_table {
  margin-left: 3px;
  margin-bottom: 11px;
}
.f_table th, .f_table td {
  color: #002e5d;
  font-family: 'NotoSansJP-Regular';
  border: none;
  text-align: center;
  padding: 6px;
}
.f_table .time {
  letter-spacing: 0.1em;
}
.f_table tr {
  border-bottom: #d2d2d2 1px solid;
}
.f_table td {
  font-size: 1.4rem;
}
.f_table .w01 {
  width: 135px;
}
.f_table .w02 {
  width: calc((100% - 135px) / 8);
}
.footer_l .common_list {
  margin-bottom: 47px;
}
.f_time {
  color: #002e5d;
}
.footer_link {
  color: #002e5d;
}
.footer_link .item01 {
  margin-bottom: 75px;
}
.footer_link .item02 {
  margin-right: 107px;
}
.footer_link dt {
  font-weight: 600;
  line-height: 1.4em;
  letter-spacing: 0;
}
.footer_link .item01 dt {
  background: url("../images/arrow_r.svg") left center no-repeat;
  background-size: 12px auto;
  padding-left: 20px;
}
.footer_link .item02 dt, .footer_link .item03 dt {
  margin-bottom: 30px;
  padding-left: 20px;
  border-left: #447dae 2px solid;
}
.footer_link .item03 dd {
  display: flex;
  flex-wrap: wrap;
}
.footer_link .item03 ul:not(:last-child) {
  margin-right: 80px;
}
.footer_link a {
  text-decoration: none;
  color: #002e5d;
}
.footer_link ul li {
  letter-spacing: 0.07em;
  background: url("../images/arrow_r.svg") left 5px center no-repeat;
  background-size: 5px auto;
  padding-left: 20px;
}
.f_social {
  width: 300px;
  text-align: center;
}
.f_social ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.f_social ul li {
  width: 50%;
}
.f_social ul li a {
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-decoration: none;
  color: #333333;
  font-family: 'NotoSansJP-Regular';
}
.f_social ul li:nth-child(1) a, .f_social ul li:nth-child(3) a {
  border-right: #d2d2d2 1px solid;
}
.f_social ul li:nth-child(1) a, .f_social ul li:nth-child(2) a {
  padding-bottom: 5px;
}
.f_social ul li:nth-child(3) a, .f_social ul li:nth-child(4) a {
  border-top: #d2d2d2 1px solid;
}
.f_social ul li a span {
  line-height: 1;
  display: block;
  margin-top: 18px;
}
.f_banner {
  margin-bottom: 42px;
}
address {
  font-size: 1.4rem;
  color: #002e5d;
}
/*--- 20220526 ---*/
.popup_box {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s all;
}
.popup_box.active {
  opacity: 1;
  visibility: visible;
}
.popup_bg {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.popup_inner {
  padding: 30px 50px;
  background: #ffffff;
  border-top: #23ABF9 30px solid;
  width: 430px;
  text-align: center;
  position: relative;
  z-index: 3;
}
.popup_inner img {
  width: auto;
  height: auto;
}
.popup_inner dl {
  display: flex;
  align-items: center;
}
.popup_inner dl dt {
  width: 100px;
  margin-right: 10px;
  flex-shrink: 0;
}
.popup_inner p {
  line-height: 1.4em;
  font-size: 14px;
}
.popup_inner .copy_btn {
  border: none;
  background: none;
  width: 85px;
  margin-left: 15px;
  cursor: pointer;
}
.popup_inner .txt_red {
  color: #f00;
}
.popup_inner .pop_txt03 img {
  width: 150px;
}
.popup_inner .pop_txt03 span {
  display: block;
}
.popup_inner .pop_txt02 {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 10px 0;
}
.popup_inner .pop_txt02 span {
  font-size: 24px;
  text-align: center;
}
.popup_inner .pop_txt04 span {
  font-size: 12px;
  display: block;
  line-height: 1.4em;
  color: #707070;
}
.popup_inner .pop_txt04 a {
  display: block;
  width: 150px;
  margin: 10px auto;
}
.popup_inner .pop_close {
  width: 20px;
  height: 20px;
  background: url("../images/close.png") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -26px;
  right: 6px;
  margin: 0;
  cursor: pointer;
}
.popup_inner .copy_alert {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  padding: 12px 0;
  width: 240px;
  background-color: #EE878E;
  border-radius: 4px;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s all;
}
.popup_inner .copy_alert.active {
  opacity: 1;
  visibility: visible;
}
.popup_inner .copy_alert .check {
  position: absolute;
  color: #fff;
  top: 15px;
  left: 15%;
  font-size: 24px;
}
/*--- 221116 ---*/

.footer01 .f_bnr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.footer01 .f_bnr li {
    margin: 0 20px;
}

.footer01 .f_bnr {
    
}



/* IE CSS */
@media screen\0 {
  .fixed_contact li a span:not(.num), .fixed_contact .item01 .tit i {}
}
/* MOZZILLA CSS */
@-moz-document url-prefix() {
  .fixed_contact .item01 .tit i, .fixed_contact .item02 a span {
    letter-spacing: 0;
  }
}
/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {}