@charset "UTF-8";
@import url(base.css);
@import url(fonts.css);
/*@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond&family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap");*/
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                 c Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    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 {
  -webkit-text-size-adjust: none;
}
input, button, textarea, select, p, blockquote, th, td, pre, li, dt, dd {
  font-size: 160%;
  letter-spacing: 1px;
}
p, dt, dd, td, th, li {
  line-height: 32px;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  outline: none;
}
a {
  text-decoration: none;
}
.link {
  color: #1f5c99;
}
.link:hover {
  text-decoration: underline;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.f12 {
  font-size: 12px;
  line-height: 22px;
}
.new_time_ttl {
  text-align: center;
  font-weight: bold;
  color: #1f5c99;
  font-size: 18px;
  margin-top: 20px;
}
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  background: none;
}
header, section, footer, aside, nav, main, article, figure {
  display: block;
}
.df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
body {
  color: #555555;
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-weight: normal;
}
body.open {
  overflow: hidden;
}
#wrapper {
  width: 100%;
  overflow: hidden;
}
.sp, .sp_320, .sp_375, .sp_480 {
  display: none;
}
.pc {
  display: block;
}
.bold {
  font-weight: bold;
}
.fr {
  float: right;
}
.fl {
  float: left;
}
.tel_link {
  cursor: auto;
}
.txt_tel {
  text-decoration: none;
}
.v_top {
  vertical-align: top;
}
.txt_ver {
  cursor: vertical-text;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
}
/* table */
main table {
  width: 100%;
}
main table th, main table td {
  border: solid 1px #cccccc;
  padding: 26px 40px;
}
main table th {
  text-align: left;
  color: #1f5c99;
  font-weight: normal;
}
main table td {
  vertical-align: top;
}
main .diff_tbl {
  table-layout: fixed;
  text-align: center;
}
main .diff_tbl tr:nth-child(even) {
  background-color: #f7f7f7;
}
/* to top */
#totop {
  position: fixed;
  z-index: 90;
  margin: 0;
  display: none;
}
@media screen and (min-width: 751px) {
  p {
    margin-bottom: 25px;
  }
  p:last-child {
    margin-bottom: 0;
  }
  dl:last-child, ul:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  #wrapper {
    min-width: 1200px;
    position: relative;
  }
  .inner {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 10px;
  }
  .image_l {
    float: left;
    margin: 0 40px 15px 0;
  }
  .image_r {
    float: right;
    margin: 0 0 15px 40px;
  }
  .image_l img, .image_r img {
    width: auto;
    max-width: 520px;
  }
  .tel_link {
    pointer-events: none;
    cursor: text;
  }
  #totop {
    right: 10px;
    bottom: 10px;
  }
  #totop a {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
  }
  #totop a:hover {
    opacity: 0.7;
  }
  .txt_r {
    width: calc(100% - 560px);
    margin-left: auto;
    display: block;
  }
}
/* end min-width 641 */
/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
@media screen and (min-width: 751px) {
  header {
    background-color: rgba(255, 255, 255, 1);
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    height: 80px;
  }
  header h1 {
    font-size: 100%;
    line-height: 20px;
    color: #858585;
    text-align: right;
    position: absolute;
    top: 0;
  }
  header .header_in {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 10px;
  }
  header #logo {
    margin-bottom: 0;
    margin-top: 15px;
    width: 180px;
  }
  header.fixed {
    position: fixed;
    animation-name: hdrf;
    animation-duration: .3s;
    animation-timing-function: linear;
    /* Chrome, Safari, Opera */
    -webkit-animation-name: hdrf;
    -webkit-animation-duration: .3s;
    -webkit-animation-timing-function: linear;
    background-color: white;
  }
}
@keyframes hdrf {
  0% {
    left: 0px;
    top: -105px;
  }
}
/* Chrome, Safari, Opera */
@-webkit-keyframes hdrf {
  100% {
    left: 0px;
    top: 0px;
  }
}
ul.menu .sub li:first-child {
  border-top: none;
}
ul.menu .sub li a {
  position: relative;
}
ul.menu .sub li a::before {
  position: absolute;
  background: url(../images/menu_icon.png) no-repeat 0 0;
  background-size: 15px;
  height: 15px;
  width: 15px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  content: "";
}
ul.menu .sub li a:hover {
  opacity: .8;
}
.menu_list {
  display: none;
}
.menu_contact {
  margin-bottom: 0;
  text-align: center;
}
.menu_contact a {
  color: #FFF;
  background-color: #1f5c99;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 80px;
  width: 140px;
  line-height: 1.4;
}
.menu_contact a:hover {
  opacity: 1;
}
.menu_line {
  margin-bottom: 0;
  text-align: center;
}
.menu_line a {
  color: #FFF;
  background-color: #1f5c99;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 80px;
  width: 140px;
  line-height: 1.4;
}
.menu_line a:hover {
  opacity: 1;
}
@media screen and (min-width: 751px) {
  .scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .menu_contact {
    margin-bottom: 0;
  }
  .menu_contact a {
    color: #FFF;
    background-color: #1f5c99;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 80px;
    width: 146px;
  }
  .menu_contact a:hover {
    opacity: 1;
  }
  ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-right: 10px;
  }
  ul.menu > li {
    text-align: center;
    position: relative;
    padding: 0 15px;
  }
  ul.menu > li > a, ul.menu > li > span {
    font-size: 100%;
    text-align: center;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
    text-decoration: none;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 80px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0;
    position: relative;
    color: #555555;
  }
  ul.menu > li > a::after, ul.menu > li > span::after {
    position: absolute;
    content: "";
    width: calc(100%);
    height: 2px;
    left: 0px;
    bottom: 0px;
    background: #1f5c99;
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform .4s cubic-bezier(.86, 0, .07, 1)
  }
  ul.menu > li > span::before {
    background: url("../images/b03_arrow.png") no-repeat 0 0;
    background-size: 15px 8px;
    content: '';
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 15px;
    height: 8px;
  }
  ul.menu > li:hover > a, ul.menu > li:hover > span {
    color: #1f5c99;
    opacity: 1 !important;
  }
  ul.menu > li:hover > a::after, ul.menu > li:hover > span::after {
    transform: scaleX(1);
    transform-origin: bottom left
  }
  ul.menu > li:hover .sub {
    height: auto;
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
  }
  ul.menu .sub {
    height: 0;
    opacity: 0;
    position: absolute;
    visibility: hidden;
    left: 50%;
    margin-left: -170px;
    top: 80px;
    width: 340px;
    z-index: 10;
    transform: translateX(30px);
    transition: transform .3s, opacity .3s;
    background-color: #1f5c99;
    padding: 10px !important;
  }
  ul.menu .sub li {
    padding: 5px 0;
    text-align: left;
  }
  ul.menu .sub li a {
    padding: 0 0 0 25px;
    color: #fff;
    text-align: left;
    line-height: 30px;
    font-size: 13px;
    display:block;
  }

  /* 202503 追記 */
  ul.menu > li.dropdown{
    position:static;
  }
  ul.menu .sub2{
    width:100vw;
    left: 0;
    transform:none;
    margin-left:0;

  }
  ul.menu .sub2 li a{
    font-size:15px;
  }
  ul.menu .sub2 .nav_flex{
    display:flex;
    justify-content: center;
    padding:30px 0;
    margin-left:-40px;
  }
  ul.menu .sub2 .nav_flex > *{
    width:25%;
    margin:0 auto;
    padding-left:40px;
    transition: 0.4s;
    margin:0 20px;
  }
  ul.menu .sub2 .nav_flex > .nav_flex_menu{
    width:75%;
    display:flex;
    justify-content: center;
    padding-left:0;
  }
  .nav_flex_menu > *{
    width:33.3333%;
    padding-left:40px;
    transition: 0.4s;
  }
  ul.menu .sub2 .nav_flex a p{
    padding: 0 0 0 25px;
    color: #fff;
    text-align: left;
    line-height: 30px;
    font-size: 15px;
    display: block;
    position: relative;
  }
  ul.menu .sub2 .nav_flex a p::before {
    position: absolute;
    background: url(../images/menu_icon.png) no-repeat 0 0;
    background-size: 15px;
    height: 15px;
    width: 15px;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    content: "";
  }
  .subnav_img{
    overflow: hidden;
    position:relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom:10px;
  }
  .subnav_img:after{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height:100%;
    top: 0;
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center center;

    transition: all .3s ease-out;
  }
  .subnav_img01:after{
    background-image:url(../images/index_img3.jpg)
  }
  .subnav_img02:after{
    background-image:url(../images/index_img10.jpg)
  }
  .subnav_img03:after{
    background-image:url(../images/index_img4.jpg)
  }
  .subnav_img04:after{
    background-image:url(../images/index_img1.jpg)
  }
  .subnav_img05:after{
    background-image:url(../images/perio_img9.jpg)
  }
  .subnav_img06:after{
    background-image:url(../images/bridge_key.jpg);
    background-position:75% center;
  }
  ul.menu .sub2 .nav_flex a:hover .subnav_img:after{
    transform: scale(1.1);
    opacity: 0.7;
  }
  .subnav_ttl{
    background:#fff;
    color:#1f5c99;
    padding:5px 10px;
    text-align:center;
  }
  .subnav_ttl + p{
    color:#fff;
    text-align:left;
  }





}
/* end min-width 751 */
@media screen and (min-width: 1001px) and (max-width: 1440px) {
  ul.menu > li > a, ul.menu > li > span {
    font-size: 12px;
    line-height: 22px;
    letter-spacing: 0;
  }
  ul.menu > li {
    text-align: center;
    padding: 0 5px;
  }
  ul.menu .sub li a {
    font-size: 12px;
  }
  .menu_contact a {
    width: 80px;
    font-size: 12px;
  }
  .menu_line a {
    width: 80px;
    font-size: 12px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1000px) {
  .menu_contact a {
    width: 80px;
    font-size: 12px;
  }
  .menu_line a {
    width: 80px;
    font-size: 12px;
  }
  ul.menu > li {
    text-align: center;
    padding: 0 2px;
  }
  ul.menu > li > a, ul.menu > li > span {
    font-size: 9px;
    line-height: 22px;
    letter-spacing: 0;
  }
  ul.menu .sub li a {
    font-size: 14px;
  }
}
@media screen and (min-width: 751px) and (max-width: 880px) {
  header #logo {
    width: 100px
  }
}
@media screen and (min-width: 751px) {
  /* star gnavi_pc */
  #gnavi_pc {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
    z-index: 9990;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    background: url(../images/gnavi_bg.jpg) left/contain no-repeat #FFF;
  }
  #gnavi_pc.open {
    opacity: 1;
    visibility: visible
  }
  .gnavi_scroll {
    width: 100%;
    max-width: 1200px;
    background: #fff;
    overflow: auto;
  }
  .gnavi_main {
    width: 1200px;
    min-width: 1200px;
    margin: auto 0;
    padding: 30px 20px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*height: 100%;*/
  }
  @media screen and (max-width: 1200px) {
    .gnavi_scroll {
      max-width: 100%;
    }
    .gnavi_main {
      width: 100%;
    }
  }
  .gnavi_menu nav {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  .gnavi_menu * {
    color: #888888;
  }
  .gnavi_menu a:hover {
    text-decoration: underline;
  }
  .gnavi_menu li {
    padding: 15px 0;
  }
  .gnavi_menu li a {
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding-left: 15px;
  }
  .gnavi_menu li a::before {
    content: '';
    display: inline-block;
    background: url(../images/f_icon_menu.png) no-repeat 0 0;
    height: 6px;
    width: 6px;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
  }
  .gnavi_menu dt {
    margin-bottom: 12px;
    line-height: 1;
  }
  .gnavi_menu dt .jp {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 12px;
    display: block;
    color: #1f5c99;
  }
  .gnavi_menu dt .en {
    font-size: 11px;
    display: flex;
    overflow: hidden;
    align-items: center;
  }
  .gnavi_menu dt .en span {
    flex-shrink: 0;
    padding-right: 10px;
  }
  .gnavi_menu dt .en::after {
    background-color: #1f5c99;
    height: 1px;
    content: '';
    flex: 1;
  }
  .gnavi_menu dd {
    line-height: 18px;
    padding: 8px 0;
  }
  .gnavi_menu dd a {
    font-size: 13px;
    position: relative;
    padding-left: 10px;
    display: block;
  }
  .gnavi_menu dd a::before {
    content: '';
    display: inline-block;
    height: 1px;
    width: 6px;
    position: absolute;
    background-color: #aaaaaa;
    left: 0;
    top: 9px;
  }
  .gnavi_info {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  .gnavi_info_l {
    width: 484px;
    flex-shrink: 0;
  }
  .gnavi_info_r {
    flex: 1;
    padding-left: 20px;
  }
  .gnavi_info_logo {
    max-width: 200px;
    margin: 0 auto 20px;
  }
  .gnavi_info_ttl {
    text-align: center;
    font-family: "游明朝", YuMincho;
    font-size: 200%;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .gnavi_info_tbl {
    border: #1f5c99 solid 1px;
    width: 100%;
  }
  .gnavi_info_tbl th, .gnavi_info_tbl td {
    border-top: #1f5c99 solid 1px;
    border-bottom: #1f5c99 solid 1px;
    border-left: none;
    border-right: none;
    font-size: 14px;
    letter-spacing: 0px;
    padding: 8px;
  }
  .gnavi_info_txt {
    font-size: 13px;
    margin-bottom: 20px;
  }
  .gnavi_info_menu {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
  }
  .gnavi_info_menu li {
    width: calc(50% - 10px);
    margin: 5px;
  }
  .gnavi_info_menu a {
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    width: 100%;
    line-height: 1.4;
  }
  .gnavi_info_menu a:hover {
    opacity: 1;
  }
  .mn_contact a {
    background-color: #1f5c99;
  }
  .mn_line a {
    background-color: #1f5c99;
    color: #FFF;
  }
  .mn_tel a {
    width: 100%;
    background-color: #FFF;
    border-radius: 30px;
    height: 60px;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    color: #1f5c99;
    font-weight: bold;
  }
  .gnavi_info_tel {
    margin-bottom: 5px;
    text-align: center;
    font-size: 160%;
  }
  .gnavi_info_reser_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
  }
  .gnavi_info_reser_btn li {
    width: 48%;
    max-width: 295px;
    margin: 0 1%;
    text-align: center;
  }
  .gnavi_info_note {
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: center;
  }
  .gnavi_info_reser_btn a:hover {
    opacity: .9;
  }
  .gnavi_info_reser_btn a:first-child:hover {
    opacity: 1;
  }
  .gnavi_info_reser_btn a:first-child span {
    font-weight: bold;
  }
  .gnavi_info_reser_btn span {
    color: #1f5c99;
    font-size: 18px;
    margin-left: 10px;
  }
  .gnavi_info_list {
    margin-bottom: 15px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
  }
  .gnavi_info_list li {
    text-align: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 3px;
    height: 50px;
    font-size: 13px;
    color: #1f5c99;
    width: 100%;
    max-width: 290px;
    border: solid 1px #1f5c99;
  }
  .gnavi_info_list li:first-child {
    margin-right: 5px;
  }
  .gnavi_info_add {
    font-size: 13px;
    text-align: center;
    margin-bottom: 1px;
  }
  @media screen and (max-width: 1280px) and (min-height: 600px) {
    .gnavi_menu nav {
      margin-bottom: 20px;
    }
    .gnavi_menu dd, .gnavi_info_tbl th, .gnavi_info_tbl td {
      padding-top: 4px;
      padding-bottom: 4px;
    }
  }
  @media screen and (max-height: 750px) {
    .gnavi_menu nav {
      margin-bottom: 20px;
    }
    .gnavi_menu dd, .gnavi_info_tbl th, .gnavi_info_tbl td {
      padding-top: 4px;
      padding-bottom: 4px;
    }
  }
  /* end gnavi_pc */
}
footer .footer1 {
  background-color: #f7f7f7;
  padding: 100px 0 156px;
}
footer .footer1 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
footer #flogo {
  margin-bottom: 0;
  width: 350px;
  text-align: center;
}
footer table {
  width: 100%;
  max-width: 750px;
  margin-right: 100px;
}
footer table th, footer table td {
  border-top: solid 1px #e7e7dd;
  border-bottom: solid 1px #e7e7dd;
  border-left: none;
  border-right: none;
}
footer table th {
  font-weight: normal;
  width: 200px;
  padding: 24px;
  text-align: left;
}
footer table td {
  text-align: center;
  padding: 24px;
}
footer .footer2 {
  margin-top: -80px;
}
footer .footer_reser {
  background-color: #1f5c99;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 60px;
}
footer .footer_reser * {
  color: #FFF;
}
footer .footer_reser dl {
  margin-bottom: 30px;
}
footer .footer_reser dt {
  font-family: "Cormorant Garamond", serif;
  font-size: 66px;
  line-height: 100%;
  letter-spacing: 15px;
  margin-bottom: 15px;
}
footer .footer_reser dd {
  font-size: 22px;
  line-height: 38px;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
}
footer .footer_tel {
  font-size: 22px;
  font-family: "游明朝", YuMincho;
  margin-bottom: 20px;
  font-weight: 600;
}
footer .footer_tel a {
  line-height: 100%;
}
footer .footer_tel span {
  font-size: 48px;
  line-height: 50px;
  font-family: "游明朝", YuMincho;
  letter-spacing: 3px;
  margin-left: 8px;
}
@media all and (-ms-high-contrast: none) {
  footer .footer_tel span {
    line-height: 1px;
  }
}
footer .footer_reser_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 750px;
}
footer .footer_reser_btn li {
  width: 48%;
  margin: 1%;
}
footer .footer_reser_btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  max-width: 350px;
  height: 60px;
  background-color: #FFF;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 30px;
  line-height: 1.2;
}
footer .footer_reser_btn li a:hover {
  opacity: 1;
}
footer .footer_reser_btn a span {
  font-weight: bold;
  margin-top: 5px;
  color: #1f5c99;
  font-size: 20px;
}
footer .footer_reser_btn .footer_reser_line span {
  color: #1f5c99;
}
footer .footer_reser_btn i {
  margin-right: 10px;
}
footer .footer_reser_btn .footer_reser_tel span {
  font-size: 20px;
}
footer .footer_reser_btn .footer_reser_tel span .txt_small {
  font-size: 12px;
}
.footer_reser_txt {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 10px;
}
footer .footer_menu {
  padding: 80px 0;
}
footer .footer_menu * {
  color: #888888;
}
footer .footer_menu a:hover {
  text-decoration: underline;
}
footer .footer_menu .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
footer .footer_menu .inner > ul {
  width: 190px;
}
footer .footer_menu .inner > dl {
  width: 290px;
}
footer .footer_menu .inner > dl:nth-child(3) {
  width: 270px;
}
footer .footer_menu .inner > dl:nth-child(2) {
  width: 220px;
}
footer .footer_menu .inner > dl:last-child {
  width: 360px;
}
footer .footer_menu li {
  padding: 15px 0;
}
footer .footer_menu li:first-child {
  padding-top: 0;
}
footer .footer_menu li a {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding-left: 15px;
}
footer .footer_menu li a::before {
  content: '';
  display: inline-block;
  background: url(../images/f_icon_menu.png) no-repeat 0 0;
  height: 6px;
  width: 6px;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
}
footer .footer_menu dt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 12px;
}
footer .footer_menu dd {
  line-height: 18px;
  padding: 8px 0 8px 15px;
}
footer .footer_menu dd a {
  font-size: 14px;
  position: relative;
  padding-left: 15px;
  display: block;
}
footer .footer_menu dd a::before {
  content: '';
  display: inline-block;
  height: 1px;
  width: 6px;
  position: absolute;
  background-color: #aaaaaa;
  left: 0;
  top: 9px;
}
@media screen and (min-width: 751px) and (max-width: 1568px) {
  footer .footer_menu li a {
    font-size: 16px;
  }
  footer .footer_menu dd a {
    font-size: 12px;
  }
}
footer address {
  text-align: center;
  background-color: #1f5c99;
  color: #FFF;
  font-size: 14px;
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 3px;
  line-height: 28px;
  padding: 46px 0;
}
.sidecontact {
  position: fixed;
  z-index: 99;
  top: 52%;
  right: -360px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -o-transition: right 0.3s ease 0.3s;
  transition: right 0.3s ease 0.3s;
  -webkit-transition: right 0.3s ease 0.3s;
  -ms-transition: right 0.3s ease 0.3s;
}
.sidecontact.get-out {
  right: -290px;
}
.sidecontact li {
  margin: 4px 0;
}
.sidecontact li.sidecontact_link {
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 0;
  height: 122px;
}
.sidecontact li.sidecontact_link.sidecontact_contact {
  background-color: #1f5c99;
}
.sidecontact li.sidecontact_link.sidecontact_line {
  background-color: #1f5c99;
}
.sidecontact .sidecontact_link a {
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
  color: #FFF;
  line-height: 1.5;
  text-align: center;
  width: 70px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-family: "游明朝", YuMincho;
}
.sidecontact li.sideblue_link {
  background-color: #1f5c99;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 20px;
}
.sidecontact dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  right: 0px;
  -webkit-transition: right 0.5s ease;
  -moz-transition: right 0.5s ease;
  -o-transition: right 0.5s ease;
  transition: right 0.5s ease;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  overflow: hidden;
}
.sidecontact dl.active {
  right: 290px;
}
.sidecontact dl.side-blue.side-blue-none.active {
  right: 0;
}
dl.side-blue dt {
  background: #6087c6;
  text-align: center;
  padding: 0;
  width: 70px;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-family: "游明朝", YuMincho;
  letter-spacing: 6px;
    padding: 5px 0 0
}
dl.side-blue.side-blue-none dt {
  padding: 10px 0 0;
  background-color: #3B52B9;
}
dl.side-blue.side-blue-none dt::before {
  content: '';
  width: 30px;
  height: 30px;
  background: url("../images/f_phone_icon.png") no-repeat 0 0;
  margin-bottom: 8px;
  background-size: 100% 100%;
}
dl.side-blue dt::before {
  content: '';
  width: 30px;
  height: 30px;
  background: url("/wp-content/uploads/2025/06/smartphone-3-1.png") no-repeat 0 0;
  margin-bottom: 12px;
  background-size: 100% 100%;
}
dl.side-blue dd {
  width: 290px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  padding: 5px 0;
}
.side-tel01 {
  font-size: 32px;
  line-height: 100%;
  color: #1f5c99;
  font-family: "游明朝", YuMincho;
  margin-bottom: 0;
}
.side-txt01 {
  margin-bottom: 0;
  font-size: 13px;
  line-height: 18px;
}
.side-txt02 {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 5px;
}
.sidecontact .txt_fixR span {
  display: block;
  font-size: 10px;
  letter-spacing: 1px;
  font-weight: normal;
}
.sidecontact .txt_fixR {
  letter-spacing: 10px;
  line-height: 1.5;
}
@media screen and (min-width: 1280px) and (max-width: 1680px) {
  .side-txt02 {
    font-size: 11px;
  }
}
dl.side-blue1 dt {
  background: #1f5c99;
  text-align: center;
  padding: 18px 0;
  width: 70px;
}
dl.side-blue1 dd {
  width: 290px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: left;
  padding: 10px;
}
dl.side-blue1 dd a {
  font-size: 12px;
  color: #555;
}
dl.side-blue1 dd a::before {
  content: '>';
  font-size: 12px;
  color: #555;
  margin-right: 5px;
}
dl.side-blue1 dd a:hover {
  text-decoration: underline;
}
.side-white dt {
  text-align: center;
  padding: 0;
  width: 70px;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #1f5c99;
  font-family: "游明朝", YuMincho;
  font-size: 15px;
}
.side-white dt::before {
  content: '';
  width: 23px;
  height: 25px;
  background: url("../images/rightside_txt06.png") no-repeat 0 0;
  margin-bottom: 5px;
  background-size: 100% 100%;
}
.side-white dd {
  width: 290px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}
.new_tbl_time th, .new_tbl_time td {
  font-size: 13px;
  font-weight: normal;
  padding: 4px 2px;
  border: solid 1px #CCC;
  text-align: center;
  color: #1f5c99;
  line-height: 1.5;
}
.new_tbl_time th {
  font-weight: bold;
}

#ft_line_popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.75);
  display: none;
}
#ft_line_popup .box_in {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: 96%;
  text-align: center;
  max-height: 1200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#ft_line_popup .ft_line_content {
  display: inline-block;
  position: relative;
  background-color: #f4f4f4;
  border-radius: 3%;
  max-width: 640px;
  padding: 1%;
}
.ft_message {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, .9);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 3%;
  padding: 2%;
}
.ft_message .ft_line_tel {
  background-color: #FFF;
  padding: 5% 3%;
  margin-bottom: 10px;
}
.ft_message_ttl {
  font-weight: bold;
  font-family: "游明朝", YuMincho;
  color: #FFF;
  font-size: 200%;
  line-height: 1.8;
}
.ft_message .center {
  color: #FFF;
}
#ft_line_popup a:hover img {
  opacity: .8;
}
.ft_line_ttl {
  text-align: center;
  margin-bottom: 20px;
}
.ft_line_ttl dt {
  font-weight: bold;
  color: #1f5c99;
  font-size: 28px;
  font-family: "游明朝", YuMincho;
  margin-bottom: 10px;
}
.ft_line_ttl dd {
  font-size: 12px;
  line-height: 18px;
}
.ft_line_ttl dd span {
  font-weight: bold;
  font-size: 16px;
}
.ft_line_flow {
  text-align: center;
  margin-bottom: 10px;
}
.ft_line_flow img {
  max-width: 70%;
}
@media only screen and (min-width: 751px) and (max-width: 1680px) {
  .ft_line_flow img {
    max-width: 45%;
  }
}
@media only screen and (max-height: 751px) and (min-width: 751px) {
  .ft_line_flow img {
    max-width: 45%;
  }
}
.ft_line_line {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  max-width: 70%;
}
.ft_line_line dt {
  width: 40%;
}
.ft_line_line dt img {
  max-width: 70%;
}
@media only screen and (min-width: 751px) and (max-width: 1440px) {
  .ft_line_line dt img {
    max-width: 45%;
  }
}
.ft_line_line dd {
  font-size: 12px;
  line-height: 16px;
}
.ft_line_line dd span {
  display: block;
  margin-bottom: 10px;
}
.ft_line_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 15px;
  max-width: 400px;
  width: 100%;
}
.ft_line_list li {
  width: 100%;
}
.ft_line_list a {
  color: #FFF;
  display: block;
  padding: 2% 1%;
  text-align: center;
  font-size: 10px;
  line-height: 16px;
  background: #1f5c99;
}
.ft_line_list li span:first-child {
  font-size: 16px;
  font-weight: bold;
}
.ft_line_tel {
  text-align: center;
  margin-bottom: 0;
  line-height: 100%;
}
.ft_line_tel a {
  font-weight: bold;
  color: #1f5c99;
  font-size: 26px;
  margin-bottom: 10px;
  display: inline-block;
}
.ft_line_tel span {
  font-size: 12px;
  line-height: 18px;
}
#ft_line_popup.show {
  display: block !important;
}
#ft_line_popup .js-close {
  position: absolute;
  width: 64px;
  height: 64px;
  background: url(../images/ft_line_popup_close.png) 0 0 no-repeat;
  top: -20px;
  right: -20px;
  cursor: pointer;
  z-index: 2;
}
/*==========================================================================*/
/*                             Index                                      */
/*==========================================================================*/
#index {
  /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
  /* EFFECT                                                                 */
  /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
}
#index .mainvisual {
  height: 100%;
  padding: 225px 0 0;
  background: url(../images/index_bg1.jpg) no-repeat top center;
  position: relative;
  min-height: 100vh;
}
.main_bottom_bar, .main_menu {
  display: none;
}
#index .mainvisual .inner {
  max-width: 1500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  z-index: 1;
  padding: 0;
  flex-direction: column;
  padding-bottom: 30px;
  /* height: calc(100vh - 230px); */
}
@media screen and (min-width: 751px) and (max-width: 1880px) {
  #index .mainvisual .inner {
    padding: 0 10px;
    /* height: calc(100vh - 100px); */
  }
}
@media screen and (max-width: 1240px) {
#index .mainvisual .inner {
  padding: 0 10px;
  /* height: calc(100vh - 180px); */
}
#index #slider .slider_detail img {
  height: 100vh !important;
  object-fit: cover;
}
}
@media screen and (max-width: 1024px){
#index .mainvisual .inner {

  /* height: calc(100vh - 48vh); */
}
}
@media screen  and (min-width:768px) and (max-width:1633px) and (max-height: 768px){

  /* #index .block-list li {
    width: 155px;
    height: 130px;
  }
  #index .block-list li::before {
    width: 151px;
    height: 126px;
  }
  #index .block-list li::after {
    width: 149px;
    height: 124px;
  }
  #index .index1_contact.box_contact_cus {
    margin-top: 80px !important;
  } */
  #index .mainvisual .inner {
    /* height: calc(100vh - 85px) !important; */
  }
  /* #index .txt_main {
    height: 250px !important;
  }
  #index h2 {
    padding: 15px 20px 0px 20px !important;
  }
  #index h2 span {
    margin-bottom: -40px !important;
  } */
}
#index .mainvisual .mainvisual_photo {
  overflow: hidden;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
#index .mainvisual .mainvisual_photo .draggable, #index .mainvisual .mainvisual_photo .slick-track {
  height: 100%;
  overflow: hidden;
}
#index #slider {
  position: relative;
  overflow: hidden;
  display: block;
  height: 100%;
}
#index #slider .slider_detail {
  outline: none;
  border: none;
  pointer-events: none;
  overflow: hidden;
}
#index #slider .slider_detail img {
  width: 110%;
  max-width: 110%;
  height: auto;
  overflow: hidden;
}
#index #slider .effect {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
#index #slider .effect.slider_detail img {
  -webkit-animation: mvslideAnime 15s;
  animation: mvslideAnime 15s;
}
@-webkit-keyframes mvslideAnime {
  0% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
  }
  100% {
    -webkit-transform: translate(-100px);
    transform: translate(-100px);
  }
}
@keyframes mvslideAnime {
  0% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
  }
  100% {
    -webkit-transform: translate(-100px);
    transform: translate(-100px);
  }
}
#index h2 {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #666666;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  letter-spacing: 0px;
  padding: 55px 20px 0px 20px;
  margin-bottom: 0px;
  text-align: center;

}
.txt_main{
  width: 100%;
  max-width: 1080px;
  height: 365px;
  background-color: rgba(255, 255, 255, .8);
  position: relative;
}
#index h2 span {
  font-size: 120%;
  margin-bottom: -22px;
  display: block;
}
.idx_bnr {
  background-color: rgba(255, 255, 255, .9);
  border: solid 1px #1f5c99;
}
.idx_bnr dt {
  background: #1f5c99;
  text-align: center;
  color: #FFF;
  font-size: 18px;
  font-family: "游明朝", YuMincho;
  padding: 10px 20px;
  line-height: 1.5;
}
.idx_bnr dt span {
  font-size: 120%;
  font-weight: bold;
}
.idx_bnr dd {
  text-align: center;
  padding: 20px;
  color: #1f5c99;
}
.idx_bnr dd {
  text-align: center;
  padding: 15px;
  color: #1f5c99;
}
@media screen and (max-width: 1560px) and (min-width: 1025px) {}
@media screen and (max-width: 1024px) and (min-width: 751px) {}
#index main .inner {
  max-width: 1520px;
  padding: 0 10px;
}
.index1 {
  background-color: #1f5c99;
  z-index: 1;
  position: relative;
}
.index1 h3 {
  font-size: 28px;
  color: #FFF;
  font-family: "游明朝", YuMincho;
  text-align: center;
  line-height: 52px;
  margin-bottom: 25px;
}
.index1 h3 {
  margin-bottom: 15px;
}
.index1 .inner {
  height: 490px;
}
.index1 .inner {
  height: 545px;
}
.index1_tbl {
  border: #FFF solid 1px;
  margin-bottom: 5px;
}
.index1_tbl th, .index1_tbl td {
  border-top: #FFF solid 1px;
  border-bottom: #FFF solid 1px;
  border-left: none;
  border-right: none;
  color: #FFF;
  font-size: 20px;
  letter-spacing: .5px;
}
.index1_tbl th {
  padding: 23px 35px 23px 40px;
}
.index1_tbl td {
  padding: 23px 15px;
}
.index1_tbl td {
  padding: 15px;
}
.index1_tbl th {
  padding: 15px 35px 15px 40px;
}
.index1_tbl td:last-child {
  padding-right: 30px;
}
.index1_time {
  width: 100%;
  max-width: 850px;
  background-color: #1f5c99;
  padding: 20px 30px;
}
.index1_txt {
  font-size: 13px;
  color: #FFF;
  margin-bottom: 20px;
}
.index1_tel {
  margin-bottom: 20px;
  text-align: center;
  color: #fff;
  font-size: 20px;
}
.index1_reser_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
}
.index1_reser_btn li {
  width: 48%;
  max-width: 360px;
  margin: 1%;
  text-align: center;
}
.index1_reser_btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  background-color: #FFF;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 30px;
  height: 60px;
  line-height: 1.2;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
.index1_reser_btn a:hover {
  opacity: 1;
}
.index1_reser_btn span {
  font-weight: bold;
  margin-top: 5px;
  color: #1f5c99;
  font-size: 18px;
}
.index1_reser_btn .index1_tel span {
  font-size: 22px;
}
.index1_reser_btn i {
  margin-right: 10px;
}
.index1_reser_btn .index1_line span {
  color: #1f5c99;
}
.index1_reser_note {
  color: #FFF;
  font-size: 11px;
  margin-bottom: 0;
  margin-top: 8px;
  line-height: 1.6;
}
.index1_r {
  width: 100%;
  max-width: 600px;
}
.index1_list {
  margin-bottom: 5px;
}
.index1_list li {
  background-color: #FFF;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 3px;
  height: 50px;
  font-size: 17px;
  color: #1f5c99;
  width: 100%;
  max-width: 290px;
  padding-top: 2px;
}
.index1_list li:first-child {
  margin-right: 5px;
}
.index1_add {
  color: #FFF;
  font-size: 13px;
}
.index1_map {
  border: solid 6px #45547f;
}
.index2 {
  padding: 142px 0 325px;
  background: url(../images/index_bg1.jpg) no-repeat top center;
  background-size: cover;
  position: relative;
  margin-bottom: 225px;
}
.index3_photo {
  width: 100%;
  max-width: 1120px;
  height: 450px;
  position: absolute;
  bottom: -225px;
  left: 50%;
  overflow: hidden;
  -webkit-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  -webkit-transform: translateX(-1120px);
  -ms-transform: translateX(-1120px);
  transform: translateX(-1120px);
}
.index3_photo.view {
  top: -140px;
}
.index3_photo.view .idx3_photo {
  -webkit-transform: translate(0, -10%);
  -ms-transform: translate(0, -10%);
  transform: translate(0, -10%);
}
.index3_photo .idx3_photo {
  background: url(../images/index_img2.jpg) no-repeat center;
  background-size: cover;
  -webkit-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  width: 100%;
  height: 110%;
}
.index2 .inner {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.index2_l {
  width: 50%;
  max-width: 600px;
  position: relative;
  z-index: 1;
}
.index2_photo {
  width: 50%;
  max-width: 800px;
  position: relative;
  margin-top: 15px;
}
.index2_list {
  position: absolute;
  bottom: 30px;
  left: -50px;
}
.index2_list li {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝", YuMincho;
  line-height: 100%;
  padding: 19px 30px 17px;
  margin-bottom: 10px;
  color: #1f5c99;
  background-color: rgba(255, 255, 255, 0.8);
}
.index2_list li span {
  margin-right: 30px;
}
@media all and (-ms-high-contrast: none) {
  .index2_list li {
    padding-top: 25px;
  }
}
.index_btn {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.index_h3 {
  color: #888888;
  margin-bottom: 80px;
}
.index_h3 .h3_en {
  font-family: "Cormorant Garamond", serif;
  font-size: 86px;
  line-height: 100%;
  letter-spacing: 16px;
}
.index_h3 .h3_jp {
  font-size: 24px;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  line-height: 42px;
  letter-spacing: 2px;
}
.index2_dl {
  margin-bottom: 30px;
}
.index2_dl dt {
  font-family: "游明朝", YuMincho;
  font-size: 34px;
  line-height: 52px;
  font-weight: bold;
  margin-bottom: 30px;
}
.index_btn {
  text-align: center;
}
.index_btn a {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px;
  position: relative;
  width: 100%;
  max-width: 500px;
  border-radius: 30px;
  overflow: hidden;
  background-color: #1f5c99;
  margin: 0 20px;
}
.index_btn a span {
  position: relative;
  z-index: 1;
  color: #FFF;
  text-align: center;
  font-size: 18px;
}
.index_btn a::before {
  background: #FFF;
  background-position: center;
  position: absolute;
  left: 10%;
  right: 10%;
  top: 0;
  bottom: 0;
  content: '';
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  border-radius: 30px;
  overflow: hidden;
}
.index_btn a:hover span {
  color: #1f5c99;
}
.index_btn a:hover::before {
  opacity: 1;
  left: 0;
  right: 0;
}
.index3 {
  padding: 100px 0;
  background: url(../images/index_bg2.jpg) no-repeat top center;
  background-size: cover;
  text-align: center;
}
.index3 .index3_text {
  text-align: left;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 50px;
}
.index3 h4 {
  font-size: 36px;
  line-height: 60px;
  font-family: "游明朝", YuMincho;
  margin-bottom: 40px;
  font-weight: bold;
}
.index_control_bnr {
  text-align: center;
  margin-top: 50px;
}
.index_control_bnr a:hover {
  opacity: .9;
}
.index4 {
  position: relative;
  padding: 185px 0 76px;
}
.index4 h3 {
  text-align: center;
  margin-bottom: 55px;
}
.index4 h3::after {
  content: '';
  display: block;
  background: url(../images/illust.jpg) no-repeat center;
  height: 40px;
  width: 100%;
  margin-top: 47px;
}
.index4_photo {
  position: absolute;
  top: 100px;
  left: 0;
  width: 50%;
  z-index: -1;
  text-align: right;
}
.index4_cont {
  max-width: 650px;
  width: 50%;
  margin-left: auto;
}
.index5 {
  padding: 120px 0 300px;
  text-align: center;
}
.index5 .inner {
  position: relative;
  background: url(../images/index_bg3.jpg) no-repeat top center;
  height: 530px;
}
.index5_photo1 {
  position: absolute;
  top: -65px;
  left: 220px;
}
.index5_photo2 {
  position: absolute;
  right: 0;
  top: -120px;
}
.index5_photo3 {
  position: absolute;
  bottom: -192px;
  left: 0;
  right: 0;
  top: auto;
}
.index6 {
  position: relative;
  padding: 80px 0 100px;
}
.index6 .inner {
  position: relative;
  z-index: 1;
}
.index6 h3 {
  text-align: center;
}
.index6_features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.index6_feature {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 400px;
  width: 400px;
  background: #dfdfdf;
  background: -webkit-gradient(linear, left top, right top, from(#dfdfdf), to(#ffffff));
  background: -webkit-linear-gradient(left, #dfdfdf 0%, #ffffff 100%);
  background: -o-linear-gradient(left, #dfdfdf 0%, #ffffff 100%);
  background: linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  background: -webkit-linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  background: -moz-linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  margin: 0 35px;
  border-radius: 50%;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  text-align: center;
  position: relative;
  transition: ease .3s;
}
.index6_feature:hover {
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
}
.index6_feature a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.index6_feature dt {
  font-size: 36px;
  font-family: "游明朝", YuMincho;
  line-height: 100%;
  font-weight: bold;
  margin-bottom: 20px;
}
.index6_feature dd {
  font-size: 40px;
  font-family: "游明朝", YuMincho;
  line-height: 100%;
  letter-spacing: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}
.index6_feature p {
  line-height: 34px;
  font-size: 20px;
  color: #888;
}
/*----------------- slider scroll -------------------------*/
#imgRibbon {
  width: 9999px;
  position: relative;
  height: 500px;
  margin-top: 30px;
}
#imgRibbon ul {
  overflow: hidden;
  *zoom: 1;
  position: absolute;
  top: 0;
  left: 0;
}
#imgRibbon ul li {
  float: left;
}
#index main .index7 {
  background-color: #f7f7f7;
  padding: 160px 0 168px;
}
#index main .index7 .inner {
  position: relative;
  /* padding: 0 650px 0 10px; */
  padding: 0 50px 0 10px;
}
#index main .index7 .index7_photo {
  position: absolute;
  right: 0;
  top: 0px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.doctor_name {
  font-family: "游明朝", YuMincho;
  margin-bottom: 82px;
}
.doctor_name dt {
  font-size: 34px;
  line-height: 48px;
  font-weight: bold;
  margin-bottom: 32px;
}
.doctor_name dd {
  font-size: 22px;
  font-weight: bold;
}
.index8 {
  padding: 130px 50px;
}
div.index8_feature {
  margin-bottom: 100px;
  position: relative;
  padding: 0 0 90px !important;
}
div.index8_feature .index8_photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  text-align: right;
}
div.index8_feature:nth-child(2n+2) .index8_photo {
  right: 0;
  left: auto;
  text-align: left;
}
div.index8_feature:nth-child(2n+2) .index8_cont {
  margin-right: auto;
  margin-left: 0;
}
div.index8_feature:nth-child(2n+2)::after {
  content: '';
  display: inline-block;
  background: url(../images/index_img11.jpg) no-repeat top right;
  height: 352px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(50% - 380px);
  text-align: right;
}
div.index8_feature:nth-child(2n+2) .index8_ttl {
  text-align: left;
  padding: 0 0 0 80px;
}
div.index8_feature:nth-child(1)::after {
  content: '';
  display: inline-block;
  background: url(../images/index_img9.jpg) no-repeat 0 0;
  height: 352px;
  width: calc(50% - 380px);
  text-align: left;
  position: absolute;
  bottom: 0;
  right: 0;
}
.index8_cont {
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  z-index: 1;
  position: relative;
  padding-top: 72px;
}
div.index8_cont_white {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 80px !important;
}
div.index8_cont_white dl {
  font-family: "游明朝", YuMincho;
  margin-bottom: 30px;
}
div.index8_cont_white dt {
  font-size: 34px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 52px;
}
div.index8_cont_white dd {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 2px;
}
div.index8_cont_white p:not(:last-child) {
  margin-bottom: 30px;
}
.index8_ttl {
  text-align: right;
  font-family: "游明朝", YuMincho;
  color: #888;
  padding-right: 62px;
  margin-bottom: 40px;
}
.index8_ttl span {
  display: inline-block;
  text-align: left;
}
.index8_ttl span:first-child {
  font-size: 36px;
  line-height: 52px;
  letter-spacing: 7px;
}
.index8_ttl span:last-child {
  font-size: 100px;
  letter-spacing: 5px;
  margin-left: 52px;
}
.index9 {
  padding: 40px 0 0;
  position: relative;
}
.index9 h3 {
  text-align: center;
}
.index9_conts {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.index9_ttl {
  font-family: "游明朝", YuMincho;
  line-height: 52px;
  font-size: 34px;
  font-weight: bold;
}
canvas {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: -1;
  pointer-events: none;
}
.link img {
  display: none;
  width: auto;
  height: auto;
}
.index9_grid {
  position: relative;
  z-index: 20;
  width: 100%;
  max-width: 600px;
  border-bottom: solid 1px #e7e7dd;
}
.index9_grid a:hover {
  text-decoration: none;
}
.index9_grid a:hover .index9_list::after {
  right: 10px;
  background: url(../images/blue_arrow.png) no-repeat top right;
}
.index9_grid a:hover .index9_list dt, .index9_grid a:hover .index9_list dd span {
  color: #1f5c99;
}
.index9_grid .index9_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: solid 1px #e7e7dd;
  padding: 38px 100px 38px 10px;
  position: relative;
}
.index9_grid .index9_list::after {
  content: '';
  display: inline-block;
  background: url(../images/grey_arrow.png) no-repeat top right;
  height: 7px;
  width: 101px;
  position: absolute;
  right: 0px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.index9_grid .index9_list dt {
  font-family: "游明朝", YuMincho;
  font-size: 60px;
  color: #888;
  margin-right: 29px;
}
.index9_grid .index9_list dd {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
}
.index9_grid .index9_list dd span:first-child {
  font-size: 26px;
  line-height: 42px;
  color: #555;
}
.index9_grid .index9_list dd span:last-child {
  font-size: 18px;
  line-height: 32px;
  color: #888;
}
.index9_bnr {
  text-align: center;
  margin: 100px auto 0;
  max-width: 1200px;
}
.index9_bnr a {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  border-radius: 80px;
  overflow: hidden;
  background-color: #1f5c99;
}
.index9_bnr a span {
  position: relative;
  z-index: 1;
  color: #FFF;
  text-align: center;
  font-size: 28px;
  line-height: 52px;
  padding: 54px 70px 54px 50px;
}
.index9_bnr a::before {
  background: #FFF;
  background-position: center;
  position: absolute;
  left: 10%;
  right: 10%;
  top: 0;
  bottom: 0;
  content: '';
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
}
.index9_bnr a:hover span {
  color: #1f5c99;
}
.index9_bnr a:hover::before {
  opacity: 1;
  left: 0;
  right: 0;
}
.index9_bnr_2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
.index9_bnr_2 a {
  width: 48%;
}
.index9_bnr_2 a span {
  padding-left: 0;
  padding-right: 0;
}
.top_menu {
  padding: 100px 0 0;
}
.index10 {
  background-color: #f7f7f7;
  padding: 200px 0 90px;
}
.index10 h3 {
  text-align: center;
  margin-bottom: 57px;
}
.list_tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.list_tabs li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "游明朝", YuMincho;
  font-size: 20px;
  line-height: 36px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 12px 45px;
  font-weight: bold;
  background: #FFF;
  margin: 0 5px;
  -webkit-transition: ease-in-out .3s;
  -o-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
  text-align: center;
  cursor: pointer;
}
.list_tabs li:hover, .list_tabs li.active {
  background: #1f5c99;
  color: #FFF;
}
@media all and (-ms-high-contrast: none) {
  .list_tabs li {
    padding: 16px 45px 8px;
  }
}
.index10_cont {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
div.tabs_wrap {
  background-color: #FFF;
  border: solid 2px #ededed;
  padding: 92px 150px !important;
  margin-bottom: 52px !important;
}
.content_tab {
  -webkit-transition: ease-in-out .3s;
  -o-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
  display: none;
}
.content_tab.active {
  display: block;
}
.list_item {
  border-top: solid 1px #e7e7dd;
}
.list_item li {
  border-bottom: solid 1px #e7e7dd;
}
.list_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 25px 20px 26px;
  line-height: 30px;
  -webkit-transition: ease-in .3s;
  -o-transition: ease-in .3s;
  transition: ease-in .3s;
}
.list_item a .date {
  color: #555;
}
.list_item a .cat {
  background-color: #1f5c99;
  color: #FFF;
  text-align: center;
  display: inline-block;
  width: 150px;
  margin: 0 20px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 12px;
}
.list_item a .title {
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: calc(100% - 280px);
}
.list_item a:hover {
  background-color: #f7f7f7;
}
.index11 {
  padding: 117px 0 80px;
  background: url(../images/index_bg8.jpg) no-repeat bottom center;
  min-height: 737px;
}
.index11 .inner {
  position: relative;
}
.index11 .index11_photo {
  position: absolute;
  left: 0;
  top: -17px;
}
.index11 .index11_cont {
  max-width: 950px;
  width: 70%;
  margin-left: auto;
  background-color: rgba(255, 255, 255, 0.8);
  min-height: 540px;
  padding: 70px 130px 0;
}
.index11 .index11_txt {
  font-family: "游明朝", YuMincho;
  font-size: 28px;
  line-height: 47px;
  font-weight: bold;
  margin-bottom: 60px;
}
.index11 h3 {
  margin-bottom: 52px;
}

div.index12 {
  padding: 100px 0 !important;

}
div.index12 .index12_inner {
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
}
div.index13 h3 {
  margin-bottom: 40px;
}
div.index13 {
  padding: 100px 0 !important;
  background: url(../images/index_bg1.jpg) no-repeat top center;
}
div.index13 .index13_inner {
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
}
div.index12 h3 {
  margin-bottom: 40px;
}
.index12_map {
  max-width: 700px;
  width: 100%;
}
.index_acc_list {
  margin-bottom: 15px;
}
.index_acc_list li {
  font-size: 20px;
  line-height: 32px;
  color: #888;
}
.index12_add {
  font-size: 14px;
}
.sp375 {
  display: none;
}
@media screen and (min-width: 751px) and (max-width: 1400px) {
  #index h2 span {
    padding-left: 15px;
  }
  .index1_tbl th, .index1_tbl td {
    font-size: 16px;
    letter-spacing: 0;
  }
  .index1_tbl th {
    padding: 10px;
  }
  .index1_tbl td {
    padding: 10px;
  }
  .index1_tbl td:last-child {
    padding-right: 10px;
  }
  .index2_l {
    width: 45%;
  }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
  #index main .inner {
    max-width: 90%;
    padding: 0;
  }
  .index1_reser_btn .index1_tel span {
    font-size: 18px;
  }
  .index4_cont {
    padding-left: 10px;
  }
  .index5_photo1 {
    left: 0;
  }
  .index6_feature {
    height: 300px;
    width: 300px;
    margin: 0 15px;
  }
  .index6_feature dd {
    margin-bottom: 10px;
  }
  .index6_feature p {
    line-height: 32px;
    font-size: 16px;
  }
  .index11 .index11_cont {
    padding-left: 265px;
  }
}
.top_modal_close.modal_close {
  width: 300px;
  font-size: 14px;
  border-radius: 26px;
}
.top_modal_close:hover {
  opacity: .9;
}
.modal_sitemap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.modal_sitemap dl {
  width: 25%;
  text-align: center;
  min-width: 180px;
  margin-bottom: 20px;
}
.modal_sitemap dt {
  margin-bottom: 5px;
}
.modal_sitemap dd {
  padding: 5px;
}
.modal_sitemap a {
  background-color: #1f5c99;
  font-size: 16px;
  color: #FFF;
  padding: 10px 5px 12px;
  display: block;
  border-radius: 20px;
  line-height: 22px;
  text-align: center;
}
.modal_sitemap a:hover {
  opacity: .9;
}
@media screen and (max-width:480px) {
  .modal_sitemap dl {
    width: 100%;
  }
  .modal_sitemap a {
    font-size: 14px;
    padding: 5px 10px 8px;
    line-height: 18px;
  }
}
/*==========================================================================*/
/*                              Content Under                               */
/*==========================================================================*/
.under .mainvisual {
  background: url(../images/u_h2_bg.jpg) no-repeat top center;
  padding-top: 80px;
  height: 680px;
  background-size: cover;
  position: relative;
}
#perio.under .mainvisual {
  background: url("../images/perio_h2_bg.jpg") no-repeat bottom center;
}
.under .mainvisual .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 600px;
}
#perio.under .mainvisual .inner {
  justify-content: flex-start;
  flex-direction: row;
}
.under h2, .under h3, .under h4, .under h5, .under h6, .under .flex2 .titleh3 {
  font-family: "游明朝", YuMincho;
  letter-spacing: 4px;
  font-weight: bold;
}
.under .u_page_name {
  font-family: "Cormorant Garamond", serif;
  font-size: 120px;
  color: #888888;
  line-height: 100%;
  letter-spacing: 23px;
  margin-bottom: 10px;
}
.under h2 {
  color: #888888;
  font-size: 26px;
  letter-spacing: 8px;
}
#perio.under h2 {
  padding-left: 0;
  color: #1f5c99;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 2px;
  line-height: 1.6;
}
#perio.under h2 .h2_lg {
  font-size: 60px;
}
#perio.under h2 .h2_sm {
  font-size: 42px;
  position: relative;
}
.under section {
  padding: 80px 0;
  position: relative;
}
.under section.pb0 {
  padding-bottom: 0;
}
.under .sec_head {
  padding-bottom: 0;
}
.under .root1 {
  padding-bottom: 0;
}
.under .box_h3 {
  position: relative;
}
.under h3, .under .flex2 .titleh3  {
  font-size: 34px;
  line-height: 52px;
  margin-bottom: 50px;
  text-align: center;
}
.under .style1 {
  font-size: 34px;
  line-height: 52px;
  margin-bottom: 40px;
  text-align: center;
  color: #555;
}
.under h4 {
  font-size: 30px;
  margin-bottom: 40px;
  color: #1f5c99;
  line-height: 46px;
}
.under h4.mb0 {
  margin-bottom: 0;
}
.under h4 + .box_h5 {
  margin-top: 0;
}
.under .mb0 {
  margin-bottom: 0;
}
.under .box_h4:not(:first-child) {
  margin-top: 100px;
}
.under .box_h5 {
  margin-top: 50px;
}
.under h5 {
  font-size: 26px;
  line-height: 40px;
  margin-bottom: 20px;
}
.under h5.h5_sm {
  letter-spacing: 0;
}
.under h5 + .box_h6 {
  margin-top: 0;
}
.under h6 {
  background: #f7f7f7;
  font-size: 22px;
  padding: 12px 20px 10px;
  margin-bottom: 20px;
  line-height: 36px;
}
.under .box_h6 {
  margin-top: 50px;
}
.title {
  font-size: 20px;
  color: #1f5c99;
  margin-bottom: 10px;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
}
.list li {
  padding-left: 20px;
  background: url(../images/list_icon.png) no-repeat 0 14px;
}
ul.list1 {
  border: solid 1px #FFF;
  padding: 6% !important;
}
ul.list1 li {
  padding-left: 20px;
  background: url(../images/list_icon_w.png) no-repeat 0 14px;
}
/* topic path */
.topic_path ul {
  text-align: right;
}
.topic_path li {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  position: relative;
  padding: 20px;
}
.topic_path li:last-child {
  margin-right: 0;
  padding-right: 0;
}
.topic_path li:not(:last-child):before {
  content: '';
  border-right: solid 1px #555555;
  border-bottom: solid 1px #555555;
  position: absolute;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  padding: 3px;
  right: 1px;
  top: 50%;
  margin-top: -3px;
}
.topic_path li a {
  display: inline-block;
  margin-right: 5px;
  text-decoration: underline;
  color: #1f5c99;
  position: relative;
}
.topic_path li a:hover {
  text-decoration: none;
}
.topic_path + section {
  margin-bottom: 70px;
}
/* under */
.flow_box .flow_gr:not(:first-child) {
  padding-top: 80px;
}
/* flow_gr */
.flow_gr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.flow_gr .flow_item {
  width: 50%;
  background-color: #f7f7f7;
  padding-top: 80px;
}
.flow_gr .flow_item:nth-child(2n+2) {
  padding-top: 160px;
}
.flow_gr .flow_item dl {
  max-width: 600px;
  width: 100%;
  padding: 0 50px;
  margin-left: auto;
  margin-bottom: 50px;
}
.flow_gr .flow_item:nth-child(2n+2) dl {
  margin-left: 0;
  margin-right: auto;
}
.flow_gr .flow_item dt {
  text-align: center;
  margin-bottom: 25px;
}
.flow_gr .flow_item dt > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 120px;
  width: 120px;
  border: solid 2px #1f5c99;
  border-radius: 50%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 44px;
  font-family: "游明朝", YuMincho;
  color: #1f5c99;
  font-weight: bold;
  padding-top: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flow_gr .flow_item dt .step_txt {
  font-size: 16px;
}
.flow_gr .flow_item .flow_ttl {
  text-align: center;
  font-family: "游明朝", YuMincho;
  font-size: 30px;
  line-height: 46px;
  color: #1f5c99;
  font-weight: bold;
  margin-bottom: 25px;
}
.flow_gr .flow_item.flow_item_last {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding-bottom: 30px !important;
}
.flow_gr .flow_item.flow_item_last dl {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.flow_gr .flow_photo {
  margin-bottom: 0;
  text-align: center;
}
.flow_gr .heightLine{
  text-align:center;
}
/* end flow_gr */
.u_bnr_gr {
  margin: 80px 0 0;
}
.u_bnr_gr.mt0 {
  margin-top: 0;
}
.u_bnr_gr a {
  background-color: #1f5c99;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #FFF;
  font-size: 22px;
  line-height: 42px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 20px;
  border-radius: 80px;
  overflow: hidden;
  text-align: center;
  font-weight: bold;
}
.u_bnr_gr a span {
  position: relative;
  z-index: 1;
}
.u_bnr_gr a::before {
  background: #FFF;
  background-position: center;
  position: absolute;
  left: 10%;
  right: 10%;
  top: 0;
  bottom: 0;
  content: '';
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  border-radius: 80px;
  overflow: hidden;
}
.u_bnr_gr a:hover span {
  color: #1f5c99;
}
.u_bnr_gr a:hover::before {
  opacity: 1;
  left: 0;
  right: 0;
}
.u_bnr_contact {
  background: url("../images/u_banner1_bg.jpg") no-repeat 0 0;
  height: 490px;
  border-radius: 0;
  box-shadow: none;
  align-items: flex-end;
  justify-content: center;
  padding: 20px;
  display: flex;
  flex-direction: column;
  color: #FFF;
  margin-top: 60px;
}
.u_bnr_contact_ttl {
  text-align: center;
  width: 100%;
  max-width: 480px;
  font-size: 30px;
  line-height: 1.6;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
  margin: 0 0 10px;
  color: #FFF;
}
.u_bnr_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 480px;
  width: 100%;
}
.u_bnr_list li {
  width: 48%;
  margin: 1%;
  text-align: center;
}
.u_bnr_contact a {
  display: inline-block;
  padding: 10px 10px 8px;
  background-color: #FFF;
  text-align: center;
  font-size: 16px;
  line-height: 1.2;
  border-radius: 50px;
  width: 100%;
  color: #1f5c99;
  font-weight: bold;
}
.u_bnr_list li.u_bnr_line a {
  color: #1f5c99;
}
.u_bnr_list li.u_bnr_note {
  width: 100%;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
}
.bnr_gr_2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bnr_gr_2 p {
  width: 48%;
  max-width: 580px;
}
.tbl1 {
  margin-bottom: 30px;
}
.tbl1 td {
  text-align: center;
  vertical-align: middle;
}
.difference_total {
  text-align: center;
  color: #FFF;
  background-color: #1f5c99;
  padding: 20px 40px;
}
.tbl_price th {
  text-align: center;
  width: 50%;
}
.tbl_price td {
  text-align: center;
}
main .tbl-pro th {
  text-align: center;
}
main .tbl-pro th, main .tbl-pro td {
  padding: 15px;
}
main .tbl-pro a:hover {
  opacity: 0.8;
}
main .tbl-pro a {
  color: #1f5c99;
}
.mb40 {
  margin-bottom: 40px;
}
.anchor_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  margin: 50px 0 0;
}
.anchor_link li {
  width: calc(100%/4);
  max-width: 250px;
  margin: 0 10px;
}
.anchor_link.col3 {
  margin: 0 0 50px;
}
.anchor_link a {
  border-radius: 30px;
  background-color: #1f5c99;
  text-align: center;
  color: #FFF;
  display: block;
  padding: 14px 20px;
  width: 100%;
  position: relative;
}
.anchor_link a::after {
  content: '';
  display: inline-block;
  height: 6px;
  width: 6px;
  border-right: solid 1px #FFF;
  border-bottom: solid 1px #FFF;
  position: absolute;
  left: 50%;
  bottom: 5px;
  -webkit-transform: rotate(45deg) translateX(-50%);
  -ms-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
  -webkit-transition: ease .3s;
  -o-transition: ease .3s;
  transition: ease .3s;
}
.anchor_link a:hover {
  opacity: .9;
}
.anchor_link a:hover::after {
  bottom: 2px;
}
.concept_cir {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.concept_cir dl {
  height: 340px;
  width: 340px;
  display: block;
  border-radius: 50%;
  background: #dfdfdf;
  background: -webkit-gradient(linear, left top, right top, from(#dfdfdf), to(#ffffff));
  background: -webkit-linear-gradient(left, #dfdfdf 0%, #ffffff 100%);
  background: -o-linear-gradient(left, #dfdfdf 0%, #ffffff 100%);
  background: linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  background: -webkit-linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  background: -moz-linear-gradient(90deg, #dfdfdf 0%, #ffffff 100%);
  margin: 0 20px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
.concept_cir dl dt {
  font-size: 20px;
  line-height: 36px;
  font-weight: bold;
  color: #1f5c99;
  padding: 30px 40px 10px;
  text-align: center;
  font-family: "游明朝", YuMincho;
}
.concept_cir dl dd {
  padding: 0 40px 40px;
  font-size: 14px;
  line-height: 24px;
}
.concept_cir dl dd li {
  font-size: 14px;
  line-height: 24px;
}
.concept_staff {
  display: flex;
  justify-content:center;
  align-items: flex-end;
  position: relative;
  padding-bottom: 40px;
}
.concept_staff .concept_staff_info {
  background-color: #FFF;
  width: 100%;
  max-width: 800px;
}
.w_img{
  width: 100%;
  max-width: 400px;
  margin-right:40px;
  margin-bottom: 0;
}
.w_img img{
  object-fit: cover;
  height: 100%;

}
main .concept_staff .concept_staff_info table {
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
main .concept_staff .concept_staff_info table th {
  background-color: #f7f7f7;
  font-weight: bold;
}
.concept_staff_btn {
  margin-bottom: 130px;
}
.concept_box {
  position: relative;
  height: 650px;
  margin-bottom: 150px;
}
.concept_box .inner {
  position: relative;
  padding-top: 220px;
}
.concept1::before {
  position: absolute;
  left: 0;
  top: 1px;
  height: 650px;
  width: calc(50% + 500px);
  content: "";
  background-attachment: fixed;
  background-size: cover;
  background-image: url("../images/concept_img3.jpg");
}
.concept2::before {
  position: absolute;
  right: 0;
  top: 1px;
  height: 650px;
  width: calc(50% + 500px);
  content: "";
  background-attachment: fixed;
  background-size: cover;
  background-image: url("../images/concept_img4.jpg");
}
.concept3::before {
  position: absolute;
  left: 0;
  top: 1px;
  height: 650px;
  width: calc(50% + 500px);
  content: "";
  background-attachment: fixed;
  background-size: cover;
  background-image: url("../images/concept_img5.jpg");
}
.concept_box.concept4 {
  height: 950px;
}
.concept4::before {
  position: absolute;
  right: 0;
  top: 1px;
  height: 950px;
  width: calc(50% + 500px);
  content: "";
  background-size: cover;
  background-image: url("../images/concept_img22_bg.jpg");
}
.under .concept4 h4 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 42px;
}
.concept_box div.box_h5 {
  background-color: rgba(255, 255, 255, .9);
  max-width: 750px;
  padding: 40px !important;
}
.concept_box h5::after {
  content: '';
  background-color: #6087C6;
  height: 4px;
  width: 60px;
  display: inherit;
  margin: 10px 0;
}
.concept1 div.box_h5 {
  margin-left: auto;
}
.concept2 div.box_h5 {
  margin-right: auto;
}
.concept3 div.box_h5 {
  margin-left: auto;
}
.body_box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.body_box_col {
  width: 100%;
  max-width: 575px;
}
.body_box_note {
  font-size: 10px;
  margin-top: 10px;
}
.concept_acc_gr {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.concept_acc {
  width: 24%;
  position: relative;
  padding-bottom: 300px;
}
.concept_acc_tt {
  background-color: #1f5c99;
  font-size: 16px;
  color: #fff;
  text-align: center;
  padding: 10px;
  position: relative;
  cursor: pointer;
}
/*.concept_acc_tt::before {content: "";border-top: 10px solid rgb(255, 255, 255);border-left: 10px solid transparent;border-right: 10px solid transparent;position: absolute;right: 20px;top: calc(50% - 5px);}
.concept_acc_tt.open::before {transform: rotateZ(180deg);top: calc(50% - 5px);}*/
.concept_acc_cont dt {
  font-size: 14px;
  font-weight: bold;
  color: #1f5c99;
  text-align: center;
  margin-bottom: 10px;
}
.concept_acc_cont .center {
  position: absolute;
  left: 0;
  bottom: 40px;
  width: 100%;
}
.concept_acc_cont dd img {
  max-width: 220px;
}
#recruit .mainvisual {
  padding-top: 0;
  margin-top: 80px;
  height: 780px;
  background-attachment: fixed;
}
#recruit .mainvisual::after {
  content: '';
  display: block;
  height: 100%;
  width: 50%;
  max-width: 909px;
  right: 0;
  top: 0;
  position: absolute;
  background: url(../images/recruit_h2_bg.png) no-repeat top right;
  transition: all 0.8s ease-out 0.5s;
}
.whitescroll {
  content: '';
  transition: ease .5s;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background-color: #FFF;
  z-index: 2;
  opacity: 0;
}
.whitescroll.show {
  animation-name: whitescroll_a;
  animation-duration: 1s;
  animation-timing-function: linear;
  /* Chrome, Safari, Opera */
  -webkit-animation-name: whitescroll_a;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  opacity: 1;
}
/* Chrome, Safari, Opera */
@-webkit-keyframes whitescroll_a {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes whitescroll_a {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#recruit .mainvisual .inner {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  height: 780px;
}
#recruit .mainvisual div.recruit_h2 {
  background-color: #1f5c99;
  position: relative;
  padding: 40px 20px !important;
  z-index: 1;
  text-align: center;
}
#recruit .mainvisual div.recruit_h2 * {
  color: #FFF;
  position: relative;
  z-index: 1;
}
#recruit .mainvisual div.recruit_h2::before {
  content: '';
  height: 100%;
  width: 500%;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  position: absolute;
  background-color: #1f5c99;
  z-index: 0;
}
.recruit1 {
  position: relative;
}
.recruit1::before {
  content: '';
  background-color: rgba(96, 136, 198, 0.25);
  width: 55%;
  height: 365px;
  position: absolute;
  left: 0;
  bottom: 0;
  top: auto;
  right: auto;
  z-index: -1;
}
.recruit1_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}
.recruit1_message {
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  bottom: auto;
  text-align: right;
  z-index: -1;
  color: #f0f0f0;
  font-size: 210px;
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  margin: 0;
  padding: 0;
  line-height: 0.6;
  letter-spacing: 30px;
  transition: all 0.8s ease-out 0.5s;
}
.recruit1_box h3 {
  letter-spacing: 0;
}
.recruit1_box .recruit1_photo {
  width: 40%;
}
.recruit1_box .recruit1_cont {
  width: 55%;
}
.recruit1_photo2 {
  position: relative;
  z-index: 1;
  text-align: right;
  margin-top: -75px;
}
.recruit_bg {
  background-color: #f7f7f7;
}
.recruit2 .image_r {
  margin-top: -80px;
}
.recruit3_cont {
  padding: 0 1.6667%;
}
.recruit3_cont .recruit3_col {
  width: 50%;
  background-color: #1f5c99;
  padding: 6.89655% !important;
  color: #FFF;
  float: left;
}
.recruit3_cont .recruit3_col:last-child {
  background-color: #6087C6;
  margin-top: 6.89655%;
}
.recruit3_cont .recruit3_col h4 {
  color: #FFF;
  text-align: center;
  margin-bottom: 20px;
}
.recruit4 h3 {
  padding: 0 10px;
}
div.recruit4_box {
  width: 60%;
  padding: 60px !important;
  background-color: #ebe9e9;
  position: relative;
  z-index: 1;
}
.recruit4_sec1 {
  position: relative;
  min-height: 680px;
  margin-bottom: 120px;
  padding-top: 300px;
}
.recruit4_sec1 .recruit4_photo {
  right: 0;
  text-align: left;
}
.recruit4_sec1.first {
  padding-top: 0;
}
.recruit4_sec1.first .recruit4_photo {
  top: 40px;
}
.recruit4_photo {
  position: absolute;
  top: 0;
}
.recruit4_photo p {
  position: relative;
}
.recruit4_photo p::before {
  content: '';
  background-color: #6087C6;
  position: absolute;
  bottom: -10px;
  left: -10px;
  top: 10px;
  right: 10px;
}
.recruit4_photo p img {
  position: relative;
}
@media screen and (min-width: 1500px) {
  .recruit4_photo {
    width: 50%;
  }
}
.recruit4_sec2 {
  position: relative;
  min-height: 680px;
  margin-bottom: 120px;
  padding-top: 300px;
}
.recruit4_sec2 div.recruit4_box {
  margin-left: auto;
}
.recruit4_sec2 .recruit4_photo {
  left: 0;
  text-align: right;
}
.recruit4_sec2 .recruit4_photo p {
  position: relative;
}
.recruit4_sec2 .recruit4_photo p::before {
  content: '';
  background-color: #6087C6;
  position: absolute;
  bottom: -20px;
  left: 20px;
  top: 20px;
  right: -20px;
}
.recruit4_sec2 .recruit4_photo p img {
  position: relative;
}
.recruit5_cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #f7f7f7;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
}
.recruit5_tabs_wrap {
  width: 78%;
}
.recruit5_list_tabs {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: auto;
  width: 20%;
}
.recruit5_list_tabs li {
  height: calc(100%/3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 20px;
  line-height: 36px;
  padding: 12px 45px;
  background: #6087C6;
  -webkit-transition: ease-in-out .3s;
  -o-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
  text-align: center;
  cursor: pointer;
  color: #FFF;
}
.recruit5_list_tabs li:hover, .recruit5_list_tabs li.active {
  background: #1f5c99;
}
.recruit5_tabs_txt {
  padding-right: 32%;
  position: relative;
  padding-top: 20px;
  min-height: 550px;
}
.recruit5_tabs_txt::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  bottom: 0;
  width: 30%;
}
.recruit5_tabs_txt dt {
  font-size: 14px;
  font-weight: bold;
  color: #1f5c99;
  margin-bottom: 10px;
  line-height: 22px;
}
.recruit5_tabs_txt dd {
  font-size: 14px;
  line-height: 22px;
  padding-bottom: 20px;
}
.recruit5_tabs_txt1::after {
  background: url(../images/recruit_img8.jpg) no-repeat center;
  background-size: cover;
}
.recruit5_tabs_txt2::after {
  background: url(../images/recruit_img9.jpg) no-repeat center;
  background-size: cover;
}
.recruit5_tabs_txt3::after {
  background: url(../images/recruit_img10.jpg) no-repeat center;
  background-size: cover;
}
.recruit5_content_tab {
  -webkit-transition: ease-in-out .3s;
  -o-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
  display: none;
}
.recruit5_content_tab.active {
  display: block;
}
.recruit_tbl th {
  background-color: #1f5c99;
  color: #FFF;
  text-align: center;
}
.content_contact1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.content_contact1 .ct_item {
  width: 200px;
}
.ct_txt1 {
  font-size: 12px;
}
.content_contact3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.content_contact3 div {
  width: 200px;
}
#fmail .content_contact4 input.fmail {
  width: 370px;
}
/*==========================================================================*/
/*                             overnode                                       */
/*==========================================================================*/
.blog-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.blog-item {
  width: 49%;
  margin: 0 2% 30px 0;
}
.blog-item:nth-child(even) {
  margin-right: 0;
}
.blog-item a {
  text-decoration: none;
  display: block;
  padding: 20px;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border: 1px solid #CCCCCC;
  position: relative;
}
.blog-item a:hover {
  opacity: 0.8;
}
.blog-itm-cat {
  margin: 0 15px 5px;
  display: inline-block;
  background: #1f5c99;
  padding: 4px 10px 2px;
  width: 150px;
  text-align: center;
  font-size: 12px;
  color: #fff;
  line-height: 1.8;
}
.blog-date {
  display: inline-block;
  font-size: 14px;
  margin-bottom: 0;
  color: #888;
}
.blog-itm-ttl {
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  margin: 0 0 10px;
  text-align: center;
  color: #1f5c99;
}
.blog-itm-img {
  background: #fff;
  height: 210px;
  overflow: hidden;
  margin: 0 0 10px;
}
.blog-itm-img img {
  max-height: 100%;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.blog-item a:hover .blog-itm-img img {
  -webkit-transform: translate(-50%, -50%) scale(1.2, 1.2);
  -ms-transform: translate(-50%, -50%) scale(1.2, 1.2);
  transform: translate(-50%, -50%) scale(1.2, 1.2);
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.blog-itm-info {
  margin: 0 0 10px;
}
.blog-itm-info li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #fff;
  color: #1d1d1d;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #f0f1f7;
}
.blog-itm-info li:not(:last-child) {
  margin-bottom: 1px;
}
.blog-itm-info-ttl {
  background: #f0f1f7;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 120px;
  text-align: center;
  color: #1d1d1d;
  padding: 3px;
}
.blog-itm-info-txt {
  width: calc(100% - 130px);
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}
.blog-itm-btn {
  margin: 0 auto;
  position: relative;
  width: 100%;
  max-width: 200px;
  z-index: 0;
  font-size: 14px;
  text-align: center;
  background-color: #1f5c99;
  color: #FFF;
  padding-top: 1px;
}
.notice_cont li {
  list-style: inherit;
}
/* pagination */
ul.pagination {
  text-align: center;
  padding: 30px 0 0 0;
}
ul.pagination li {
  display: inline-block;
  margin-bottom: 10px;
}
ul.pagination li a {
  padding: 5px 12px;
  text-decoration: none;
  display: block;
  color: #fff;
  background: #1f5c99;
  line-height: 26px;
  border-radius: 3px;
}
ul.pagination li.active a, ul.pagination li.active a:hover {
  background: #071233;
  color: #fff;
  cursor: pointer;
}
ul.pagination li a:hover {
  color: #fff;
  cursor: pointer;
  opacity: .8;
}
ul.pagination li.disabled a {
  display: none;
}
.column-main {
  margin-bottom: 60px;
}
.column-img {
  text-align: center;
}
.column-img img {
  max-width: 600px;
  max-height: 600px;
}
.column-btn {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.column-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: #fff;
  background: #1f5c99;
  width: 100%;
  font-size: 16px;
  padding: 9px 25px;
  border-radius: 4px;
  position: relative;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
.column-btn a:hover {
  background: #011444;
}
.column-btn li {
  width: 250px;
  margin: 0 5px 10px;
}
/*modal*/
.modal {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
}
.modal.active {
  display: block;
}
.modal_inner {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  margin: auto;
  overflow: auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center
}
@media screen and (max-width:750px) {
  .modal {
    z-index: 99999;
  }
  .modal_inner {
    display: block;
  }
  .modal_box {
    margin: auto;
  }
}
.modal_index .modal_box {
  max-width: 1200px
}
.modal_box {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 800px;
  width: 100%;
  padding: 40px;
  /*cursor: pointer;*/
  background-color: #ffffff;
  /*margin: auto;*/
  text-align: left;
  display: flex;
  flex-direction: column;
}
/*.modal_box::before,
.modal_box::after {
    position: absolute;
    top: 10px;
    right: 20px;
    display: block;
    width: 2px;
    height: 24px;
    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: red;
}
.modal_box::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}*/
.modal_box_ttl {
  font-size: 22px;
  font-family: "游明朝", YuMincho;
  color: #1f5c99;
  font-weight: bold;
}
.modal_index .modal_box_ttl {
  text-align: center;
}
.h-bor {
  border: solid 1px #cccccc;
  padding: 20px;
  font-size: 18px;
}
.modal_box .txt_name {
  font-size: 14px;
  text-align: right;
}
.modal_box .modal_box_close {
  text-align: center;
  margin-bottom: 40px;
}
.modal_close {
  cursor: pointer;
  position: relative;
  background-color: #1f5c99;
  display: inline-block;
  width: 200px;
  padding: 5px 10px;
  color: #FFF;
  margin: 5px;
}
.modal_close_arr {
  display: inline-block;
  height: 16px;
  width: 16px;
  margin-right: 10px;
  top: 2px;
  background-color: #FFF;
  color: #1f5c99;
  border-radius: 50%;
  position: relative;
}
.modal_close:hover .modal_close_arr::before, a:hover .modal_close_arr::before {
  content: '';
  display: inline-block;
  position: absolute;
  height: 14px;
  width: 16px;
  background: url("../images/check.png") no-repeat 0 0;
  left: 2px;
  bottom: 2px;
}
.modal_box_close a {
  position: relative;
  background-color: #6087C6;
  display: inline-block;
  width: 200px;
  padding: 5px 10px;
  color: #FFF;
  margin: 5px;
}
.bg_gray {
  background-color: #f7f7f7;
}
.txt_link {
  text-decoration: underline;
}
td.txt-blue {
  color: #1f5c99;
}
@media screen and (min-width:751px) {
  #concept {
    min-width: 1200px;
    position: relative;
  }
  #concept #colorbox {
    outline: 0;
    transform: translateX(-50%) !important;
    left: 50% !important;
  }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
  .body_box_col {
    max-width: 540px;
  }
  .concept_cir dl {
    height: 323px;
    width: 323px;
  }
  .concept_cir dl dt {
    padding: 14px 40px 10px;
  }
  .index1_tbl th {
    padding: 20px 10px 20px 15px;
  }
  .index1_tbl th {
    padding: 10px 10px 10px 15px;
  }
  .index1_tbl td {
    padding: 20px 10px;
  }
  .index1_tbl td {
    padding: 10px;
  }
  .idx_bnr dd {
    font-size: 14px;
    padding: 12px;
    line-height: 1.8;
  }
}
.over_time1 th, .over_time1 td {
  text-align: center;
  vertical-align: middle;
}
.over_time th, .over_time td {
  text-align: center;
  color: #1f5c99;
  vertical-align: middle;
}
@media screen and (max-width:320px) {
  .over_time th, .over_time td {
    font-size: 10px;
    line-height: 1.4;
  }
  .over_time1 th, .over_time1 td {
    font-size: 10px;
    line-height: 1.4;
  }
}
/*-----------------------------perio------------------------------*/
#perio .perio1 {
  margin-bottom: 0;
}
#perio .perio_h3 {
  font-size: 36px;
}
#perio .perio_h3 span.perio_h3_line {
  position: relative;
  z-index: 1;
}
#perio .perio_h3 span.perio_h3_line:after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: auto;
  height: 20px;
  background-color: #1f5c99;
  opacity: .2;
  bottom: 0px;
}
#perio .perio_h3 span.perio_h3_line span {
  font-size: 50px;
  position: relative;
}
#perio .perio_h3 .perio_h3_line span::before {
  content: '';
  display: inline-block;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background-color: #1f5c99;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -10px;
}
.b03-reason dl {
  margin-bottom: 12px;
}
.b03-reason dl:last-child {
  margin-bottom: 0;
}
.b03-reason dl dt {
  position: relative;
  border: solid 1px #cccccc;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 9px 80px 8px 60px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}
.b03-reason dl dt:after {
  position: absolute;
  content: '';
  background: url("../images/b03_arrow.png") no-repeat;
  background-size: 30px auto;
  width: 30px;
  height: 16px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.b03-reason dl dt.active:after {
  transform: translateY(-50%) rotate(180deg);
}
.b03-reason dl dt .num {
  width: 63px;
  height: 63px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 60px;
  border-radius: 50%;
  font-weight: normal;
  background: #f7f7f7;
  line-height: 1em;
  padding-top: 3px;
}
.b03-reason dl dt .num i {
  font-style: normal;
  transform: skewX(-8deg);
}
.b03-reason dl dt .sub-ttl {
  width: calc(100% - 63px);
  padding-left: 40px;
  font-size: 26px;
  color: #1f5c99;
  font-weight: bold;
}
.b03-reason dl dd {
  display: none;
  padding: 30px;
}
#perio .perio2 {
  background: url("../images/perio_bg.jpg") no-repeat bottom center #f7f7f7;
  padding: 0px 0 120px;
  margin-bottom: 44px;
}
#perio .perio_h3_1 {
  font-size: 56px;
  line-height: 1.4;
}
#perio .perio_h3_1 .comma {
  color: #1f5c99;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 100;
  font-size: 82px;
  position: relative;
  display: inline-block;
}
#perio .perio_h3_1 span.perio_h31_line {
  position: relative;
  z-index: 1;
}
#perio .perio_h3_1 span.perio_h31_line:after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  right: 15px;
  top: auto;
  height: 30px;
  background-color: #1f5c99;
  opacity: .2;
  bottom: 0px;
}
#perio .perio_h3_1 .perio_h31_line span {
  font-size: 78px;
  position: relative;
  color: #1f5c99;
}
#perio .perio_h3_1 .perio_h31_line span::before {
  content: '';
  display: inline-block;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background-color: #1f5c99;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -20px;
}
.perio_view_box {
  position: relative;
  z-index: 1;
  min-height: 529px;
  color: #FFF;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 100px;
}
.perio_view_box:after {
  content: '';
  position: absolute;
  width: 200vw;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  background: url("../images/perio_bg2.jpg") no-repeat top center #1f5c99;
  z-index: -1;
  height: 100%;
}
.perio_ttl1 {
  font-size: 40px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-weight: bold;
  line-height: 52px;
}
.perio_check li {
  line-height: 56px;
  font-weight: bold;
  font-size: 22px;
  padding-left: 52px;
  background: url("../images/check_yellow.png") no-repeat 0 10px;
}
#perio .perio4 {
  padding: 0 0 80px;
}
.perio4_ttl {
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-size: 36px;
  line-height: 1.444;
  font-weight: bold;
  margin-bottom: 32px;
}
.perio4_ttl span {
  font-size: 48px;
  color: #1f5c99;
}
.perio4_white {
  background-color: #FFF;
  max-width: 1000px;
  margin: -100px auto 0;
  position: relative;
  text-align: center;
  padding: 48px 50px;
}
.perio4_white_ttl {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 40px;
}
.perio4_white_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
.perio4_white_list li {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  width: calc((100% - 60px)/3);
  padding: 32px 20px 30px !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: solid 3px #1f5c99;
  position: relative;
}
.perio4_white_list li span {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  color: #1f5c99;
}
.perio4_white_list li a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.perio4_note {
  width: calc((100% - 60px)/3);
  margin-left: auto;
  margin-top: 8px;
  line-height: 1.8;
  font-size: 12px;
}
#perio .perio5 {
  padding: 0 0 80px;
}
.perio5 .perio3_ttl {
  margin-bottom: 40px;
}
.perio5_box dd {
  text-align: center;
  background-color: #f7f7f7;
  padding: 45px 40px 58px;
}
#perio .perio3 {
  padding: 0 0 80px;
}
.perio3_ttl {
  background-color: #1f5c99;
  text-align: center;
}
.perio3_ttl h4 {
  margin-bottom: 0;
  color: #FFF;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-weight: bold;
  font-size: 48px;
  padding: 62px 10px 61px;
}
.perio3_ttl h4 .f_sm {
  font-size: 75%;
}
.perio3_ttl h4 .f_nr {
  font-weight: normal;
}
.perio_ttl {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-weight: bold;
  font-size: 30px;
  text-align: center;
  color: #1f5c99;
  letter-spacing: 0;
}
.perio_flow {
  margin-bottom: 60px;
}
.under .perio_flow_ttl {
  font-size: 30px;
  font-weight: bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  line-height: 1.75;
  padding: 0;
  margin-bottom: 40px;
}
.perio_flow_ttl:after {
  content: '';
  height: 4px;
  width: 130px;
  background-color: #1f5c99;
  display: block;
  margin-top: 10px;
}
.perio_box {
  position: relative;
  min-height: 600px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.perio_box:nth-child(odd) .perio_photo {
  left: 50%;
}
.perio_box:nth-child(even) {
  align-items: flex-end;
}
.perio_box:nth-child(even) .perio_photo {
  right: 50%;
}
.perio_cont {
  width: 50%;
}
.perio_box:nth-child(odd) .perio_cont {
  padding-right: 60px;
}
.perio_box:nth-child(even) .perio_cont {
  padding-left: 60px;
}
.perio_photo {
  position: absolute;
  top: 0;
  width: 960px;
  height: 600px;
}
.txt-highlight {
  background: linear-gradient(0deg, #FFE700 0%, #FFE700 46%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  background-position: bottom 38px left;
  background-size: 56px 56px;
  display: inline;
}
.box_h5_corona {
  margin-bottom: 220px;
  position: relative;
  text-align: center;
}
.box_h5_corona a:hover {
  opacity: .95;
}
.perio_corona_photo {
  text-align: center;
  margin-bottom: 0;
}
div.peri0_corona_box {
  position: absolute;
  width: 80%;
  max-width: 900px;
  padding: 60px 50px !important;
  z-index: 2;
  background: linear-gradient(25deg, #1f5c99, rgba(31, 92, 153, 0.46));
  margin: 0 auto;
  color: #FFF;
  left: 50%;
  transform: translateX(-50%);
  bottom: -135px;
}
.under .box_h5_corona h5 {
  font-size: 30px;
}
.box_h5_2col {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.box_h5_2col .box_h5 {
  width: 48%;
}
.box_h5_2col .box_h5 dt {
  margin-bottom: 15px;
  text-align: center;
}
.box_h4_pay {
  background-color: #1f5c99;
  text-align: center;
  padding: 40px 30px;
  color: #FFF;
}
.under .box_h4_pay h4, .box_h4_pay h4 {
  color: #FFF;
  margin-bottom: 15px;
}
.over_pay {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.box_h4_pay.fix .over_pay {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 25px;
}
/*.over_pay dl {
  width: 24%;
  background-color: #FFF;
  color: #555;
  border: solid 2px #789DC2;
}*/
.over_pay dl {
  width: 32%;
  background-color: #FFF;
  color: #555;
  border: solid 2px #789DC2;
}
.box_h4_pay.fix .over_pay dl {
  width: 100%;
}
.over_pay dt {
  background-color: #789DC2;
  font-family: "游明朝", YuMincho;
  font-size: 20px;
  font-weight: bold;
  color: #FFF;
  position: relative;
  padding: 10px 50px 10px 10px;
  overflow: hidden;
}
.over_pay dt::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  right: -90px;
  background-color: #FFF;
  height: 100%;
  width: 50%;
  -moz-transform: skew(-45deg, 0deg);
  -webkit-transform: skew(-45deg, 0deg);
  -o-transform: skew(-45deg, 0deg);
  -ms-transform: skew(-45deg, 0deg);
  transform: skew(-45deg, 0deg);
}
.over_pay dt span {
  position: relative;
  z-index: 1;
}
.over_pay dd {
  padding: 20px 10px;
  font-size: 120%;
  line-height: 1.6;
  text-align: left;
  background-color: #FFF;
  position: relative;
  top: -1px;
}
.over_pay dd img {
  margin-bottom: 10px;
}
.over_pay dd .f_sm {
  font-size: 80%;
}
.box_h4_code {
  margin-top: 30px;
  padding: 30px 20px;
  background-color: rgba(255, 255, 255, .2);
  position: relative;
}
.box_h4_code * {
  font-family: "游明朝", YuMincho;
}
.box_h4_code a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.pay_qrcode {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.pay_qrcode figure {
  flex-shrink: 0;
  width: 137px;
}
.pay_qrcode dl {
  border: solid 1px #000;
  text-align: center;
  margin-left: 10px;
  display: flex;
  flex-direction: column;
}
.pay_qrcode dt {
  background-color: #000;
  color: #FFF;
  padding: 10px 20px;
  flex-shrink: 0;
}
.pay_link {
  font-size: 22px;
}
.pay_qrcode dd {
  flex: 1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  padding: 0 20px;
  letter-spacing: .2em
}
/*----------------------infectioncontrol------------------------------*/
#infectioncontrol #wrapper {
  max-width: 1920px;
  margin: 0 auto;
}
#infectioncontrol header {
  background-color: #FFF;
}
#infectioncontrol h2, #infectioncontrol h3, #infectioncontrol h4, #infectioncontrol h5, #infectioncontrol main section * {
  font-family: "游明朝", YuMincho;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
#infectioncontrol .mainvisual {
  background: url("../images/infectioncontrol_main.jpg") no-repeat top left;
  background-size: cover;
  height: 100vh;
  max-height: 1000px;
  padding: 80px 6.25% 20px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}
#infectioncontrol .mainvisual.mainvisual1 {
  background: url("../images/infectioncontrol_main1.jpg") no-repeat top left;
}
#infectioncontrol .mainvisual_in {
  max-width: 1040px;
  width: 65%;
  text-align: center;
}
.control_h2 {
  font-size: 60px;
  color: #1F5C99;
  line-height: 1.66;
  font-weight: bold;
  margin-bottom: 30px;
}
.control_h2 > span {
  background: linear-gradient(0deg, rgba(255, 231, 0, .5) 0%, rgba(255, 231, 0, .5) 28%, rgba(255, 255, 255, 0) 29%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 8px left;
  display: inline;
}
.control_h2 > span > span {
  position: relative;
}
.control_h2 > span > span::before {
  background-color: #1F5C99;
  content: '';
  height: 12px;
  width: 12px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control_catch {
  font-size: 25px;
  color: #555555;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 40px;
  font-family: "游明朝", YuMincho;
}
.control_catch span {
  display: inline;
  background: url("../images/line1.png") repeat-x left bottom;
}
.control_catch_box {
  margin: 0 auto 30px;
  position: relative;
}
.control_catch_box::before {
  content: '';
  background: url("../images/control_illust.png") no-repeat center/cover;
  height: 50px;
  width: 50px;
  position: absolute;
  left: 20px;
  top: 20px;
  z-index: 1;
}
.control_catch_box::after {
  content: '';
  background: url("../images/control_illust.png") no-repeat center/cover;
  height: 50px;
  width: 50px;
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 1;
}
.control_catch_cont {
  background: rgba(255, 255, 255, .8);
  border-radius: 25px;
  padding: 60px 35px;
  width: 100%;
  position: relative;
}
.control_catch_cont::before {
  content: '';
  background: url("../images/control_illust.png") no-repeat center/cover;
  height: 50px;
  width: 50px;
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 1;
}
.control_catch_cont::after {
  content: '';
  background: url("../images/control_illust.png") no-repeat center/cover;
  height: 50px;
  width: 50px;
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
}
.control_catch_box p {
  font-size: 30px;
  line-height: 1.6;
  font-weight: bold;
  font-family: "游明朝", YuMincho;
  margin: 0;
  text-align: center;
  color: #555555;
  letter-spacing: 0;
  position: relative;
}
.control_catch_box .catch1 {
  font-size: 35px;
  margin-bottom: 20px;
}
.control_catch_box .catch1 span {
  font-size: 180%;
  color: #1F5C99;
}
.control_catch_lst {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #FFE700;
  transform: translate(50%, -50%);
  border-radius: 50%;
  width: 140px;
  height: 140px;
  display: block;
}
.control_catch_lst span {
  font-size: 22px;
  font-weight: bold;
  color: #205c9a;
  font-family: "游明朝", YuMincho;
  width: 100%;
  height: 100%;
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.control_catch_lst span::after {
  content: '';
  position: absolute;
  border-right: solid 30px #FFE700;
  border-top: solid 10px transparent;
  border-bottom: solid 10px transparent;
  left: 2px;
  bottom: 2px;
  transform: rotate(-30deg);
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
  #infectioncontrol .mainvisual {
    padding-left: 2%;
    padding-right: 2%;
  }
  .control_h2 {
    font-size: 46px;
    line-height: 2;
    margin-bottom: 20px;
  }
  .control_catch {
    font-size: 36px;
    line-height: 1.5;
  }
  .control_catch_cont {
    padding: 30px 15px;
  }
  .control_catch_box::before {
    height: 25px;
    width: 25px;
  }
  .control_catch_box::after {
    height: 25px;
    width: 25px;
  }
  .control_catch_cont::before {
    height: 25px;
    width: 25px;
  }
  .control_catch_cont::after {
    height: 25px;
    width: 25px;
  }
  .control_catch_box p {
    font-size: 20px;
  }
  .control_catch_box .catch1 {
    font-size: 22px;
  }
  .control_catch {
    font-size: 18px;
    line-height: 2;
  }
  .control_catch span {
    background-position: left bottom;
  }
}
.control_h3 {
  text-align: center;
  font-weight: bold;
  font-size: 44px;
  line-height: 2;
  margin-bottom: 30px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control_h3 {
    font-size: 36px;
    line-height: 1.6;
  }
}
.control_h3 > span {
  font-size: 134%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 28%, rgba(255, 255, 255, 0) 29%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 5px left;
  display: inline;
}
.control_h3 > span > span {
  position: relative;
}
.control_h3 > span > span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control1_in {
  margin-top: 70px;
  background: url("../images/control1_bg.jpg") no-repeat top center/cover;
  padding: 40px 85px 80px;
  position: relative;
}
.control1.fixed {
  position: fixed;
  width: 100vw;
  top: 0;
  left: 0;
  height: 100vh;
  z-index: 9999;
  margin: 0 !important;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}
.control1.fixed .control1_in {
  margin-top: 0;
  padding: 40px;
}
.control1.fixed .control1_close {
  position: absolute;
  z-index: 99999;
  top: 10px;
  right: 10px;
  background-color: #1F5C99;
  width: 80px;
  height: 80px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
}
.control1.fixed .control1_close span {
  position: relative;
  transform: translateX(-24px);
}
.control1.fixed .control1_close span::before {
  content: '';
  background-color: #FFF;
  height: 1px;
  width: 50px;
  transform: rotate(45deg);
  display: inline-block;
  position: absolute;
  top: 0%;
  left: 0%;
}
.control1.fixed .control1_close span::after {
  content: '';
  background-color: #FFF;
  height: 1px;
  width: 50px;
  transform: rotate(-45deg);
  display: inline-block;
  position: absolute;
  top: 0%;
  left: 0%;
}
.control1 h3 {
  font-size: 45px;
  color: #1F5C99;
  text-align: center;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 30px;
}
.control1 h3 span {
  font-size: 134%;
}
.control1_lst {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.control1_l {
  flex: 1;
  padding-right: 25px;
}
.control_cir {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 30px;
}
.control_cir li {
  width: 200px;
  height: 200px;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(224, 224, 223, 1) 100%);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.16);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  font-size: 22px;
  line-height: 36px;
  color: #555;
  border-radius: 50%;
  margin: 10px;
}
.control1_l_text {
  font-weight: bold;
  font-size: 18px;
}
.control1_btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  position: relative;
  max-width: 800px;
}
.control1_btn li {
  width: 48%;
  margin: 1%;
  text-align: center;
}
.control1_btn_tel a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #1F5C99;
  background-color: rgba(255, 255, 255, 1);
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  font-size: 24px;
  border-radius: 100px;
  padding: 12px 20px 10px;
  line-height: 1.4;
}
.control1_btn_line a {
  display: flex;
  justify-content: center;
  color: #FFF;
  background-color: rgba(31, 92, 153, 1);
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  font-size: 24px;
  border-radius: 100px;
  padding: 12px 20px 10px;
  line-height: 1.4;
}
.control1_btn_contact a {
  display: flex;
  justify-content: center;
  color: #FFF;
  background-color: rgba(31, 92, 153, .8);
  font-family: "游明朝", YuMincho;
  font-weight: bold;
  font-size: 24px;
  border-radius: 100px;
  padding: 12px 20px 10px;
  line-height: 1.4;
}
.reser_note {
  margin-top: 10px;
  line-height: 1.6;
}
#infectioncontrol .reser_note {
  text-shadow: 3px 3px 2px rgba(255, 255, 255, 1), -4px 13px 17px rgba(255, 255, 255, 1), 6px -3px 9px rgba(255, 255, 255, 1), -17px 2px 4px rgba(255, 255, 255, 1);
}
.control1_r {
  width: 700px;
  flex-shrink: 0;
}
.control1_r a:hover dl {
  opacity: .9;
}
.control1_r dt {
  border: solid 1px #707070;
  margin-bottom: 20px;
}
.control1_r dd {
  text-align: center;
  background-color: #1F5C99;
  color: #FFF;
  font-family: "游明朝", YuMincho;
  font-size: 25px;
  font-weight: bold;
  padding: 14px;
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
  .control1 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .control1 h3 {
    line-height: 1.6;
    margin-bottom: 10px;
    font-size: 36px;
  }
  .control_cir {
    margin-bottom: 30px;
    margin-left: -10px;
  }
  .control_cir li {
    width: 140px;
    height: 140px;
    font-size: 20px;
    line-height: 30px;
    margin-left: 10px;
  }
  .control1_l {
    width: 600px;
    flex: auto;
  }
  .control1_l_text {
    font-size: 16px;
    line-height: 28px;
  }
  .control1_btn_tel a {
    font-size: 32px;
    line-height: 1;
    padding-top: 17px;
    padding-bottom: 15px;
  }
  .control1_btn_tel a::before {
    width: 32px;
    height: 32px;
  }
  .control1_r {
    width: 40%;
  }
  .control1_r dd {
    font-size: 20px;
  }
  .control1.fixed h3 {
    font-size: 26px;
  }
  .control1.fixed .control1_btn {
    display: block;
    margin: 0 auto;
    max-width: 450px;
  }
  .control1.fixed .control1_btn li {
    width: 100%;
  }
}
.control2 {
  background-color: #205c9a;
  text-align: center;
  position: relative;
}
.control2_cont {
  width: 60%;
  text-align: center;
  padding: 3%;
}
.control2_cont h3 {
  text-align: center;
  font-size: 32px;
  line-height: 1.6;
  font-weight: bold;
  color: #FFF;
  margin-bottom: 10px;
}
.control2_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 70%;
  margin: 0 auto;
}
.control2_list li {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #205c9a;
  margin: 20px 0;
  border-radius: 15px;
  padding: 15px 35px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control2_cont h3 {
    font-size: 28px;
  }
  .control2_cont h3 .sp {
    display: block;
  }
  .control2_list li {
    font-size: 16px;
  }
}
.control2_list1 li {
  background-color: #FFF;
}
.control2_list2 li {
  background-color: #FFE700;
}
.control2_photo {
  width: 40%;
  height: 100%;
  background: url("../images/control2_img.jpg") no-repeat center;
  background-size: cover;
  top: 0;
  right: 0;
  position: absolute;
}
.control3 {
  background-color: #F1F1F1;
  border-radius: 10px;
  max-width: 1200px;
  margin: 70px auto 50px;
  padding: 60px 40px;
}
.control3 h4 {
  color: #1F5C99;
  font-size: 25px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
}
.control3 p {
  font-size: 18px;
  line-height: 30px;
}
.control3_photo {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
.control3_photo dl {
  width: 48%;
}
.control3_photo dt {
  font-size: 100%;
  text-align: center;
  margin-bottom: 10px;
}
.control3_photo dt span {
  font-size: 220%;
  color: #1F5C99;
  border-radius: 20px;
  padding: 8px 10px;
  background-color: #FFE700;
  width: 60%;
  display: inline-block;
}
.control3_photo ul {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
}
.control3_photo ul li {
  margin: 0 1%;
  text-align: center;
}
.control3 .control3_photo_cap {
  text-align: center;
  background-color: rgba(31, 92, 153, .2);
  border-radius: 20px;
  padding: 8px 40px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control3 .control3_photo_cap {
    padding: 8px 10px;
  }
}
.control_ttl1 {
  background: url("../images/control_bg1.png") no-repeat center bottom;
  text-align: center;
  margin-bottom: 3%;
}
.control_ttl1 h3 {
  font-size: 34px;
  line-height: 1.6;
  color: #FFF;
  font-weight: bold;
  padding: 4% 1% 6%;
}
.control12 {
  padding: 50px 0 0;
  position: relative;
}
.control12 .control_ttl4 h4 {
  margin-bottom: 0;
}
.control_ttl4 .control5_h4 span {
  background: none;
}
.control_ttl4 {
  position: relative;
  margin-bottom: 100px;
}
.control_ttl4::after {
  content: '';
  background: url("../images/arrow1.png") no-repeat center;
  width: 102px;
  height: 119px;
  display: block;
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: -100px;
  transform: translateX(-50%);
}
.control12 h4 {
  font-size: 40px;
  font-weight: bold;
  margin: 0 0 1.4em;
  line-height: 1.43;
  letter-spacing: 0;
  text-align: center;
}
.control12 h4 .f_lg {
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 5px left;
  display: inline;
}
.control12 h4 .f_lg span {
  position: relative;
}
.control12 h4 .f_lg span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control12_text {
  padding-bottom: 50px;
  text-align: center;
}
.control12_text p {
  font-size: 200%;
  letter-spacing: 0;
}
.control12_ttl {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
  line-height: 1.6;
}
.control12_ttl span {
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 28%, rgba(255, 255, 255, 0) 29%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 2px left;
  display: inline;
}
.control4 {
  padding: 150px 0 100px;
  position: relative;
}
.control4_ttl {
  background-color: rgba(31, 92, 153, 0.75);
  width: 70.42%;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  padding: 5.5% 1%;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control4 {
    padding: 2vw 0 1vw;
    position: relative;
  }
  .control4_ttl {
    padding-top: 2.5%;
    padding-bottom: 2.5%;
    position: relative;
    margin-left: auto;
    width: 85%;
  }
  .control4_cont {
    margin-top: -1%;
  }
}
.control4_ttl p {
  font-size: 44px;
  line-height: 2.2;
  color: #FFF;
  font-weight: bold;
  margin-bottom: 0;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control4_ttl p {
    font-size: 36px;
    line-height: 2;
  }
}
.control4_ttl .f_lg {
  font-size: 132%;
}
.control4_ttl .f_bor {
  font-size: 132%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 28%, rgba(255, 255, 255, 0) 29%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 5px left;
  display: inline;
}
.control4_ttl .f_bor span {
  position: relative;
}
.control4_ttl .f_bor span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control4_cont {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.control4_photo {
  width: 56.075%;
  text-align: right;
}
div.control4_text {
  width: 43.925%;
  max-width: 920px;
  margin-bottom: 1% !important;
  padding-right: 6.25%;
  padding-left: 3.64%;
}
div.control4_text p {
  font-size: 18px;
}
.control5 {
  padding: 50px 6.25% 140px;
}
.control5 h3 {
  font-size: 44px;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  margin-bottom: 50px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control5 h3 {
    font-size: 32px;
    line-height: 1.6;
    margin-bottom: 30px;
  }
}
.control5_bnr {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 67px;
}
.control5_bnr li {
  width: 21.8vw;
  height: 9.1vw;
  max-height: 174px;
  max-width: 418px;
  border: solid 2px #1F5C99;
  margin: 0 1.8%;
  color: #1F5C99;
  font-size: 40px;
  line-height: 1.33;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control5_bnr li {
    font-size: 26px;
  }
}
.control5_photo1 {
  text-align: center;
  margin-bottom: 95px;
}
.control5_h4 {
  font-size: 320%;
  line-height: 1.6;
  font-weight: bold;
  text-align: center;
  flex: 1;
  margin-bottom: 1em;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control5_h4 {
    font-size: 280%;
  }
}
.control5_h4 span {
  font-size: 120%;
  color: #1F5C99;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 28%, rgba(255, 255, 255, 0) 29%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 5px left;
  display: inline;
}
.control5_text {
  text-align: center;
  font-size: 200%;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 40px;
}
.control5_text .f_bor {
  background: url("../images/line.png") repeat-x center bottom;
}
.control5_photo2 {
  text-align: center;
  border: solid 10px #1F5C99;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.control5_photo2 figure {
  width: 40%;
  flex-shrink: 0;
}
.control5_box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
}
.control5_movie {
  text-align: center;
  width: 50%;
  flex-shrink: 0;
}
.control5_cont {
  text-align: center;
}
.control6 {
  padding: 5% 6.25% 0 6.25%;
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
}
.control6::before {
  position: absolute;
  z-index: -5;
  background-color: #1F5C99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: '';
}
.control6 h3 {
  color: #FFF;
  font-size: 44px;
  font-weight: bold;
  margin: 3% 0 1%;
  line-height: 1.34;
  padding-left: 16%;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control6 h3 {
    font-size: 36px;
  }
}
.control6 h3 .f_lg {
  font-size: 178%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 12px left;
  display: inline;
}
.control6 h3 .f_lg span {
  position: relative;
}
.control6 h3 .f_lg span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control6_photo {
  width: 47%;
  max-width: 645px;
  height: auto;
}
.control6_in {
  position: absolute;
  top: 0;
  left: 9%;
  z-index: -1;
  width: 100%;
}
.control6_box {
  background-image: url("../images/shape1.svg");
  background-repeat: no-repeat;
  background-size: cover;
  max-width: 1314px;
  max-height: 712px;
  padding: 0 0 0 10%;
  width: 80%;
  height: 62vw;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.control_check li {
  color: #1F5C99;
  font-weight: bold;
  line-height: 1.5;
  font-size: 30px;
  margin: 20px 0;
  position: relative;
  padding: 15px 0 15px 100px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control_check li {
    font-size: 22px;
    margin: 10px 0;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.control_check li span {
  font-size: 150%;
}
.control_check li::before {
  display: inline-block;
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74.694' height='60' viewBox='0 0 74.694 60'%3E%3Cg id='Group_61' data-name='Group 61' transform='translate(-413 -6674.25)'%3E%3Cpath id='Union_18' data-name='Union 18' d='M-1990,60V0h60V10h-50V50h40V35h10V60Z' transform='translate(2403 6674.25)' fill='%231f5c99'/%3E%3Cpath id='Union_16' data-name='Union 16' d='M-1961.492,52.809l-.224.224L-1990,24.749l7.071-7.071,21.437,21.437L-1922.377,0l7.07,7.071-45.961,45.962Z' transform='translate(2403 6674.733)' fill='%23ffe700'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 75px;
  height: 60px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control6 {
    padding: 5% 0 0;
  }
  .control6_in {
    left: 0;
    width: 80%;
  }
  .control6_box {
    width: 85vw;
    height: 47vw;
    padding-left: 15%;
  }
  .control_check li {
    padding-left: 50px;
    margin: 1% 0;
  }
  .control_check li::before {
    width: 35px;
    height: 30px;
  }
  .control6_photo {
    width: 41%;
  }
}
.control7 {
  padding: 2% 6.25% 0 6.25%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.control7 h3 {
  font-size: 40px;
  font-weight: bold;
  margin: 1.8em 0 1.4em;
  line-height: 1.43;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control7 h3 {
    font-size: 30px;
  }
}
.control7 h3 .f_lg {
  font-size: 190%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 12px left;
  display: inline;
}
.control7 h3 .f_lg span {
  position: relative;
}
.control7 h3 .f_lg span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
div.control7_in {
  max-width: 1120px;
  width: 80%;
  margin-bottom: 2% !important;
}
.control7_box {
  border: solid 5px #1F5C99;
  background-color: #FFF;
  padding: 0 3%;
  border-radius: 20px;
}
.control_ttl2 {
  background: url("../images/control_bg2.png") no-repeat center bottom;
  text-align: center;
}
.control_ttl2 .h3_ttl1 {
  padding: 3% 1% 5%;
}
.control_ttl2 .h3_ttl1 > span {
  font-size: 44px;
  display: inline-block;
  line-height: 1.6;
  color: #FFF;
  font-weight: bold;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control_ttl2 .h3_ttl1 > span {
    font-size: 30px;
  }
}
.control_ttl2 .h3_ttl1 .f_lg {
  font-size: 144%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 7px left;
  display: inline;
}
.control_ttl2 .h3_ttl1 .f_lg span {
  position: relative;
}
.control_ttl2 .h3_ttl1 .f_lg span::before {
  background-color: #FFE700;
  content: '';
  height: 10px;
  width: 10px;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.control8 {
  background-color: rgba(31, 92, 153, .2);
  padding: 5% 0;
}
.control8 h4 {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  line-height: 2;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control8 h4 {
    font-size: 30px;
  }
}
.control8 h4 .f_lg {
  font-size: 150%;
}
.control8 h4 .f_bor {
  font-size: 150%;
  background: linear-gradient(0deg, rgba(255, 232, 0, .5) 0%, rgba(255, 232, 0, .5) 20%, rgba(255, 255, 255, 0) 21%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  background-position: bottom 7px left;
  display: inline;
}
.control8_in {
  width: 87.5%;
  margin: 0 auto;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control8_in {
    width: 98%;
  }
}
.control8_flow_item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 4% 0;
}
.control8_photo {
  margin-left: 3%;
  max-width: 600px;
}
.control8_flow_item dl {
  max-width: 970px;
  width: 60%;
  padding-left: 2%;
  position: relative;
  z-index: 1;
}
.control8_flow_item:nth-child(even) .control8_photo {
  order: 2;
  margin-left: 0;
  margin-right: 3%;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control8_flow_item:nth-child(even) .control8_photo {
    margin-right: 0%;
  }
}
.control8_flow_item:nth-child(even) dl {
  order: 1;
  padding-left: 0%;
  padding-right: 2%;
}
.control_num {
  background-color: #D2DEEB;
  width: 195px;
  height: 195px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  font-size: 120px;
  font-weight: bold;
  margin: 0;
  border-radius: 50%;
  top: -28px;
  left: -18px;
  position: absolute;
  color: #1F5C99;
  justify-content: center;
  align-items: center;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control8_flow_item {
    padding: 5% 0;
  }
  .control_num {
    width: 100px;
    height: 100px;
    font-size: 60px;
    top: -10px;
    left: 0;
  }
}
.control8_flow dt {
  color: #1F5C99;
  font-size: 44px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 2%;
}
.control8_flow dd {
  font-size: 180%;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control8_flow dt {
    font-size: 30px;
  }
  .control8_flow dd {
    font-size: 160%;
  }
}
.control_contact {
  background-image: url("../images/control_contact_bg.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 40px 0;
}
div.control_contact_in {
  max-width: 1200px;
  margin: 0 auto;
  background-color: rgba(31, 92, 153, .5);
  padding: 80px !important;
  text-align: center;
}
.control_contact_in h3 {
  margin-bottom: 40px;
}
.control_contact_in h3 .en {
  display: block;
  color: #FFE700;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 15px;
}
.control_contact_in h3 .jp {
  display: block;
  color: #FFF;
  font-weight: bold;
  font-size: 48px;
}
.control_contact_text {
  max-width: 890px;
  margin: 0 auto 40px;
}
.control_contact_text p {
  font-weight: bold;
  line-height: 30px;
  font-size: 18px;
  color: #FFF;
  letter-spacing: 0;
}
.control_reser_btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.control_reser_btn li {
  margin: 1%;
  width: 48%;
  max-width: 600px;
}
.control_reser_btn li a {
  background-color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  width: 100%;
  padding: 20px;
  line-height: 1.6;
  font-size: 22px;
}
.control_reser_btn li.control_reser_contact a {
  background-color: #1f5c99;
  color: #FFF;
}
.control_reser_btn li.control_reser_line a {
  background-color: #1f5c99;
  color: #FFF;
}
.control_reser_btn li .ctel {
  font-weight: bold;
  color: #1F5C99;
}
.control_reser_note {
  color: #FFF;
  margin-top: 10px;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {}
.control_ttl3 {
  text-align: center;
  background-color: #1F5C99;
  padding: 2.12% 1.1%;
}
.control_ttl3 h3 {
  font-size: 40px;
  color: #FFF;
  font-weight: bold;
  line-height: 1.6;
}
.control9 {
  padding: 0;
  margin-top: -20px;
}
.control9_in {
  position: relative;
  min-height: 690px;
  padding-left: 36.25%;
  padding-right: 24%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.control9_in::before {
  content: '';
  display: block;
  background: url("../images/control9_before.png") no-repeat 0 0;
  top: 0;
  left: 0;
  width: 762px;
  height: 690px;
  z-index: -1;
  position: absolute;
}
.control9_in::after {
  content: '';
  display: block;
  background: url("../images/control9_after.png") no-repeat 0 0;
  bottom: 0;
  right: 0;
  width: 350px;
  height: 560px;
  z-index: -1;
  position: absolute;
}
.control9_cont dl:not(:last-child) {
  margin-bottom: 3%;
}
.control9_cont dt {
  font-size: 34px;
  color: #1F5C99;
  margin-bottom: 2%;
  font-weight: bold;
}
.control9_cont dd {
  font-size: 18px;
  font-weight: bold;
  line-height: 30px;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  div.control9_cont {
    background-color: rgba(255, 255, 255, .8);
    padding: 5% !important;
    border-radius: 5%;
  }
}
.control10 {
  padding: 40px 0 0;
}
.control10_head {
  padding: 0 6.25%;
}
.control10 h3 {
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  line-height: 2;
  margin-bottom: 5%;
}
.control10 h3 span {
  font-size: 150%;
  color: #1F5C99;
}
@media screen and (min-width: 751px) and (max-width: 1440px) {
  .control10 h3 {
    font-size: 22px;
  }
}
.control10_list {
  padding: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.control10_item {
  width: 32%;
  max-width: 100%;
  background-color: #F1F1F1;
  border-radius: 45px;
  overflow: hidden;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
}
.control10_item figure {
  flex-shrink: 0;
}
.control10_item dl {
  padding: 8% !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.control10_item dt {
  font-weight: bold;
  color: #1F5C99;
  line-height: 1.5;
  font-size: 20px;
  margin-bottom: 5%;
}
.control10_item dd {
  line-height: 30px;
  font-size: 180%;
}
div.control11_in {
  max-width: 1200px;
  margin: -9% auto 0;
  background-color: #F9F9F9;
  border-radius: 50px;
  position: relative;
  padding: 3% !important;
}
.control11_in h4 {
  text-align: center;
  font-weight: bold;
  font-size: 40px;
  line-height: 1.6;
  margin-bottom: 2.4%;
}
.control13 {
  background: url("../images/control13_bg.jpg") no-repeat top center;
  background-size: cover;
  padding: 5% 0;
}
.control13_in {
  width: 87.5%;
  margin: 0% auto;
  padding: 0 10px;
}
.control13 h3 {
  font-weight: bold;
  text-align: center;
  font-size: 40px;
  line-height: 1.6;
  margin-bottom: 1em;
}
.control13 h3 span {
  font-size: 149%;
  color: #1F5C99;
}
.control13 p {
  font-size: 30px;
  line-height: 1.5;
}
@media screen and (min-width: 751px) and (max-width: 1680px) {
  .control13 h3 {
    font-size: 30px;
    margin-bottom: .5em;
  }
  .control13 p {
    font-size: 200%;
    line-height: 1.8;
  }
}
.control14 {
  padding: 5% 0;
}
.under .box_h4_pay h4, .box_h4_pay h4 {
  font-size: 400%;
  line-height: 1.6;
  margin-bottom: 40px;
  font-weight: bold;
  position: relative;
}
.box_h4_pay h4::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 10px;
  width: 250px;
  background-color: #789DC2;
  border-radius: 5px;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}
.box_pay_text {
  font-size: 200%;
  line-height: 1.8;
}
.control15 {
  padding-bottom: 100px;
}
.control_lst {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}
.control_lst dl {
  width: 50%;
  border: solid 1px #cccccc;
}
.control_lst dl:first-child {
  border-right: none;
}
.control_lst dt {
  text-align: center;
  background-color: #D2DEEB;
  padding: 30px 10px;
  border-bottom: solid 1px #cccccc;
  font-size: 20px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  min-height: 215px;
  flex-direction: column;
}
@media screen and (min-width:751px) and (max-width: 1600px) {
  .control_lst dt {
    font-size: 18px;
  }
}
.control_lst dd {
  text-align: center;
  padding: 30px 10px;
}
.root_tbl th, .root_tbl td {
  font-size: 220%;
}
.root_tbl th .note {
  font-size: 15px;
}
.root_tbl1 th {
  background-color: #f7f7f7;
}
.over1 {
  background-color: #f7f7f7;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
}
.over1_lst {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: 1px;
}
.over1_lst li {
  width: calc(100%/3);
  position: relative;
  background-color: rgba(120, 157, 194, 0.1);
  border: solid 1px #FFF;
  margin-left: -1px;
  margin-top: -1px;
}
.over1_lst li:nth-child(2n + 2) {
  background-color: rgba(120, 157, 194, 0.2);
}
.over1_lst li a {
  display: block;
  padding: 5% 2%;
  position: relative;
}
.over1_lst li a::after {
  transition: all 0.5s ease;
  content: '';
  background-color: rgba(255, 255, 255, .5);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  width: 0;
  height: 0;
}
.over1_lst li a:hover::after {
  width: 100%;
  height: 100%;
}
.over1_icon img {
  max-width: 140px;
  height: auto;
  position: relative;
  z-index: 1;
}
.over1_text {
  color: #888888;
  font-family: "游明朝", YuMincho;
  line-height: 1.6;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.over1_text .sm {
  font-size: 20px;
}
.over1_text .lg {
  font-size: 24px;
}
.box_content {
  border: 1px solid #e4e0d8;
  padding: 50px 80px;
  margin-bottom: 60px;
  background-color: #f7f7f7;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.ttl_anchor {
  font-size: 24px;
  color: #1f5c99;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  text-align: center;
  font-weight: 600;
  position: relative
}
.ttl_anchor:after {
  position: absolute;
  content: '';
  width: 30px;
  height: 2px;
  background: #1f5c99;
  right: calc(50% - 110px);
  top: calc(50% - 1px)
}
.ttl_anchor:before {
  position: absolute;
  content: '';
  width: 30px;
  height: 2px;
  background: #1f5c99;
  left: calc(50% - 110px);
  top: calc(50% - 1px)
}
.list_circle li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
}
.list_circle li a {
  color: #1f5c99;
  text-decoration: underline;
}
.list_circle li a:hover {
  text-decoration: none;
}
.list_circle li::before {
  width: 6px;
  height: 6px;
  position: absolute;
  content: '';
  border-radius: 50%;
  background: #1f5c99;
  left: 0;
  top: 13px;
}
.faq_item {
  border: solid 1px #1f5c99;
  margin-bottom: 40px;
}
.faq_item dt {
  background-color: #1f5c99;
  color: #FFF;
  padding: 8px 20px 8px 66px;
  position: relative;
}
.faq_item dt::before {
  content: 'Q.';
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-size: 32px;
  color: #FFE700;
  position: absolute;
  top: 8px;
  left: 20px;
}
.faq_item dd {
  padding: 20px 20px 20px 66px;
  position: relative;
}
.faq_item dd::before {
  content: 'A.';
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-size: 32px;
  color: #1f5c99;
  position: absolute;
  top: 20px;
  left: 20px;
}
.f_min {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
}
.pop1 {
  display: none;
  transition: ease 0.6s;
}
.pop1.fixed {
  position: fixed;
  width: 100vw;
  top: 0;
  left: 0;
  height: 100vh;
  z-index: 9999;
  margin: 0 !important;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pop1.fixed .pop1-in {
  margin: 0;
  padding: 80px;
  max-width: 800px;
  background-color: #FFF;
  position: relative;
}
.pop1.fixed .control1_close {
  position: absolute;
  z-index: 99999;
  top: 10px;
  right: 10px;
  background-color: #1F5C99;
  width: 50px;
  height: 50px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
}
.pop1.fixed .control1_close span {
  position: relative;
  transform: translateX(-15px);
}
.pop1.fixed .control1_close span::before {
  content: '';
  background-color: #FFF;
  height: 1px;
  width: 30px;
  transform: rotate(45deg);
  display: inline-block;
  position: absolute;
  top: 0%;
  left: 0%;
}
.pop1.fixed .control1_close span::after {
  content: '';
  background-color: #FFF;
  height: 1px;
  width: 30px;
  transform: rotate(-45deg);
  display: inline-block;
  position: absolute;
  top: 0%;
  left: 0%;
}
.pop1-ttl {
  text-align: center;
  font-size: 30px;
  line-height: 1.6;
  color: #1f5c99;
  margin-bottom: 10px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-weight: bold;
}
.pop1-lst li {
  padding: 8px 0;
}
.pop1-lst a {
  color: #1f5c99;
  font-size: 18px;
  line-height: 1.8;
  position: relative;
  padding-left: 15px;
  display: block;
}
.pop1-lst a:hover {
  text-decoration: underline;
}
.pop1-lst a::before {
  content: '';
  border-left: solid 5px #1f5c99;
  border-top: solid 5px transparent;
  border-bottom: solid 5px transparent;
  left: 0;
  top: 12px;
  position: absolute;
}
#root.under .mainvisual {
  background: url("../images/root_h2_bg.jpg") no-repeat bottom center;
}
#root.under .mainvisual .inner {
  justify-content: flex-start;
  flex-direction: row;
}
#root.under h2 {
  padding-left: 0;
  color: #1f5c99;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0px;
  line-height: 1.8;
  text-align: center;
}
#root.under h2 .h2_lg {
  font-size: 46px;
}
#root.under h2 .h2_sm {
  font-size: 36px;
}
#general.under .mainvisual {
  background: url("../images/general_h2_bg.jpg") no-repeat bottom center;
}
#general.under .mainvisual .inner {
  justify-content: flex-start;
  flex-direction: row;
}
#general.under h2 {
  padding-left: 0;
  color: #1f5c99;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0px;
  line-height: 2;
  text-align: center;
}
#general.under h2 .h2_lg {
  font-size: 40px;
  line-height: 1.4;
}
#general.under h2 .h2_sm {
  font-size: 30px;
}
#bridge.under .mainvisual {
  background: url("../images/bridge_key.jpg") no-repeat bottom center;
}
#bridge.under .mainvisual .inner {
  justify-content: flex-start;
  flex-direction: row;
}
#bridge.under h2 {
  padding-left: 0;
  color: #1f5c99;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0px;
  line-height: 2;
  text-align: center;
}
#bridge.under h2 .h2_lg {
  font-size: 52px;
  line-height: 1.6;
}
#bridge.under h2 .h2_sm {
  font-size: 30px;
}
#whitening.under .mainvisual {
  background: url("../images/whitening_h2_bg.jpg") no-repeat bottom center;
}
#whitening.under .mainvisual .inner {
  justify-content: flex-start;
  flex-direction: row;
}
#whitening.under h2 {
  padding-left: 0;
  color: #1f5c99;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0px;
  line-height: 1.8;
  text-align: center;
}
#whitening.under h2 .h2_lg {
  font-size: 46px;
}
#whitening.under h2 .h2_sm {
  font-size: 36px;
}
.under .box_h5_wrap h6 {
  background-color: #FFF;
}
.box_h5_wrap {
  background-color: rgba(120, 157, 194, 0.1);
  border: solid 1px rgba(120, 157, 194, 0.2);
  padding: 50px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin: 0 auto 30px;
}
.img-2col {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-left: -30px;
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.img-2col li {
  width: calc(100%/2 - 30px);
  text-align: center;
  margin-left: 30px;
  margin-bottom: 30px;
}
.recruit_bnr1 a:hover img {
  opacity: .9;
}
.tbl_fixed {
  table-layout: fixed;
}
.under .mb0 {
  margin-bottom: 0;
}
.list_search_ttl {
  border-radius: 30px;
  background-color: #1f5c99;
  text-align: center;
  color: #FFF;
  display: block;
  padding: 14px 20px;
  width: 96%;
  max-width: 400px;
  margin: 0 auto 30px;
  position: relative;
  cursor: pointer;
}
.list_search_ttl::after {
  content: '';
  display: inline-block;
  height: 6px;
  width: 6px;
  border-right: solid 1px #FFF;
  border-bottom: solid 1px #FFF;
  position: absolute;
  left: 50%;
  bottom: 5px;
  -webkit-transform: rotate(45deg) translateX(-50%);
  -ms-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
}
.list_search_ttl.active {
  opacity: .9;
}
.list_search_ttl.active::after {
  bottom: 2px;
}
.list_box_search {
  display: none;
  position: relative;
  padding: 30px 0;
  background-color: #f7f7f7;
  margin-bottom: 30px;
}
.list_box_search::before {
  display: block;
  content: '';
  position: absolute;
  left: 50%;
  top: -50px;
  width: 0;
  height: 0;
  margin: 0 0 0 -25px;
  border: 25px solid transparent;
  border-bottom-color: #f7f7f7;
  z-index: 1;
}
.title02 {
  color: #1f5c99;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 18px;
}
.list_link {
  margin-bottom: 30px;
}
.list_link li {
  position: relative;
  float: left;
  margin: 0 5px 5px 0;
}
.list_link.list_link03 {
  margin-bottom: 0;
}
.list_link a {
  position: relative;
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  line-height: 1;
  color: #FFF;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.list_link a:hover {
  opacity: .8;
}
.list_link01 a {
  background-color: #1f5c99;
}
.list_link02 a {
  background-color: #6087C6;
}
.list_link03 a {
  background-color: #2E75B6;
}
/*=======================WORDPRESS ADMIN LOGED IN========================*/
.customize-support header {
  margin-top: 32px;
}
@media screen and (max-width: 782px) {
  .customize-support header {
    margin-top: 46px !important;
  }
}
@media screen and (max-width: 600px) {
  .customize-support header {
    margin-top: 0px !important;
  }
}
/*=======================WORDPRESS PAGINATIOB========================*/
.wp-pagenavi {
  text-align: center;
  display: flex;
  justify-content: center;
  margin: 30px auto 0;
}
.wp-pagenavi LI {
  display: inline-block;
  margin-bottom: 10px;
}
.wp-pagenavi a, .wp-pagenavi span {
  Padding: 6px 12px 4px;
  text-decoration: none;
  display: block;
  color: #fff;
  background: #1f5c99;
  line-height: 26px;
  border-radius: 3px;
  font-size: 16px;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi a:hover, .wp-pagenavi span:hover, .wp-pagenavi .current {
  background: #071233;
  color: #fff;
  cursor: pointer;
}
.wp-pagenavi .current {
  background: #071233;
  color: #fff;
}
.column-btn li.hidden {
  display: none;
}
.list_item a .cat {
  padding-top: 2px;
}
.list_item a .title {
  position: relative;
  top: 5px;
}
.notice_cont img {
  margin: 0 auto;
  max-width: 100% !important;
  max-height: 600px;
  width: auto;
  height: auto;
}
.column-btn a {
  padding: 11px 25px 9px;
}
/* Fix Images won’t align in WordPress editor  */
img.centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
img.alignright {
  padding: 4px;
  margin: 0 0 2px 7px;
  display: inline;
}
img.alignleft {
  padding: 4px;
  margin: 0 7px 2px 0;
  display: inline;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}
.customize-support .anchor_link {
  margin: 0 0 50px;
  flex-wrap: wrap;
}
.customize-support .anchor_link li {
  margin: 5px;
}
.list_category_child {
  width: 100%;
  display: block;
  padding-top: 10px;
}
.customize-support .anchor_link li .list_category_child li {
  width: 100%;
  margin: 0 0 5px 0;
}
.customize-support .anchor_link li .list_category_child a {
  background-color: #6087C6;
}
.customize-support .anchor_link li .list_category_child a::after {
  left: auto;
  right: 15px;
  top: 50%;
  transform: rotate(-45deg) translateY(-50%);
}
.title-zone {
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: bold;
  background: #f2f2f2;
  padding: 15px;
  margin: 40px 0;
}
.case_box .title-zone {
  font-size: 30px;
}
.shorei {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.shorei .photo {
  width: 45%;
  margin: 15px 10px;
}
.shorei .photo p.ti {
  font-size: 18px;
  text-align: center;
  width: 100%;
  margin-bottom: 10px;
}
table.normal th {
  font-weight: bold;
  text-align: left;
  width: 40%;
  color: inherit;
}
table.normal td {
  vertical-align: middle;
  padding: 20px;
  line-height: 1.8;
}
.root-item {
  display: flex;
  justify-content: space-between;
}
.root-inner {
  width: 46%;
}
.head-title {
  font-size: 18px;
  font-weight: bold;
}
.head-title span {
  font-size: 14px;
}
main .root-inner table th, main .root-inner table td {
  border: 0;
  padding: 10px 0;
  color: inherit;
}
main .root-inner table th {
  font-weight: bold;
  width: 30%;
  vertical-align: baseline;
}
.note-table {
  margin-top: 15px;
}
.note-table span {
  text-decoration: underline;
}
.txt-bold {
  font-weight: bold;
}
#index .index1_contact.box_contact_cus {
  background: #fff;
  text-align: center;
  border-radius: 10px;
  position: relative;
  margin-bottom: 30px;
  margin-top: 110px;
}
#index .index1_contact .index1_contact_wrapper {
  border: 1px solid #1f5c99;
  border-radius: 10px;
  padding: 14px 14px 40px;
  position: relative;
}
#index .index1_contact .index1_contact_ttl {
  font-size: 20px;
  color: #1f5c99;
  font-weight: bold;
  margin-bottom: 10px;
}
#index .index1_contact .index1_contact_cnt {
  line-height: 1.8;
  margin-bottom: 15px;
}
#index .index1_contact .index1_contact_cnt span {
  color: #1f5c99;
}
#index .index1_contact .index1_contact_note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
#index .index1_contact .index1_contact_note li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 5px;
}
#index .index1_contact .index1_contact_note li span.index1_contact_note_ttl {
  width: 80px;
  text-align: center;
  background: #1f5c99;
  border-radius: 10px;
  margin-right: 10px;
  color: #fff;
  font-size: 12px;
}
.none_1420 {
  display: none;
}
#index .index1_contact .index1_contact_note li p.index1_contact_note_cnt {
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
}
#index .index1_contact .index1_contact_btn {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  border-radius: 50px;
  line-height: 1.5;
  max-width: 350px;
  width: 100%;
  font-size: 12px;
  background: #fff;
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
}
#index .index1_contact .index1_contact_btn a {
  color: #1f5c99;
  width: 100%;
  display: block;
  padding: 8px 0;
  position: relative;
  z-index: 2;
}
#index .index1_contact .index1_contact_btn a span {
  font-size: 16px;
  font-weight: bold;
}
/* 230421 */
.img_group {
  display: flex;
  justify-content: space-evenly;
}
.img_group p {
  width: calc(100%/2 - 20px);
}
/* 230421 */
@media screen and (max-width: 481px) {
  #index .index1_contact .index1_contact_note {
    flex-direction: column;
  }
  #index .index1_contact .index1_contact_note li span.index1_contact_note_ttl {
    width: 28%;
  }
  #index .index1_contact .index1_contact_note li {
    justify-content: flex-start;
  }
  #index .index1_contact .index1_contact_note_cnt {
    margin-bottom: 0;
  }
  #index .index1_contact .index1_contact_note li:last-child {
    margin-bottom: 15px;
  }
  /* 230421 */
  .img_group {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
  }
  .img_group p {
    width: 100%;
  }
  /* 230421 */
}
.white_box {
  border: solid 1px #1f5c99;
  padding: 25px 40px;
  color: #1f5c99;
}
.btn_flow a {
  border-radius: 30px;
  padding: 10px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1f5c99;
  margin: 20px auto;
  max-width: 500px;
  font-weight: bold;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}
.btn_flow a:hover {
  opacity: .9
}
@media screen and (max-width: 340px) {
  .btn_flow a {
    font-size: 13px;
    margin: 20px auto 30px;
  }
}
.box_think {
  /*display: flex;
	flex-wrap: wrap;
	justify-content: space-between;*/
  margin-bottom: 30px;
}
.box_think li {
  border-radius: 30px;
  /*width: 49%;*/
  margin: auto;
  width: 80%;
  margin-bottom: 20px;
  padding: 8px 20px;
  background: #1f5c99;
  color: #fff;
  text-align: center;
}
.large_bold {
  font-size: 18px;
  font-weight: bold;
}
.box_radius {
  padding: 10px 20px;
  max-width: 750px;
  background: #1f5c99;
  margin: 0 auto;
  font-weight: bold;
  color: #fff;
  font-size: 18px;
}
.list_box02 {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 0 auto;
  justify-content: space-between;
}
.list_box02 li {
  width: 49%;
  text-align: center;
  margin-bottom: 30px;
}
.list_box02 li p {
  font-weight: bold;
}
.ar_box_grey {
  border: 2px solid #ddd;
  padding: 30px;
}
/*.ar_box_grey:before{
	content: "";
	position: absolute;
    border-width: 38px;
    border-style: solid;
    border-color: #1f5c99 transparent transparent transparent;
    top: calc(100% + 25px);
    left: 50%;
    transform: translateX(-50%);
}*/
.indexstep .box_h5 {
  max-width: 50%;
  width: 100%;
  margin: 0 auto 50px;
  position: relative;
}
.indexstep .box_h5.arr::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: -45px;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #1f5c99;
}
@media screen and (max-width: 750px) {
  .btn_flow a {
    font-size: 13px;
    margin: 20px auto 30px;
  }
  .box_think li {
    width: 100%;
  }
  .box_think {
    display: block;
    max-width: 480px;
    margin: 0 auto 30px;
  }
  .list_box02 {
    display: block;
  }
  .list_box02 li {
    width: 100%;
  }
  .fix_iframe iframe {
    width: 100%;
    height: 50vw;
  }
  .indexstep .box_h5 {
    max-width: 90%;
  }
}
.block-wrapper {
	width: 100%;
	max-width: 900px;
	padding: 20px;
	/* background-color: rgba(255, 255, 255, .5); */
	margin: 0 auto 20px;
}
.block-list {
	display: grid;
	grid-template-columns: repeat(4, 4fr);
	grid-column-gap: 20px;
	grid-row-gap: 20px;
}
.block-list li{
  position: relative;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  background-position-x: 29px;
  background: #1f5c99 url("../images/bg_main.png") no-repeat right top;
    /* background-color: #1f5c99; */
    width: 185px;
    height: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.block-list li::before{
  position: absolute;
  content: "";
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  background: #ffff;
  width: 165px;
  height: 140px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.block-list li::after{
  position: absolute;
  content: "";
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  background: #1f5c99 url("../images/bg_main.png") no-repeat right top;
  /* background-size: 100%; */
  background-position-x: 29px;
  width: 163px;
  height: 138px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.block-list li p {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: bold;

  font-family: "游明朝", YuMincho;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

.index10 .box-bnr{
  margin-top: 70px;
  text-align: center;
}

.index10 .box-bnr a{
  display: inline-block;
}

.under .taglist {
  border: 1px solid #e4e0d8;
  padding: 50px 80px;
  background-color: #f7f7f7;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.under .taglist li:before {
  content: '●';
  color: #1f5c99;
}
.bnr-line-list {
	margin: auto;
	max-width: 560px!important;
  height: 300px;
  margin: 25px auto;
}

.line-item:before {
	content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 20px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}

.line-item:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	padding: 20px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.line-item a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.ttl-line {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ttl-line span {
	font-size: 18px;
	font-weight: bold;
	padding-left: 10px;
}

.ttl-line img {
	width: 35px;
	height: 35px;
}

.line-item {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #06c755;
	margin-top: 10px;
	padding: 15px 15px 25px;
	position: relative;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.line-inner.left {
	text-align: center;
}

.line-inner.right p {
	line-height: 0;
}

.line-inner p {
	color: #fff;
	font-weight: bold;
}

.line-inner p.line-txt-top {
	font-size: 20px;
}

.line-inner p.line-txt-bot {
	background: #fff;
	color: #06c755;
	border-radius: 5px;
	padding: 5px;
}

.bnr_line{
    width: 240px;
    height: 60px;
    margin: 10px auto 0;
}
.bnr_line a{
    font-family: "游明朝", YuMincho;
    max-width: unset !important;
    width: 100% !important;
    height: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 6px;
    background: #00b900;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1px;
}
.bnr_line a::before{
    content: '';
    background: url("../images/line_icon.png") no-repeat center center;
    background-size: 36px auto;
    width: 36px;
    height: 36px;
    display: block;
    margin-right: 10px;
}
.bnr_line2{
    width: 240px;
    height: 60px;
    margin: 10px auto 0;
}
.bnr_line2 a{
    font-family: "游明朝", YuMincho;
    max-width: unset !important;
    width: 100% !important;
    height: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 6px;
    background: #00b900;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 1px;
}
.bnr_line2 a::before{
    content: '';
    background: url("../images/line_icon.png") no-repeat center center;
    background-size: 36px auto;
    width: 36px;
    height: 36px;
    display: block;
    margin-right: 10px;
}
.sidecontact .bnr_line a span{
    width: 20px;
    display: block;
    text-align: center;
    writing-mode: vertical-lr;
    text-orientation: upright;
}
.sidecontact .bnr_line{
    width: 70px;
    height: 130px;
}
.sidecontact .bnr_line a{
    flex-direction: column;
    letter-spacing: 0px;
    line-height: 1.2;
    border-radius: 10px 0 0 10px;
    font-size:16px;
}
.sidecontact .bnr_line a::before{
    margin-right: 0;
    margin-bottom: 5px;
    background: url("../images/line_icon.png") no-repeat center center;
    background-size: 32px auto;
    width: 32px;
    height: 32px;
}

.f3_item.f3_item2{
  display: block !important;
}
.f3_item.f3_item2 .box_cnt{
  margin-bottom: 30px;
  max-width: 450px;
}
/* .flex3.f3_title02 .title_bold{
width: max-content;
} */
.flex3.f3_title02 .col3 .item_03{
  width: 100%;
}
.flex3.f3_title02 .f3_title{
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.flex3 .col3{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.flex3 .col3:last-child{
  margin-bottom: 50px;
}
.flex3 .col3 .item_03{
  width: calc(100% / 3 - 10px);
  height: auto;
  display: flex;
  margin-bottom: 0;
}
.flex3 .title_bold{
  width: 100%;
  text-align: center;
  margin-bottom: 25px !important;
}
.flex3 .title_bold span{
  font-weight: bold;
  color: white;
  background: #666;
  padding: 5px 20px;
}
.flex3 .col2{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 900px;
  margin: 0 auto 15px;
}
.flex3 .col2:last-child{
  margin-bottom: 50px;
}
.flex3 .col2 .item_03{
  width: calc(100% / 2 - 10px);
  height: auto;
  display: flex;
  margin-bottom: 0;
}
.flex3 .item_03 img{
  transition: 0.3s ease
}
.flex3 .item_03 img:hover{
  opacity: 0.85
}
.under h3.case{
  text-align: left;
  border-bottom: 3px solid;
}
.under .flex2{
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
}
.under .flex2 .iten{
  width: 100%;
  text-align: center;
  border-left: 2px solid;
  border-right: 2px solid;
}
.under .flex2 .iten:last-child{
  border-left: unset
}
.titleh3 {
  margin-bottom: 0 !important;
}

@media screen and (max-height: 768px) {

    .sidecontact.wp_box{

    }
    .sidecontact.wp_box li{
    }
    .sidecontact.wp_box .new_tbl_time th, .sidecontact.wp_box .new_tbl_time td {
      font-size: 10px;
      padding: 1px 2px;
      line-height: 1.4;
    }
    .sidecontact.wp_box .side-tel01 {
      font-size: 26px;
    }
    .sidecontact.wp_box .side-txt01 {
      font-size: 12px;
      line-height: 16px;
    }
    .sidecontact.wp_box .side-txt02 {
      font-size: 11px;
      line-height: 1.4;
      margin-top: 5px;
    }
    .sidecontact.wp_box .sidecontact .txt_fixR span {
      display: block;
      font-size: 10px;
    }
    .sidecontact.wp_box .sidecontact .txt_fixR {
      line-height: 1.4;
    }
    .sidecontact.wp_box dl.side-blue dt{
        letter-spacing: 5px;
        font-size: 15px;
    }
    .sidecontact.wp_box .bnr_line{
        height: 130px;
    }
    .sidecontact.wp_box dl.side-blue dt::before {
      content: '';
      width: 22px;
      height: 22px;
      margin-bottom: 5px;
      margin-top: 5px;
    }
    .side-white dt::before {
      content: '';
      width: 20px;
      height: 21px;
      margin-bottom: 5px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
  .inner {
    max-width: 1110px;
  }
  /*.sidecontact {
        right: -312px;
    }*/
  .sidecontact li {
    margin: 2px 0;
  }
  .sidecontact li.sideblue_link {
    padding: 10px 8px;
  }
  .sidecontact li a img, .sidecontact li dt img {
    height: auto;
    width: 40px;
  }
  .sidecontact li.sideblue_link a {
    text-align: center;
    width: 40px;
    display: block;
  }
  .sidecontact li.sidecontact_link {
    height: 100px;
  }
  .sidecontact .sidecontact_link a {
    height: 100px;
    width: 50px;
  }
  .sidecontact li dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  dl.side-blue dt {
    padding: 10px 0;
    width: 50px;
  }
  dl.side-blue dt::before {
    width: 25px;
    height: 25px;
    background: url("../images/f_tel_icon.png") no-repeat center/cover;
  }
  dl.side-blue1 dt {
    width: 40px;
    padding: 10px 0;
  }
  .side-tel01 {
    font-size: 26px;
  }
  dl.side-blue dd {
    padding: 10px;
  }
  dl.side-white dt {
    width: 50px;
    padding: 5px 0;
  }
  .sidecontact .bnr_line{
      width: 50px;
      height: 130px;
  }
  .sidecontact .bnr_line a::before{
      margin-right: 0;
      margin-bottom: 5px;
      background: url("../images/line_icon.png") no-repeat center center;
      background-size: 28px auto;
      width: 28px;
      height: 28px;
  }
  .sidecontact .bnr_line a{
      padding-left: 4px;
      font-size: 16px;
  }
  .bnr-line-list {
    margin: 25px auto;
  }
}

.list-category{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 50px !important;
}

.list-category li a{
  border-radius: 30px;
    background-color: #fff;
    text-align: center;
    color: #1f5c99;
    border: 2px solid #1f5c99;
    display: block;
    padding: 14px 20px;
    margin: 0 auto 10px;
    position: relative;
    cursor: pointer;
}
.list-category li a:hover{
  background-color: #1f5c99;
  color: #fff;
}
.list-category li{
  width: calc(100% / 4 - 15px);
}

@media screen and (max-width: 768px) {
  .list-category li{
    width: calc(100% / 2 - 15px);
  }
  .list-category{
    margin-bottom: 20px !important;
  }
}

.hide-empty{
  opacity: 0;
  visibility: hidden;
}

.hide-parent{
  display: none !important;
}

.movie {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	max-width: 800px;
}
.movie iframe {
  width: 100%;
  height: 100%;
}
.f3_item.f3_item2 .hide-empty{
  display: none;
  /* opacity: 1;
  visibility: inherit;
  text-align: center;
    margin: 0 auto; */
}

.line-top-lead {
  background-color:#06c755;
  text-align: center;
  padding:10px 20px 20px;
}

.line-top-lead .white-box {
  background-color:#fff;
  padding:40px 20px 20px;
  border-radius: 20px;
}

.line-top-lead .white-box .lead-txt {
  font-size:24px;
  font-weight:600;
  color:#06c755;
}

.line-top-lead .white-box .line-btn {
  color:#fff;
  font-size: 20px;
  font-weight: 600;
  background-color:#06c755;
  padding:20px 40px;
  border-radius: 20px;
}

.fukidashi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
}
.fukidashi::before {
  content: "";
  width: 30px;
  height: 2px;
  transform: rotate(60deg);
  box-sizing: border-box;
  background-color: #fff;
}
.fukidashi::after {
  content: "";
  width: 30px;
  height: 2px;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: #fff;
}
.fukidashi-txt {
  color:#fff;
  font-weight:600;
  font-size: 16px;
}

@media screen and (max-width:768px) {

  .line-top-lead {
    display: inline-block;
  }
  .fukidashi-txt {
    margin-bottom: 0;
  }

  .line-top-lead .white-box .line-btn {
    font-size: 14px;
  }

  .line-top-lead .white-box .lead-txt {
    font-size:18px;
  }

}

/* splide(スライダー) */
.splide {
  width:90%;
  margin:0 auto;
}
a.splide__slide{
  color:#555555!important;
}
a.splide__slide:hover{
  opacity: 0.8;
  transition: 0.3s;
}
.splide__slide {
  width:30%!important;
  margin-left:30px!important;
}
.splide__slide h3 {
  font-size:20px;
  line-height: 32px;
  margin:10px 0;
}
.splide:not( .is-overflow ) .splide__list {
  justify-content: center;
}

.sns .index_h3 .h3_en{
  background: linear-gradient(90deg, #5541d6 0%, #b626a7 20%, #e9214e 40%, #f86f48 60%, #fec053 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) { 
  .splide__slide {
    width:90%!important;
    margin-left:15px!important;
  }
}
