@charset "UTF-8";
i {
  font-style: normal; }

.inl-b {
  display: inline-block; }

.img-parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; }

.img-parallax img {
  width: 100% !important;
  height: 100vh !important;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  object-fit: cover;
  z-index: 0;
  transform: translateZ(0) !important; }

.box-parallax {
  position: relative; }

.d-flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.object-fit-cover, .object-fit-cover-pc {
  position: relative; }

.object-fit-cover img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100% !important;
  width: 100% !important; }
@media screen and (max-width: 999px) {
  .table-scroll.ext {
    overflow-x: auto; }
 .table-scroll table {
    width: 1100px; }

}
@media screen and (max-width: 767px) {
  [class^="heightLine-"] {
    height: auto !important; }

  .table-scroll {
    overflow-x: auto; }

  .table-scroll table {
    width: 800px; } }
@media screen and (min-width: 768px) {
  .object-fit-cover-pc {
    position: relative; }

  .object-fit-cover-pc img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100% !important;
    width: 100% !important; } }
.txt-vertical {
  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; }

#footer {
  background-color: #204876;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: 0.15em;
  color: #fff;
  font-weight: 400;
  padding: 40px 0 0px; }
  #footer p {
    padding-bottom: 0; }
  #footer .tit {
    padding: 36px 0 33px; }
  #footer .logo {
    width: 246px; }
    #footer .logo img {
      width: auto;
      height: auto; }
  #footer .banner {
    flex-wrap: nowrap;
    gap: 15px;
    position: absolute;
    top: 53px;
    right: 0;
    width: calc(100% - 360px);

    max-width: 688px;
    max-width: 455px; }
    #footer .banner img {
      width: 100%;
      height: auto; }
    @media screen and (max-width: 1140px) {
      #footer .banner {
        right: 30px; } }
  #footer .copyright {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    text-align: center;
    color: #fff;
    font-size: 10px;
    letter-spacing: 0.15em;
    padding: 113px 0 7px; }
  #footer .sitemap:hover {
    text-decoration: underline; }
  @media screen and (max-width: 767px) {
    #footer {
      padding: 30px 0 0;
      text-align: left; }
      #footer .copyright {
        padding: 0px 30px 130px;
        text-align: left; }
      #footer .banner {
        flex-wrap: wrap;
        gap: 0;
        width: auto;
        max-width: 100%;
        position: static;
        padding-bottom: 35px; }
        #footer .banner li {
          width: 100%;
          margin-bottom: 15px; } }

.wrap {
  max-width: 1080px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1140px) {
    .wrap {
      max-width: 100%;
      padding-left: 30px;
      padding-right: 30px; } }

#key {
  position: relative;
  color: #fff;
  font-weight: 500; }
  #key .point {
    position: absolute;
    width: 580px;
    position: absolute;
    right: 0;
    top: 140px;
    z-index: 9; }
    @media screen and (max-width: 1200px) {
      #key .point {
        width: 530px; } }
    #key .point li {
      margin-bottom: 10px;
      background-color: #204876;
      letter-spacing: 0.1em;
      line-height: 27px;
      padding: 15px 0 15px 87px;
      position: relative;
      font-weight: 500;
      min-height: 85px;
      box-sizing: border-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center; }
      #key .point li small {
        font-size: 18px;
        line-height: 27px;
        letter-spacing: 0.1em; }
      #key .point li .f-16 {
        font-size: 16px;
        letter-spacing: 0.1em; }
      #key .point li .tt {
        position: absolute;
        color: #FFB550;
        font-size: 10px;
        font-weight: 500;
        letter-spacing: 0.05em;
        left: 28px;
        top: 17px;
        text-align: center;
        line-height: 20px; }
        #key .point li .tt span {
          color: #fff;
          font-size: 30px; }
  #key .slide {
    display: block !important;
    position: relative; }
    #key .slide dl {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      width: 100%;
      max-width: 1080px;
      transform: translate(-50%, -50%);
      font-size: 24px;
      line-height: 36px;
      font-weight: 500;
      letter-spacing: 0.1em; }
      #key .slide dl dt {
        font-size: 40px;
        line-height: 60px;
        padding-bottom: 22px;
        letter-spacing: 0.1em; }
    #key .slide .object-fit-cover {
      width: 100%;
      height: 880px; }
  @media screen and (max-width: 1140px) {
    #key .slide dl {
      transform: translate(0%, -50%);
      left: 30px;
      width: auto;
      max-width: 100%;
      font-size: 20px; }
      #key .slide dl dt {
        font-size: 32px; }
    #key .point {
      width: 510px; }
      #key .point li small {
        font-size: 16px; } }
  @media screen and (max-width: 999px) {
    #key .js-key .slide .object-fit-cover {
      height: 960px; }
    #key .js-key .slide dl {
      transform: none;
      top: 130px; }
    #key .point {
      bottom: 40px;
      top: auto; }
      #key .point li {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 0.04em; } }
  @media screen and (max-width: 767px) {
    #key {
      margin-top: 64px; }
      #key .js-key .slide .object-fit-cover {
        height: 788px; }
      #key .js-key .slide dl {
        transform: none;
        top: 39px;
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 0.04em; }
        #key .js-key .slide dl dt {
          font-size: 28px;
          line-height: 44px;
          padding-bottom: 6px;
          letter-spacing: 0.04em; }
        #key .js-key .slide dl.ext {
          font-size: 16px; }
          #key .js-key .slide dl.ext dt {
            font-size: 25px; }
      #key .point {
        bottom: auto;
        top: 290px;
        width: auto;
        left: 30px; }
        #key .point li {
          padding: 8px 0 7px 57px;
          min-height: 64px;
          margin-bottom: 4px; }
          #key .point li .tt {
            left: 16px;
            top: 50%;
            transform: translateY(-50%); }
          #key .point li small {
            font-size: 13px;
            line-height: 24px;
            letter-spacing: 0em; }
            #key .point li small .f-16 {
              font-size: 11px;
              letter-spacing: 0; } }

body.home {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 28px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  /*
  #header {
        position: absolute;
  background-color: transparent;
    
    .hd1 {
    opacity: 0;
    visibility: hidden;
  }
    
    .hd2 {
      
      
         position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    }
    
  }
  */ }
  body.home p {
    padding-bottom: 0; }
  body.home #wrapper {
    padding-top: 0; }

@media screen and (min-width: 768px) {
  body.home.has-nav #header {
    /*
      position: fixed;
    background-color: #fff;
    .hd2  {
      display: none;
    }
    .hd1 {
      opacity: 1;
      visibility: visible;
    }
    */ } }
body:not(.home) .elementor-section a:hover {
  text-decoration: underline; }

#pagetop {
  width: 40px;
  position: fixed;
  right: 10px;
  bottom: 247px;
  z-index: 99;
  cursor: pointer; }
  #pagetop img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 767px) {
    #pagetop {
      width: 42px;
      right: 0px;
      bottom: 0px; } }

#header {
  background-color: #fff;
  border-top: 10px solid #204876; }
  #header .header_logo {
    padding: 0;
    width: 246px; }
    #header .header_logo img {
      width: 100%;
      height: auto; }
  #header .wrap {
    padding: 0 40px;
    align-items: center;
    height: 85px; }
    @media screen and (max-width: 1140px) {
      #header .wrap {
        padding: 0 20px; } }
  @media screen and (max-width: 1140px) {
    #header .header_menu .g_nav > li {
      margin-left: 30px; } }
  @media screen and (max-width: 1080px) {
    #header .header_menu .g_nav > li {
      margin-left: 20px; } }
  @media screen and (max-width: 999px) {
    #header .header_logo {
      position: absolute;
      top: 5px;
      left: 50%;
      width: 230px;
      transform: translateX(-50%); }
    #header .wrap {
      align-items: flex-start; }
    #header .header_menu {
      width: 100%; }
      #header .header_menu .g_nav {
        justify-content: center;
        padding-top: 53px; }
        #header .header_menu .g_nav > li {
          margin-left: 30px; } }

@media screen and (max-width: 767px) {
  .wrap {
    padding-left: 30px;
    padding-right: 30px; }

  #header {
    border-top: 4px solid #204876;
    top: 0 !important; }
    #header .header_logo {
      width: 158px;
      left: 14px;
      top: 12px;
      transform: none; }
    #header .header_menu .g_nav > li {
      padding-left: 0px;
      margin: 0; }
    #header .header_menu .g_nav .h-bnr a {
      padding: 0 !important; }
    #header .header_menu .g_nav .h-bnr {
      width: 240px !important;
      margin: 0 auto 20px !important; }
    #header .header_menu .g_nav .padd {
      padding-top: 20px; }
    #header .header_menu .g_nav {
      padding: 28px 0 20px; }
      #header .header_menu .g_nav .banner {
        position: static;
        text-align: center;
        margin: 0 auto;
        width: 300px; }
        #header .header_menu .g_nav .banner img {
          height: auto; } }
.wrap-col {
  padding: 100px 30px 80px; }
  .wrap-col .elementor-row {
    justify-content: space-between; }
  .wrap-col .elementor-column {
    border-radius: 24px;
    background-color: #fff;
    padding: 50px 40px 54px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.16); }
  @media screen and (min-width: 999px) {
    .wrap-col .elementor-column {
      width: calc(50% - 20px) !important; } }
  @media screen and (min-width: 768px) and (max-width: 999px) {
    .wrap-col .elementor-column {
      width: calc(50% - 10px) !important;
      padding: 30px 20px 16px; } }
  @media screen and (max-width: 767px) {
    .wrap-col {
      padding: 30px 30px 40px; }
      .wrap-col .elementor-column {
        border-radius: 16px;
        padding: 30px 20px 40px;
        margin-bottom: 24px; }
      .wrap-col .h2-tt {
        padding-bottom: 21px; }
        .wrap-col .h2-tt i {
          font-size: 32px;
          line-height: 32px; }
          .wrap-col .h2-tt i:after {
            bottom: 16px; }
        .wrap-col .h2-tt .exxt i {
          min-width: 42px; } }

#news {
  background-color: rgba(32, 72, 118, 0.04);
  padding: 38px 0 96px; }
  #news .rss {
    background-color: #fff;
    max-width: 1080px;
    margin: -100px auto 0;
    padding: 38px 50px 38px;
    box-sizing: border-box;
    position: relative;
    z-index: 9; }
  #news .bnr {
    position: absolute;
    top: 105px;
    right: 0;
    font-size: 15px;
    color: #666666; }
    @media screen and (max-width: 1140px) {
      #news .bnr {
        right: 30px; } }
    #news .bnr a {
      text-decoration: underline; }
      #news .bnr a:hover {
        text-decoration: none; }
  @media screen and (max-width: 767px) {
    #news {
      padding: 23px 0 48px; }
      #news .bnr {
        font-size: 14px;
        top: 60px; } }

html {
  --scrollbarBG: #E4E4E4;
  --thumbBG: #9B9B9B; }

.rss-box::-webkit-scrollbar {
  width: 7px; }

.rss-box {
  scrollbar-width: thin;
  scrollbar-color: var(--thumbBG) var(--scrollbarBG); }

.rss-box::-webkit-scrollbar-track {
  background: var(--scrollbarBG); }

.rss-box::-webkit-scrollbar-thumb {
  background-color: var(--thumbBG);
  border: 7px solid var(--scrollbarBG); }

.rss-box {
  height: 155px;
  overflow-y: auto;
  background-color: #fff;
  border-top: 1px solid #666666;
  padding: 25px 27px; }
  .rss-box a:hover {
    opacity: 0.8; }
  .rss-box dl {
    font-family: 'Noto Sans JP', serif;
    font-weight: 400;
    font-style: normal;
    color: #38475D;
    letter-spacing: 0.05em;
    font-size: 16px;
    line-height: 24px;
    border-bottom: 1px dashed #CBCAC9;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    padding-bottom: 30px;
    margin-bottom: 16px; }
    .rss-box dl:last-child {
      border: none;
      margin-bottom: 0;
      padding-bottom: 0; }
    .rss-box dl dt {
      color: #72706E;
      letter-spacing: 0.02em;
      width: 167px;
      position: relative; }
      .rss-box dl dt .newsLabel {
        font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
        display: inline-block;
        background-color: #204876;
        color: #fff;
        font-size: 9px;
        letter-spacing: 0.1em;
        line-height: 16px;
        padding: 0 9px;
        position: absolute;
        right: 20px;
        top: 6px; }
  @media screen and (max-width: 767px) {
    .rss-box {
      height: auto;
      max-height: 267px;
      padding: 17px 15px; }
      .rss-box dl {
        display: block;
        padding-bottom: 14px;
        margin-bottom: 14px; }
        .rss-box dl dt, .rss-box dl dd {
          display: block;
          width: auto; }
        .rss-box dl dt {
          font-size: 14px;
          padding-bottom: 5px; }
          .rss-box dl dt .newsLabel {
            position: static;
            margin-left: 5px; } }

.news-box li:not(:last-child) {
  margin-bottom: 10px; }
.news-box .box {
  align-items: center; }
.news-box .recent_thumbnail {
  height: 120px;
  width: 160px; }
.news-box .tit {
  width: calc(100% - 176px);
  line-height: 32px;
  margin-top: -5px; }
  .news-box .tit span {
    font-size: 18px;
    color: #FDA146; }
  .news-box .tit a {
    overflow: hidden;
    display: block;
    max-height: 96px;
    -webkit-line-clamp: 3;
    display: box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    white-space: normal; }
    .news-box .tit a:hover {
      text-decoration: underline; }
@media screen and (max-width: 767px) {
  .news-box li:not(:last-child) {
    margin-bottom: 10px; }
  .news-box .recent_thumbnail {
    height: 64px;
    width: 85px; }
  .news-box .tit {
    width: calc(100% - 100px);
    line-height: 24px; }
    .news-box .tit a {
      max-height: 48px;
      -webkit-line-clamp: 2; }
    .news-box .tit span {
      font-size: 14px; } }

.f_cl1 {
  color: #FFB7F1 !important; }

.f_cl2 {
  color: #FFC440 !important; }

.f_cl3 {
  color: #76D630 !important; }

.h2-tt {
  color: #204876;
  text-align: left;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 50px;
  position: relative;
  margin-bottom: 40px; }
  .h2-tt span {
    font-family: "Cormorant", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    letter-spacing: 0em;
    color: #FFB550;
    position: relative;
    display: inline-block;
    padding-left: 53px; }
    .h2-tt span:before {
      content: '';
      border-top: 1px solid;
      width: 42px;
      position: absolute;
      left: 0;
      top: 50%; }
  @media screen and (max-width: 767px) {
    .h2-tt {
      font-size: 28px;
      line-height: 36px;
      margin-bottom: 17px; }
      .h2-tt span {
        font-size: 16px;
        padding-left: 32px; }
        .h2-tt span:before {
          width: 24px; } }

.tbl-time {
  border-bottom: 1px solid;
  table-layout: fixed;
  text-align: center;
  line-height: 30px;
  margin-bottom: 10px;
  font-size: 17px;
  letter-spacing: 0.1em; }
  .tbl-time span {
    color: #204876; }
  .tbl-time th, .tbl-time td {
    font-weight: 400; }
  .tbl-time thead {
    border-bottom: 1px solid; }
    .tbl-time thead th {
      text-align: center; }
      .tbl-time thead th:first-child {
        font-size: 18px;
        width: 35%;
        padding: 0;
        text-align: left;
        line-height: 46px; }
  .tbl-time tbody tr:first-child th, .tbl-time tbody tr:first-child td {
    padding-top: 10px; }
  .tbl-time tbody tr:last-child th, .tbl-time tbody tr:last-child td {
    padding-bottom: 7px; }
  .tbl-time tbody th {
    text-align: left;
    position: relative; }
  .tbl-time.time-b thead th {
    background-color: #1F4774;
    color: #fff; }
  .tbl-time.time-b tbody th {
    padding-left: 10px; }
  .tbl-time.time-b thead tr th:first-child {
    padding-left: 10px; }
  @media screen and (max-width: 767px) {
    .tbl-time {
      font-size: 12px;
      line-height: 36px;
      margin-bottom: 21px; }
      .tbl-time thead th:first-child {
        font-size: 12px;
        width: 123px;
        padding: 0; }
      .tbl-time tbody th {
        padding: 0; } }

.tbl-time-a {
  table-layout: fixed;
  text-align: center;
  background-color: #F3F3E7;
  border-radius: 16px;
  overflow: hidden;
  line-height: 40px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em; }
  .tbl-time-a th, .tbl-time-a td {
    font-weight: 500; }
  .tbl-time-a thead {
    background-color: #57AD64;
    color: #fff;
    font-weight: 500; }
    .tbl-time-a thead th {
      text-align: center; }
      .tbl-time-a thead th:first-child {
        font-size: 18px;
        padding-left: 25px;
        width: 35%;
        text-align: left; }
      .tbl-time-a thead th:last-child {
        padding-right: 10px; }
  .tbl-time-a tbody {
    font-weight: 500;
    position: relative; }
    .tbl-time-a tbody:before {
      content: '';
      position: absolute;
      left: 18px;
      right: 18px;
      top: 48px;
      border-top: 1px solid #333333; }
    .tbl-time-a tbody td:last-child {
      padding-right: 20px; }
    .tbl-time-a tbody tr {
      position: relative; }
      .tbl-time-a tbody tr:last-child th, .tbl-time-a tbody tr:last-child td {
        padding-bottom: 10px; }
    .tbl-time-a tbody th {
      text-align: left;
      padding-left: 25px;
      position: relative; }
    .tbl-time-a tbody th, .tbl-time-a tbody td {
      padding-top: 3px;
      padding-bottom: 3px; }
  @media screen and (max-width: 767px) {
    .tbl-time-a {
      font-size: 12px; }
      .tbl-time-a tbody:before {
        left: 10px;
        right: 10px; }
      .tbl-time-a thead th:first-child {
        font-size: 11px;
        padding-left: 10px;
        width: 84px;
        text-align: left; }
      .tbl-time-a tbody th {
        padding-left: 10px; } }

#banner {
  background-color: #204876;
  padding: 100px 0 60px; }
  #banner li {
    position: relative;
    background-color: #fff;
    margin-bottom: 40px;
    width: calc((100%  - 120px)/4);
    color: #204876;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    -moz-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    -webkit-transition-duration: 0.7s;
    transition-duration: 0.7s; }
    #banner li:after {
      content: '';
      width: 0;
      height: 0;
      border-bottom: 14px solid #FFB550;
      border-left: 14px solid transparent;
      position: absolute;
      right: 5px;
      bottom: 5px; }
    #banner li a {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    #banner li dl {
      padding: 0px 30px 38px;
      position: relative; }
    #banner li dd {
      font-size: 14px;
      line-height: 28px;
      color: #000;
      font-weight: 400; }
    #banner li dt {
      text-align: center;
      position: relative;
      padding: 162px 0 16px;
      margin-bottom: 10px; }
      #banner li dt:before {
        content: '';
        border-top: 3px solid #FFB550;
        width: 40px;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
      #banner li dt img {
        position: absolute;
        top: 37px;
        left: 50%;
        transform: translateX(-50%);
        pointer-events: none; }
        #banner li dt img.ext1 {
          top: 56px; }
        #banner li dt img.ext2 {
          top: 34px; }
    #banner li:hover {
      opacity: 0.8; }
  #banner .ext li {
    width: calc((100%  - 90px)/3); }
    #banner .ext li img {
      position: absolute;
      top: 16px;
      left: 43px;
      pointer-events: none; }
    #banner .ext li a {
      position: static;
      border-left: 8px solid #FFB550;
      display: flex;
      color: inherit;
      min-height: 90px;
      align-items: center; }
      #banner .ext li a:hover {
        opacity: 0.8; }
    #banner .ext li .tt {
      text-align: left;
      padding-left: 140px; }
    #banner .ext li:nth-child(1) .tt {
      padding-left: 118px; }
    #banner .ext li:nth-child(1) img {
      left: 37px; }
  @media screen and (max-width: 1140px) {
    #banner li {
      width: calc((100%  - 60px)/4);
      margin-bottom: 20px; }
      #banner li dl {
        padding-left: 20px;
        padding-right: 20px; }
    #banner .ext li {
      width: calc((100%  - 50px)/3); }
      #banner .ext li .tt {
        padding-left: 120px; }
      #banner .ext li:nth-child(1) .tt {
        padding-left: 98px; } }
  @media screen and (max-width: 999px) {
    #banner li {
      letter-spacing: 0;
      font-size: 15px; }
      #banner li dl {
        padding-left: 15px;
        padding-right: 15px; }
      #banner li dd {
        font-size: 12px;
        line-height: 20px; }
    #banner .ext li:nth-child(1) img {
      left: 20px; }
    #banner .ext li:nth-child(1) .tt {
      padding-left: 75px; }
    #banner .ext li .tt {
      padding-left: 99px; }
    #banner .ext li img {
      left: 30px; } }
  @media screen and (max-width: 767px) {
    #banner {
      padding: 40px 0 25px; }
      #banner ul {
        justify-content: space-between; }
      #banner li {
        width: calc((100% - 15px)/2);
        margin: 0 0 15px; }
        #banner li:after {
          border-bottom: 9px solid #FFB550;
          border-left: 9px solid transparent;
          right: 4px;
          bottom: 4px; }
        #banner li dl {
          padding: 0 15px 16px;
          box-sizing: border-box;
          min-height: 206px; }
        #banner li dt {
          margin: 0px -10px 6px;
          padding: 92px 0 5px; }
          #banner li dt:before {
            width: 27px; }
          #banner li dt img {
            top: 23px;
            height: auto !important; }
            #banner li dt img.ext1 {
              top: 37px; }
            #banner li dt img.ext2 {
              top: 22px; }
      #banner .ext li {
        width: calc((100%  - 30px)/3);
        margin: 0 0 15px; }
        #banner .ext li a {
          border: none;
          border-top: 4px solid #FFB550; }
          #banner .ext li a img {
            width: auto;
            top: 21px;
            left: 50%;
            transform: translateX(-50%);
            height: 50px;
            width: auto; }
        #banner .ext li .tt {
          width: 100%;
          display: block;
          text-align: center;
          font-size: 12px;
          letter-spacing: 0;
          line-height: 20px;
          padding: 84px 0 0px !important;
          min-height: 130px;
          box-sizing: border-box; }
        #banner .ext li:nth-child(1) .tt {
          padding-top: 75px !important; }
        #banner .ext li:nth-child(1) img {
          left: 50%; } }

#menu {
  padding: 100px 0 60px;
  background: url("../img/index/menu_bg.jpg") no-repeat center 0/cover; }
  #menu .group .item {
    width: calc(50% - 20px);
    margin-bottom: 40px;
    background-color: #fff;
    border: 2px solid #FFB550;
    padding: 22px 20px 29px;
    box-sizing: border-box;
    text-align: center; }
    #menu .group .item h3 {
      font-weight: 500;
      font-size: 28px;
      line-height: 42px;
      padding-bottom: 20px;
      color: #204876; }
    #menu .group .item .txt {
      background-color: rgba(32, 72, 118, 0.04);
      padding: 17px 20px 20px;
      font-size: 14px;
      letter-spacing: 0.1em; }
    #menu .group .item .bnr {
      width: 200px;
      margin: 30px auto 0; }
      #menu .group .item .bnr a {
        display: block;
        font-weight: 500;
        font-size: 14px;
        color: #204876;
        border: 1px solid;
        position: relative;
        line-height: 38px;
        text-align: center;
        letter-spacing: 0.05em;
        padding: 0 0px 0 8px; }
        #menu .group .item .bnr a:hover {
          opacity: 0.8; }
        #menu .group .item .bnr a:after {
          content: '';
          width: 0;
          height: 0;
          border-bottom: 8px solid #204876;
          border-left: 8px solid transparent;
          position: absolute;
          right: 3px;
          bottom: 3px; }
    @media screen and (max-width: 1080px) {
      #menu .group .item {
        width: calc(50% - 15px);
        margin-bottom: 30px;
        padding-left: 14px;
        padding-right: 14px; }
        #menu .group .item .txt {
          padding-left: 10px;
          padding-right: 10px; } }
  @media screen and (max-width: 767px) {
    #menu {
      padding: 40px 0 64px;
      background: url("../img/index/menu_bg_sp.jpg") no-repeat center 0/cover; }
      #menu .group .item {
        width: 100%;
        margin-bottom: 24px; }
        #menu .group .item h3 {
          font-size: 22px;
          padding-bottom: 12px; }
        #menu .group .item .txt {
          padding: 12px 16px 12px;
          text-align: left; }
        #menu .group .item .bnr {
          width: 100%;
          margin: 24px auto 0; } }

#feature {
  background: url("../img/index/feature_bg.jpg") no-repeat center 0/cover;
  padding: 40px 0 20px; }
  #feature .h2-tt {
    margin: 0 0 -40px; }
  #feature .group .feature {
    position: relative;
    margin-bottom: 100px; }
    #feature .group .feature .photo {
      height: 490px;
      width: 730px;
      position: absolute;
      top: 0px;
      left: calc(50% - 10px);
      z-index: 2; }
      #feature .group .feature .photo:before {
        content: '';
        border-top: 1px solid #204876;
        border-left: 1px solid #204876;
        position: absolute;
        top: -20px;
        left: -20px;
        width: 210px;
        height: 83px; }
    #feature .group .feature .item {
      padding: 157px 0 0;
      position: relative;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: wrap;
      line-height: 32px;
      letter-spacing: 0.15em; }
    #feature .group .feature .info {
      position: relative;
      width: 100%;
      z-index: 1;
      padding: 0 60px 70px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex; }
      #feature .group .feature .info:before {
        content: '';
        background-color: rgba(32, 72, 118, 0.15);
        position: absolute;
        top: 83px;
        left: 0;
        right: 0;
        bottom: 0; }
      #feature .group .feature .info:after {
        position: absolute;
        color: #204876;
        content: '';
        width: 476px;
        height: 114px;
        border-bottom: 1px solid;
        border-right: 1px solid;
        right: -20px;
        bottom: -20px; }
      #feature .group .feature .info dl {
        max-width: 420px;
        position: relative; }
        #feature .group .feature .info dl:after {
          position: absolute;
          color: #204876;
          content: '';
          width: 44px;
          height: 134px;
          border-top: 1px solid;
          border-left: 1px solid;
          left: -80px;
          top: 63px; }
      #feature .group .feature .info dt {
        color: #204876;
        font-size: 32px;
        line-height: 51px;
        font-weight: 500;
        padding-bottom: 24px;
        letter-spacing: 0.1em; }
        #feature .group .feature .info dt span {
          letter-spacing: 0.02em; }
    #feature .group .feature .list {
      background-color: #fff;
      padding: 28px 0px 28px 44px;
      max-width: 515px;
      margin: -59px 0 0 87px;
      width: 90%;
      -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16);
      -moz-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16);
      box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16);
      box-sizing: border-box;
      position: relative;
      z-index: 3; }
      #feature .group .feature .list h4 {
        color: #204876;
        font-size: 20px;
        line-height: 27px;
        padding-bottom: 15px;
        letter-spacing: 0.1em;
        font-weight: 500; }
        #feature .group .feature .list h4 span {
          font-size: 16px; }
        #feature .group .feature .list h4.ext {
          font-size: 18px; }
      #feature .group .feature .list.ext {
        margin: -22px 70px 0 0;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        gap: 54px;
        max-width: 536px;
        padding: 37px 10px 34px 43px;
        /* line-height: 32px; */ }
    #feature .group .feature .bnr-shared {
      position: absolute;
      right: 60px;
      bottom: 64px; }
      @media screen and (max-width: 1140px) {
        #feature .group .feature .bnr-shared {
          right: 0; } }
    #feature .group .feature:nth-child(1) .item .info {
      padding-bottom: 122px; }
    #feature .group .feature:nth-child(even) .item {
      justify-content: flex-end;
      padding-top: 163px; }
    #feature .group .feature:nth-child(even) .bnr-shared {
      right: auto;
      left: 60px;
	z-index:9999999;
      bottom: 86px; }
    #feature .group .feature:nth-child(even) .photo {
      left: auto;
      right: calc(50% - 10px); }
      #feature .group .feature:nth-child(even) .photo:before {
        left: auto;
        right: -20px;
        border-left: none;
        border-right: 1px solid; }
    #feature .group .feature:nth-child(even) .info {
      justify-content: flex-end;
      padding-bottom: 70px; }
      #feature .group .feature:nth-child(even) .info:after {
        right: auto;
        left: -20px;
        border-left: 1px solid;
        border-right: none; }
      #feature .group .feature:nth-child(even) .info dl:after {
        border-left: none;
        border-right: 1px solid;
        left: auto;
        right: -80px; }
    @media screen and (max-width: 1100px) {
      #feature .group .feature .photo {
        right: -30px;
        width: auto;
        left: 460px; }
      #feature .group .feature .info {
        padding-left: 30px;
        padding-right: 30px; }
        #feature .group .feature .info dl:after {
          left: -45px; }
      #feature .group .feature .list {
        margin-left: 30px; }
        #feature .group .feature .list.ext {
          margin-right: 30px; }
      #feature .group .feature:nth-child(even) .bnr-shared {
        left: 0; }
      #feature .group .feature:nth-child(even) .photo {
        left: -30px;
        right: 460px; }
      #feature .group .feature:nth-child(even) .info {
        padding-right: 20px; }
        #feature .group .feature:nth-child(even) .info dl:after {
          right: -35px; } }
    @media screen and (max-width: 999px) {
      #feature .group .feature .item {
        padding-top: 110px !important; }
      #feature .group .feature .photo {
        height: 390px;
        left: 370px; }
      #feature .group .feature .bnr-shared {
        width: 260px; }
      #feature .group .feature .info {
        padding-left: 20px;
        padding-right: 20px; }
        #feature .group .feature .info:before {
          top: 54px; }
        #feature .group .feature .info dl {
          max-width: 330px; }
          #feature .group .feature .info dl:after {
            left: -35px;
            width: 30px;
            top: 37px; }
        #feature .group .feature .info dt {
          font-size: 26px;
          line-height: 32px;
          padding-bottom: 16px;
          margin-right: -20px; }
          #feature .group .feature .info dt span {
            font-size: 24px; }
      #feature .group .feature .list {
        width: calc(100% - 300px);
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 20px; }
        #feature .group .feature .list h4 {
          font-size: 18px; }
          #feature .group .feature .list h4 span {
            font-size: 14px;
            letter-spacing: 0; }
        #feature .group .feature .list.ext {
          display: block;
          width: calc(100% - 310px); }
          #feature .group .feature .list.ext .ul_li {
            margin-bottom: 15px; }
            #feature .group .feature .list.ext .ul_li h4 {
              padding-bottom: 5px; }
      #feature .group .feature:nth-child(even) .photo {
        right: 370px; } }
  @media screen and (max-width: 767px) {
    #feature {
      background: url("../img/index/feature_bg_sp.jpg") repeat-y center 0/100%;
      padding: 50px 0 18px; }
      #feature .h2-tt {
        margin-bottom: 30px; }
      #feature .group .feature {
        margin-bottom: 72px;
        position: relative; }
        #feature .group .feature:after {
          width: 220px;
          height: 75px;
          color: #204876;
          content: '';
          position: absolute;
          bottom: 94px;
          right: 0;
          border-right: 1px solid;
          border-bottom: 1px solid; }
        #feature .group .feature .photo {
          width: auto;
          height: auto !important;
          position: relative;
          top: auto !important;
          left: auto !important;
          right: auto !important;
          margin: 0 0 32px 16px; }
          #feature .group .feature .photo:before {
            width: 92px;
            height: 36px;
            top: -8px;
            left: -16px !important;
            right: auto !important;
            border-right: none !important;
            border-left: 1px solid #204876 !important; }
        #feature .group .feature .item {
          padding: 0 !important;
          display: block !important; }
        #feature .group .feature .info {
          padding: 0px 16px 19px !important;
          margin: 0 16px;
          width: auto !important; }
          #feature .group .feature .info:after {
            display: none; }
          #feature .group .feature .info:before {
            top: 0;
            bottom: -180px; }
          #feature .group .feature .info dl:after {
            width: 44px;
            left: auto;
            right: -32px;
            top: -16px;
            border-left: none;
            border-right: 1px solid; }
          #feature .group .feature .info dl dd {
            letter-spacing: 0.12em; }
          #feature .group .feature .info dl dt {
            font-size: 22px;
            padding: 15px 0 10px; }
            #feature .group .feature .info dl dt span {
              font-size: 20px; }
        #feature .group .feature .list {
          width: auto !important;
          margin: 0 32px 0 0 !important;
          font-size: 14px;
          line-height: 28px;
          padding: 24px 0 14px 15px !important; }
          #feature .group .feature .list h4 {
            font-size: 18px;
            line-height: 27px; }
        #feature .group .feature .bnr-shared {
          position: static;
          width: 100%;
          margin: 40px auto 0;
          max-width: 100%; }
        #feature .group .feature.none:after {
          display: none; }
        #feature .group .feature.none .info:before {
          bottom: -8px; }
        #feature .group .feature.none .info:after {
          display: block;
          width: 220px;
          height: 53px;
          right: auto;
          left: -17px;
          bottom: -26px;
          border-right: none;
          border-left: 1px solid; } }

#price {
  background: url("../img/index/price_bg.jpg") no-repeat center 0/cover;
  padding: 96px 0 100px;
  color: #fff; }
  #price h2 {
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    padding-bottom: 30px; }
    #price h2 span {
      font-size: 20px; }
  #price .cont-scroll {
    overflow-x: auto; }
  #price .bnr-shared {
    margin: 0 auto; }
  #price .note {
    font-size: 14px;
    line-height: 21px;
    padding: 9px 0 60px;
    letter-spacing: 0em; }
  #price .tbl-price {
    color: #000;
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    table-layout: fixed; }
    #price .tbl-price thead th {
      background-color: #204876;
      color: #fff;
      border-top: none;
      letter-spacing: 0.05em; }
      #price .tbl-price thead th:last-child {
        border-right: none; }
      #price .tbl-price thead th:first-child {
        border-left: none;
        width: 178px; }
        @media screen and (max-width: 999px) {
          #price .tbl-price thead th:first-child {
            width: 120px; } }
    #price .tbl-price tbody {
      background-color: #f2f4f7; }
      #price .tbl-price tbody th {
        background-color: #b3bfce;
        color: #fff; }
      #price .tbl-price tbody tr th {
        border-left: none; }
      #price .tbl-price tbody tr td:last-child {
        border-right: none; }
    #price .tbl-price th, #price .tbl-price td {
      border: 1px solid #fff;
      text-align: center;
      padding: 10px 0;
      letter-spacing: 0; }
    @media screen and (min-width: 768px) and (max-width: 999px) {
      #price .tbl-price td > span {
        display: block; } }
    #price .tbl-price td span {
      font-size: 12px; }
      #price .tbl-price td span span {
        color: #FFB550;
        font-weight: 700; }
  @media screen and (max-width: 767px) {
    #price {
      padding: 70px 0 62px; }
      #price h2 {
        font-size: 24px;
        padding-bottom: 26px; }
        #price h2 span {
          font-size: 16px; }
      #price .tbl-price {
        width: 1100px; }
      #price .cont-scroll {
        margin-right: -30px;
        padding-right: 30px;
        padding-bottom: 7px; }
      #price .note {
        padding: 9px 0 38px;
        margin-right: -30px; } }

#clinic {
  background-color: rgba(32, 72, 118, 0.05);
  position: relative;
  padding: 36px 0 106px; }
  #clinic .group {
    padding: 10px 0 0px;
    position: relative; }
  #clinic .tbl-time {
    font-size: 17px;
    letter-spacing: 0.1em; }
    #clinic .tbl-time tbody th {
      padding-left: 10px; }
  #clinic .gmap {
    max-width: 510px;
    width: calc(50% - 10px);
    padding-top: 10px; }
    #clinic .gmap .link {
      text-align: right;
      font-size: 12px; }
      #clinic .gmap .link a {
        text-decoration: underline; }
        #clinic .gmap .link a:hover {
          text-decoration: none; }
    #clinic .gmap .map {
      position: relative;
      overflow: hidden;
      line-height: 0;
      height: 520px;
      margin-bottom: 25px; }
    #clinic .gmap iframe {
      width: 100%;
      height: 100% !important;
      position: absolute;
      top: 0;
      left: 0; }
  #clinic .info {
    max-width: 530px;
    width: calc(50% - 10px);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.05em; }
    #clinic .info .note {
      padding: 1px 0 18px;
      border-bottom: 1px dotted;
      margin-bottom: 21px; }
  #clinic .tbl-info dl {
    display: table;
    width: 100%;
    margin-bottom: 4px; }
    #clinic .tbl-info dl dt, #clinic .tbl-info dl dd {
      display: table-cell;
      box-sizing: border-box;
      vertical-align: top; }
    #clinic .tbl-info dl dt {
      color: #204876;
      width: 86px; }
    #clinic .tbl-info dl.access li {
      position: relative;
      border-bottom: 1px dotted;
      font-size: 16px;
      line-height: 24px;
      overflow: hidden;
      margin-bottom: 24px; }
      #clinic .tbl-info dl.access li img {
        width: auto;
        height: 45px;
        display: block; }
      #clinic .tbl-info dl.access li .txt-vertical {
        font-size: 12px;
        letter-spacing: 0.0em;
        margin-left: -6px;
        position: relative;
        top: 3px;
        display: inline-block; }
      #clinic .tbl-info dl.access li i {
        background-color: #204876;
        color: #fff;
        display: block;
        line-height: 32px;
        text-align: center;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        letter-spacing: 0.05em;
        font-size: 14px; }
      #clinic .tbl-info dl.access li .tt {
        display: inline-block;
        font-size: 22px;
        margin-left: 40px; }
        @media screen and (max-width: 999px) {
          #clinic .tbl-info dl.access li .tt {
            margin-left: 10px; } }
        #clinic .tbl-info dl.access li .tt span {
          font-size: 14px; }
      #clinic .tbl-info dl.access li small {
        font-size: 16px;
        position: absolute;
        right: 0;
        bottom: 0; }
        #clinic .tbl-info dl.access li small span {
          font-size: 24px; }
      #clinic .tbl-info dl.access li.ext {
        padding-top: 34px; }
        #clinic .tbl-info dl.access li.ext.ext2 {
          margin-bottom: 13px; }
    @media screen and (max-width: 999px) {
      #clinic .tbl-info dl.access {
        display: block; }
        #clinic .tbl-info dl.access dt, #clinic .tbl-info dl.access dd {
          width: auto;
          display: block; } }
  #clinic .f-note {
    width: calc(50%  - 33px);
    position: absolute;
    right: 0;
    bottom: 15px; }
  @media screen and (max-width: 999px) {
    #clinic .f-note {
      width: calc(50%  - 10px); }
    #clinic .tbl-time {
      font-size: 16px; }
      #clinic .tbl-time thead th:first-child {
        font-size: 16px; } }
  @media screen and (max-width: 767px) {
    #clinic {
      padding: 33px 0 27px; }
      #clinic .h2-tt {
        margin-bottom: 17px; }
      #clinic .group {
        padding: 0; }
      #clinic .gmap {
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-wrap: wrap; }
        #clinic .gmap .link {
          order: -1;
          width: 100%;
          padding-bottom: 5px; }
        #clinic .gmap .map {
          height: 69.8vw;
          width: 100%; }
      #clinic .info {
        width: 100%; }
        #clinic .info .note {
          padding: 1px 0 30px;
          margin-bottom: 34px; }
      #clinic .tbl-time {
        font-size: 16px;
        margin-bottom: 5px; }
        #clinic .tbl-time thead th:first-child {
          font-size: 16px;
          width: 130px;
          line-height: 30px; }
        #clinic .tbl-time tbody tr:first-child th, #clinic .tbl-time tbody tr:first-child td {
          padding-top: 0px;
          padding-left: 0; }
        #clinic .tbl-time tbody th, #clinic .tbl-time tbody td {
          letter-spacing: 0; }
        #clinic .tbl-time tbody tr:last-child th, #clinic .tbl-time tbody tr:last-child td {
          padding-bottom: 0px;
          padding-left: 0; }
      #clinic .tbl-info {
        padding-bottom: 7px; }
        #clinic .tbl-info dl {
          display: block;
          line-height: 24px;
          margin-bottom: 18px; }
          #clinic .tbl-info dl dt, #clinic .tbl-info dl dd {
            display: block; }
          #clinic .tbl-info dl.access {
            margin-bottom: 0; }
            #clinic .tbl-info dl.access dt {
              padding-bottom: 10px; }
            #clinic .tbl-info dl.access li {
              padding-bottom: 3px; }
              #clinic .tbl-info dl.access li .txt-vertical {
                letter-spacing: 0.05em; }
      #clinic .f-note {
        position: static;
        width: auto; } }

.js-full {
  padding: 60px 0;
  background-color: #204876; }
  .js-full li {
    display: block !important;
    padding: 0 10px; }
  @media screen and (max-width: 767px) {
    .js-full {
      padding: 30px 0; }
      .js-full img {
        width: 240px !important;
        height: auto; } }

#recruit {
  padding: 36px 0 50px; }
  #recruit .group {
    padding: 20px 0 0; }
  #recruit .photo {
    width: 880px;
    height: 526px;
    margin: 0 -193px -180px; }
  #recruit .info {
    background-color: #fff;
    padding: 55px 0 50px 84px;
    position: relative;
    z-index: 1;
    float: right;
    width: 710px;
    box-sizing: border-box; }
    #recruit .info dt {
      font-size: 32px;
      line-height: 48px;
      margin-bottom: 60px;
      letter-spacing: 0.1em;
      font-weight: 500; }
  @media screen and (max-width: 767px) {
    #recruit {
      padding: 48px 0 64px; }
      #recruit .group {
        padding: 8px 0 0; }
      #recruit .photo {
        width: auto;
        height: auto;
        margin: 0 16px -52px -30px; }
      #recruit .info {
        padding: 0;
        float: none;
        width: auto;
        box-sizing: border-box; }
        #recruit .info dt {
          font-size: 18px;
          line-height: 32px;
          padding: 22px 0px 44px 24px;
          margin-bottom: 0;
          margin-right: -30px; } }

.bnr-shared {
  max-width: 320px;
  width: 90%; }
  .bnr-shared a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 23px;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 70px;
    position: relative;
    background: #FFB550; }
    .bnr-shared a:before {
      content: '';
      width: 0;
      height: 0;
      border-bottom: 14px solid #fff;
      border-left: 14px solid transparent;
      position: absolute;
      right: 5px;
      bottom: 5px; }
    .bnr-shared a:hover {
      opacity: 0.8; }
  @media screen and (max-width: 767px) {
    .bnr-shared {
      max-width: 100%;
      width: 100%; } }

.table-b th, .table-b td {
  border: 1px solid #CBCAC9;
  padding: 10px 15px;
  vertical-align: top; }
.table-b tr td:first-child {
  background-color: #204876;
  color: #fff; }

.table-a th, .table-a td {
  vertical-align: top;
  padding: 13px 14px 10px;
  box-sizing: border-box;
  border-bottom: 1px solid #CBCAC9; }
.table-a th, .table-a td:first-child {
  width: 36%;
  border-bottom: 1px solid #1F4774; }
  @media screen and (max-width: 767px) {
    .table-a th, .table-a td:first-child {
      width: 120px;
      padding-left: 5px;
      padding-right: 0; } }
.table-a.ext th {
  width: 55%; }
.table-a dl {
  display: table;
  width: 100%;
  margin-bottom: 8px; }
  .table-a dl dt, .table-a dl dd {
    display: table-cell;
    box-sizing: border-box;
    line-height: 24px; }
  .table-a dl dt {
    width: 90px; }

.photo-b {
  font-size: 20px;
  letter-spacing: 0.06em;
  font-family: dnp-shuei-gothic-kin-std, sans-serif;
  font-weight: 600;
  font-style: normal; }
  .photo-b .elementor-column.elementor-col-33, .photo-b .elementor-column[data-col="33"] {
    width: calc((100% - 60px)/3);
    margin-right: 30px;
    margin-bottom: 30px; }
    @media screen and (max-width: 999px) {
      .photo-b .elementor-column.elementor-col-33, .photo-b .elementor-column[data-col="33"] {
        width: calc((100% - 40px)/3);
        margin-right: 20px; } }
    @media screen and (max-width: 900px) {
      .photo-b .elementor-column.elementor-col-33, .photo-b .elementor-column[data-col="33"] {
        width: calc((100% - 20px)/3);
        margin-right: 10px; } }
    @media screen and (max-width: 767px) {
      .photo-b .elementor-column.elementor-col-33, .photo-b .elementor-column[data-col="33"] {
        width: 100%;
        margin: 0px 0 30px; } }
    .photo-b .elementor-column.elementor-col-33:nth-child(3n), .photo-b .elementor-column[data-col="33"]:nth-child(3n) {
      margin-right: 0 !important; }
    .photo-b .elementor-column.elementor-col-33 img, .photo-b .elementor-column[data-col="33"] img {
      position: relative; }
  .photo-b .tit {
    font-family: dnp-shuei-gothic-kin-std, sans-serif;
    font-style: normal;
    font-weight: 600;
    position: relative;
    margin: 25px 0 10px;
    color: #1F4774;
    font-size: 24px;
    letter-spacing: 0.1em;
    padding: 0; }
    .photo-b .tit a:hover {
      opacity: 0.8;
      text-decoration: none !important; }
    @media screen and (max-width: 767px) {
      .photo-b .tit {
        font-size: 18px;
        margin: 15px 0 10px; } }

.list-f li {
  list-style: none;
  position: relative;
  padding-left: 32px;
  letter-spacing: 0.15em;
  line-height: 35px; }
  .list-f li:before {
    background: url(../img/list.png) no-repeat 0 0;
    width: 23px;
    height: 23px;
    background-size: 100% auto;
    content: "";
    position: absolute;
    top: 8px;
    left: 0; }

.frame-k {
  position: relative;
  border: 2px solid #C7B6A2;
  padding: 45px;
  margin-bottom: 20px; }
  .frame-k h4 {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.75;
    letter-spacing: 0.15em;
    border-bottom: 1px solid #E6DECB;
    padding: 0px 0 10px 30px;
    margin-bottom: 20px;
    position: relative; }
    .frame-k h4:before {
      content: '';
      position: absolute;
      top: 10px;
      left: 0;
      width: 15px;
      height: 15px;
      border-radius: 50%;
      background-color: #9E948A; }
  @media screen and (max-width: 767px) {
    .frame-k {
      padding: 20px; }
      .frame-k h4 {
        font-size: 18px;
        margin-bottom: 10px; } }

.list-j {
  position: relative;
  background-color: #E5F0FC;
  padding: 50px 50px 30px;
  margin-bottom: 40px; }
  .list-j h4 {
    font-family: dnp-shuei-gothic-kin-std, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.75;
    letter-spacing: 0.06em;
    margin-bottom: 25px;
    padding: 0px 0 15px 30px;
    position: relative;
    border-bottom: 1px solid #0051A4; }
    .list-j h4:before {
      content: '';
      position: absolute;
      top: 10px;
      left: 0;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background-color: #0051A4; }
  .list-j.list-k {
    border: 2px solid #27B5EE;
    background-color: #DFECF2; }
    .list-j.list-k h4 {
      border-bottom: 1px solid #27B5EE; }
      .list-j.list-k h4:before {
        background-color: #27B5EE; }
  @media screen and (max-width: 767px) {
    .list-j {
      padding: 20px; }
      .list-j h4 {
        font-size: 18px; } }

.frame-c {
  background-color: #E5F0FC;
  border: 1px solid #707070;
  padding: 45px;
  margin-bottom: 40px; }
  .frame-c h4 {
    font-family: dnp-shuei-gothic-kin-std, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.75;
    letter-spacing: 0.15em;
    border-bottom: 1px solid #392212;
    padding: 0px 0 10px 0px;
    margin-bottom: 20px;
    position: relative;
    color: #1962AD; }
  .frame-c dl {
    color: #707070;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0;
    padding-bottom: 20px; }
    .frame-c dl dt {
      font-family: dnp-shuei-gothic-kin-std, sans-serif;
      font-style: normal;
      color: #1962AD;
      font-weight: 600;
      font-size: 20px;
      line-height: 1.75;
      letter-spacing: 0.15em; }
  @media screen and (max-width: 767px) {
    .frame-c {
      padding: 20px;
      margin-bottom: 25px; }
      .frame-c h4 {
        font-size: 18px;
        margin-bottom: 10px; }
      .frame-c dl {
        font-size: 18px; }
        .frame-c dl dt {
          font-size: 18px; } }

.menu-style .row {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between; }
  .menu-style .row h3 {
    letter-spacing: 0.04em;
    font-size: 28px;
    line-height: 1.7em; }
  .menu-style .row .info {
    width: 200px; }
  .menu-style .row .txt {
    width: calc(100% - 230px); }

.tbl-time-c {
  text-align: center;
  border-bottom: 1px solid #CBCAC9;
  margin-bottom: 20px;
  table-layout: fixed; }
  .tbl-time-c th, .tbl-time-c td {
    padding: 15px 0px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .tbl-time-c th, .tbl-time-c td {
        padding: 10px 0px; } }
  .tbl-time-c tr th {
    text-align: left;
    padding-left: 25px; }
    @media screen and (max-width: 767px) {
      .tbl-time-c tr th {
        padding-left: 5px; } }
  .tbl-time-c thead {
    background-color: #57AD64;
    color: #fff;
    text-align: center; }
    .tbl-time-c thead th {
      text-align: center; }
      .tbl-time-c thead th:first-child {
        text-align: left;
        width: 150px;
        padding-left: 25px; }
        @media screen and (max-width: 767px) {
          .tbl-time-c thead th:first-child {
            width: 120px;
            padding-left: 5px; } }

.flow-a {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
  background-color: #EDF6FF;
  margin-bottom: 60px;
  padding: 40px;
  position: relative; }
  .flow-a.arrow {
    margin-bottom: 60px; }
    .flow-a.arrow:before {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 100%);
      content: '';
      width: 0;
      height: 0;
      border-left: 25px solid transparent;
      border-right: 25px solid transparent;
      border-top: 25px solid #1F4774; }
  .flow-a h3 {
    font-family: dnp-shuei-gothic-kin-std, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    color: #1C1C1C;
    letter-spacing: 0.06em;
    position: relative;
    padding: 0 0 0 44px;
    margin-bottom: 25px; }
    .flow-a h3 span {
      font-weight: 500;
      color: #fff;
      background-color: #0E5295;
      display: inline-block;
      border-radius: 50%;
      width: 33px;
      height: 33px;
      line-height: 33px;
      text-align: center;
      margin-right: 8px;
      position: absolute;
      left: 0;
      top: 5px; }
  .flow-a img {
    position: relative;
    border-radius: 16px !important; }
  @media screen and (max-width: 767px) {
    .flow-a {
      padding: 20px; } }

.merit {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-bottom: 25px;
  gap: 20px; }
  .merit dl {
    width: 50%;
    background-color: #fff;
    border: 2px solid #F3C05B;
    border-radius: 16px;
    padding: 40px 45px; }
    .merit dl dt {
      border-bottom: 1px solid #F3C05B;
      font-size: 20px;
      font-weight: 500;
      line-height: 35px;
      margin-bottom: 10px;
      position: relative;
      padding-left: 23px; }
      .merit dl dt:before {
        content: '';
        background-color: #F3C05B;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        position: absolute;
        left: 0;
        top: 10px; }

.box-photo-list .elementor-row {
  gap: 20px; }
  .box-photo-list .elementor-row dl {
    margin-bottom: 30px; }
  .box-photo-list .elementor-row dt {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    font-weight: 500;
    padding: 15px 0; }
    @media screen and (max-width: 767px) {
      .box-photo-list .elementor-row dt {
        font-size: 20px; } }
  .box-photo-list .elementor-row img {
    border: 10px solid #fff;
    position: relative;
    z-index: 1;
    border-radius: 16px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.16); }

.p-icon {
  position: relative;
  padding-left: 30px; }
  .p-icon:before {
    position: absolute;
    top: 9px;
    left: 0;
    content: '';
    width: 18px;
    height: 17px;
    border-radius: 50%;
    background-color: #F3C05B; }

.cont-box-list {
  background: #fffcf5;
  padding: 40px;
  border: 20px solid transparent;
  border-image: url("../img/index/main_btn_bg01.png") 20 round; }
  .cont-box-list ul {
    width: 48%; }
  .cont-box-list li {
    position: relative;
    margin-bottom: 10px; }
    .cont-box-list li span {
      display: block;
      background: url("../img/index/main_btn024.png") no-repeat 5px 10px;
      padding-left: 25px; }
  @media screen and (max-width: 767px) {
    .cont-box-list {
      padding: 20px 10px; }
      .cont-box-list ul {
        width: 100%; } }
