@charset "UTF-8";
/*------------------------------------------------------------
color
------------------------------------------------------------*/
/*------------------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
nav,
section,
time,
mark,
audio,
video {
  font-size: 1em;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
}

body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

table,
input,
textarea,
select,
option {
  line-height: 1.1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

img {
  vertical-align: top;
  max-width: 100%;
}

a {
  -webkit-tap-highlight-color: transparent;
  margin: 0;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
  -webkit-backface-visibility: hidden;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font: inherit;
  font-style: normal;
  font-weight: normal;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
  list-style: none;
  border: 0;
}

*:before,
*:after {
  box-sizing: border-box;
}

/*------------------------------------------------------------
Header
------------------------------------------------------------*/
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: #fff;
}
.l-header__top {
  background: #EDF2F5;
  border-top: 8px solid #EDF2F5;
  padding-top: 14px;
}
@media screen and (max-width: 767px) {
  .l-header__top {
    padding-top: 8px;
  }
}
.l-header--tabs {
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-header--tabs {
    padding: 0 16px;
  }
}
.l-header--tabs li {
  opacity: 0.5;
  width: 21.8%;
}
@media screen and (max-width: 767px) {
  .l-header--tabs li {
    width: 22.56%;
  }
}
.l-header--tabs li.current {
  opacity: 1;
}
.l-header--tabs li:nth-child(1) {
  width: 32.16%;
}
@media screen and (max-width: 767px) {
  .l-header--tabs li:nth-child(1) {
    width: 28.66%;
  }
}
.l-header--tabs li:nth-child(2) a span:before {
  background: #6B92A8;
}
.l-header--tabs li:nth-child(3) a span:before {
  background: #97C493;
}
.l-header--tabs li:nth-child(4) a span:before {
  background: #9B8FCC;
}
.l-header--tabs li a {
  display: block;
  background: #fff;
  padding: 14px;
  border-radius: 16px 16px 0 0;
}
@media screen and (max-width: 767px) {
  .l-header--tabs li a {
    padding: 8px;
    text-align: center;
  }
}
.l-header--tabs li a span {
  font-size: 16px;
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  line-height: 1.3;
}
@media screen and (max-width: 1190px) {
  .l-header--tabs li a span {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .l-header--tabs li a span {
    font-size: 10px;
    line-height: 1.2;
  }
}
.l-header--tabs li a span:before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #EDF2F5;
  display: inline-block;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .l-header--tabs li a span:before {
    display: none;
  }
}
.l-header__mid {
  background: #fff;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-header__mid {
    max-width: none;
    padding: 8px 16px;
  }
}
.l-header__mid__rt {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1190px) {
  .l-header__mid__rt {
    max-width: 35%;
  }
}
@media screen and (max-width: 767px) {
  .l-header__mid__rt {
    max-width: unset;
  }
}
.l-header--logo {
  max-width: 32%;
}
@media screen and (max-width: 767px) {
  .l-header--logo {
    max-width: 159px;
  }
}
.l-header--tel {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .l-header--tel {
    margin-right: 0;
    width: 51px;
  }
}
.l-header--book1 {
  margin-left: 20px;
}
@media screen and (max-width: 1190px) {
  .l-header--book1 {
    margin-left: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-header--book1 {
    width: 32px;
    margin-left: 4px;
  }
}
.l-header--book2 {
  margin-left: 5px;
}
@media screen and (max-width: 767px) {
  .l-header--book2 {
    width: 32px;
    margin-left: 4px;
  }
}
.l-header--location {
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .l-header--location {
    display: none;
  }
}
.l-header--web {
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .l-header--web {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header--check {
    display: none;
  }
}
.l-header__bot {
  background: #004466;
}
.l-header__menu {
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-header__menu {
    display: none;
  }
}
.l-header__menu > li {
  cursor: pointer;
  position: relative;
  background: #004466;
}
.l-header__menu > li.has_child:after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  left: calc(50% - 3px);
  bottom: 10px;
}
.l-header__menu > li:nth-child(1) {
  width: 16.75%;
}
.l-header__menu > li:nth-child(1) a:before {
  content: "";
  width: 1px;
  height: 15px;
  background: #fff;
  position: absolute;
  left: 0;
  top: calc(50% - 7px);
}
.l-header__menu > li:nth-child(2) {
  width: 18.92%;
}
.l-header__menu > li:nth-child(3) {
  width: 18.92%;
}
.l-header__menu > li:nth-child(4) {
  width: 21%;
}
.l-header__menu > li:nth-child(5) {
  width: 18.92%;
}
.l-header__menu > li:nth-child(6) {
  width: 22.24%;
}
.l-header__menu > li > a,
.l-header__menu > li > span {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  padding: 20px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1190px) {
  .l-header__menu > li > a,
  .l-header__menu > li > span {
    font-size: 12px;
    padding: 20px 10px;
  }
}
.l-header__menu > li > a:hover,
.l-header__menu > li > span:hover {
  background: rgba(255, 255, 255, 0.3);
}
.l-header__menu > li > a:after,
.l-header__menu > li > span:after {
  content: "";
  width: 1px;
  height: 15px;
  background: #fff;
  position: absolute;
  right: 0;
  top: calc(50% - 7px);
}
.l-header__menu > li:hover .l-header__menu__sub {
  opacity: 1;
  pointer-events: auto;
}
.l-header__menu__sub {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  padding-top: 15px;
  transition: 0.3;
}
.l-header__menu__sub--main {
  background: #EDF2F5;
  border-radius: 16px;
  padding: 24px;
}
.l-header__menu__sub--title {
  font-size: 15px;
  font-weight: 700;
  color: #000;
  padding-left: 16px;
  position: relative;
  margin-bottom: 10px;
}
.l-header__menu__sub--title:before {
  content: "";
  width: 4px;
  height: 16px;
  background: #1E2C5C;
  position: absolute;
  left: 0;
  top: calc(50% - 8px);
}
.l-header__menu__sub--title:after {
  content: "";
  width: 4px;
  height: 16px;
  background: #98B5D1;
  position: absolute;
  left: 4px;
  top: calc(50% - 8px);
}
.l-header__menu__sub--title2 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  padding: 6px 9px;
  background: rgba(0, 68, 102, 0.6);
  border-radius: 8px;
  margin-bottom: 12px;
}
.l-header__menu__sub--flex {
  display: flex;
}
.l-header__menu__sub--box {
  margin-right: 15px;
}
.l-header__menu__sub--box:last-child {
  margin-right: 0;
}
.l-header__menu__sub ul {
  width: 312px;
}
@media screen and (max-width: 1190px) {
  .l-header__menu__sub ul {
    width: 280px;
  }
}
.l-header__menu__sub ul li {
  min-height: 45px;
}
.l-header__menu__sub ul li a {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #4D4D4D;
  border-bottom: 1px solid #B8C4CC;
  padding: 14px 0;
  position: relative;
}
.l-header__menu__sub ul li a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #004466;
  border-top: 2px solid #004466;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: calc(50% - 3px);
}

.sawayaka .l-header--logo {
  max-width: 344px;
}
@media screen and (max-width: 1190px) {
  .sawayaka .l-header--logo {
    max-width: 29%;
  }
}
@media screen and (max-width: 767px) {
  .sawayaka .l-header--logo {
    max-width: 114px;
  }
}
.sawayaka .l-header__menu > li:nth-child(1) {
  width: 10.36%;
}
.sawayaka .l-header__menu > li:nth-child(2) {
  width: 24.17%;
}
.sawayaka .l-header__menu > li:nth-child(3) {
  width: 17.26%;
}
.sawayaka .l-header__menu > li:nth-child(4) {
  width: 17.27%;
}
.sawayaka .l-header__menu > li:nth-child(5) {
  width: 13.81%;
}
.sawayaka .l-header__menu > li:nth-child(6) {
  width: 17.13%;
}
@media screen and (min-width: 767px) {
  .sawayaka.home .l-footer {
    margin-left: 280px;
  }
}
@media screen and (max-width: 1190px) {
  .sawayaka.home .l-footer {
    margin-left: 23.5294117647%;
  }
}
@media screen and (max-width: 767px) {
  .sawayaka.home .l-footer {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1190px) {
  .sawayaka.home .l-footer__info .l-main {
    padding-left: 15px;
    padding-right: 15px;
  }
  .sawayaka.home .l-footer__logo {
    gap: 0.336vw 2.017vw;
    grid-template-columns: 5.714vw 1fr;
  }
  .sawayaka.home .l-footer__logo-img {
    width: 5.714vw;
    height: 4.034vw;
  }
  .sawayaka.home .l-footer__logo-name {
    font-size: 1.513vw;
  }
  .sawayaka.home .l-footer__logo-name > span {
    font-size: 2.017vw;
  }
  .sawayaka.home .l-footer__contact-sub {
    font-size: 1.176vw;
  }
  .sawayaka.home .l-footer__contact-text {
    font-size: 1.513vw;
  }
}

.katsushika .l-header__top {
  background: #ECF1F4;
  border-color: #6B92A8;
}
.katsushika .l-header__mid__rt {
  max-width: 43%;
}
@media screen and (max-width: 767px) {
  .katsushika .l-header__mid__rt {
    max-width: unset;
  }
}
.katsushika .l-header__bot {
  background: #6B92A8;
}
.katsushika .l-header__menu > li {
  background: #6B92A8;
}

.nihombashi .l-header__top {
  background: #F0F7F0;
  border-color: #C5DDC5;
}
.nihombashi .l-header__mid__rt {
  max-width: 36%;
}
@media screen and (max-width: 767px) {
  .nihombashi .l-header__mid__rt {
    max-width: unset;
  }
}
.nihombashi .l-header__bot {
  background: #97C493;
}
.nihombashi .l-header__menu > li {
  background: #97C493;
}
.nihombashi .l-header__menu__sub--main {
  background: #F0F7F0;
}
.nihombashi .l-header__menu__sub--title2 {
  background: #BAD8B8;
}
.nihombashi .l-header__menu__sub ul li a:after {
  border-color: #BAD8B8;
}

.ryogoku .l-header__top {
  background: #EDEBF2;
  border-color: #9B8FCC;
}
.ryogoku .l-header__mid__rt {
  max-width: 30%;
}
@media screen and (max-width: 767px) {
  .ryogoku .l-header__mid__rt {
    max-width: unset;
  }
}
.ryogoku .l-header__bot {
  background: #9B8FCC;
}
.ryogoku .l-header__menu > li {
  background: #9B8FCC;
}
.ryogoku .l-header__menu__sub--main {
  background: #EDEBF2;
}
.ryogoku .l-header__menu__sub--title2 {
  background: #BCB4DB;
}
.ryogoku .l-header__menu__sub ul li a:after {
  border-color: #BCB4DB;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Footer
------------------------------------------------------------*/
.l-footer__link {
  background: #F7F7F7;
  padding: 25px 0;
}
.l-footer__link .c-title1 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .l-footer__link .c-title1 {
    margin-bottom: 15px;
  }
}
.l-footer__link--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.l-footer__link--list li {
  width: 22.6%;
}
@media screen and (max-width: 767px) {
  .l-footer__link--list li {
    width: 100%;
    margin-bottom: 10px;
  }
  .l-footer__link--list li:last-child {
    margin-bottom: 0;
  }
}
.l-footer__mid {
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__mid {
    padding: 30px 0 0;
  }
}
@media screen and (max-width: 1190px) {
  .l-footer__mid--frame {
    width: 100%;
    margin-bottom: 40px;
  }
  .l-footer__mid--frame:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid--frame {
    margin-bottom: 20px;
  }
}
.l-footer__mid--title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  background: #EDF2F5;
  line-height: 1;
  padding: 15px 17px;
  border-radius: 16px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .l-footer__mid--title {
    font-size: 16px;
    padding: 19px 15px;
  }
}
.l-footer__mid--box {
  width: 281px;
  margin-right: 20px;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid--box {
    width: 32%;
    margin-right: 2%;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid--box {
    width: 100%;
    margin-bottom: 15px;
    margin-right: 0;
  }
}
.l-footer__mid--box:last-child {
  margin-right: 0;
}
.l-footer__mid--box--title {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  padding: 10px 0;
  position: relative;
}
.l-footer__mid--box--title.icon {
  padding-left: 18px;
}
.l-footer__mid--box--title.icon:before {
  content: "";
  width: 13px;
  height: 12px;
  position: absolute;
  left: 0;
  top: calc(50% - 6px);
}
.l-footer__mid--box--title.icon01:before {
  background: #6B92A8;
}
.l-footer__mid--box--title.icon02:before {
  background: #97C493;
}
.l-footer__mid--box--title.icon03:before {
  background: #A695D7;
}
.l-footer__mid--box--address {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-footer__mid--box--address {
    font-size: 14px;
  }
}
.l-footer__mid__bot {
  background: #F2F2F2;
  border-radius: 8px;
  padding: 25px 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot {
    padding: 24px 13px;
  }
}
.l-footer__mid__bot--title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--title {
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--title {
    font-size: 18px;
  }
}
.l-footer__mid__bot--title2 {
  font-size: 18px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 8px;
  height: 43px;
  margin-bottom: 10px;
}
.l-footer__mid__bot--title2 span {
  margin-right: 10px;
}
.l-footer__mid__bot--rt {
  display: flex;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--rt {
    width: 100%;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--rt {
    flex-wrap: wrap;
  }
}
.l-footer__mid__bot--tel {
  width: 287px;
  margin-right: 23px;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--tel {
    width: 34.5%;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--tel {
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
  }
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--web {
    width: 62.8%;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--web {
    width: 100%;
  }
}
.l-footer__mid__bot--links {
  display: flex;
}
.l-footer__mid__bot--links li {
  width: 169px;
  margin-right: 8px;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--links li {
    width: 32%;
  }
}
.l-footer__mid__bot--links li:last-child {
  margin-right: 0;
}
.l-footer__mid__bot--links li:nth-child(2) a {
  background: #97C493;
}
.l-footer__mid__bot--links li:nth-child(3) a {
  background: #A695D7;
}
.l-footer__mid__bot--links li a {
  display: block;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #6B92A8;
  line-height: 1.223;
  padding: 12px 0;
  border-radius: 8px;
  position: relative;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--links li a {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--links li a {
    font-size: 12px;
    padding: 17px 0;
  }
}
.l-footer__mid__bot--links li a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: calc(50% - 3px);
}
@media screen and (max-width: 767px) {
  .l-footer__mid__bot--links li a:after {
    right: 8px;
  }
}
.l-footer__mid__bot--links li a span {
  display: block;
  font-size: 20px;
}
@media screen and (max-width: 1190px) {
  .l-footer__mid__bot--links li a span {
    font-size: 16px;
  }
}
.l-footer__gnav {
  padding: 40px 0;
  background: #EDF2F5;
}
@media screen and (max-width: 767px) {
  .l-footer__gnav {
    display: none;
  }
}
.l-footer__gnav--title1 {
  font-size: 16px;
  font-weight: 700;
  padding-left: 15px;
  position: relative;
  margin-bottom: 20px;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--title1 {
    font-size: 14px;
  }
}
.l-footer__gnav--title1:before {
  content: "";
  width: 4px;
  height: 16px;
  background: #1E2C5C;
  position: absolute;
  left: 0;
  top: calc(50% - 8px);
}
.l-footer__gnav--title1:after {
  content: "";
  width: 4px;
  height: 16px;
  background: #98B5D1;
  position: absolute;
  left: 4px;
  top: calc(50% - 8px);
}
.l-footer__gnav--col {
  padding: 0 45px 20px;
  border-right: 1px solid #DAE2E5;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--col {
    padding: 0 20px 20px;
  }
}
.l-footer__gnav--col:nth-child(1) {
  width: 12.5%;
  padding-left: 0;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--col:nth-child(1) {
    width: 17%;
  }
}
.l-footer__gnav--col:nth-child(2) {
  width: 22.42%;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--col:nth-child(2) {
    width: 28%;
  }
}
.l-footer__gnav--col:nth-child(3) {
  width: 43.58%;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--col:nth-child(3) {
    width: 55%;
    border-right: none;
  }
}
.l-footer__gnav--col:nth-child(4) {
  width: 21.5%;
  border-right: none;
  padding-right: 0;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--col:nth-child(4) {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
}
.l-footer__gnav--list01 {
  margin-bottom: 40px;
}
.l-footer__gnav--list01:last-child {
  margin-bottom: 0;
}
.l-footer__gnav--list01 li a {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.72;
  color: #4D4D4D;
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 1190px) {
  .l-footer__gnav--list01 li a {
    font-size: 13px;
  }
}
.l-footer__gnav--list01 li a:before {
  content: "";
  width: 10px;
  height: 2px;
  background: #4D4D4D;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 12px;
}
.l-footer__gnav--list02 li a {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #4D4D4D;
  line-height: 2.29;
  padding-left: 13px;
  position: relative;
}
.l-footer__gnav--list02 li a:before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #4D4D4D;
  border-right: 2px solid #4D4D4D;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: calc(50% - 3px);
}
.l-footer__gnav--box {
  margin-right: 30px;
}
.l-footer__gnav--box:last-child {
  margin-right: 0;
}
.l-footer__gnav--box .l-footer__gnav--list01 {
  margin-bottom: 20px;
}
.l-footer__gnav--box--title {
  font-size: 14px;
  font-weight: 700;
  color: #1E2C5C;
  margin-bottom: 12px;
}
.l-footer__bottom {
  background: #004466;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__bottom .u-flex {
    justify-content: center;
    flex-direction: column;
  }
}
.l-footer__info {
  padding: 18px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__info {
    padding: 27px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__info .u-flex {
    justify-content: center;
  }
}
.l-footer__logo {
  display: grid;
  gap: 4px 24px;
  grid-template-columns: 68px 1fr;
  grid-template-areas: "logo name" "logo address";
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    display: none;
  }
}
.l-footer__logo-img {
  width: 68px;
  height: 48px;
  grid-area: logo;
}
.l-footer__logo-name {
  grid-area: name;
  font-size: 18px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}
.l-footer__logo-name > span {
  display: inline-block;
  vertical-align: -4px;
  margin-left: 8px;
  font-size: 24px;
}
.l-footer__logo-address {
  grid-area: address;
  font-size: 14px;
  line-height: 1;
}
.l-footer__contact {
  color: #fff;
  line-height: 1;
  display: inline-block;
}
.l-footer__contact > a {
  display: block;
  color: #fff;
  font-weight: bold;
  line-height: 1.3;
  border-radius: 50vh;
  background: #004466;
  padding: 15px 44px 15px 63px;
  position: relative;
}
.l-footer__contact > a::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 32px;
  height: 24px;
  background-image: url("../img/common/icon-envelope.svg");
  background-size: contain;
  content: "";
}
.l-footer__contact > a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  font-size: 15px;
  content: "\f054";
}
.l-footer__contact-sub {
  font-size: 14px;
  display: block;
}
.l-footer__contact-text {
  font-size: 18px;
  display: block;
}
.l-footer__links {
  display: flex;
  gap: 24px;
}
.l-footer__links a {
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  padding-left: 12px;
}
.l-footer__links a::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 9px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  font-size: 8px;
  content: "\f054";
}
.l-footer__copyright {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 13px;
  }
}

/*------------------------------------------------------------
main
------------------------------------------------------------*/
body {
  width: 100%;
  margin: 0;
  padding: 0;
  word-break: break-word;
}
body.open {
  overflow: hidden;
}

.l-main {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding: 0 15px;
  }
}

/*
------------------------------------------------------------*/
.l-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/*------------------------------------------------------------
nav
------------------------------------------------------------*/
.l-nav {
  display: none;
  position: fixed;
  top: 109px;
  width: 100%;
  z-index: 98;
  background: #EDF2F5;
  padding: 16px;
  height: calc(100vh - 109px);
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
}
@media screen and (max-width: 767px) {
  .l-nav {
    display: block;
  }
  .l-nav.open {
    opacity: 1;
    pointer-events: auto;
  }
}
.l-nav--info {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.l-nav--info li {
  width: 49.7%;
  margin-bottom: 1%;
}
.l-nav--info li.nav_full {
  width: 100%;
}
.l-nav--info li:nth-child(1) {
  margin-bottom: 10px;
}
.l-nav--info li a {
  display: block;
}
.l-nav--info li a img {
  width: 100%;
}
.l-nav--link01 > li {
  margin-bottom: 15px;
  position: relative;
}
.l-nav--link01 > li:before {
  content: "";
  width: 4px;
  height: 16px;
  background: #1E2C5C;
  position: absolute;
  left: 0;
  top: 13px;
}
.l-nav--link01 > li:after {
  content: "";
  width: 4px;
  height: 16px;
  background: #98B5D1;
  position: absolute;
  left: 4px;
  top: 13px;
}
.l-nav--link01 > li.has_child > span:before {
  content: "";
  width: 10px;
  height: 2px;
  background: #1E2C5C;
  position: absolute;
  right: 0;
  top: 19px;
}
.l-nav--link01 > li.has_child > span:after {
  content: "";
  width: 2px;
  height: 10px;
  background: #1E2C5C;
  position: absolute;
  right: 4px;
  top: 15px;
  transition: 0.5s;
}
.l-nav--link01 > li.has_child > span.open:after {
  opacity: 0;
}
.l-nav--link01 > li > a,
.l-nav--link01 > li > span {
  padding: 13px 0;
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #000;
  padding-left: 15px;
  position: relative;
  border-bottom: 1px solid #1E2C5C;
}
.l-nav--link01 > li > a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #1E2C5C;
  border-right: 2px solid #1E2C5C;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: 16px;
}
.l-nav--link01 > li ol {
  padding-left: 16px;
}
.l-nav--link01 > li ol li a {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  line-height: 1;
  padding: 12px 13px;
  border-bottom: 1px solid #B8C4CC;
  position: relative;
}
.l-nav--link01 > li ol li a:before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #1E2C5C;
  border-right: 2px solid #1E2C5C;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 17px;
}
.l-nav--link01--sub {
  display: none;
  padding-left: 16px;
}
.l-nav--link01--sub li a {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #4D4D4D;
  border-bottom: 1px solid #B8C4CC;
  padding: 12px 0;
  position: relative;
}
.l-nav--link01--sub li a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #1E2C5C;
  border-right: 2px solid #1E2C5C;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: 17px;
}
.l-nav--link01--list > li {
  margin-bottom: 15px;
}
.l-nav--link01--list > li:last-child {
  margin-bottom: 0;
}
.l-nav--link01--list > li > span {
  font-size: 14px;
  font-weight: 700;
  color: #1E2C5C;
  display: block;
  border-bottom: 1px solid #B8C4CC;
  line-height: 1;
  padding: 12px 0;
  position: relative;
}
.l-nav--link01--list > li > span:before {
  content: "";
  width: 10px;
  height: 2px;
  background: #1E2C5C;
  position: absolute;
  right: 0;
  top: 19px;
}
.l-nav--link01--list > li > span:after {
  content: "";
  width: 2px;
  height: 10px;
  background: #1E2C5C;
  position: absolute;
  right: 4px;
  top: 15px;
  transition: 0.5s;
}
.l-nav--link01--list > li > span.open:after {
  opacity: 0;
}
.l-nav--link02 {
  margin-top: 20px;
}
.l-nav--link02 li a {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #4D4D4D;
  border-bottom: 1px solid #DAE8F2;
  line-height: 1;
  padding: 7px 0;
  padding-left: 12px;
  position: relative;
}
.l-nav--link02 li a:before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #4D4D4D;
  border-right: 2px solid #4D4D4D;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 10px;
}
.l-nav .l-footer__mid__bot {
  background: #fff;
}
.l-nav .l-footer__bottom {
  background: none;
  padding-left: 0;
  padding-right: 0;
}
.l-nav .l-footer__links a {
  color: #000;
}
.l-nav .l-footer__copyright {
  color: #1E2C5C;
}

.nihombashi .l-nav {
  background: #F0F7F0;
}

.ryogoku .l-nav {
  background: #EDEBF2;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
sidebar
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Button
------------------------------------------------------------*/
.btn-menu {
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: none;
  position: relative;
  margin-left: 4px;
}
@media screen and (max-width: 767px) {
  .btn-menu {
    display: block;
  }
}
.btn-menu.open .btn-menu--btn {
  opacity: 0;
}
.btn-menu.open .btn-menu--close {
  opacity: 1;
}
.btn-menu--btn {
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.btn-menu--close {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}

.btn-faq {
  display: inline-block;
  width: 640px;
  max-width: 100%;
  background: #EDF2F5;
  border-radius: 16px;
  text-align: center;
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .btn-faq {
    width: 100%;
    padding: 26px 0;
  }
}
.btn-faq--title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.667;
  color: #000;
  margin-bottom: 10px;
  position: relative;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .btn-faq--title {
    font-size: 20px;
    line-height: 2;
  }
}
.btn-faq--title:before {
  content: "";
  width: 27px;
  height: 22px;
  background: url("../img/icon/faq.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: calc(50% - 13px);
}
.btn-faq--title span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.2em;
}
.btn-faq--link {
  font-size: 12px;
  font-weight: 700;
  color: #666;
  position: relative;
  position: relative;
  display: inline-block;
  padding-right: 12px;
}
.btn-faq--link:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: calc(50% - 3px);
}

.btn-bdf {
  display: inline-block;
  width: 200px;
  background: #fff;
  border-radius: 56px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  position: relative;
  padding: 12px 12px 12px 45px;
  margin-left: 8px;
}
.btn-bdf:before {
  content: "";
  width: 17px;
  height: 17px;
  background: url("../img/icon/pdf.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 20px;
  top: calc(50% - 8px);
}
.btn-bdf:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #4F4F4F;
  border-right: 2px solid #4F4F4F;
  transform: rotate(45deg);
  position: absolute;
  right: 12px;
  top: calc(50% - 3px);
}

.btn-submit {
  cursor: pointer;
  display: inline-block;
  border-radius: 50vh;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  width: 253px;
  padding: 20px;
  background: #b20003;
  position: relative;
}
.btn-submit input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.btn-submit::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  margin-top: 1px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}

.nihombashi .btn-faq {
  background: #EEF5EE;
}

.ryogoku .btn-faq {
  background: #EDEBF2;
}

.c-btn01 {
  display: inline-block;
  width: 240px;
  background: #004466;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding: 19px 0;
  position: relative;
}
.c-btn01:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
}

.c-btn02 {
  display: block;
  border: 1px solid #6B92A8;
  border-radius: 32px;
  font-size: 16px;
  font-weight: 700;
  color: #6B92A8;
  padding: 14px 12px;
  background: #fff;
  position: relative;
}
.c-btn02:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
}

.c-btn03 {
  display: inline-block;
  width: 280px;
  height: 48px;
  background: #E6E6E6;
  border-radius: 82px;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  padding: 0 18px;
  position: relative;
}
.c-btn03:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 18px;
  top: calc(50% - 4px);
}
.c-btn03 span {
  margin-right: 5px;
}

.c-btn04 {
  width: 247px;
  height: 48px;
  border-radius: 56px;
  background: #7F87A2;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 0 18px;
  display: flex;
  align-items: center;
  position: relative;
}
.c-btn04:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 18px;
  top: calc(50% - 4px);
}
.c-btn04 span {
  margin-right: 8px;
}

.nihombashi .c-btn02 {
  border-color: #97C493;
  color: #97C493;
}

.ryogoku .c-btn02 {
  border-color: #9B8FCC;
  color: #9B8FCC;
}

.mw_wp_form_confirm .txt_contact {
  display: none;
}
.mw_wp_form_confirm .txt_confirm {
  display: block;
}

.mw_wp_form_input .txt_contact {
  display: block;
}
.mw_wp_form_input .txt_confirm {
  display: none;
}

.mw_wp_form_confirm .txt_contact {
  display: none;
}
.mw_wp_form_confirm .txt_confirm {
  display: block;
}

/*------------------------------------------------------------
heading
------------------------------------------------------------*/
.page-title01 {
  font-size: 32px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  padding: 69px 0;
  background: #DAE8F2;
}
@media screen and (max-width: 767px) {
  .page-title01 {
    font-size: 24px;
    padding: 48px 0;
  }
}

.page-title02 {
  font-size: 40px;
  font-weight: bold;
  height: 400px;
  position: relative;
  background: url("../img/contact/bg-reservation-form.png") no-repeat;
  background-position: center right;
  background-size: auto 400px;
}
@media screen and (max-width: 767px) {
  .page-title02 {
    font-size: 24px;
    height: 120px;
    background-size: auto 120px;
  }
}
.page-title02::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #E6F2E6 32%, rgba(167, 217, 162, 0.1) 100%);
  content: "";
}
.page-title02 .l-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 100%;
}

.page-title03 {
  position: relative;
  height: 403px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .page-title03 {
    height: 118px;
  }
}
.page-title03 .l-main {
  display: flex;
  align-items: center;
  height: 100%;
}
.page-title03:after {
  content: "";
  width: 90%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: linear-gradient(to right, rgb(255, 255, 255), rgba(255, 255, 255, 0));
}
.page-title03.medical-checkup {
  background: url("../img/title/medical_checkup_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-title03.medical-checkup .page-title03--icon {
    width: 60px;
  }
}
.page-title03.lifestyle {
  background: url("../img/title/lifestyle_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-title03.lifestyle .page-title03--icon {
    width: 60px;
  }
}
.page-title03.healthcheckup {
  background: url("../img/title/healtcheckup_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-title03.healthcheckup .page-title03--icon {
    width: 60px;
  }
}
.page-title03.regular {
  background: url("../img/title/regular_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-title03.regular .page-title03--icon {
    width: 60px;
  }
}
.page-title03.cancer {
  background: url("../img/title/cancer_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .page-title03.cancer .page-title03--icon {
    width: 60px;
  }
}
.page-title03.mobilecheck {
  background: url("../img/title/mobile_check_bg.jpg") bottom right no-repeat;
  background-size: auto 100%;
}
@media screen and (max-width: 767px) {
  .page-title03.mobilecheck .page-title03--icon {
    width: 110px;
  }
}
.page-title03--cont {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}
.page-title03--name {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .page-title03--name {
    font-size: 24px;
    margin-left: 6px;
  }
}
.page-title03--name small {
  display: block;
  font-size: 18px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .page-title03--name small {
    font-size: 16px;
    margin-bottom: 6px;
  }
}

.katsushika .page-title01 {
  background: #ECF1F4;
}

.nihombashi .page-title01 {
  background: #EEF5EE;
}

.ryogoku .page-title01 {
  background: #EDEBF2;
}
.ryogoku .page-title02::after {
  background: linear-gradient(90deg, #EDEBF2 32%, rgba(155, 143, 204, 0) 100%);
}

.c-title1 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-title1 {
    font-size: 20px;
  }
}
.c-title1 span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.2em;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .c-title1 span {
    font-size: 12px;
    margin-top: 5px;
  }
}

.c-title2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.667;
  text-align: center;
  background: #EDF2F5;
  border-radius: 16px;
  padding: 14px 0;
}
@media screen and (max-width: 767px) {
  .c-title2 {
    font-size: 20px;
    line-height: 2;
    padding: 12px 0;
  }
}
.c-title2 span {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2;
}

.c-title3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #6B92A8;
  border-radius: 16px;
  padding: 22px 27px;
}
@media screen and (max-width: 767px) {
  .c-title3 {
    font-size: 18px;
    padding: 17px 16px;
  }
}

.c-title4 {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #97C3DE;
  padding: 10px 18px;
}
@media screen and (max-width: 767px) {
  .c-title4 {
    padding: 14px 16px;
  }
}

.c-title5 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #6B92A8;
  border-radius: 16px;
  padding: 22px 27px;
}
@media screen and (max-width: 767px) {
  .c-title5 {
    font-size: 18px;
    padding: 17px 16px;
  }
}

.nihombashi .c-title2 {
  background: #EEF5EE;
}
.nihombashi .c-title3 {
  background: #97C493;
}

.ryogoku .c-title2 {
  background: #EDEBF2;
}
.ryogoku .c-title3 {
  background: #9B8FCC;
}

/*
------------------------------------------------------------*/
.c-heading01 {
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  border-radius: 16px;
  background: #97c3de;
  padding: 21px 27px;
}
@media screen and (max-width: 767px) {
  .c-heading01 {
    padding: 15px 17px;
    font-size: 18px;
  }
}

.c-heading02 {
  font-size: 16px;
  font-weight: bold;
  background: #DAE8F2;
  color: #000;
  padding: 12px 16px;
}
.c-heading02.blue {
  background: #004466;
  color: #fff;
}
.c-heading02.lightblue {
  background: #7f87a2;
  color: #fff;
}

/*------------------------------------------------------------
time
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
.u-flex {
  display: -moz-flex;
  display: flex;
}

.u-flex-row-reverse-pc {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .u-flex-row-reverse-sp {
    flex-direction: row-reverse;
  }
}

.u-flex-col-reverse-pc {
  flex-direction: column-reverse;
}

@media screen and (max-width: 767px) {
  .u-flex-col-reverse-sp {
    flex-direction: column-reverse;
  }
}

.u-middle {
  align-items: center;
}

.u-center {
  justify-content: center;
}

.u-between {
  justify-content: space-between;
}

.u-end {
  align-items: flex-end;
}

.u-wrap {
  flex-flow: wrap;
}

.u-right {
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .u-reverseSP {
    flex-direction: row-reverse;
  }
}

/*------------------------------------------------------------
Banner
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
.c-banner01 {
  margin-bottom: 48px;
}
.c-banner01 .swiper-slide-active > div,
.c-banner01 .swiper-slide-duplicate-active > div,
.c-banner01 .swiper-slide-prev > div {
  animation: zoomUp 10s linear 0s 1 normal both;
}
@media screen and (max-width: 767px) {
  .c-banner01 {
    margin-bottom: 24px;
  }
}
.c-banner01__image {
  width: 100%;
  height: calc(100% - 210px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-banner01__image {
    height: 205px;
  }
}
.c-banner01__image-gallery {
  width: 100%;
  height: 100%;
}
.c-banner01__image .swiper-slide,
.c-banner01__image .swiper-slide > div {
  width: 100%;
  height: 100%;
}
.c-banner01__image .swiper-slide > div {
  background-size: cover;
  background-position: center;
}
.c-banner01__thumb {
  display: flex;
  margin-top: 70px;
}
.c-banner01__thumb .swiper-wrapper {
  justify-content: center;
}
.c-banner01__thumb .swiper-slide {
  width: 100px;
  cursor: pointer;
  position: relative;
}
.c-banner01__thumb .swiper-slide::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px solid #000;
  opacity: 0;
  content: "";
}
.c-banner01__thumb .swiper-slide-thumb-active::before {
  opacity: 1;
}

/*------------------------------------------------------------
Box
------------------------------------------------------------*/
.c-box01 {
  width: 100%;
  background: #E6EBF2;
  border-radius: 16px;
  padding: 60px 39px;
  margin-bottom: 58px;
}
@media screen and (max-width: 767px) {
  .c-box01 {
    padding: 20px 13px;
  }
}
.c-box01--green {
  background: #EDF2EE;
}
.c-box01:last-child {
  margin-bottom: 0;
}
.c-box01__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 17px 30px;
}
@media screen and (max-width: 767px) {
  .c-box01__head {
    display: block;
    padding: 0;
    margin-bottom: 10px;
  }
}
.c-box01__head--lf {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-box01__head--lf {
    width: 100%;
    margin-bottom: 15px;
  }
}
.c-box01__head--rt {
  max-width: 54%;
}
@media screen and (max-width: 767px) {
  .c-box01__head--rt {
    width: 100%;
    max-width: 100%;
  }
}
.c-box01__head--rt.rt02 {
  max-width: 46.5%;
}
@media screen and (max-width: 767px) {
  .c-box01__head--rt.rt02 {
    max-width: 100%;
  }
}
.c-box01__head--rt.rt03 {
  max-width: 41.4%;
}
@media screen and (max-width: 767px) {
  .c-box01__head--rt.rt03 {
    max-width: 100%;
  }
}
.c-box01__head--rt.rt04 {
  max-width: 43.66%;
}
@media screen and (max-width: 767px) {
  .c-box01__head--rt.rt04 {
    max-width: 100%;
  }
}
.c-box01__head--rt.rt05 {
  max-width: 35.75%;
}
@media screen and (max-width: 767px) {
  .c-box01__head--rt.rt05 {
    max-width: 100%;
  }
}
.c-box01__head--icon {
  width: 108px;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .c-box01__head--icon {
    width: 75px;
    margin-right: 10px;
  }
}
.c-box01__head--icon img {
  width: 100%;
}
.c-box01__head--title {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-box01__head--title {
    font-size: 12px;
  }
}
.c-box01__head--title-larg {
  font-size: 40px;
  color: #7F87A2;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-box01__head--title-larg {
    font-size: 24px;
  }
}
.c-box01__head--title--mark {
  background: #fff;
  border-radius: 8px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #7F87A2;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .c-box01__head--title--mark {
    display: block;
    font-size: 8px;
    padding: 5px;
  }
}
.c-box01__head--title--mark span {
  display: block;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .c-box01__head--title--mark span {
    font-size: 12px;
    margin-top: 2px;
  }
}
.c-box01__head--list {
  margin-top: 6px;
}
.c-box01__head--list li {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid #7F87A2;
  border-radius: 16px;
  text-align: center;
  padding: 3px 15px;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .c-box01__head--list li {
    font-size: 12px;
    padding: 3px 10px;
  }
}
.c-box01__head--list li:nth-child(1) {
  color: #7F87A2;
  background: #fff;
  margin-left: 0;
}
.c-box01__head--list li:nth-child(2) {
  background: #7F87A2;
  color: #fff;
}
.c-box01__head--list li.green {
  background: #99BFA0;
  border-color: #99BFA0;
}
.c-box01__head--txt {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .c-box01__head--txt {
    font-size: 14px;
  }
}
.c-box01--main {
  background: #fff;
  border-radius: 16px;
  padding: 25px 29px;
}
@media screen and (max-width: 767px) {
  .c-box01--main {
    padding: 12px;
  }
}

.c-box02 {
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  background: #F2F4F7;
}
.c-box02--title {
  background: #7F87A2;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  width: 15.8%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-box02--title {
    width: 100%;
    font-size: 16px;
    padding: 6px 0;
  }
}
.c-box02--list {
  width: 84.2%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .c-box02--list {
    padding: 11px;
    display: block;
    width: 100%;
  }
}
.c-box02--list li {
  width: 29%;
  max-width: 257px;
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .c-box02--list li {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-bottom: 8px;
  }
}
.c-box02--list li:nth-child(1) {
  margin-left: 0;
}
.c-box02--list li:nth-child(2) a {
  background: #97C493;
}
.c-box02--list li:nth-child(3) a {
  background: #9B8FCC;
}
.c-box02--list li a {
  background: #97C3DE;
  display: block;
  border-radius: 56px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  padding: 16px 20px 16px 64px;
  position: relative;
}
.c-box02--list li a:before {
  content: "";
  width: 26px;
  height: 34px;
  background: url("../img/icon/calender_wt.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 27px;
}
.c-box02--list li a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
}
.c-box02--list li a small {
  display: block;
  font-size: 14px;
}
.c-box02--list li.dis a {
  background: #B3B3B3;
}

.c-box03 {
  margin-top: 16px;
  background: #FAFAFA;
  border-radius: 16px;
  display: flex;
  padding: 14px 0;
  display: table;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-box03 {
    display: block;
    padding: 14px;
  }
}
.c-box03--title {
  width: 14.2%;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-size: 18px;
  font-weight: 700;
  color: #7F87A2;
  border-right: 1px dotted #7F87A2;
}
@media screen and (max-width: 767px) {
  .c-box03--title {
    display: block;
    width: 100%;
    border-right: none;
    border-bottom: 1px dotted #7F87A2;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}
.c-box03--title span {
  display: block;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .c-box03--title span {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 5px;
    position: relative;
    top: -2px;
  }
}
.c-box03--main {
  display: table-cell;
  vertical-align: middle;
  width: 85.8%;
  padding: 5px 10px 5px 35px;
}
@media screen and (max-width: 767px) {
  .c-box03--main {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
}
.c-box03--cont {
  width: 85.8%;
  padding: 5px 20px 5px 35px;
}
@media screen and (max-width: 767px) {
  .c-box03--cont {
    display: block;
    width: 100%;
    padding: 10px 0;
  }
}
.c-box03--flex {
  display: flex;
}
@media screen and (max-width: 1190px) {
  .c-box03--flex {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 767px) {
  .c-box03--flex .c-table7:first-child {
    width: 59%;
    flex-shrink: 0;
  }
}
.c-box03--btn {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.c-box03--btn .c-btn03 {
  margin: 5px 24px 5px 0;
}
@media screen and (max-width: 767px) {
  .c-box03--btn .c-btn03 {
    margin: 5px 0;
  }
}
.c-box03--btn .c-btn03:last-child {
  margin-right: 0;
}
.c-box03--txt {
  font-size: 14px;
  line-height: 1.72;
}
@media screen and (max-width: 767px) {
  .c-box03--txt {
    font-size: 12px;
  }
}

.c-box04 {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-box04 {
    display: block;
  }
}
.c-box04--title {
  min-width: 120px;
  border-radius: 8px;
  background: #F2F2F2;
  text-align: center;
  font-size: 14px;
  padding: 17px 0;
}
@media screen and (max-width: 767px) {
  .c-box04--title {
    width: 100%;
    padding: 10px 0;
    margin-bottom: 5px;
  }
}
.c-box04--title span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .c-box04--title span {
    display: inline-block;
    font-size: 14px;
    margin-bottom: 0;
  }
}
.c-box04--main {
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .c-box04--main {
    padding-left: 0;
  }
}
.c-box04--txt {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .c-box04--txt {
    font-size: 14px;
    text-align: center;
  }
}
.c-box04--title2 {
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-box04--title2 {
    text-align: center;
    margin-bottom: 5px;
  }
}
.c-box04--title2 span {
  font-size: 18px;
}
.c-box04--txt2 {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-box04--txt2 {
    font-size: 14px;
  }
}
.c-box04--txt3 {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-box04--txt3 {
    font-size: 12px;
  }
}

.c-box05 {
  width: 384px;
  margin-right: 72px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-box05 {
    width: 100%;
    margin-right: 0;
    margin-bottom: 37px;
  }
}
.c-box05:after {
  content: "";
  border-left: 12px solid #7F87A2;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  position: absolute;
  right: -45px;
  top: calc(50% - 7px);
}
@media screen and (max-width: 767px) {
  .c-box05:after {
    right: calc(50% - 7px);
    top: auto;
    bottom: -25px;
    transform: rotate(90deg);
  }
}
.c-box05:last-child {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .c-box05:last-child {
    margin-bottom: 0;
  }
}
.c-box05:last-child:after {
  display: none;
}
.c-box05--step {
  font-size: 12px;
  font-weight: 700;
  color: #7F87A2;
}
.c-box05--step span {
  font-size: 16px;
  margin-bottom: 10px;
  margin-left: 5px;
}
.c-box05--title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 9px;
}
@media screen and (max-width: 767px) {
  .c-box05--title {
    font-size: 14px;
  }
}
.c-box05--cont {
  background: #fff;
  border-radius: 16px;
  padding: 17px 35px;
  height: 138px;
}
@media screen and (max-width: 767px) {
  .c-box05--cont {
    height: unset;
    padding: 12px;
  }
}
.c-box05--select__wrapper {
  border-radius: 50vh !important;
  background-color: #7f87a2 !important;
  height: 48px !important;
}
.c-box05--select__wrapper .select2-selection__rendered, .c-box05--select__wrapper .select2-selection__placeholder, .c-box05--select__wrapper .select2-selection__arrow::after {
  color: #fff !important;
}
.c-box05--select__wrapper .select2-selection__rendered {
  padding: 10px !important;
  text-align: center;
  font-weight: bold;
}
.c-box05--select__wrapper .select2-selection__arrow {
  right: 16px !important;
  margin-top: 0 !important;
}
.c-box05--select__wrapper .select2-selection__arrow::after {
  font-size: 11px !important;
}
@media screen and (max-width: 767px) {
  .c-box05--select__wrapper .select2-selection__arrow::after {
    margin-left: 12px;
  }
}
.c-box05--btn {
  margin-top: 15px;
}
.c-box05--btn__row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.c-box05--btn__row.disable > a {
  pointer-events: none;
}
.c-box05--btn__row.disable > a > span {
  opacity: 0.3;
}
.c-box05--btn__row > a {
  width: 151px;
  display: block;
  border-radius: 50vh;
  background: #f2f2f2;
  color: #000;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
}
.c-box05--btn__row > a > span {
  display: block;
  padding: 12px 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
}
.c-box05--btn__row > a > span::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.c-box05--btn__row > a i {
  margin-right: 6px;
}
.c-box05--btn__row .xls i {
  color: #30a734;
}
.c-box05--btn__row .pdf i {
  color: #d94040;
}

.c-box06 {
  display: flex;
  align-items: center;
  background: #F3E5EA;
  padding: 10px 15px;
  border-radius: 16px;
  width: calc(100% - 134px);
}
@media screen and (max-width: 767px) {
  .c-box06 {
    display: block;
    width: 100%;
    padding: 10px;
  }
}
.c-box06--list {
  margin-right: 13px;
}
@media screen and (max-width: 767px) {
  .c-box06--list {
    margin-right: 0;
  }
}
.c-box06--list li {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  border-radius: 16px;
  background: #ADC2CC;
  padding: 4px 10px;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .c-box06--list li {
    display: inline-block;
  }
}
.c-box06--list li:nth-child(2) {
  margin-bottom: 0;
  background: #B4AECC;
}
.c-box06--title {
  font-size: 16px;
  font-weight: 700;
  color: #CC7A98;
  margin-right: 7px;
}
@media screen and (max-width: 767px) {
  .c-box06--title {
    margin-right: 0;
  }
}
.c-box06--price {
  font-size: 12px;
  font-weight: 400;
}
.c-box06--price span {
  font-size: 18px;
  font-weight: 700;
  color: #CC7A98;
  display: block;
  padding-left: 10px;
}
@media screen and (max-width: 767px) {
  .c-box06--price span {
    padding-left: 0;
  }
}
.c-box06--price span small {
  font-size: 14px;
}
.c-box06--txt {
  font-size: 12px;
  margin-left: 17px;
}
@media screen and (max-width: 767px) {
  .c-box06--txt {
    margin-left: 0;
  }
}

.c-box07 {
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-box07 {
    display: block;
  }
}
.c-box07--title {
  font-size: 14px;
  font-weight: 700;
  background: #D9D9D9;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 138px;
  text-align: center;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .c-box07--title {
    width: 100%;
    padding: 5px 0;
    margin: 5px 0;
  }
}
.c-box07--table {
  font-size: 14px;
  font-weight: 700;
}
.c-box07--table span {
  font-size: 16px;
}
.c-box07--table td {
  padding: 3px 2px;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
list
------------------------------------------------------------*/
.c-list01 {
  display: flex;
  flex-wrap: wrap;
}
.c-list01 li {
  min-width: 72px;
  background: #F2F2F2;
  border-radius: 160px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  padding: 7px 10px;
  margin: 2px 8px 2px 0;
}
@media screen and (max-width: 767px) {
  .c-list01 li {
    font-size: 14px;
    padding: 4px 8px;
    min-width: 63px;
    margin: 2px 2px 2px 0;
  }
}
.c-list01 li:last-child {
  margin-right: 0;
}
.c-list01 li small {
  font-size: 90%;
  font-weight: bold;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
table
------------------------------------------------------------*/
.c-table1 {
  width: 43.5%;
}
@media screen and (max-width: 767px) {
  .c-table1 {
    width: 100%;
  }
}
.c-table1--tr {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-table1--tr {
    display: block;
  }
}
.c-table1--th {
  font-size: 16px;
  font-weight: 700;
  padding: 20px 18px;
  background: #EDF2F5;
  width: 27%;
}
@media screen and (max-width: 767px) {
  .c-table1--th {
    width: 100%;
  }
}
.c-table1--td {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  padding: 18px 15px;
  background: #F7F7F7;
  width: 73%;
}
@media screen and (max-width: 767px) {
  .c-table1--td {
    width: 100%;
  }
}

.nihombashi .c-table1--th {
  background: #EEF5EE;
}

.ryogoku .c-table1--th {
  background: #EDEBF2;
}

.c-table2 {
  width: 53.2%;
}
@media screen and (max-width: 767px) {
  .c-table2 {
    width: 100%;
  }
}
.c-table2--tr {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .c-table2--tr {
    display: block;
  }
}
.c-table2--th {
  font-size: 16px;
  font-weight: 700;
  padding: 20px 18px;
  background: #EDF2F5;
  width: 22%;
}
@media screen and (max-width: 767px) {
  .c-table2--th {
    width: 100%;
  }
}
.c-table2--td {
  width: 78%;
}
@media screen and (max-width: 767px) {
  .c-table2--td {
    width: 100%;
  }
}
.c-table2--title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: #97C3DE;
  padding: 8px 13px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .c-table2--title {
    margin-bottom: 5px;
  }
}
.c-table2--txt {
  font-size: 16px;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #F7F7F7;
  padding: 11px 13px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-table2--txt {
    margin-bottom: 10px;
  }
}
.c-table2--txt:last-child {
  margin-bottom: 0;
}
.c-table2--txt span {
  font-size: 16px;
  font-weight: 700;
}
.c-table2--txt span small {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

.c-table3 {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-table3 {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-table3 > tbody {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-table3 > tbody > tr {
    display: block;
  }
}
.c-table3 > tbody > tr > th {
  background: #EDF2F5;
  font-size: 16px;
  font-weight: 700;
  width: 22%;
  text-align: left;
  padding: 15px 20px;
  border-top: 1px solid #B3B3B3;
}
@media screen and (max-width: 767px) {
  .c-table3 > tbody > tr > th {
    display: block;
    width: 100%;
    padding: 11px 14px;
    border-top: none;
  }
}
.c-table3 > tbody > tr > td {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  border-top: 1px solid #B3B3B3;
  padding: 15px 20px;
}
@media screen and (max-width: 767px) {
  .c-table3 > tbody > tr > td {
    display: block;
    width: 100%;
    padding: 12px 0;
    border-top: none;
  }
}
.c-table3 > tbody > tr > td b {
  display: block;
}
.c-table3 > tbody > tr > td a {
  color: #000;
  text-decoration: underline;
}
.c-table3 > tbody > tr:last-child > th,
.c-table3 > tbody > tr:last-child > td {
  border-bottom: 1px solid #B3B3B3;
}
@media screen and (max-width: 767px) {
  .c-table3 > tbody > tr:last-child > th,
  .c-table3 > tbody > tr:last-child > td {
    border-bottom: none;
  }
}
.c-table3-child {
  width: 100%;
  border-collapse: collapse;
}
.c-table3-child th {
  background: #EDF2F5;
  vertical-align: middle;
  font-size: 16px;
  font-weight: 700;
  padding: 0 19px;
  width: 71px;
}
.c-table3-child td {
  font-size: 16px;
  line-height: 1.5;
  padding: 10px;
}
.c-table3-child td:nth-child(2) {
  width: 55px;
}
.c-table3-child td:last-child {
  width: unset;
}

.c-table4 {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-table4 {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-table4 tbody, .c-table4 tr {
    display: block;
  }
}
.c-table4 th {
  background: #EDF2F5;
  font-size: 16px;
  font-weight: 700;
  width: 22%;
  text-align: left;
  padding: 15px 20px;
  border-bottom: 1px solid #fff;
  border-right: 16px solid #fff;
}
@media screen and (max-width: 767px) {
  .c-table4 th {
    display: block;
    width: 100%;
    padding: 11px 14px;
    border-bottom: 1px none;
    border-right: none;
  }
}
.c-table4 td {
  font-size: 16px;
  font-weight: 400;
  padding: 15px 7px;
  border-bottom: 1px solid #B3B3B3;
}
@media screen and (max-width: 767px) {
  .c-table4 td {
    display: block;
    width: 100%;
    padding: 12px 0;
    border-bottom: none;
  }
}
.c-table4 td a {
  color: #000;
}
.c-table4--v2 th {
  width: 32.5%;
}
@media screen and (max-width: 767px) {
  .c-table4--v2 th {
    width: 100%;
  }
}
.c-table4--v2 td {
  text-align: center;
  border-right: 8px solid #fff;
}
@media screen and (max-width: 767px) {
  .c-table4--v2 td {
    border-right: none;
    text-align: left;
  }
}
.c-table4--v2 td:last-child {
  border-right: none;
}

.c-table5 {
  border-collapse: collapse;
  width: 100%;
}
.c-table5 thead th {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 15px;
  border-bottom: 8px solid #fff;
}
.c-table5 thead th:nth-child(2) {
  background: #004466;
  border-right: 8px solid #fff;
}
.c-table5 thead th:nth-child(3) {
  background: #6B92A8;
}
.c-table5 tbody th {
  background: #EDF2F5;
  font-size: 16px;
  font-weight: 700;
  width: 22%;
  text-align: left;
  padding: 15px 20px;
  border-bottom: 1px solid #fff;
  border-right: 16px solid #fff;
}
@media screen and (max-width: 767px) {
  .c-table5 tbody th {
    padding: 12px 10px;
  }
}
.c-table5 tbody td {
  font-size: 16px;
  font-weight: 400;
  padding: 15px 7px;
  border-bottom: 1px solid #B3B3B3;
  border-right: 8px solid #fff;
  text-align: center;
}
.c-table5 tbody td:last-child {
  border-right: none;
}
.c-table5 tbody td a {
  color: #000;
}

.c-table6 {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.c-table6 tr {
  border-bottom: 1px solid #E6E6E6;
}
.c-table6 th,
.c-table6 td {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #E6E6E6;
}
.c-table6 th:nth-child(1),
.c-table6 td:nth-child(1) {
  width: 25%;
}
.c-table6 th:last-child,
.c-table6 td:last-child {
  background: #FFF7F7;
}
.c-table6 th {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  height: 38px;
  background: #f7f7f7;
  border-top: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  .c-table6 th {
    font-size: 10px;
  }
}
.c-table6 th:nth-child(1) {
  background: none;
  border-top: 0;
}
.c-table6 td {
  height: 86px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .c-table6 td {
    padding: 0 6px;
  }
}
.c-table6 td:nth-child(1) {
  border-left: 1px solid #E6E6E6;
}
.c-table6--0 img {
  width: 24px;
}
@media screen and (max-width: 767px) {
  .c-table6--0 img {
    width: 18px;
  }
}
.c-table6--t {
  font-size: 12px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .c-table6--t {
    font-size: 9px;
  }
}
.c-table6--t img {
  width: 30px;
  display: block;
  margin: 0 auto 5px;
}
@media screen and (max-width: 767px) {
  .c-table6--t img {
    width: 24px;
  }
}
.c-table6--x img {
  width: 21px;
}
@media screen and (max-width: 767px) {
  .c-table6--x img {
    width: 16px;
  }
}
.c-table6--btn01 {
  display: block;
  width: 100%;
  background: #4D4D4D;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  border-radius: 16px;
  color: #fff;
  padding: 7px 0;
}
@media screen and (max-width: 767px) {
  .c-table6--btn01 {
    font-size: 12px;
    border-radius: 8px;
  }
}
.c-table6--btn02 {
  display: block;
  width: 100%;
  background: #E7E7E7;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  border-radius: 16px;
  color: #000;
  padding: 9px 0;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-table6--btn02 {
    font-size: 10px;
    padding: 5px;
    border-radius: 8px;
  }
}
.c-table6--btn03 {
  display: block;
  width: 100%;
  background: #969696;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  border-radius: 16px;
  color: #fff;
  padding: 7px 0;
}
@media screen and (max-width: 767px) {
  .c-table6--btn03 {
    font-size: 12px;
    border-radius: 8px;
  }
}

.c-table7 {
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .c-table7 {
    width: 100%;
    max-width: 100%;
    display: block;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-table7 tbody, .c-table7 tr {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-table7 tr {
    margin-bottom: 10px;
  }
}
.c-table7:last-child {
  margin-right: 0;
}
.c-table7 th {
  text-align: left;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-table7 th {
    display: block;
    width: 100%;
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.c-table7 td {
  padding: 1px 0 1px 25px;
}
@media screen and (max-width: 767px) {
  .c-table7 td {
    display: block;
    width: 100%;
    padding: 0;
  }
}
.c-table7 td span {
  white-space: nowrap;
  display: inline-block;
  border: 1px solid #7F87A2;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: #7F87A2;
  border-radius: 16px;
  padding: 5px 15px;
  margin: 5px 8px 5px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-table7 td span {
    font-size: 12px;
    margin: 2px 4px 2px 0;
  }
}
.c-table7 td span:before {
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid #B20003;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: -2px;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .c-table7 td span:before {
    width: 12px;
    height: 12px;
  }
}
.c-table7 td span.star:before {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../img/icon/star.png") center center no-repeat;
  background-size: contain;
  border-radius: 0;
  border: 0;
}
.c-table7 td span:last-child {
  margin-right: 0;
}
.c-table7--note {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 5px;
}
.c-table7--close {
  display: inline-block;
  background: #CCCCCC;
  color: #808080;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  border-radius: 16px;
  text-align: center;
  padding: 5px 10px 7px;
  margin: 5px 8px 5px 0;
}
@media screen and (max-width: 767px) {
  .c-table7--close {
    font-size: 12px;
    margin: 2px 4px 2px 0;
  }
}
.c-table7--close:before {
  content: "";
  width: 15px;
  height: 20px;
  background: url("../img/icon/x02.png") center center no-repeat;
  background-size: contain;
  display: inline-block;
  position: relative;
  margin-top: -5px;
  bottom: -5px;
  margin-right: 5px;
  font-size: 0;
  line-height: 1;
}
.c-table7--close:last-child {
  margin-right: 0;
}

.nihombashi .c-table2--th {
  background: #EEF5EE;
}
.nihombashi .c-table2--title {
  background: #A3CCA3;
}
.nihombashi .c-table2--txt {
  margin-bottom: 1px;
}
.nihombashi .c-table3 > tbody > tr > th {
  background: #EEF5EE;
}
.nihombashi .c-table3-child th {
  background: #EEF5EE;
}
.nihombashi .c-table4 th {
  background: #EEF5EE;
}
.nihombashi .c-table5 thead th:nth-child(3) {
  background: #97C493;
}
.nihombashi .c-table5 tbody th {
  background: #EEF5EE;
}

.ryogoku .c-table2--th {
  background: #EDEBF2;
}
.ryogoku .c-table2--title {
  background: #A8A0BD;
}
.ryogoku .c-table2--txt {
  margin-bottom: 1px;
}
.ryogoku .c-table3 > tbody > tr > th {
  background: #EDEBF2;
}
.ryogoku .c-table3-child th {
  background: #EDEBF2;
}
.ryogoku .c-table4 th {
  background: #EDEBF2;
}
.ryogoku .c-table5 thead th:nth-child(3) {
  background: #9B8FCC;
}
.ryogoku .c-table5 tbody th {
  background: #EDEBF2;
}

.c-table01 {
  display: grid;
  grid-template-columns: 254px 1fr;
}
@media screen and (max-width: 767px) {
  .c-table01 {
    grid-template-columns: 1fr;
  }
}
.c-table01 dt, .c-table01 dd {
  font-size: 16px;
  border-top: 1px solid #b3b3b3;
  padding: 12px 20px;
  line-height: 1.5;
}
.c-table01 dt {
  background: #EDF2F5;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .c-table01 dt {
    padding: 8px 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-table01 dd {
    border-top: 0;
    padding: 12px 0;
  }
}

.c-table02 {
  display: grid;
  grid-template-columns: 252px 1fr;
}
@media screen and (max-width: 767px) {
  .c-table02 {
    grid-template-columns: 69px 1fr;
  }
}
.c-table02 dt, .c-table02 dd {
  font-size: 16px;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-table02 dt {
  padding: 12px 20px;
  background: #EDF2F5;
  font-weight: bold;
  border-bottom: 1px solid #fff;
}
.c-table02 dd {
  margin-left: 16px;
  padding: 12px 0 12px 6px;
  border-bottom: 1px solid #b3b3b3;
}
.c-table02 dd ul {
  list-style: disc;
  padding-left: 1.5em;
}
.c-table02 dd ul li {
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .c-table02 .compact-cell {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
breacrumb
------------------------------------------------------------*/
.c-breadcrumb {
  padding: 15px 0;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    display: none;
  }
}
.c-breadcrumb--main {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 30px;
}
.c-breadcrumb a {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-decoration: underline;
  margin-right: 20px;
  position: relative;
}
.c-breadcrumb a:nth-child(1) {
  color: #1E2C5C;
}
.c-breadcrumb a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #1E2C5C;
  border-right: 2px solid #1E2C5C;
  transform: rotate(45deg);
  position: absolute;
  right: -15px;
  top: calc(50% - 3px);
}
.c-breadcrumb span {
  font-size: 14px;
  font-weight: 700;
  color: #000;
}
.c-breadcrumb span br {
  display: none;
}

.c-breadcrumb02 {
  padding: 48px 0;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb02 {
    display: none;
  }
}
.c-breadcrumb02--main {
  background: #F7F7F7;
  border-radius: 24px;
  padding: 12px 18px;
}
.c-breadcrumb02 a {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  color: #999999;
  margin-right: 20px;
  position: relative;
}
.c-breadcrumb02 a:nth-child(1) {
  color: #1E2C5C;
}
.c-breadcrumb02 a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #1E2C5C;
  border-right: 2px solid #1E2C5C;
  transform: rotate(45deg);
  position: absolute;
  right: -14px;
  top: calc(50% - 3px);
}
.c-breadcrumb02 a img {
  vertical-align: -1px;
}
.c-breadcrumb02 span {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #000;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Loading page
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Pagenavi
------------------------------------------------------------*/
.pagination {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 20px;
  }
}
.pagination ul {
  display: flex;
  justify-content: center;
}
.pagination a, .pagination span {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  font-size: 16px;
  color: #000;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 4px;
  transition: 0.5s;
}
.pagination a.current, .pagination a:hover, .pagination span.current, .pagination span:hover {
  background: #004466;
  color: #fff;
}
.pagination a.prev, .pagination span.prev {
  display: none;
}
.pagination a.next, .pagination span.next {
  display: none;
}

/*
------------------------------------------------------------*/
.c-accordion01__head {
  background: #97c3de;
  color: #fff;
  font-size: 16px;
  line-height: 1.125;
  font-weight: bold;
  border-radius: 8px;
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 6px 35px 6px 14px;
  cursor: pointer;
  position: relative;
}
.c-accordion01__head::after {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  margin-top: 2px;
  color: #fff;
  transition: 0.2s;
  content: "\f078";
}
.c-accordion01__head.is-active::after {
  transform: translateY(-50%) rotate(180deg);
}
.c-accordion01__body {
  display: none;
}
.c-accordion01__body a {
  color: #000;
  font-size: 14px;
  line-height: 1.1428571429;
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 6px 30px 6px 14px;
  background: #f7f7f7;
  position: relative;
}
.c-accordion01__body a::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  margin-top: 2px;
  color: #000;
  content: "\f054";
}
.c-accordion01__body-inner li {
  margin-top: 4px;
}
.c-accordion01 + .c-accordion01 {
  margin-top: 4px;
}

.c-postcard01 {
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.c-postcard01__image {
  position: relative;
}
.c-postcard01__image img {
  display: block;
  width: 100%;
  height: unset;
}
.c-postcard01__tag {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 12px;
  color: #fff;
  background: #004466;
  padding: 5px 8px;
}
@media screen and (max-width: 767px) {
  .c-postcard01__tag {
    font-size: 9px;
  }
}
.c-postcard01__body {
  padding: 12px 14px 24px;
}
@media screen and (max-width: 767px) {
  .c-postcard01__body {
    padding: 6px 9px 8px;
  }
}
.c-postcard01__title {
  color: #004466;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.375;
  margin: 0 0 10px;
}
@media screen and (max-width: 767px) {
  .c-postcard01__title {
    font-size: 14px;
    line-height: 1.2857142857;
  }
}
.c-postcard01__text {
  font-size: 14px;
  line-height: 1.2857142857;
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-postcard01__text {
    font-size: 12px;
  }
}

.c-pagination01 {
  display: flex;
  justify-content: space-between;
  gap: 0 30px;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .c-pagination01 {
    margin-top: 50px;
    gap: 0 8px;
  }
}
.c-pagination01__button {
  width: 160px;
  border-radius: 50vh;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background: #97c3de;
  padding: 15px 10px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-pagination01__button {
    width: calc(50% - 4px);
  }
}
.c-pagination01__button::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 14px;
  margin-top: 2px;
}
.c-pagination01__button.prev::before {
  left: 20px;
  content: "\f053";
}
.c-pagination01__button.next::before {
  right: 20px;
  content: "\f054";
}

.c-checkup-cards {
  background: #f2f4f7;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards {
    padding: 15px 13px 17px;
  }
}
.c-checkup-cards__group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__group {
    gap: 4px;
    margin-bottom: 10px;
  }
}
.c-checkup-cards__group a {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  background: #999;
  border-radius: 16px;
  position: relative;
  padding: 25px 10px;
  text-align: center;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__group a {
    font-size: 12px;
    padding: 15px 10px 15px 5px;
  }
}
.c-checkup-cards__group a.blue {
  background: #97c3de;
}
.c-checkup-cards__group a.green {
  background: #97C493;
}
.c-checkup-cards__group a.violet {
  background: #9B8FCC;
}
.c-checkup-cards__group a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__group a::after {
    right: 5px;
    font-size: 8px;
  }
}
.c-checkup-cards__group a span {
  display: block;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__group a span {
    font-size: 18px;
  }
}
.c-checkup-cards__group a.active {
  background: rgb(178, 0, 3);
  pointer-events: none;
}
.c-checkup-cards__group a.not-active {
  background: #999;
}
.c-checkup-cards__other {
  display: block;
  width: 287px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  background: #999;
  border-radius: 50vh;
  line-height: 1.5;
  padding: 10px 20px 10px 10px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__other {
    font-size: 14px;
    padding: 5px 10px 5px 5px;
  }
}
.c-checkup-cards__other small {
  display: block;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .c-checkup-cards__other small {
    font-size: 10px;
  }
}
.c-checkup-cards__other::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
.c-checkup-cards__other.active {
  background: #97c3de;
  pointer-events: none;
}

.c-tab01 {
  margin-top: 37px;
}
.c-tab01--link {
  border-radius: 16px;
  display: flex;
  margin-bottom: 40px;
}
.c-tab01--link li {
  width: 50%;
}
.c-tab01--link li a {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #B3B3B3;
  text-align: center;
  background: #FAFAFA;
  padding: 18px 0;
  position: relative;
  border-radius: 16px 0 0 16px;
}
@media screen and (max-width: 767px) {
  .c-tab01--link li a {
    font-size: 12px;
  }
}
.c-tab01--link li a:after {
  position: absolute;
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 12px 12px 0 12px;
  border-color: #7F87A2 transparent transparent transparent;
  opacity: 0;
  transition: 0.2s;
  content: "";
}
.c-tab01--link li a span {
  display: block;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-tab01--link li a span {
    font-size: 20px;
  }
}
.c-tab01--link li:nth-child(2) a {
  border-radius: 0 16px 16px 0;
}
.c-tab01--link li.is-active a {
  background: #7F87A2;
  color: #fff;
}
.c-tab01--link li.is-active a:after {
  opacity: 1;
}
.c-tab01-panel {
  display: none;
}
.c-tab01-panel:nth-child(1) {
  display: block;
}

/*------------------------------------------------------------
form
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
.c-form {
  font-size: 16px;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel] {
  display: block;
  width: 100%;
  height: 48px;
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 0 15px;
}
.c-form .input-value {
  display: flex;
  align-items: center;
  width: 100%;
  height: 48px;
  background: #fff;
  padding: 0 15px;
  font-weight: normal;
}
.c-form .input-value.p-0 {
  padding: 0;
}
.c-form .input-value.right {
  justify-content: flex-end;
}
.c-form .input-value.center {
  justify-content: center;
}
.c-form textarea {
  display: block;
  width: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 15px;
  height: 200px;
  resize: vertical;
}
.c-form input[type=checkbox],
.c-form input[type=radio] {
  position: relative;
  border: 2px solid #999;
  border-radius: 2px;
  background: none;
  cursor: pointer;
  line-height: 0;
  margin: 0 0.6em 0 0;
  outline: 0;
  padding: 0 !important;
  vertical-align: text-top;
  height: 20px;
  width: 20px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #fff;
}
.c-form input[type=checkbox]:checked,
.c-form input[type=radio]:checked {
  background-color: #999;
}
.c-form input[type=checkbox]:before,
.c-form input[type=radio]:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 13px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  margin-top: -2px;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: 2;
}
.c-form input[type=file] {
  font-size: 14px;
}
.c-form input[type=file]::file-selector-button {
  font-weight: bold;
  border-radius: 8px;
  margin-right: 10px;
  background: #f5f5f5;
  padding: 10px;
  border: 1px solid #d3d3d3;
}
.c-form__selectbox-wrapper {
  border: 0 !important;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px !important;
  height: 48px !important;
}
.c-form__selectbox .select2-selection__rendered {
  padding-right: 30px !important;
  display: flex !important;
  align-items: center;
  height: 100%;
}
.c-form__birthday {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.c-form__birthday-year {
  width: 132px;
  margin-right: 7px;
}
.c-form__birthday-year select {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-form__birthday-year {
    width: calc(33.3333333333% - 30px);
    margin-right: 0;
  }
  .c-form__birthday-year select {
    width: 90px;
  }
}
.c-form__birthday-month, .c-form__birthday-day {
  width: 80px;
  margin-left: 18px;
  margin-right: 7px;
}
.c-form__birthday-month select, .c-form__birthday-day select {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-form__birthday-month, .c-form__birthday-day {
    width: calc(33.3333333333% - 30px);
    margin-left: 0;
    margin-right: 0;
  }
  .c-form__birthday-month select, .c-form__birthday-day select {
    width: 100%;
    margin-bottom: 10px;
  }
}
.c-form__name {
  display: grid;
  grid-template-columns: repeat(2, 47.5%);
  justify-content: space-between;
  align-items: center;
  gap: 0 10px;
}
.c-form__name-input {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 0 8px;
  white-space: nowrap;
  align-items: center;
}
.c-form__name-input .input_name {
  margin-top: 12px;
}
.c-form__name-input:has(> div, > span) {
  height: 100%;
  align-items: flex-start;
}
.c-form__telephone {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.c-form__telephone input {
  max-width: 114px;
}
.c-form__telephone span:not(.error) {
  white-space: nowrap;
  margin-right: 20px;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .c-form__telephone span:not(.error) {
    margin-right: 5px;
  }
}
.c-form__telefone {
  display: flex;
  gap: 0 28px;
}
.c-form__telefone > div {
  max-width: 114px;
}
.c-form__telefone > div:not(:first-child) {
  position: relative;
}
.c-form__telefone > div:not(:first-child)::before {
  position: absolute;
  top: 24px;
  right: calc(100% + 8px);
  width: 12px;
  border-bottom: 1px solid #000;
  content: "";
}
.c-form__address {
  display: grid;
  grid-template-columns: 98px 1fr;
  gap: 8px 16px;
  align-items: center;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-form__address {
    grid-template-columns: 1fr;
  }
}
.c-form__address input,
.c-form__address select {
  font-size: 16px;
}
.c-form__address-zip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
}
.c-form__address-zip span {
  font-size: 14px;
  line-height: 1.2857142857;
}
.c-form__address-zip input, .c-form__address-prefecture {
  max-width: 141px;
}
.c-form__address-prefecture select {
  width: 100%;
}
.c-form__outline {
  border: 5px solid #adb4cb;
  padding: 0 30px;
  margin: 20px 0 30px;
}
@media screen and (max-width: 767px) {
  .c-form__outline {
    padding: 0 12px;
  }
}
.c-form__row {
  padding: 20px 9px 20px 0;
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 14px 23px;
}
@media screen and (max-width: 767px) {
  .c-form__row {
    padding: 15px 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
.c-form__row:not(:last-child) {
  border-bottom: 1px solid #e6e6e6;
}
.c-form__label {
  font-weight: bold;
  position: relative;
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .c-form__label {
    margin-top: 0;
  }
}
.c-form__label::after {
  color: #fff;
  background: #909090;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  padding: 4px 8px 6px;
  content: "任意";
}
@media screen and (min-width: 767px) {
  .c-form__label::after {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-form__label::after {
    display: inline-block;
    margin-left: 9px;
  }
}
.c-form__label.required::after {
  background: #b20003;
  content: "必須";
}
.c-form__label.none::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-form__label:empty {
    display: none;
  }
}
.c-form__tooltip {
  font-size: 16px;
  margin-top: 10px;
}
.c-form__tooltip.small {
  font-size: 14px;
}
.c-form__email {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 8px 14px;
}
@media screen and (max-width: 767px) {
  .c-form__email {
    grid-template-columns: 1fr;
  }
}
.c-form__email-text {
  font-weight: bold;
  font-size: 14px;
}
.c-form__agreement {
  background: #f7f7f7;
  padding: 40px 34px 30px;
  height: 400px;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .c-form__agreement {
    padding: 25px 15px 20px;
  }
}
.c-form__agreement-heading {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.c-form__agreement-info {
  margin: 38px 0 28px;
}
.c-form__agreement-info.top {
  text-align: right;
  font-size: 12px;
  line-height: 1.3333333333;
}
.c-form__agreement-info.bottom {
  font-size: 14px;
  line-height: 1.7142857143;
}
.c-form__agreement p {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 16px;
}
.c-form__agreement > ul {
  background: #fff;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.7142857143;
  padding: 10px 15px 10px 35px;
  margin-top: 12px;
}
.c-form__agreement > ul li {
  list-style: disc;
}
.c-form__policy {
  background: #f0f0f0;
  border-radius: 8px;
  padding: 30px;
}
.c-form__policy-title {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
}
.c-form__policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  justify-content: center;
  margin-top: 14px;
}
.c-form__policy-links a {
  display: block;
  background: #fff;
  border-radius: 50vh;
  font-weight: bold;
  color: #000;
  font-size: 14px;
  padding: 16px 48px 16px 24px;
  min-width: 196px;
  position: relative;
}
.c-form__policy-links a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  margin-top: 1px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
.c-form__agree {
  background: #ebedf2;
  border-radius: 8px;
  margin-top: 48px;
  text-align: center;
  padding: 25px;
}
@media screen and (max-width: 767px) {
  .c-form__agree {
    padding: 20px 10px;
    margin-top: 24px;
  }
}
.c-form__agree-required {
  display: inline-block;
  color: #fff;
  background: #b20003;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  padding: 4px 8px 6px;
}
.c-form__agree-confirm {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-form__agree-confirm {
    flex-direction: column;
    gap: 8px;
  }
}
.c-form__agree-confirm .c-form__checkbox {
  margin-left: 25px;
}
.c-form__agree-note {
  font-size: 14px;
  margin-top: 10px;
}
.c-form__checkbox {
  font-weight: bold;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-form__checkbox {
    margin-left: 0;
  }
}
.c-form__checkbox input[type=checkbox] {
  flex-shrink: 0;
}
.c-form__checkbox small {
  font-weight: normal;
  font-size: 14px;
}
.c-form__checkbox02 {
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .c-form__checkbox02 {
    margin-left: 0;
  }
}
.c-form__checkbox02 label {
  font-weight: bold;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-form__checkbox02 label {
    margin-left: 0;
  }
}
.c-form__checkbox02 label input[type=checkbox] {
  flex-shrink: 0;
}
.c-form__checkbox02 label small {
  font-weight: normal;
  font-size: 14px;
}
.c-form__submit {
  margin-top: 40px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-form__submit {
    margin-top: 20px;
  }
}
.c-form__submit button {
  display: inline-block;
  border-radius: 50vh;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  width: 253px;
  padding: 20px;
  background: #b20003;
  cursor: pointer;
  position: relative;
}
.c-form__submit button::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  margin-top: 1px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
.c-form__control {
  display: grid;
  align-items: center;
  min-height: 48px;
  line-height: 1.6;
}
.c-form .mw_wp_form_confirm .hide_confirm {
  display: none;
}
.c-form .mw_wp_form_confirm .input_name {
  margin-top: 0;
  margin-right: 10px;
}
.c-form .mw_wp_form_confirm .c-form__telefone > div:not(:first-child)::before {
  top: 50%;
}
.c-form .error {
  margin-top: 5px;
  display: block;
  font-size: 14px;
  text-align: left;
}

/*------------------------------------------------------------
Animation
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
@keyframes mvScroll {
  0% {
    opacity: 0;
    transform: translate(0, 0);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(0, 20px);
  }
}
.post_content {
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  word-wrap: break-word;
  font-size: 16px;
  line-height: 1.75;
}
.post_content ul,
.post_content ol {
  padding-left: 20px;
  margin-bottom: 20px;
}
.post_content ul[style*="list-style-type: circle;"] li {
  list-style-type: circle;
}
.post_content ul[style*="list-style-type: square;"] li {
  list-style-type: square;
}
.post_content ul li {
  list-style: disc;
}
.post_content ol[style*="list-style-type: lower-roman;"] li {
  list-style-type: lower-roman;
}
.post_content ol[style*="list-style-type: lower-alpha;"] li {
  list-style-type: lower-alpha;
}
.post_content ol[style*="list-style-type: lower-greek;"] li {
  list-style-type: lower-greek;
}
.post_content ol[style*="list-style-type: upper-alpha;"] li {
  list-style-type: upper-alpha;
}
.post_content ol[style*="list-style-type: upper-roman;"] li {
  list-style-type: upper-roman;
}
.post_content ol li {
  list-style-type: decimal;
}
.post_content iframe {
  max-width: 100% !important;
}
.post_content img {
  max-width: 100%;
  height: auto;
  max-height: 100%;
  width: auto;
  margin-bottom: 77px;
}
@media screen and (max-width: 767px) {
  .post_content img {
    margin-bottom: 24px;
  }
}
.post_content em {
  font-style: italic;
}
.post_content strong {
  font-weight: bold !important;
}
.post_content h1 {
  display: block;
  font-size: 2em;
  margin-block-start: 0.67em;
  margin-block-end: 0.67em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content h2 {
  display: block;
  font-size: 1.5em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content h3 {
  display: block;
  font-size: 1.17em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content h4 {
  display: block;
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content h5 {
  display: block;
  font-size: 0.83em;
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content h6 {
  display: block;
  font-size: 0.67em;
  margin-block-start: 2.33em;
  margin-block-end: 2.33em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.post_content pre {
  display: block;
  white-space: pre;
  margin: 1em 0px;
}
.post_content blockquote {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 40px;
  margin-inline-end: 40px;
}
.post_content p {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}
.post_content a {
  color: inherit;
  text-decoration: underline;
}
.post_content a:hover {
  text-decoration: none;
}

/*------------------------------------------------------------
Top
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
.top-header {
  background: #DAE8F2;
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  height: 100%;
  padding: 27px 34px;
}
@media screen and (max-width: 1190px) {
  .top-header {
    width: 23.5294117647%;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 900px) {
  .top-header {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .top-header {
    display: none;
  }
}
.top-header__logo {
  width: 186px;
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}
@media screen and (max-width: 1190px) {
  .top-header__logo {
    width: 66.4285714286%;
  }
}
.top-header__logo-sub {
  display: flex;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 500;
  padding: 0 2px;
  margin: 14px 0 8px;
}
@media screen and (max-width: 1190px) {
  .top-header__logo-sub {
    font-size: 1.176vw;
  }
}
.top-header__logo-text {
  display: flex;
  justify-content: space-between;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (max-width: 1190px) {
  .top-header__logo-text {
    font-size: 1.681vw;
  }
}
.top-header__list {
  margin: 46px 0 0;
}
@media screen and (max-width: 900px) {
  .top-header__list {
    padding-left: 5px;
  }
}
.top-header__list li + li {
  margin-top: 20px;
}
.top-header__list a {
  font-weight: bold;
  font-size: 15px;
  color: #000;
  position: relative;
  padding-left: 12px;
}
@media screen and (max-width: 900px) {
  .top-header__list a {
    font-size: 13px;
  }
}
.top-header__list a::before {
  position: absolute;
  top: 7px;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #004466;
  content: "\f054";
}
.top-header__other {
  margin: 32px 0 0;
}
@media screen and (max-width: 900px) {
  .top-header__other {
    padding-left: 5px;
  }
}
.top-header__other li + li {
  margin-top: 12px;
}
.top-header__other a {
  color: #000;
  font-size: 14px;
  font-weight: 500;
}

@media screen and (min-width: 767px) {
  .top-container {
    margin-left: 280px;
  }
}
@media screen and (max-width: 1190px) {
  .top-container {
    margin-left: 23.5294117647%;
  }
}
@media screen and (max-width: 767px) {
  .top-container {
    margin-left: 0;
  }
}

@keyframes zoomUp {
  /* ズームアップで1.15倍させる指定 */
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.top-mainvisual {
  height: 100vh;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-mainvisual {
    height: 243px;
  }
}
.top-mainvisual .swiper-slide-active > div,
.top-mainvisual .swiper-slide-duplicate-active > div,
.top-mainvisual .swiper-slide-prev > div {
  animation: zoomUp 10s linear 0s 1 normal both;
}
.top-mainvisual__slider {
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 5px;
  --swiper-pagination-bullet-width: 55px;
  --swiper-pagination-bullet-height: 7px;
  --swiper-pagination-bullet-border-radius: 0;
  --swiper-pagination-bullet-inactive-color: #b3d0df;
  --swiper-pagination-color: #004466;
  --swiper-pagination-bottom: 33px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__slider {
    --swiper-pagination-bullet-horizontal-gap: 2.5px;
    --swiper-pagination-bullet-width: 25px;
    --swiper-pagination-bullet-height: 5px;
    --swiper-pagination-bottom: 12px;
  }
}
.top-mainvisual__slider-img {
  display: block;
  width: 100%;
  height: 100%;
}
.top-mainvisual__slider-img > div {
  width: 100%;
  height: 100%;
  background-size: cover;
}
.top-mainvisual__slider .swiper-pagination {
  text-align: right;
  padding-right: 80px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__slider .swiper-pagination {
    padding-right: 16px;
  }
}
.top-mainvisual__bnr {
  position: absolute;
  z-index: 10;
  bottom: 10%;
  right: 10%;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__bnr {
    width: 100px;
  }
}
.top-mainvisual__text {
  position: absolute;
  z-index: 10;
  bottom: 145px;
  left: 10%;
  width: 500px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__text {
    bottom: 75px;
    width: 250px;
  }
}
.top-mainvisual__scroll {
  position: absolute;
  z-index: 10;
  bottom: -45px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__scroll {
    bottom: -24px;
    gap: 4px;
    font-size: 10px;
  }
}
.top-mainvisual__scroll-icon {
  animation: mvScroll 2s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__scroll-icon {
    width: 6px;
    height: 34px;
    overflow: hidden;
    position: relative;
  }
  .top-mainvisual__scroll-icon svg {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.top-copyright {
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  white-space: nowrap;
  color: #004466;
  font-weight: bold;
  font-size: 10px;
  writing-mode: vertical-rl;
  z-index: 10;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .top-copyright {
    font-size: 8px;
    letter-spacing: normal;
    left: 15px;
  }
}

.top-reservation {
  position: absolute;
  z-index: 10;
  top: 16px;
  right: 18px;
  display: flex;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .top-reservation {
    display: none;
  }
}
.top-reservation__tel {
  display: flex;
  align-items: center;
  gap: 11px;
}
.top-reservation__tel > a {
  color: #000;
  text-decoration: none;
}
.top-reservation__tel-label {
  width: 50px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2222222222;
  background: #004466;
  border-radius: 8px;
}
.top-reservation__tel-number {
  font-size: 24px;
  font-weight: bold;
}
.top-reservation__tel-number::before {
  display: inline-block;
  vertical-align: -1px;
  width: 32px;
  height: 21px;
  margin-right: 8px;
  background-image: url("../img/common/icon-phone.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.top-reservation__tel-time {
  font-size: 12px;
  font-weight: 500;
  display: block;
  margin-top: 2px;
}
.top-reservation__checkup {
  display: block;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  width: 195px;
  border-radius: 8px;
  background: #b20003;
  padding: 15px 24px 15px 46px;
  position: relative;
}
.top-reservation__checkup::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
  content: "\f073";
}
.top-reservation__checkup::after {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  content: "\f054";
}

.top-intro {
  max-width: 1340px;
  margin: 96px auto 57px;
  padding: 0 70px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top-intro {
    padding: 0 60px;
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-intro {
    padding: 0;
    margin: 40px 0 30px;
  }
}
.top-intro__slider {
  max-width: 1200px;
  margin: 0 auto;
}
.top-intro__slider-img {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
.top-intro__slider-img img {
  display: block;
  width: 100%;
}
.top-intro__slider-next, .top-intro__slider-prev {
  position: absolute;
  z-index: 10;
  color: #004466;
  font-size: 40px;
  cursor: pointer;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .top-intro__slider-next, .top-intro__slider-prev {
    font-size: 23px;
  }
}
.top-intro__slider-next {
  right: 0;
}
@media screen and (max-width: 767px) {
  .top-intro__slider-next {
    right: 5px;
  }
}
.top-intro__slider-prev {
  left: 0;
}
@media screen and (max-width: 767px) {
  .top-intro__slider-prev {
    left: 5px;
  }
}

.top-news {
  background: #EDF2F5;
  padding: 34px 32px 40px;
  border-radius: 8px;
}
@media screen and (max-width: 1190px) {
  .top-news {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-news {
    padding: 15px 12px;
    margin-bottom: 40px;
  }
}
.top-news__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-bottom: 18px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top-news__head {
    padding-bottom: 14px;
  }
}
.top-news__head::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: repeating-linear-gradient(to right, #fff, #fff 3px, transparent 3px, transparent 9px);
  content: "";
}
.top-news__heading {
  font-weight: 500;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .top-news__heading {
    font-size: 10px;
  }
}
.top-news__heading > span {
  display: inline-block;
  margin-right: 18px;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  vertical-align: -3px;
}
@media screen and (max-width: 767px) {
  .top-news__heading > span {
    font-size: 18px;
  }
}
.top-news__button {
  display: block;
  font-size: 16px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  color: #000;
  background: #fff;
  padding: 11px 20px 11px 36px;
  border-radius: 50vh;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-news__button {
    font-size: 12px;
  }
}
.top-news__button::before {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  margin-top: 1px;
  color: #808080;
  font-size: 11px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  content: "\f054";
}
.top-news__site {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .top-news__site {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .top-news__site-content .top-news__site-sp {
    display: block !important;
  }
}
.top-news__site-select-wrapper {
  background: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
}
.top-news__site-select-wrapper .select2-selection__rendered::before {
  display: inline-block;
  vertical-align: -1px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #dcedf5;
  margin-right: 8px;
  content: "";
}
.top-news__site-select-dropdown .select2-results__option::before {
  display: inline-block;
  vertical-align: -1px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  margin-right: 8px;
  content: "";
}
.top-news__site-select-dropdown .select2-results__option[id$=site-1]::before {
  background: #DAE8F2;
}
.top-news__site-select-dropdown .select2-results__option[id$=site-2]::before {
  background: #004466;
}
.top-news__site-select-dropdown .select2-results__option[id$=site-3]::before {
  background: #97C493;
}
.top-news__site-select-dropdown .select2-results__option[id$=site-4]::before {
  background: #a695d7;
}
@media screen and (min-width: 767px) {
  .top-news__site-sp {
    display: none;
  }
}
.top-news__site-sp > p {
  font-size: 12px;
  margin-bottom: 5px;
}
.top-news__site-sp .select2 {
  margin-bottom: 16px;
}
.top-news__site a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  color: #000;
  gap: 8px;
  border-radius: 8px;
  font-weight: 500;
  text-align: center;
  padding: 14px;
  transition: 0.2s;
  opacity: 0.3;
  position: relative;
}
.top-news__site a::before {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  flex-shrink: 0;
  content: "";
}
.top-news__site a::after {
  position: absolute;
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 12px 12px 0 12px;
  border-color: #fff transparent transparent transparent;
  opacity: 0;
  transition: 0.2s;
  content: "";
}
@media screen and (min-width: 767px) {
  .top-news__site a:hover, .top-news__site a:hover::after {
    opacity: 1;
  }
}
.top-news__site .is-active > a,
.top-news__site .is-active > a::after {
  opacity: 1;
}
.top-news__site li:first-child > a::before {
  background: #DAE8F2;
}
.top-news__site li:nth-child(2) > a::before {
  background: #6B92A8;
}
.top-news__site li:nth-child(3) > a::before {
  background: #97C493;
}
.top-news__site li:last-child > a::before {
  background: #a695d7;
}
@media screen and (min-width: 767px) {
  .top-news__content {
    display: flex;
    gap: 19px;
  }
}
.top-news__filter {
  width: 166px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .top-news__filter {
    display: none;
  }
}
@media screen and (min-width: 767px) {
  .top-news__filter-content {
    width: calc(100% - 166px);
  }
}
.top-news__filter-select-wrapper {
  background: #97c3de !important;
  border: 0 !important;
  border-radius: 8px !important;
}
.top-news__filter-select-wrapper .select2-selection__rendered,
.top-news__filter-select-wrapper .select2-selection__arrow::after {
  color: #fff !important;
}
.top-news__filter .is-active > a {
  background: #97c3de;
  color: #fff;
}
.top-news__filter li + li {
  margin-top: 5px;
}
.top-news__filter a {
  color: #808080;
  font-size: 15px;
  font-weight: bold;
  display: block;
  background: #f2f6f8;
  border-radius: 8px;
  padding: 14px 12px;
  transition: 0.15s;
  white-space: nowrap;
}
@media screen and (min-width: 767px) {
  .top-news__filter a:hover {
    background: #97c3de;
    color: #fff;
  }
}
.top-news__filter-title {
  font-size: 15px;
  font-weight: bold;
  background: #004466;
  color: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  padding: 14px 12px;
}
@media screen and (max-width: 767px) {
  .top-news__filter-title {
    display: none;
  }
}
.top-news__filter-year {
  margin: 32px 0 0;
}
.top-news__filter-year-title {
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  border-radius: 8px;
  background: #004466;
  padding: 8px 12px;
}
.top-news__filter-year-select-wrapper {
  border: 0 !important;
}
.top-news__list {
  background: #fff;
  padding: 5px 19px 0;
  border-radius: 8px;
}
.top-news__list li:not(:last-child) {
  position: relative;
}
.top-news__list li:not(:last-child)::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 5px);
  content: "";
}
.top-news__list a {
  display: flex;
  align-items: center;
  color: #000;
  padding: 15px 37px 15px 0;
  position: relative;
}
@media screen and (max-width: 1190px) {
  .top-news__list a {
    flex-wrap: wrap;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-news__list a {
    padding: 8px 15px 8px 0;
  }
}
.top-news__list a::after {
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  line-height: 1;
  margin-top: 2px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  color: #808080;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .top-news__list a::after {
    right: -8px;
  }
}
.top-news__date {
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
}
.top-news__tag {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 12px;
  color: #fff;
  width: 82px;
  min-height: 20px;
  line-height: 1;
  background: #6B92A8;
  text-align: center;
  padding: 3px 5px;
  border-radius: 4px;
  line-height: 1;
  margin: 0 4px 0 12px;
}
.top-news__tag.violet {
  background: #a695d7;
}
.top-news__tag.lightblue {
  background: #97c3de;
}
.top-news__tag.green {
  background: #97C493;
}
@media screen and (max-width: 767px) {
  .top-news__tag {
    font-size: 12px;
    padding: 4px 5px;
  }
}
.top-news__category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 12px;
  width: 82px;
  min-height: 20px;
  line-height: 1;
  background: #edf2f5;
  border-radius: 50vh;
  text-align: center;
  padding: 3px 5px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-news__category {
    font-size: 12px;
    padding: 4px 5px;
  }
}
.top-news__title {
  font-size: 16px;
  margin-left: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 618px;
}
@media screen and (max-width: 1190px) {
  .top-news__title {
    margin-left: 0;
    margin-top: 8px;
    max-width: none;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-news__title {
    font-size: 14px;
  }
}

.katsushika .top-news {
  background: #EDF2F5;
}
.katsushika .top-news__head:after {
  display: none;
}
.katsushika .top-service {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .katsushika .top-service {
    padding-top: 0px;
  }
}

.nihombashi .top-news {
  background: #EEF5EE;
}
.nihombashi .top-news__head:after {
  display: none;
}
.nihombashi .top-news__filter a {
  background: rgba(151, 196, 147, 0.2);
}
.nihombashi .top-news__filter .is-active > a {
  background: #97C493;
}

.ryogoku .top-news {
  background: #EDEBF2;
}
.ryogoku .top-news__head:after {
  display: none;
}
.ryogoku .top-news__filter a {
  background: rgba(155, 143, 204, 0.2);
}
.ryogoku .top-news__filter .is-active > a {
  background: #9B8FCC;
}

.top-section {
  display: flex;
  gap: 70px;
  margin-bottom: 120px;
}
@media screen and (max-width: 1190px) {
  .top-section {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .top-section {
    flex-direction: column;
    gap: 26px;
    margin-bottom: 40px;
  }
}
.top-section__heading {
  font-size: 12px;
  font-weight: bold;
  writing-mode: vertical-lr;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .top-section__heading {
    writing-mode: horizontal-tb;
    font-size: 10px;
    display: flex;
    flex-direction: column-reverse;
    gap: 4px;
  }
}
.top-section__heading > span {
  display: block;
  font-family: "Noto Serif JP", serif;
  margin-right: 15px;
  color: #004466;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 767px) {
  .top-section__heading > span {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-right: 0;
  }
}

.top-aboutus {
  padding-top: 80px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-aboutus {
    padding-top: 0px;
  }
}
.top-aboutus__text {
  font-size: 18px;
  line-height: 1.7777777778;
  margin-bottom: 44px;
}
@media screen and (max-width: 767px) {
  .top-aboutus__text {
    font-size: 16px;
    margin-bottom: 18px;
  }
  .top-aboutus__text br {
    display: none;
  }
}
.top-aboutus__content {
  flex-grow: 1;
}
.top-aboutus__group {
  display: grid;
}
@media screen and (min-width: 767px) {
  .top-aboutus__group {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 271px);
    gap: 34px 41px;
  }
}
@media screen and (max-width: 1190px) {
  .top-aboutus__group {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .top-aboutus__group {
    gap: 16px;
  }
}
.top-aboutus__card {
  overflow: hidden;
  border-radius: 8px;
  position: relative;
}
.top-aboutus__card > a {
  color: #000;
}
.top-aboutus__card:first-child {
  grid-row: 1/-1;
}
.top-aboutus__card-img img {
  display: block;
  width: 100%;
}
.top-aboutus__card-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  background: rgba(151, 195, 222, 0.4);
  padding: 22px 24px;
}
.top-aboutus__card-text::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 15px;
  content: "\f054";
}

.top-health {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .top-health {
    padding-top: 0px;
  }
}
.top-health__post {
  display: grid;
  gap: 17px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1190px) {
  .top-health__post {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .top-health__post {
    grid-template-columns: 1fr;
  }
}
.top-health__post li a {
  color: #000;
}
.top-health__post-img img {
  border-radius: 8px;
  display: block;
  width: 100%;
}
.top-health__post-title {
  font-size: 18px;
  font-weight: bold;
  margin: 14px 0 0;
  border-left: 8px solid #6B92A8;
  padding-left: 12px;
}
@media screen and (max-width: 767px) {
  .top-health__post-title {
    font-size: 16px;
  }
}
.top-health__post-title.green {
  border-left-color: #97C493;
}
.top-health__post-title.violet {
  border-left-color: #a695d7;
}
.top-health__post-title > span::after {
  display: inline-block;
  vertical-align: 4px;
  margin-left: 10px;
  width: 18px;
  height: 18px;
  text-align: center;
  line-height: 18px;
  border-radius: 50%;
  background: #004466;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 8px;
  color: #fff;
  content: "\f061";
}
.top-health__post-address, .top-health__post-tel {
  font-size: 16px;
  margin: 10px 0 0;
}
@media screen and (max-width: 767px) {
  .top-health__post-address, .top-health__post-tel {
    font-size: 14px;
    margin: 5px 0 0;
  }
}

.top-service__heading {
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 41px 0;
  background: #edf2f5;
}
@media screen and (max-width: 767px) {
  .top-service__heading {
    font-size: 10px;
  }
}
.top-service__heading > span {
  font-size: 32px;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  font-weight: 500;
  letter-spacing: normal;
  display: block;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top-service__heading > span {
    font-size: 20px;
  }
}
.top-service__text {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .top-service__text {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.top-service__block {
  display: flex;
  gap: 16px;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .top-service__block {
    flex-direction: column;
    margin-top: 40px;
  }
}
.top-service__content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.top-service__title {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  background: #dee3e5;
  padding: 30px 22px;
}
@media screen and (min-width: 767px) {
  .top-service__title {
    border-radius: 16px;
    writing-mode: vertical-lr;
  }
}
@media screen and (max-width: 767px) {
  .top-service__title {
    font-size: 16px;
    padding-bottom: 18px;
    padding-top: 18px;
    padding-left: 30px;
    margin: 0 -15px;
  }
}
.top-service__tab {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-bottom: 36px;
}
@media screen and (min-width: 768px) and (max-width: 1260px) {
  .top-service__tab {
    gap: 13px;
  }
}
@media screen and (max-width: 767px) {
  .top-service__tab {
    display: none;
  }
}
@media screen and (min-width: 767px) {
  .top-service__tab-select + .select2 {
    display: none;
  }
}
.top-service__tab-select-wrapper {
  background: #004466 !important;
  border: 0 !important;
  border-radius: 8px !important;
}
.top-service__tab-select-wrapper .select2-selection__rendered,
.top-service__tab-select-wrapper .select2-selection__arrow::after {
  color: #fff !important;
}
.top-service__tab-content {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .top-service__tab-content {
    margin-top: 16px;
  }
}
.top-service__tab-panel, .top-service__tab-content {
  flex-grow: 1;
}
.top-service__tab .is-active > a {
  background: #004466;
  color: #fff;
}
.top-service__tab .is-active > a::after {
  opacity: 1;
}
.top-service__tab a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 16px;
  height: 100%;
  color: #808080;
  line-height: 1.5;
  background: #ccc;
  border-radius: 8px;
  padding: 18px 10px;
  position: relative;
  transition: 0.2s;
}
@media screen and (min-width: 768px) and (max-width: 1260px) {
  .top-service__tab a br {
    display: none;
  }
}
.top-service__tab a::after {
  position: absolute;
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 12px 12px 0 12px;
  border-color: #004466 transparent transparent transparent;
  opacity: 0;
  transition: 0.2s;
  content: "";
}
@media screen and (min-width: 767px) {
  .top-service__tab a:hover {
    background: #004466;
    color: #fff;
  }
  .top-service__tab a:hover::after {
    opacity: 1;
  }
}
.top-service__body {
  background: #f7f7f7;
  padding: 30px 35px 50px;
  border-radius: 16px;
  height: 100%;
}
@media screen and (max-width: 1190px) {
  .top-service__body {
    padding-left: 20px;
    padding-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-service__body {
    padding: 20px 10px 23px;
  }
}
@media screen and (max-width: 767px) {
  .top-service__body.no-bg-sp {
    background: none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  .top-service__body.no-bg-sp .top-service__button {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.top-service__body-text {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .top-service__body-text {
    font-size: 14px;
    padding: 0 10px;
    line-height: 1.6;
  }
}
.top-service__group {
  display: grid;
}
.top-service__group + .top-service__group {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .top-service__group + .top-service__group {
    margin-top: 16px;
  }
}
.top-service__group.col-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media screen and (max-width: 1190px) {
  .top-service__group.col-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .top-service__group.col-3 {
    grid-template-columns: 1fr;
  }
}
.top-service__group.col-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 21px;
}
@media screen and (max-width: 1190px) {
  .top-service__group.col-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .top-service__group.col-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 13px 18px;
  }
}
.top-service__card {
  display: flex;
  flex-direction: column;
}
.top-service__card > a {
  color: #000;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.top-service__card-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .top-service__card-title {
    font-size: 14px;
  }
}
.top-service__card-title > span {
  font-size: 14px;
}
.top-service__group.col-4 .top-service__card-img {
  flex: 1;
  display: flex;
}
.top-service__card-img img {
  display: block;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-service__card-text {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 10px;
}
.top-service__card.other {
  display: flex;
  flex-direction: column;
}
.top-service__card-button {
  background: transparent;
  border-radius: 8px;
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .top-service__card-button {
    padding: 0;
    gap: 8px;
  }
}
.top-service__card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  border-radius: 50vh;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  background: #004466;
  text-align: center;
  padding: 10px 18px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-service__card-btn {
    font-size: 12px;
    padding: 10px;
  }
  .top-service__card-btn > span {
    display: inline-block;
    vertical-align: 2px;
    margin-right: 2px;
  }
}
.top-service__card-btn + .top-service__card-btn {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .top-service__card-btn + .top-service__card-btn {
    margin-top: 0;
  }
}
.top-service__card-btn::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #fff;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .top-service__card-btn::after {
    right: 10px;
  }
}
.top-service__button {
  margin-top: 40px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-service__button {
    margin-top: 24px;
  }
}
.top-service__button > a {
  display: inline-block;
  border: 2px solid #004466;
  color: #004466;
  border-radius: 50vh;
  font-size: 16px;
  font-weight: bold;
  padding: 22px 75px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-service__button > a {
    width: 100%;
    font-size: 14px;
    text-align: center;
    padding: 10px;
  }
}
.top-service__button > a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  margin-top: 2px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  color: #004466;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .top-service__button > a::after {
    right: 15px;
    font-size: 10px;
    margin-top: 0;
  }
}
@media screen and (min-width: 767px) {
  .top-service__button-icon {
    position: absolute;
    top: 50%;
    left: 34px;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .top-service__button-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
  }
}
.top-service__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 80px;
}
@media screen and (max-width: 1190px) {
  .top-service__nav {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .top-service__nav {
    gap: 8px;
    margin-top: 40px;
  }
}
.top-service__nav a {
  display: block;
  background: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 38px 30px 38px 33px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-service__nav a {
    padding: 12px 17px;
  }
}
.top-service__nav a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  margin-top: 2px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 15px;
  color: #004466;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .top-service__nav a::after {
    right: 10px;
    font-size: 11px;
  }
}
.top-service__nav-text {
  font-size: 18px;
  font-weight: bold;
  color: #004466;
}
@media screen and (max-width: 767px) {
  .top-service__nav-text {
    font-size: 14px;
  }
}
.top-service__nav-text > span {
  color: #000;
  font-size: 12px;
  text-transform: uppercase;
  display: block;
  margin-top: 7px;
}
@media screen and (max-width: 767px) {
  .top-service__nav-text > span {
    font-size: 10px;
    margin-top: 3px;
  }
}
.top-service__nav-icon {
  font-size: 40px;
  color: #004466;
}
@media screen and (max-width: 767px) {
  .top-service__nav-icon {
    font-size: 32px;
  }
}

.sawayaka .top-service {
  background: #edf2f5;
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .sawayaka .top-service {
    padding: 22px 0 25px;
  }
}
.sawayaka .top-service__body {
  background: #fff;
}

.nihombashi .top-service__heading {
  background: #EEF5EE;
}
.nihombashi .top-service__title {
  background: #EEF5EE;
}
@media screen and (min-width: 767px) {
  .nihombashi .top-service__tab a:hover {
    background: #97C493;
  }
}
.nihombashi .top-service__tab a:after {
  border-color: #97C493 transparent transparent transparent;
}
.nihombashi .top-service__tab .is-active > a {
  background: #97C493;
}
.nihombashi .top-service__card-btn {
  background: #97C493;
}

.ryogoku .top-service__heading {
  background: #EDEBF2;
}
.ryogoku .top-service__title {
  background: #EDEBF2;
}
@media screen and (min-width: 767px) {
  .ryogoku .top-service__tab a:hover {
    background: #9B8FCC;
  }
}
.ryogoku .top-service__tab a:after {
  border-color: #9B8FCC transparent transparent transparent;
}
.ryogoku .top-service__tab .is-active > a {
  background: #9B8FCC;
}
.ryogoku .top-service__card-btn {
  background: #9B8FCC;
}

.select2-container .select2-selection--single {
  height: 40px;
}

.select2-selection__rendered {
  font-size: 14px;
  font-weight: 500;
  padding: 6px 40px 6px 14px !important;
}

.select2-results__option {
  font-size: 14px;
  font-weight: 500;
  padding: 12px 14px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 20px;
  height: 20px;
  top: 50%;
  right: 10px;
  margin-top: 2px;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}
.select2-container--default .select2-selection--single .select2-selection__arrow::after {
  display: inline-block;
  color: #808080;
  font-size: 14px;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  content: "\f078";
}

.top-movie {
  padding: 60px 0;
}
.top-movie--title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.667;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .top-movie--title {
    font-size: 18px;
    line-height: 1.333;
  }
}
.top-movie--title span {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2;
}
@media screen and (max-width: 767px) {
  .top-movie--title span {
    margin-top: 10px;
  }
}
.top-movie--video {
  text-align: center;
}
.top-movie--video video {
  max-width: 100%;
  max-height: 51vw;
}

.top-how {
  padding: 40px 0;
  background: #EDF2F5;
}
.top-how--title {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  background: #97C3DE;
  text-align: center;
  padding: 16px 0;
  border-radius: 16px;
  margin-bottom: 20px;
}
.top-how--warning {
  border: 3px solid #EF7E7E;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  padding: 12px 0;
  margin-bottom: 40px;
}
.top-how--warning--cont {
  display: inline-block;
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.44;
  position: relative;
  padding-left: 60px;
}
.top-how--warning--cont:before {
  content: "";
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: url("../img/icon/warning.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
}
.top-how--warning--cont span {
  color: #EF7E7E;
}
.top-how--box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top-how--box {
    display: block;
    margin-bottom: 37px;
  }
}
.top-how--box:last-child {
  margin-bottom: 0;
}
.top-how--box--title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #97C3DE;
  border-radius: 8px;
  width: 93px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-how--box--title {
    width: 100%;
    margin-bottom: 13px;
    padding: 6px 0;
  }
}
.top-how--box--title img {
  display: block;
  width: 63px;
  height: 63px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .top-how--box--title img {
    width: 41px;
    height: 41px;
    margin-right: 10px;
  }
}
.top-how--box--title span {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 767px) {
  .top-how--box--title span {
    flex-direction: column;
    gap: 5px;
  }
}
.top-how--box--cont {
  width: calc(100% - 110px);
}
@media screen and (max-width: 767px) {
  .top-how--box--cont {
    width: 100%;
  }
}
.top-how--list01 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top-how--list01 {
    display: block;
  }
}
.top-how--list01--item {
  padding: 20px 17px;
  background: #fff;
  border-radius: 8px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.top-how--list01--item:after {
  content: "";
  border-left: 19px solid #97C3DE;
  border-top: 19px solid transparent;
  border-bottom: 19px solid transparent;
  position: absolute;
  right: -35px;
}
@media screen and (max-width: 767px) {
  .top-how--list01--item:after {
    right: calc(50% - 9px);
    bottom: -42px;
    transform: rotate(90deg);
  }
}
.top-how--list01--item:nth-child(1) {
  width: calc((100% - 51px) * 618 / 1039);
  margin-right: 51px;
}
@media screen and (max-width: 767px) {
  .top-how--list01--item:nth-child(1) {
    width: 100%;
    margin-right: 0;
    margin-bottom: 45px;
  }
}
.top-how--list01--item:nth-child(2) {
  width: calc((100% - 51px) * 421 / 1039);
}
@media screen and (max-width: 767px) {
  .top-how--list01--item:nth-child(2) {
    width: 100%;
  }
}
.top-how--list01--item:nth-child(2):after {
  display: none;
}
.top-how--list01--item--num {
  font-size: 20px;
  font-weight: 700;
  color: #97C3DE;
  margin-bottom: 10px;
}
.top-how--list01--item--num span {
  display: block;
  font-size: 30px;
  font-weight: 700;
}
.top-how--list01--item--title {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  margin-bottom: 10px;
}
.top-how--list01--item--txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 15px;
}
.top-how--list01--item--btn2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top-how--list01--item--btn2 a {
  display: block;
  width: 32.5%;
}
@media screen and (max-width: 767px) {
  .top-how--list01--item--btn2 a {
    width: 100%;
    max-width: 190px;
    margin: 5px auto;
  }
}
.top-how--list02 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top-how--list02 {
    display: block;
  }
}
.top-how--list02--item {
  padding: 20px 17px;
  background: #fff;
  border-radius: 8px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.top-how--list02--item:after {
  content: "";
  border-left: 19px solid #97C3DE;
  border-top: 19px solid transparent;
  border-bottom: 19px solid transparent;
  position: absolute;
  right: -35px;
}
@media screen and (max-width: 767px) {
  .top-how--list02--item:after {
    right: calc(50% - 9px);
    bottom: -42px;
    transform: rotate(90deg);
  }
}
.top-how--list02--item:nth-child(1) {
  width: calc((100% - 102px) * 282 / 988);
  margin-right: 51px;
}
@media screen and (max-width: 767px) {
  .top-how--list02--item:nth-child(1) {
    width: 100%;
    margin-bottom: 45px;
  }
}
.top-how--list02--item:nth-child(2) {
  width: calc((100% - 102px) * 422 / 988);
  margin-right: 51px;
}
@media screen and (max-width: 767px) {
  .top-how--list02--item:nth-child(2) {
    width: 100%;
    margin-bottom: 45px;
  }
}
.top-how--list02--item:nth-child(3) {
  width: calc((100% - 102px) * 282 / 988);
}
@media screen and (max-width: 767px) {
  .top-how--list02--item:nth-child(3) {
    width: 100%;
  }
}
.top-how--list02--item:nth-child(3):after {
  display: none;
}
.top-how--list02--item--num {
  font-size: 20px;
  font-weight: 700;
  color: #97C3DE;
  margin-bottom: 10px;
}
.top-how--list02--item--num span {
  display: block;
  font-size: 30px;
  font-weight: 700;
}
.top-how--list02--item--title {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  margin-bottom: 10px;
}
.top-how--list02--item--txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 15px;
}
.top-how--list02--item--txt2 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 10px;
}
.top-how--list02--item--select__wrapper {
  border-radius: 50vh !important;
  background-color: #7f87a2 !important;
  height: 48px !important;
}
.top-how--list02--item--select__wrapper .select2-selection__rendered,
.top-how--list02--item--select__wrapper .select2-selection__placeholder,
.top-how--list02--item--select__wrapper .select2-selection__arrow::after {
  color: #fff !important;
}
.top-how--list02--item--select__wrapper .select2-selection__rendered {
  padding: 10px !important;
}
.top-how--list02--item--select__wrapper .select2-selection__arrow {
  right: 16px !important;
  margin-top: 0 !important;
}
.top-how--list02--item--select__wrapper .select2-selection__arrow::after {
  font-size: 11px !important;
}
.top-how--list02--item--tel {
  margin-bottom: 15px;
}
.top-how--list02--item--btn2 {
  margin-top: 15px;
}
.top-how--list02--item--btn2__row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.top-how--list02--item--btn2__row.disable > a {
  pointer-events: none;
}
.top-how--list02--item--btn2__row.disable > a > span {
  opacity: 0.3;
}
.top-how--list02--item--btn2__row > a {
  width: 151px;
  display: block;
  border-radius: 50vh;
  background: #f2f2f2;
  color: #000;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
}
.top-how--list02--item--btn2__row > a > span {
  display: block;
  padding: 12px 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
}
.top-how--list02--item--btn2__row > a > span::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.top-how--list02--item--btn2__row > a i {
  margin-right: 6px;
}
.top-how--list02--item--btn2__row .xls i {
  color: #30a734;
}
.top-how--list02--item--btn2__row .pdf i {
  color: #d94040;
}
.top-how--list02--item--btn3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.top-how--list02--item--btn3:last-child {
  margin-bottom: 0;
}
.top-how--list02--item--btn3.disable > a {
  pointer-events: none;
}
.top-how--list02--item--btn3.disable > a > span {
  opacity: 0.3;
}
.top-how--list02--item--btn3 > a {
  width: 176px;
  display: block;
  border-radius: 16px;
  background: #f2f2f2;
  color: #000;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
}
.top-how--list02--item--btn3 > a > span {
  display: block;
  padding: 12px 16px 12px 36px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
}
.top-how--list02--item--btn3 > a > span::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.top-how--list02--item--btn3 > a i {
  font-size: 24px;
  position: absolute;
  left: 12px;
  top: calc(50% - 12px);
}
.top-how--list02--item--btn3 .xls i {
  color: #30a734;
}
.top-how--list02--item--btn3 .pdf i {
  color: #d94040;
}
.top-how--list02--item--fax {
  font-size: 28px;
  font-weight: 700;
  color: #000;
  margin-top: 10px;
}
.top-how--list02--item--fax span {
  display: block;
  font-size: 22px;
  color: #97C3DE;
}

.nihombashi .top-service {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .nihombashi .top-service {
    padding-top: 0px;
  }
}
.nihombashi .top-how {
  background: #EEF5EE;
}
.nihombashi .top-how--title {
  background: #A3CCA3;
}
.nihombashi .top-how--box--title {
  background: #A3CCA3;
}
.nihombashi .top-how--list01--item:after {
  border-left-color: #A3CCA3;
}
.nihombashi .top-how--list01--item--num {
  color: #A3CCA3;
}
.nihombashi .top-how--list02--item:after {
  border-left-color: #A3CCA3;
}
.nihombashi .top-how--list02--item--num {
  color: #A3CCA3;
}
.nihombashi .top-how--list02--item--fax span {
  color: #A3CCA3;
}

.ryogoku .top-how {
  background: #EDEBF2;
}
.ryogoku .top-how--title {
  background: #A8A0BD;
}
.ryogoku .top-how--box--title {
  background: #A8A0BD;
}
.ryogoku .top-how--list01--item:after {
  border-left-color: #A8A0BD;
}
.ryogoku .top-how--list01--item--num {
  color: #A8A0BD;
}
.ryogoku .top-how--list02--item:after {
  border-left-color: #A8A0BD;
}
.ryogoku .top-how--list02--item--num {
  color: #A8A0BD;
}
.ryogoku .top-how--list02--item--fax span {
  color: #A8A0BD;
}

.top-facility {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .top-facility {
    padding: 30px 0;
  }
}
.top-facility .c-title2 {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top-facility .c-title2 {
    margin-bottom: 10px;
  }
}
.top-facility--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top-facility--list li {
  width: 31.9%;
}
@media screen and (max-width: 767px) {
  .top-facility--list li {
    width: 100%;
    margin-bottom: 10px;
  }
}
.top-facility--list li a {
  display: block;
  position: relative;
  border-radius: 8px;
}
.top-facility--list li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #78A0B4;
  opacity: 0.6;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.top-facility--list li a p {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

.nihombashi .top-facility--list a:before {
  background: #91B478;
}

.ryogoku .top-service {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .ryogoku .top-service {
    padding-top: 0px;
  }
}
.ryogoku .top-facility--list a:before {
  background: #A8A0BD;
}

.top-access .c-title2 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .top-access .c-title2 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-access .c-table01 {
    margin-bottom: 20px;
  }
}

.top-map {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .top-map {
    padding: 40px 0;
  }
}
.top-map__cont {
  filter: grayscale(1);
  position: relative;
  width: calc(100% + 30px);
  left: -15px;
}
.top-map__cont iframe {
  width: 100%;
  height: 376px;
}

.top-faq {
  text-align: center;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .top-faq {
    padding-bottom: 40px;
  }
}

/*------------------------------------------------------------
News
------------------------------------------------------------*/
.news .top-intro {
  margin: 50px auto;
}

.p-news {
  padding: 65px 0;
  background: #EDF2F5;
}
@media screen and (max-width: 767px) {
  .p-news {
    padding: 25px 0;
  }
}
.p-news--main {
  background: #fff;
  border-radius: 16px;
  border: 5px solid #DCEDF5;
  padding: 86px 0;
}
@media screen and (max-width: 767px) {
  .p-news--main {
    padding: 13px 0;
  }
}
.p-news__detail {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-news__detail--date {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
}
.p-news__detail--cat {
  margin-bottom: 10px;
}
.p-news__detail--cat--parent {
  display: inline-block;
  background: #004466;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  padding: 7px 18px;
  margin-right: 7px;
}
.p-news__detail--cat--child {
  display: inline-block;
  background: #97C3DE;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  padding: 7px 16px;
}
.p-news__detail--title {
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 20px;
  border-bottom: 1px solid #7F87A2;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-news__detail--title {
    font-size: 20px;
    padding-bottom: 10px;
  }
}
.p-news__back {
  padding-top: 65px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-news__back {
    padding-top: 25px;
  }
}
.p-news .top-news__site-panel {
  display: none;
}
.p-news .top-news__site-panel.active {
  display: block;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Corporate
------------------------------------------------------------*/
.p-corporate {
  padding: 65px 0 55px;
}
.p-corporate .c-table01 {
  margin: 24px 0 45px;
}

/*------------------------------------------------------------
Privacy Policy & Site Policy
------------------------------------------------------------*/
.p-policy {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-policy {
    padding: 40px 0 50px;
  }
}
.p-policy__text {
  font-size: 16px;
  line-height: 1.625;
  margin-bottom: 40px;
}
.p-policy .c-table02 {
  margin: 24px 0 45px;
}

.p-privacy {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-privacy {
    padding: 40px 0 50px;
  }
}
.p-privacy__text {
  font-size: 16px;
  line-height: 1.625;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-privacy__text {
    margin-top: 12px;
  }
}
.p-privacy__signature {
  text-align: right;
  font-size: 16px;
  line-height: 1.625;
  margin: 25px 0;
}
.p-privacy__address {
  font-size: 16px;
  line-height: 1.625;
  background: #f7f7f7;
  border-radius: 8px;
  padding: 20px 22px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-privacy__address {
    padding: 15px 12px;
  }
}
.p-privacy__address .name {
  font-weight: bold;
  color: #004466;
}
.p-privacy__note {
  margin-top: 15px;
}
.p-privacy__note li {
  font-size: 16px;
  padding-left: 1.3em;
  line-height: 1.5;
  position: relative;
}
.p-privacy__note li + li {
  margin-top: 4px;
}
.p-privacy__note li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  font-weight: inherit;
  content: "※";
}
.p-privacy__table {
  margin: 35px 0;
}
.p-privacy__table table {
  border-collapse: collapse;
}
.p-privacy__table table th, .p-privacy__table table td {
  font-size: 16px;
  border-bottom: 1px solid #b3b3b3;
  width: 50%;
  line-height: 1.625;
  padding: 15px 0;
  vertical-align: middle;
}
.p-privacy__table table th:first-child, .p-privacy__table table td:first-child {
  border-right: 18px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-privacy__table table th:first-child, .p-privacy__table table td:first-child {
    border-right-width: 6px;
  }
}
.p-privacy__table table thead th {
  border-bottom: 0;
}
@media screen and (min-width: 767px) {
  .p-privacy__table table tbody tr:first-child td {
    padding-top: 30px;
  }
}
.p-privacy__table table th {
  background: #e8eff2;
  font-weight: bold;
  text-align: center;
}
.p-privacy .c-heading01:not(:first-child) {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-privacy .c-heading01:not(:first-child) {
    margin-top: 56px;
  }
}
.p-privacy .c-heading02 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-privacy .c-heading02 {
    margin-top: 20px;
  }
}
.p-privacy .c-table02 {
  margin: 24px 0 0;
}
@media screen and (max-width: 767px) {
  .p-privacy .c-table02 {
    margin: 20px 0 0;
  }
}

/*------------------------------------------------------------
Column
------------------------------------------------------------*/
.p-column__wrap {
  padding: 100px 0 80px;
  display: grid;
  grid-template-columns: 28.75% 1fr;
  gap: 0 2%;
}
@media screen and (max-width: 767px) {
  .p-column__wrap {
    padding: 50px 0 40px;
    grid-template-columns: 1fr;
    gap: 50px;
  }
}
.p-column__post {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-column__post {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 6px;
    margin-top: 24px;
  }
}
.p-column__banner {
  display: grid;
  align-items: center;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  grid-template-columns: 1fr 260px;
  overflow: hidden;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-column__banner {
    grid-template-columns: 1fr;
  }
}
.p-column__banner-content {
  padding: 15px 35px;
}
@media screen and (max-width: 767px) {
  .p-column__banner-content {
    padding: 20px 17px 26px;
  }
}
.p-column__banner-title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  color: #004466;
  margin-bottom: 19px;
}
@media screen and (max-width: 767px) {
  .p-column__banner-title {
    font-size: 24px;
    line-height: 1.3333333333;
    margin-bottom: 10px;
  }
}
.p-column__banner-tag {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  background: #004466;
  padding: 7px 8px;
}
.p-column__banner-img img {
  width: 100%;
  height: unset;
}
.p-column__entry h2 {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  border-radius: 8px;
  background: #97c3de;
  padding: 13px;
  margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
  .p-column__entry h2 {
    font-size: 18px;
    border-radius: 16px;
  }
}
.p-column__entry p {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-column__entry p {
    line-height: 1.5;
  }
}
.p-column__entry p + h2 {
  margin-top: 32px;
}
.p-column .c-pagenavi01 {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-column .c-pagenavi01 {
    margin-top: 40px;
  }
}
.p-column .c-pagenavi01 a, .p-column .c-pagenavi01 span {
  background: #DAE8F2;
  color: #fff;
}
.p-column .c-pagenavi01 a.current, .p-column .c-pagenavi01 a:hover, .p-column .c-pagenavi01 span.current, .p-column .c-pagenavi01 span:hover {
  background: #97c3de;
}

/*------------------------------------------------------------
Facility Policy
------------------------------------------------------------*/
.p-facility-policy_sec01 {
  padding: 80px 0;
  background: url("../img/facility/sec01_bg.png") center center no-repeat;
  background-size: cover;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec01 {
    padding: 15px 0 30px;
  }
}
.p-facility-policy_sec01--txt {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.444;
  font-family: "Noto Serif JP", serif;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec01--txt {
    font-size: 14px;
    line-height: 2;
  }
}
.p-facility-policy_sec01--list {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec01--list {
    display: block;
  }
}
.p-facility-policy_sec01--list--item {
  text-align: center;
  margin-top: 10px;
}
.p-facility-policy_sec01--list--item--title {
  font-size: 14px;
  font-weight: 700;
  color: #97C3DE;
}
.p-facility-policy_sec01--list--item--title span {
  display: block;
  font-size: 18px;
  font-weight: 500;
  color: #000;
  line-height: 1.777;
  font-family: "Noto Serif JP", serif;
}
.p-facility-policy_sec01--list--item--txt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.71;
}
.p-facility-policy_sec02 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec02 {
    padding-top: 30px;
  }
}
.p-facility-policy_sec02__head {
  position: absolute;
  left: calc(50% - 440px);
  top: 252px;
}
@media screen and (max-width: 880px) {
  .p-facility-policy_sec02__head {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec02__head {
    position: static;
    padding: 0 16px;
    margin-bottom: 26px;
  }
  .p-facility-policy_sec02__head img {
    width: 320px;
  }
}
.p-facility-policy_sec02--img img {
  width: 100%;
  height: 872px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec02--img img {
    -o-object-fit: unset;
       object-fit: unset;
    height: unset;
  }
}
.p-facility-policy_sec02__bot {
  position: absolute;
  left: calc(50% - 440px);
  top: 475px;
  background: #fff;
  border-radius: 16px;
  padding: 23px;
}
@media screen and (max-width: 880px) {
  .p-facility-policy_sec02__bot {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec02__bot {
    position: static;
    text-align: center;
  }
}
.p-facility-policy_sec02__bot--title1 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.286;
}
.p-facility-policy_sec02__bot--title2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.667;
}
.p-facility-policy_sec02__bot--txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.43;
}
.p-facility-policy_sec03 {
  overflow: hidden;
}
.p-facility-policy_sec03--main {
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec03--main {
    padding: 0 16px;
  }
}
.p-facility-policy_sec03--box {
  width: 1120px;
  max-width: 100%;
  float: right;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec03--box {
    margin-top: 14px;
  }
}
.p-facility-policy_sec03--box:nth-child(2) {
  float: left;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec03--box--title img {
    max-width: 332px;
  }
}
.p-facility-policy_sec03--box--txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec03--box--txt {
    line-height: 1.75;
    margin-bottom: 20px;
  }
}
.p-facility-policy_sec04 {
  padding: 200px 0;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec04 {
    padding: 40px 0;
  }
}
.p-facility-policy_sec04--main {
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec04--main {
    padding: 0 16px;
  }
}
.p-facility-policy_sec04--box {
  position: relative;
}
.p-facility-policy_sec04--img img {
  width: 100%;
  height: 758px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 32px;
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec04--img img {
    height: 179px;
    border-radius: 16px;
  }
}
.p-facility-policy_sec04--title {
  position: absolute;
  top: 356px;
  left: calc(50% - 80px);
}
@media screen and (max-width: 767px) {
  .p-facility-policy_sec04--title {
    position: static;
    margin-bottom: 20px;
    text-align: center;
  }
  .p-facility-policy_sec04--title img {
    width: 240px;
  }
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
About
------------------------------------------------------------*/
.p-about_sec01 {
  padding: 62px 0;
  background: url("../img/about/sec01_bg.jpg") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-about_sec01 {
    padding: 30px 0 40px;
  }
}
.p-about_sec01 .c-title3 {
  margin-bottom: 105px;
}
@media screen and (max-width: 767px) {
  .p-about_sec01 .c-title3 {
    margin-bottom: 24px;
  }
}
.p-about_sec01--main {
  max-width: 1450px;
  margin: 0 auto;
  padding: 0 30px;
}
.p-about_sec01--box {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box {
    display: block;
    margin-bottom: 40px;
  }
}
.p-about_sec01--box:last-child {
  margin-bottom: 0;
}
.p-about_sec01--box:nth-child(2n) {
  flex-direction: row-reverse;
}
.p-about_sec01--box:nth-child(2n) .p-about_sec01--box--cont {
  padding-left: 0;
  padding-right: 69px;
}
@media screen and (max-width: 1190px) {
  .p-about_sec01--box:nth-child(2n) .p-about_sec01--box--cont {
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box:nth-child(2n) .p-about_sec01--box--cont {
    padding-right: 0;
  }
}
.p-about_sec01--box--img {
  width: 64.9%;
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box--img {
    width: 100%;
    margin-bottom: 17px;
  }
}
.p-about_sec01--box--cont {
  width: 35.1%;
  padding-left: 69px;
  padding-bottom: 20px;
  max-width: 392px;
}
@media screen and (max-width: 1190px) {
  .p-about_sec01--box--cont {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box--cont {
    width: 100%;
    padding-left: 0;
    padding-bottom: 0;
  }
}
.p-about_sec01--box--title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.43;
  color: #6B92A8;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box--title {
    font-size: 20px;
    line-height: 2;
    margin-bottom: 8px;
  }
}
.p-about_sec01--box--txt {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box--txt {
    line-height: 1.5;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-about_sec01--box--btn {
    margin-top: 20px;
  }
}
.p-about_sec02 {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .p-about_sec02 {
    padding: 40px 0;
  }
}
.p-about_sec02 .c-title3 {
  margin-bottom: 24px;
}
.p-about_sec02 .c-title4 {
  margin-bottom: 24px;
}
.p-about_sec02 .c-table3 {
  margin-bottom: 80px;
}
.p-about_sec02 .c-table4,
.p-about_sec02 .c-table5 {
  margin-bottom: 24px;
}
.p-about_sec02__table table {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .p-about_sec02__table table {
    width: 100%;
  }
}

.nihombashi .p-about_sec01--box--title {
  color: #97C493;
}

.ryogoku .p-about_sec01--box--title {
  color: #9B8FCC;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
other
------------------------------------------------------------*/
.p-other {
  padding-top: 80px;
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .p-other {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
.p-other__anchor-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .p-other__anchor-nav {
    display: none;
  }
}
.p-other__anchor-nav a {
  border-radius: 16px;
  min-height: 120px;
  padding: 25px;
  display: flex;
  align-items: center;
  background: #f4f5f7;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  position: relative;
}
.p-other__anchor-nav a::after {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  content: "\f078";
}
.p-other__section {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-other__section {
    margin-top: 0;
  }
}
.p-other__section + .p-other__section {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-other__section + .p-other__section {
    margin-top: 60px;
  }
}
.p-other__section-text {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.5;
}
.p-other__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 27px;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .p-other__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 10px;
  }
}
.p-other__list a {
  background: #f4f5f7;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  border-radius: 16px;
  padding: 22px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width: 800px) {
  .p-other__list a {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media screen and (max-width: 767px) {
  .p-other__list a {
    font-size: 16px;
    text-align: center;
    padding: 10px;
    min-height: 64px;
    line-height: 1.25;
    justify-content: center;
  }
}
.p-other__button {
  display: block;
  width: 100%;
  max-width: 505px;
  margin: 47px auto 0;
  padding: 15px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  background: #7f87a2;
  border-radius: 50vh;
  position: relative;
}
@media screen and (min-width: 767px) {
  .p-other__button {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-other__button {
    padding-left: 38px;
    margin: 16px 0 0;
  }
}
.p-other__button::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 11px;
  content: "\f054";
}
@media screen and (max-width: 767px) {
  .p-other__button::after {
    right: 20px;
  }
}
.p-other__panel {
  background: #e7ebf2;
  border-radius: 16px;
  padding: 50px 39px 42px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .p-other__panel {
    padding: 20px;
    margin-top: 24px;
  }
}
.p-other__panel-head {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 577px;
}
@media screen and (max-width: 1190px) {
  .p-other__panel-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-other__panel-head {
    gap: 15px;
  }
}
.p-other__panel-head__left {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .p-other__panel-head__left {
    flex-direction: column;
    padding-right: 0;
  }
}
.p-other__panel-head__right {
  font-size: 16px;
  line-height: 1.75;
}
.p-other__panel-body {
  background: #fff;
  border-radius: 16px;
  padding: 25px 29px 40px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-other__panel-body {
    padding: 15px;
  }
}
.p-other__panel-icon {
  border-radius: 50%;
  background: #fff;
  width: 108px;
  height: 108px;
  flex-shrink: 0;
}
.p-other__panel-title {
  color: #7f87a2;
  font-weight: bold;
  font-size: 40px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-other__panel-title {
    font-size: 30px;
  }
}
.p-other__panel-title > span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 10px;
  color: #fff;
  background: #7f87a2;
  border-radius: 50vh;
  font-size: 14px;
  padding: 5px 16px;
}
@media screen and (max-width: 767px) {
  .p-other__panel-title > span {
    margin: 10px auto 0;
  }
}
.p-other__panel-reservation {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (max-width: 1190px) {
  .p-other__panel-reservation {
    flex-direction: column;
  }
}
.p-other__panel-reservation__left {
  width: 169px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #7f87a2;
}
@media screen and (max-width: 1190px) {
  .p-other__panel-reservation__left {
    width: 100%;
    padding: 20px;
  }
}
.p-other__panel-reservation__right {
  background: #f2f4f7;
  display: flex;
  flex-grow: 1;
  justify-content: center;
  padding: 20px;
  gap: 24px;
}
@media screen and (max-width: 1190px) {
  .p-other__panel-reservation__right {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-other__panel-reservation__right {
    padding: 12px;
    gap: 12px;
  }
}
.p-other__panel-button {
  display: flex;
  gap: 10px;
  align-items: center;
  border-radius: 50vh;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  background: #97c3de;
  width: 257px;
  padding: 15px 27px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-other__panel-button {
    width: 100%;
  }
}
.p-other__panel-button::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-size: 26px;
  content: "\f073";
}
.p-other__panel-button::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 11px;
  content: "\f054";
}
.p-other__panel-button > span > span {
  display: block;
  font-size: 14px;
  margin-top: 8px;
}
.p-other__panel-button.blue {
  background: #97c3de;
}
.p-other__panel-button.green {
  background: #97c493;
}
.p-other__panel-button.violet {
  background: #9b8fcc;
}
.p-other__panel__other {
  display: block;
  width: 287px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  background: #999;
  border-radius: 50vh;
  line-height: 1.5;
  padding: 10px 20px 10px 10px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-other__panel__other {
    font-size: 14px;
    padding: 5px 10px 5px 5px;
  }
}
.p-other__panel__other small {
  display: block;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .p-other__panel__other small {
    font-size: 10px;
  }
}
.p-other__panel__other::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
.p-other__panel-detail {
  margin-top: 16px;
}
.p-other__panel-detail__row {
  border-radius: 16px;
  background: #fafafa;
  padding-top: 14px;
  padding-bottom: 14px;
  display: grid;
  align-items: center;
  grid-template-columns: 150px 1fr;
}
@media screen and (max-width: 767px) {
  .p-other__panel-detail__row {
    grid-template-columns: 1fr;
  }
}
.p-other__panel-detail__row + .p-other__panel-detail__row {
  margin-top: 10px;
}
.p-other__panel-detail__icon {
  color: #7f87a2;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-other__panel-detail__icon {
    padding: 10px 0 10px;
  }
}
.p-other__panel-detail__icon i {
  font-size: 24px;
  display: block;
  margin-bottom: 5px;
}
.p-other__panel-detail__content {
  font-size: 16px;
  line-height: 1.5;
  padding: 10px 35px;
  min-height: 60px;
  display: inline-flex;
  align-items: center;
  border-left: 1px dashed #cdcdcd;
}
@media screen and (max-width: 767px) {
  .p-other__panel-detail__content {
    border-left: 0;
    border-top: 1px dashed #cdcdcd;
    padding: 10px 0;
    margin: 0 20px;
  }
}
.p-other__panel-detail__content b {
  font-size: 18px;
}
.p-other__panel-detail__content small {
  font-size: 14px;
}
.p-other__panel-detail__content .note {
  margin-top: 4px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-other .c-heading01 {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

.active-blue {
  background: #97c3de;
}

/*------------------------------------------------------------
Partners
------------------------------------------------------------*/
.p-partners {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .p-partners {
    padding: 40px 0;
  }
}
.p-partners .c-heading01 {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-partners .c-heading01 {
    line-height: 1.6;
  }
}
.p-partners .u-flex {
  gap: 48px;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1190px) {
  .p-partners .u-flex {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-partners .u-flex {
    flex-direction: column;
  }
}
.p-partners__text {
  font-size: 16px;
  line-height: 1.625;
}
.p-partners__box {
  background: #f0f0f0;
  padding: 23px 25px 28px;
  border-radius: 8px;
  width: 377px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-partners__box {
    width: 100%;
    padding: 17px 14px 22px;
  }
}
.p-partners__box-title {
  font-size: 18px;
  color: #004466;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-partners__box-title {
    font-size: 16px;
  }
}
.p-partners__box-list {
  padding-left: 2.7em;
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .p-partners__box-list {
    margin-top: 10px;
  }
}
.p-partners__box-list li {
  list-style: decimal;
  font-size: 16px;
}
.p-partners__box-list li + li {
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .p-partners__box-list li + li {
    margin-top: 6px;
  }
}
.p-partners__box-list li::marker {
  content: counter(list-item) "）";
}
.p-partners__image01 {
  width: 100%;
  margin: 32px 0 63px;
}
@media screen and (max-width: 767px) {
  .p-partners__image01 {
    margin: 32px 0 48px;
  }
}
.p-partners__image02 {
  width: 100%;
}
@media screen and (min-width: 767px) {
  .p-partners__image02 {
    max-width: 544px;
  }
}

/*------------------------------------------------------------
Contact
------------------------------------------------------------*/
.p-contact {
  padding: 80px 0 170px;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding: 40px 0 85px;
  }
}
.p-contact .validation-error {
  color: rgb(204, 0, 0);
  margin-top: 5px;
  font-weight: bold;
  grid-column: 1/-1; /* 2列にまたがる */
  margin-top: 6px;
  line-height: 1.4;
  white-space: normal;
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  .p-contact .validation-error {
    font-size: 13px !important;
  }
}
.p-contact__faq {
  background: #f7f7f7;
  border-radius: 16px;
  padding: 40px 37px 45px;
}
@media screen and (max-width: 767px) {
  .p-contact__faq {
    padding: 20px 10px;
  }
}
.p-contact__faq-title {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
.p-contact__faq-group {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  gap: 16px 14px;
}
@media screen and (max-width: 767px) {
  .p-contact__faq-group {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.p-contact__faq-group a {
  display: flex;
  align-items: center;
  padding: 20px 22px;
  width: 100%;
  min-height: 88px;
  height: 100%;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  background: #97c3de;
  border-radius: 8px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact__faq-group a {
    min-height: 64px;
    padding: 8px 12px;
  }
}
.p-contact__faq-group a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
@media screen and (min-width: 767px) {
  .p-contact__wrap {
    margin-top: 100px;
    display: grid;
    grid-template-columns: 28.8333333333% 1fr;
    gap: 0 2%;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__wrap {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__sidebar {
    margin-bottom: 32px;
  }
}
.p-contact__anchor {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-contact__anchor a {
  display: block;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  background: #f2f4f7;
  border-radius: 8px;
  padding: 17px 35px 17px 14px;
  position: relative;
}
.p-contact__anchor a::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
  color: #808080;
  content: "\f078";
}
.p-contact__center {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 16px;
  margin-bottom: 24px;
}
.p-contact__content .c-heading02 {
  margin-top: 30px;
}
.p-contact__info {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-contact__info {
    margin-top: 40px;
  }
}
.p-contact__info-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 33px;
}
@media screen and (max-width: 1110px) {
  .p-contact__info-wrap {
    grid-template-columns: 1fr;
  }
}
.p-contact__info-item {
  display: flex;
  flex-direction: column;
}
.p-contact__info-item__title {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.p-contact__info-box {
  border-radius: 16px;
  background: #f3f3f3;
  padding: 20px 17px 17px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 16px;
}
.p-contact__info-box__lead {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
}
.p-contact__info-box__tel {
  text-align: center;
  margin: 6px 0;
}
.p-contact__info-box__tel > a {
  line-height: 1;
  font-size: 40px;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-contact__info-box__tel > a {
    font-size: 32px;
  }
}
.p-contact__info-box__tel > a::before {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 8px;
  width: 46px;
  height: 31px;
  background-image: url("../img/icon/tel-line.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-contact__info-box__tel > a::before {
    width: 43px;
    height: 25px;
    vertical-align: -1px;
  }
}
.p-contact__info-box__tel.no-icon > a::before {
  display: none;
}
.p-contact__info-box__time {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
}
.p-contact__info-box__list {
  background: #fff;
  border-radius: 8px;
  padding: 10px 10px 10px 35px;
  margin-top: 16px;
}
.p-contact__info-box__list li {
  list-style: disc;
  font-size: 14px;
  line-height: 1.4285714286;
}
.p-contact__info-detail {
  display: grid;
  grid-template-columns: 202px 1fr;
  gap: 16px 19px;
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .p-contact__info-detail {
    grid-template-columns: 1fr;
  }
}
.p-contact__info-detail .c-heading02:first-child {
  margin-top: 0;
}
.p-contact__info-detail .c-heading02.green {
  background: #ddebdc;
}
.p-contact__info-detail .c-heading02.violet {
  background: #ddd9ea;
}
.p-contact__info-detail dt {
  color: #fff;
  background: #97c3de;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-contact__info-detail dt {
    padding: 12px;
  }
}
.p-contact__info-detail dt.green {
  background: #97c493;
}
.p-contact__info-detail dt.violet {
  background: #9b8fcc;
}
.p-contact__info-detail__lead {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  margin: 10px 0 5px;
}
.p-contact__info-detail__tel {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 20px;
}
.p-contact__info-detail__tel a {
  color: #000;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
}
.p-contact__info-detail__tel a::before {
  display: inline-block;
  vertical-align: 3px;
  margin-right: 4px;
  color: #fff;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  border-radius: 8px;
  background: #97c3de;
  padding: 2px 8px 3px;
}
.p-contact__info-detail__tel a.tel::before {
  content: "tel";
}
.p-contact__info-detail__tel a.fax::before {
  content: "fax";
}
.p-contact__info-detail__tel.green a::before {
  background: #97c493;
}
.p-contact__info-detail__tel.violet a::before {
  background: #9b8fcc;
}
.p-contact__info-detail__time {
  font-size: 14px;
  margin-top: 8px;
}
.p-contact__healthcheck {
  max-width: 860px;
  margin: 36px auto 0;
}
@media screen and (min-width: 767px) {
  .p-contact__healthcheck .p-contact__center {
    font-size: 18px;
  }
}
.p-contact__figure {
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  gap: 26px;
  margin-top: 30px;
  margin-bottom: 28px;
}
.p-contact__figure img {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}
.p-contact__figure figcaption {
  font-size: 16px;
}
.p-contact__notice {
  border: 2px solid #b20003;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 16px;
  margin-bottom: 28px;
  padding: 20px 25px 32px;
}
@media screen and (max-width: 767px) {
  .p-contact__notice {
    padding: 20px 10px;
  }
}
.p-contact__notice-title {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: #b20003;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-contact__notice-title {
    margin-bottom: 14px;
  }
}
.p-contact__notice-title::before {
  display: inline-block;
  margin-right: 8px;
  vertical-align: -5px;
  width: 30px;
  height: 26px;
  background: url("../img/icon/icon-warning.svg") no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .p-contact__notice-title::before {
    display: block;
    margin: 0 auto 5px;
  }
}
.p-contact__notice span {
  color: #b20003;
  font-weight: bold;
}
.p-contact__notice p + p {
  margin-top: 20px;
}
.p-contact__jumbotron {
  background: #f4f4f4;
  border-radius: 16px;
  padding: 26px 35px;
  margin: 15px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-contact__jumbotron {
    padding: 20px 15px;
  }
}
.p-contact__reservation {
  max-width: 860px;
  margin: 0 auto;
}
.p-contact__reservation .c-heading02 {
  margin-bottom: 20px;
}
.p-contact__reservation .c-heading02:not(:first-child) {
  margin-top: 40px;
}
.p-contact__reservation-tip {
  font-size: 16px;
}
@media screen and (min-width: 767px) {
  .p-contact__reservation-tip {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-tip {
    display: flex;
    align-items: flex-start;
  }
}
.p-contact__reservation-tip::before {
  display: inline-block;
  margin-right: 5px;
  color: #fff;
  background: #909090;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  padding: 4px 8px 6px;
  white-space: nowrap;
  content: "任意";
}
.p-contact__reservation-tip.required::before {
  background: #b20003;
  content: "必須";
}
.p-contact__reservation-type {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-type {
    gap: 5px;
  }
}
.p-contact__reservation-type label {
  display: block;
  width: 100%;
}
.p-contact__reservation-type input[type=radio] {
  display: none;
}
.p-contact__reservation-type input[type=radio]:checked + span {
  opacity: 1;
}
.p-contact__reservation-type-text {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50vh;
  background: #7f87a2;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 30px 10px;
  opacity: 0.3;
  transition: 0.2s opacity;
  cursor: pointer;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-type-text {
    font-size: 14px;
    line-height: 1.4285714286;
    border-radius: 16px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.p-contact__reservation-gender {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-gender {
    gap: 8px;
  }
}
.p-contact__reservation-gender label {
  display: block;
  width: 100%;
  max-width: 359px;
}
.p-contact__reservation-gender input[type=radio] {
  display: none;
}
.p-contact__reservation-gender input[type=radio]:checked + span {
  border-color: #294c76;
}
.p-contact__reservation-gender input[type=radio]:checked + span.pink {
  border-color: #de6195;
}
.p-contact__reservation-gender-text {
  color: #294c76;
  display: block;
  border-radius: 50vh;
  font-size: 20px;
  font-weight: bold;
  border: 3px solid #d4dce6;
  cursor: pointer;
  text-align: center;
  padding: 25px 10px;
  transition: border-color 0.2s;
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-gender-text {
    border-radius: 16px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.p-contact__reservation-gender-text.pink {
  color: #de6195;
  border-color: #f8dce7;
}
.p-contact__reservation-gender-text img {
  display: inline-block;
  margin-right: 5px;
  vertical-align: -8px;
}
.p-contact__reservation-date {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-contact__reservation-date {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.p-contact__reservation-date li {
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  padding-bottom: 17px;
  position: relative;
}
.p-contact__reservation-date li::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ebf7eb;
  opacity: 0.4;
  content: "";
}
.p-contact__reservation-date-head {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  background: #6bb26b;
  padding: 9px;
  margin-bottom: 14px;
  opacity: 0.4;
}
.p-contact__reservation-date-info {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  align-self: center;
}
.p-contact__reservation-date-year {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
}
.p-contact__reservation-date-datetime {
  text-align: center;
  font-size: 16px;
}
.p-contact__reservation-date-value {
  font-weight: bold;
  font-size: 24px;
  color: #6bb26b;
}
.p-contact__reservation-date-day {
  font-weight: bold;
  font-size: 18px;
  color: #6bb26b;
}
.p-contact__reservation-date-button {
  width: 100%;
  max-width: 200px;
  display: block;
  border-radius: 50vh;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  background: #b20003;
  text-align: center;
  padding: 14px 18px 14px 10px;
  margin: 10px auto 0;
  position: relative;
}
.p-contact__reservation-date-button::before, .p-contact__reservation-date-button::after {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
}
.p-contact__reservation-date-button::before {
  display: inline-block;
  margin-right: 7px;
  font-size: 18px;
  font-weight: 400;
  content: "\f073";
}
.p-contact__reservation-date-button::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-weight: 900;
  font-size: 10px;
  margin-top: 1px;
  content: "\f054";
}
.p-contact__reservation-date .is-active .p-contact__reservation-date-button {
  background: #ccc;
  padding-right: 10px;
  pointer-events: none;
}
.p-contact__reservation-date .is-active .p-contact__reservation-date-button::before {
  content: "\f14a";
}
.p-contact__reservation-date .is-active .p-contact__reservation-date-button::after {
  display: none;
}
.p-contact__reservation-date .is-active::after,
.p-contact__reservation-date .is-active .p-contact__reservation-date-head {
  opacity: 1;
}
.p-contact__reservation-course {
  max-width: 591px;
  margin: 0 auto;
}
.p-contact__reservation-course input {
  margin-bottom: 18px;
}
.p-contact__reservation-course p {
  font-size: 14px;
  margin-top: 5px;
}
.p-contact__agreement-heading {
  font-weight: bold;
  color: #6bb26b;
}
.p-contact__agreement-text {
  font-size: 14px !important;
}

.contact.nihombashi .c-form__agree {
  background: #dce5dc;
}
.contact.nihombashi .c-form__outline {
  border-color: #c5ddc5;
}

.contact.ryogoku .c-form__agree {
  background: #edebf2;
}
.contact.ryogoku .c-form__outline {
  border-color: #ddd9ea;
}
.contact.ryogoku .p-contact__agreement-heading,
.contact.ryogoku .p-contact__reservation-date-value,
.contact.ryogoku .p-contact__reservation-date-day {
  color: #9b8fcc;
}
.contact.ryogoku .p-contact__reservation-date-head {
  background: #9b8fcc;
}
.contact.ryogoku .p-contact__reservation-date li::after {
  background: #edebf2;
}

/*------------------------------------------------------------
calendar
------------------------------------------------------------*/
.p-calendar {
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 40px;
  background: #E9F2F7;
  padding: 53px 57px;
}
@media screen and (max-width: 1190px) {
  .p-calendar {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-calendar {
    border-radius: 16px;
    padding: 16px;
  }
}
.p-calendar__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-calendar__head {
    display: block;
    margin-bottom: 10px;
  }
}
.p-calendar__head--lf {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: stretch;
  gap: 0 20px;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--lf {
    display: block;
  }
}
.p-calendar__head--lf--btn01 {
  grid-column: 1;
  grid-row: 1/span 2;
  width: 132px;
  height: 100px;
  border-radius: 16px;
  background: #6BB26B;
  font-size: 17px;
  font-weight: 900;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--lf--btn01 {
    display: inline-block;
    width: 143px;
    height: auto;
    font-size: 15px;
    padding: 6px 0;
  }
}
.p-calendar__head--lf--btn01 span {
  display: block;
  font-size: 30px;
  font-weight: 700;
  line-height: 0.533;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--lf--btn01 span {
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    margin-top: 0;
    display: inline;
  }
}
.p-calendar__head--lf--btn02 {
  grid-column: 2;
  grid-row: 1;
  width: 132px;
  background: #294C76;
  border-radius: 40px;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  line-height: 0.8;
  padding: 14px 0 6px;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--lf--btn02 {
    display: inline-block;
    font-size: 14px;
    width: 80px;
    padding: 8px 0;
    margin-left: 5px;
  }
}
.p-calendar__head--lf--title {
  grid-column: 2;
  grid-row: 2;
  font-size: 35px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--lf--title {
    font-size: 24px;
    display: block;
    width: 100%;
    margin-top: 8px;
  }
}
.p-calendar__head--rt {
  display: flex;
}
@media screen and (max-width: 1190px) {
  .p-calendar__head--rt {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-calendar__head--rt {
    margin-top: 10px;
  }
}
.p-calendar__head--rt--btn {
  cursor: pointer;
  width: 100px;
  height: 90px;
  border-radius: 16px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.125;
  text-align: center;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--rt--btn {
    font-size: 14px;
    line-height: 1.286;
    width: 94px;
    height: 84px;
  }
}
.p-calendar__head--rt--btn:nth-child(1) {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .p-calendar__head--rt--btn:nth-child(1) img {
    width: 40px;
  }
}
.p-calendar__head--rt--btn:nth-child(1) img, .p-calendar__head--rt--btn:nth-child(2) img {
  margin-bottom: 8px;
}
.p-calendar__head--rt--btn:nth-child(3) img {
  margin-bottom: 3px;
}
.p-calendar__head--rt--btn img {
  display: block;
  margin: 0 auto;
}
.p-calendar--txt1 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .p-calendar--txt1 {
    font-size: 14px;
  }
}
.p-calendar--nav {
  background: #C1D9E5;
  padding: 23px 30px;
  border-radius: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-calendar--nav {
    margin-bottom: 10px;
  }
}
.p-calendar--nav--btn {
  cursor: pointer;
  width: 120px;
  height: 80px;
  background: #fff;
  border-radius: 8px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  padding-top: 20px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-calendar--nav--btn {
    width: 63px;
    padding-top: 10px;
  }
}
.p-calendar--nav--btn span {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-calendar--nav--btn span {
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 767px) {
  .p-calendar--nav--btn span img {
    width: 11px;
  }
}
.p-calendar--nav--date {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.p-calendar--nav--date span {
  display: block;
  font-size: 32px;
}
.p-calendar--warning {
  background: #fff;
  border-radius: 16px;
  margin-bottom: 23px;
}
@media screen and (max-width: 767px) {
  .p-calendar--warning {
    margin-bottom: 10px;
  }
}
.p-calendar--warning li {
  position: relative;
  border-bottom: 1px dashed #D5DEE8;
  padding: 10px 10px 10px 49px;
  font-size: 16px;
  line-height: 1.375;
}
@media screen and (max-width: 767px) {
  .p-calendar--warning li {
    font-size: 14px;
  }
}
.p-calendar--warning li:last-child {
  border-bottom: none;
}
.p-calendar--warning li:before {
  content: "";
  width: 23px;
  height: 21px;
  background: url("../img/icon/warning02.png") no-repeat;
  background-size: contain;
  position: absolute;
  left: 15px;
  top: 12px;
}
.p-calendar__note {
  padding-left: 20px;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .p-calendar__note {
    padding-left: 15px;
    margin-top: 10px;
  }
}
.p-calendar__note li {
  list-style: decimal;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-calendar__note li {
    font-size: 14px;
  }
}
.p-calendar--txt2 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  display: none;
}
@media screen and (max-width: 500px) {
  .p-calendar--txt2 {
    display: block;
  }
}
.p-calendar--calendar02 {
  background: #F8DCE7;
}
.p-calendar--calendar02 .p-calendar__head--lf--btn02 {
  background: #DE6195;
}
.p-calendar--calendar02 .p-calendar--nav {
  background: #E5C1CF;
}
.p-calendar--calendar02 .calendar-area .week-box .box {
  background: #DE6195;
  border-color: #F8DCE7;
}
.p-calendar--calendar02 .calendar-area .week-box .box:not(:last-child) {
  border-right-color: #F8DCE7;
}
.p-calendar--calendar02 .calendar-area .day-box .box {
  border-bottom-color: #F8DCE7;
}
.p-calendar--calendar02 .calendar-area .day-box .box:not(:last-child) {
  border-right-color: #F8DCE7;
}
.p-calendar--calendar02 .calendar-area .day-box .box .day-txt {
  background: #D994AF;
}
.p-calendar--calendar02 .calendar-area .day-box .box:nth-child(2n) .day-txt {
  background: #D9B6C4;
}
.p-calendar--calendar02 .calendar-area .day-box .box .day-txt {
  border-color: #F8DCE7;
}
.p-calendar--calendar03 {
  background: #EDEBF2;
}
.p-calendar--calendar03 .p-calendar__head--lf--btn01 {
  background: #9B8FCC;
}
.p-calendar--calendar03 .p-calendar__head--lf--btn02 {
  background: #DE6195;
}
.p-calendar--calendar03 .p-calendar__head--lf--title {
  grid-row: 1;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-calendar--calendar03 .p-calendar__head--lf--title {
    padding-top: 0;
  }
}
.p-calendar--calendar03 .p-calendar--nav {
  background: #D7D2EB;
}
.p-calendar--calendar03 .calendar-area .week-box .box {
  border-color: #EDEBF2;
}
.p-calendar--calendar03 .calendar-area .week-box .box:not(:last-child) {
  border-right-color: #EDEBF2;
}
.p-calendar--calendar03 .calendar-area .day-box .box {
  border-bottom-color: #EDEBF2;
}
.p-calendar--calendar03 .calendar-area .day-box .box:not(:last-child) {
  border-right-color: #EDEBF2;
}
.p-calendar--calendar03 .calendar-area .day-box .box .day-txt {
  border-color: #EDEBF2;
}

.calendar-area {
  position: relative;
}
@media screen and (max-width: 500px) {
  .calendar-area {
    overflow-x: scroll;
  }
}
.calendar-area-box {
  min-width: 484px;
}
.calendar-area .week-box {
  display: flex;
  width: 100%;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .calendar-area .week-box {
    margin-bottom: 2px;
  }
}
.calendar-area .week-box .box {
  flex: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background-color: #294C76;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px;
  line-height: 1.4;
  text-align: center;
}
.calendar-area .week-box .box:not(:last-child) {
  border-right: 3px solid #E9F2F7;
}
@media screen and (max-width: 767px) {
  .calendar-area .week-box .box:not(:last-child) {
    border-right-width: 2px;
  }
}
.calendar-area .week-box .box span {
  display: block;
  font-size: 14px;
}
.calendar-area .week-box .box.sun {
  background: #CC2929;
}
.calendar-area .day-box {
  display: flex;
  width: 100%;
}
.calendar-area .day-box .box {
  flex: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-bottom: 3px solid #E9F2F7;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box {
    border-width: 2px;
  }
}
.calendar-area .day-box .box:not(:last-child) {
  border-right: 3px solid #E9F2F7;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box:not(:last-child) {
    border-width: 2px;
  }
}
.calendar-area .day-box .box:nth-child(2n) .day-txt {
  background: #B6C5D9;
}
.calendar-area .day-box .box:nth-child(2n) .select {
  background: #F7F7F7;
}
.calendar-area .day-box .box.box-disabled .day-txt {
  opacity: 0.1;
}
.calendar-area .day-box .box.box-none .day-txt2 {
  opacity: 0.3;
}
.calendar-area .day-box .box.sun .day-txt {
  background-color: #CC2929;
  color: #fff;
}
.calendar-area .day-box .box .day-txt {
  background-color: #A1B9D9;
  color: #000;
  font-size: 18px;
  padding: 7px 0;
  line-height: 1;
  font-weight: bold;
  min-height: 1em;
  text-align: center;
  border-bottom: 2px solid #E9F2F7;
}
.calendar-area .day-box .box .day-txt2 {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  background: #EB522B;
  border-radius: 16px;
  text-align: center;
  line-height: 1;
  padding: 3px;
  margin-bottom: 9px;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .day-txt2 {
    margin-bottom: 4px;
  }
}
.calendar-area .day-box .box .select {
  flex: 1;
  padding: 7px 13px;
  position: relative;
  min-height: 130px;
  box-sizing: border-box;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select {
    padding: 7px 6px;
  }
}
.calendar-area .day-box .box .select .radio {
  display: block;
  margin-bottom: 2px;
}
.calendar-area .day-box .box .select .radio label {
  display: table;
  width: 100%;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio label {
    height: unset;
  }
}
.calendar-area .day-box .box .select .radio label input.radio-btn {
  display: none;
}
.calendar-area .day-box .box .select .radio label input.radio-btn + .btn {
  display: table-cell;
  width: 100%;
  line-height: 1.4;
  vertical-align: middle;
  border: 1px solid transparent;
  background-color: #E6E6E6;
  color: #000;
  font-size: 13px;
  font-weight: bold;
  box-sizing: border-box;
  text-align: left;
  border-radius: 16px;
  padding: 0 30px;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio label input.radio-btn + .btn {
    padding: 0;
  }
}
.calendar-area .day-box .box .select .radio label input.radio-btn + .btn:hover {
  cursor: pointer;
  border: 1px solid #fff4d0;
  background-color: #fff4d0;
}
.calendar-area .day-box .box .select .radio label input.radio-btn + .btn .txt {
  font-weight: bold;
}
.calendar-area .day-box .box .select .radio label input.radio-btn:checked + .btn {
  background-color: #fee9a5;
  border: 1px solid #f2c73c;
}
.calendar-area .day-box .box .select .radio.ic001 label input.radio-btn + .btn {
  background-image: url(../img/icon/calendar-ic001.png);
  background-position: left 12px center;
  background-repeat: no-repeat;
  background-size: 12px auto;
  position: relative;
}
.calendar-area .day-box .box .select .radio.ic001 label input.radio-btn + .btn:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: calc(50% - 3px);
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic001 label input.radio-btn + .btn:after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic001 label input.radio-btn + .btn {
    text-align: center;
    height: 40px;
    border-radius: 4px;
    padding-top: 18px;
    background-position: top 6px center;
    font-size: 14px;
  }
}
.calendar-area .day-box .box .select .radio.ic002 label input.radio-btn + .btn {
  background-image: url(../img/icon/calendar-ic002.png);
  background-position: left 12px center;
  background-repeat: no-repeat;
  background-size: 12px auto;
  position: relative;
}
.calendar-area .day-box .box .select .radio.ic002 label input.radio-btn + .btn:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: calc(50% - 3px);
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic002 label input.radio-btn + .btn:after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic002 label input.radio-btn + .btn {
    text-align: center;
    height: 40px;
    border-radius: 4px;
    padding-top: 18px;
    background-position: top 6px center;
    font-size: 14px;
  }
}
.calendar-area .day-box .box .select .radio.ic003 label input.radio-btn + .btn {
  background-image: url(../img/icon/calendar-ic003.png);
  background-position: left 12px center;
  background-repeat: no-repeat;
  background-size: 12px auto;
  opacity: 0.3;
  cursor: default;
}
@media screen and (max-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic003 label input.radio-btn + .btn {
    background-position: left 5px center;
    background-size: 8px auto;
    padding-left: 15px;
    font-size: 12px;
  }
}
@media screen and (min-width: 767px) {
  .calendar-area .day-box .box .select .radio.ic003 label input.radio-btn + .btn:hover {
    border: 1px solid #fff;
    background-color: #E6E6E6;
  }
}
.calendar-area .day-box .box .select .radio.ic-none {
  margin-bottom: 0;
}
.calendar-area .day-box .box .select .radio.ic-none span {
  display: none;
  width: 100%;
  height: 30px;
}

/*------------------------------------------------------------
calendar modal
------------------------------------------------------------*/
#calendar-modal {
  /* モーダル関連のスタイル - 日本橋メディカルセンターデザイン準拠 */
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  transition: opacity 0.3s ease;
  overflow: hidden;
}
#calendar-modal .modal-content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  height: 90%;
  margin: 2% auto;
  background: white;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  animation: modalFadeIn 0.3s;
  display: flex;
  flex-direction: column;
}
#calendar-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #294C76;
  color: white;
}
#calendar-modal #modal-title {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  color: white;
}

#close-modal {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #fff;
  color: #294C76;
  border: none;
  padding: 5px 15px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  z-index: 1001;
  transition: background-color 0.2s ease;
}
.iframe-container {
  flex: 1;
  width: 100%;
  height: calc(100% - 50px);
  overflow: hidden;
  position: relative;
}

#calendar-iframe {
  flex: 1;
  width: 100%;
  height: 100%;
  height: calc(100% - 50px);
  border: none;
  overflow: auto;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*------------------------------------------------------------
calendar iframe
------------------------------------------------------------*/
body.in-iframe {
  margin: 0;
  padding: 10px;
  overflow-x: hidden;
  /* モーダル内カレンダーのレスポンシブ対応 */
}
body.in-iframe .calendar-area {
  overflow-x: auto;
  max-width: 100%;
}
body.in-iframe .calendar-area-box {
  min-width: 700px;
}
body.in-iframe .week-box .box {
  padding: 5px;
  font-size: 16px;
}
body.in-iframe .day-box .box .day-txt {
  font-size: 16px;
  padding: 5px 0;
}
body.in-iframe .day-box .box .select {
  padding: 5px;
  min-height: 120px;
}

/* カレンダーの予約ステータス表示調整 */
.status-available,
.ic001 {
  color: #4caf50;
  cursor: pointer;
}

.status-limited,
.ic002 {
  color: #ff9800;
  cursor: pointer;
}

.status-unavailable,
.ic003 {
  color: #f44336;
  opacity: 0.6;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
Download
------------------------------------------------------------*/
.p-download {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-download {
    padding: 40px 0 50px;
  }
}
.p-download .c-heading01 {
  margin-bottom: 40px;
}
.p-download .c-heading01:not(:first-child) {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-download .c-heading01:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-download .c-heading01 {
    margin-bottom: 20px;
  }
}
.p-download .c-heading01.green {
  background: #97C493;
}
.p-download .c-heading01.violet {
  background: #9B8FCC;
}
.p-download .c-heading02 {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-download .c-heading02 {
    margin-bottom: 14px;
  }
}
.p-download .c-heading02.green {
  background: #DDEBDC;
}
.p-download .c-heading02.violet {
  background: #DDD9EA;
}
.p-download__box {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-download__box {
    margin-bottom: 20px;
  }
}
.p-download__document {
  background: #FAFAFA;
  display: grid;
  grid-template-columns: 69.8333333333% 1fr;
}
@media screen and (max-width: 767px) {
  .p-download__document {
    grid-template-columns: 1fr;
  }
}
.p-download__document dt,
.p-download__document dd {
  padding: 14px 16px;
}
.p-download__document dt {
  background: #EBEFF2;
  font-weight: bold;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
}
.p-download__document dd {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.p-download__document.green dt {
  background: #EEF5EE;
}
.p-download__document.violet dt {
  background: #EDEBF2;
}
.p-download__button {
  width: 151px;
  display: block;
  border-radius: 50vh;
  background: #f2f2f2;
  color: #000;
  font-weight: bold;
  font-size: 14px;
  padding: 12px 16px;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
}
.p-download__button::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.p-download__button i {
  margin-right: 6px;
}
.p-download__button.xls i {
  color: #30a734;
}
.p-download__button.pdf i {
  color: #d94040;
}
.p-download__button2 {
  width: 90%;
  display: block;
  border-radius: 50vh;
  background: #f2f2f2;
  color: #000;
  font-weight: bold;
  font-size: 12px;
  padding: 12px 16px;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
}
.p-download__button2::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.p-download__button-no-link {
  width: 151px;
  display: block;
  border-radius: 50vh;
  background: #d6d6d6;
  color: #FFF;
  font-weight: bold;
  font-size: 14px;
  padding: 12px 16px;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
  cursor: default;
}
.p-download__button-no-link i {
  margin-right: 6px;
}
.p-download__button-no-link.xls i {
  color: #30a734;
}
.p-download__button-no-link.pdf i {
  color: #d94040;
}

/*------------------------------------------------------------
FAQ
------------------------------------------------------------*/
.p-faq {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding: 40px 0 50px;
  }
}
.p-faq__wrap {
  display: grid;
  grid-template-columns: 28.8333333333% 1fr;
  gap: 2%;
}
@media screen and (max-width: 767px) {
  .p-faq__wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.p-faq__sidebar .c-heading01 {
  font-size: 16px;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 24px;
}
.p-faq__question {
  counter-reset: question;
  margin-bottom: 40px;
}
.p-faq__question li + li {
  margin-top: 2px;
}
.p-faq__question a {
  display: block;
  color: #000;
  font-size: 14px;
  line-height: 1.1428571429;
  background: #F7F7F7;
  position: relative;
  padding: 11px 34px 11px 45px;
}
.p-faq__question a::before {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  font-weight: bold;
  font-size: 14px;
  color: #97C3DE;
  counter-increment: question;
  content: "Q" counter(question) ".";
}
.p-faq__question a::after {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  color: #000;
  content: "\f054";
}
.p-faq__answer {
  counter-reset: answer;
  margin-bottom: 45px;
}
.p-faq__answer > dt {
  font-size: 16px;
  font-weight: bold;
  background: #DAE8F2;
  padding: 10px 10px 10px 75px;
  margin-top: 40px;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__answer > dt {
    margin: 30px 0 15px;
  }
}
.p-faq__answer > dt::before {
  counter-increment: answer;
  width: 60px;
  font-size: 16px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  background: #004466;
  content: "Q" counter(answer);
}
.p-faq__answer > dt small {
  display: block;
  font-size: 13px;
  font-weight: normal;
  margin-top: 2px;
}
.p-faq__answer > dd > p {
  font-size: 16px;
  line-height: 1.5;
}
.p-faq__answer-list {
  font-size: 16px;
  line-height: 1.625;
  margin-top: 20px;
  margin-bottom: 10px;
}
.p-faq__answer-note {
  font-size: 14px;
}
.p-faq__answer-lead {
  color: #fff;
  margin: 16px 0;
}
.p-faq__answer-lead > span {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  background: #004466;
  padding: 12px 14px;
}
.p-faq__answer .c-table02 dt {
  padding-left: 5px;
  padding-right: 5px;
}
.p-faq__contact01 {
  background: #F2F2F2;
  border-radius: 8px;
  padding: 30px;
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-faq__contact01 {
    padding: 20px 13px;
  }
}
.p-faq__contact01-lead {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-faq__contact01-lead {
    font-size: 18px;
    text-align: center;
  }
}
.p-faq__contact01-wrap {
  display: grid;
  grid-template-columns: 287px 1fr;
  gap: 23px;
  grid-template-columns: 1fr;
}
.p-faq__contact01-title {
  background: #fff;
  font-weight: bold;
  font-size: 18px;
  border-radius: 8px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.p-faq__contact01-title i {
  font-size: 22px;
  margin-right: 10px;
}
.p-faq__contact01-title.calendar i {
  font-size: 26px;
  color: #4D4D4D;
}
.p-faq__contact01-number {
  font-weight: bold;
  line-height: 1;
  font-size: 36px;
  color: #000;
  white-space: nowrap;
}
.p-faq__contact01-number::before {
  display: inline-block;
  margin-right: 7px;
  width: 40px;
  height: 26px;
  background: url("../img/icon/tel-line-black.svg") no-repeat;
  background-size: contain;
  content: "";
}
.p-faq__contact01-time {
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  margin-top: 6px;
}
.p-faq__contact01-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}
.p-faq__contact01-links li:nth-child(2) a {
  background: #97C493;
}
.p-faq__contact01-links li:nth-child(3) a {
  background: #A695D7;
}
.p-faq__contact01-links a {
  display: block;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #6B92A8;
  line-height: 1.223;
  padding: 12px 0;
  border-radius: 8px;
  position: relative;
}
@media screen and (max-width: 1190px) {
  .p-faq__contact01-links a {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__contact01-links a {
    font-size: 12px;
    padding: 17px 0;
  }
}
.p-faq__contact01-links a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: calc(50% - 3px);
}
@media screen and (max-width: 767px) {
  .p-faq__contact01-links a:after {
    right: 8px;
  }
}
.p-faq__contact01-links a span {
  display: block;
  font-size: 20px;
}
@media screen and (max-width: 1190px) {
  .p-faq__contact01-links a span {
    font-size: 16px;
  }
}
.p-faq__contact02 {
  background: #F2F2F2;
  border-radius: 8px;
  padding: 30px;
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-faq__contact02 {
    padding: 20px 13px;
  }
}
.p-faq__contact02-lead {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-faq__contact02-lead {
    text-align: center;
  }
}
.p-faq__contact02-title {
  background: #fff;
  font-weight: bold;
  font-size: 18px;
  border-radius: 8px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}
.p-faq__contact02-title i {
  font-size: 22px;
  margin-right: 10px;
}
.p-faq__contact02-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .p-faq__contact02-wrap {
    grid-template-columns: 1fr;
  }
}
.p-faq__contact02-name {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4444444444;
}
.p-faq__contact02-phone {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 767px) {
  .p-faq__contact02-phone {
    text-align: right;
  }
}
.p-faq__contact02-number {
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  color: #000;
  line-height: 1;
  white-space: nowrap;
}
.p-faq__contact02-number::before {
  display: inline-block;
  margin-right: 10px;
  width: 40px;
  height: 26px;
  background: url("../img/icon/tel-line-black.svg") no-repeat;
  background-size: contain;
  content: "";
}
.p-faq__contact02-time {
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  margin-top: 6px;
}
@media screen and (min-width: 767px) {
  .p-faq__contact02-time {
    margin-right: -8px;
  }
}

/*------------------------------------------------------------
Option
------------------------------------------------------------*/
.p-option {
  padding: 72px 0 90px;
}
@media screen and (max-width: 767px) {
  .p-option {
    padding: 40px 0 50px;
  }
}
.p-option__intro {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 30px;
}
.p-option__value {
  margin-top: 24px;
}
.p-option__value-title {
  background: #F5A200;
  border-radius: 8px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 8px 18px;
}
.p-option__value-tip {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin: 22px 0 14px;
}
@media screen and (max-width: 767px) {
  .p-option__value-tip {
    margin-top: 16px;
  }
}
.p-option__value-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-option__value-list {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.p-option__value-list li {
  text-align: center;
  font-size: 14px;
  background: #FDE8D2;
  border-radius: 8px;
  padding: 22px 5px 24px;
}
.p-option__value-list li span {
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
  color: #F5A200;
}
.p-option__value-list--highlight {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-option__value-list--highlight {
    grid-template-columns: 1fr;
    margin-bottom: 8px;
  }
}
.p-option__standard {
  margin-top: 40px;
}
.p-option__standard-title {
  background: #0061AF;
  border-radius: 8px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 8px 18px;
}
.p-option__standard-wrap {
  display: flex;
  align-items: stretch;
  gap: 20px;
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .p-option__standard-wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    margin-top: 16px;
  }
}
.p-option__standard-box {
  color: #fff;
  background: #0061AF;
  font-size: 14px;
  text-align: center;
  border-radius: 8px;
  width: 207px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-option__standard-box {
    width: 100%;
    padding: 20px;
  }
}
.p-option__standard-right {
  flex: 1;
}
.p-option__standard-box span {
  font-weight: bold;
  font-size: 18px;
}
.p-option__standard-sign {
  font-weight: bold;
  line-height: 1;
  font-size: 40px;
  margin-top: 34px;
  align-self: center;
}
@media screen and (max-width: 767px) {
  .p-option__standard-sign {
    margin-top: 0;
    line-height: 1;
  }
}
.p-option__standard-tip {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 14px;
}
.p-option__standard-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px 14px;
}
@media screen and (max-width: 767px) {
  .p-option__standard-list {
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
}
.p-option__standard-list li {
  background: #EBF3F7;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  padding: 12px;
}
.p-option__standard-list li span {
  font-weight: bold;
  display: block;
  color: #0061AF;
  font-size: 18px;
  margin-bottom: 4px;
}
.p-option__standard-list--highlight {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .p-option__standard-list--highlight {
    grid-template-columns: 1fr;
    margin-bottom: 8px;
  }
}
.p-option__bone {
  margin-top: 40px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-option__bone {
    margin-top: 24px;
    margin-bottom: 40px;
  }
}
.p-option__bone-title {
  background: #815DA1;
  border-radius: 8px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 8px 18px;
}
.p-option__bone-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 19px;
  background: #F1E7F2;
  border-radius: 8px;
  padding: 24px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-option__bone-list {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 16px;
    padding: 20px;
  }
}
.p-option__bone-list li {
  font-size: 14px;
  background: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  min-height: 88px;
  display: inline-flex;
  gap: 4px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.p-option__bone-list li span {
  display: block;
  color: #815DA1;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
}
.p-option__table {
  overflow: auto;
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .p-option__table {
    margin-top: 16px;
  }
}
.p-option__table-note {
  font-weight: bold;
  font-size: 16px;
  margin-top: 16px;
}
@media screen and (min-width: 767px) {
  .p-option__table-note {
    display: none;
  }
}
.p-option__table table {
  width: 1200px;
  border: 3px solid #fff;
  border-collapse: collapse;
  font-size: 16px;
}
.p-option__table table th, .p-option__table table td {
  border: 3px solid #fff;
}
.p-option__table table thead tr:first-child th {
  color: #fff;
  background: #004466;
  vertical-align: middle;
  font-weight: bold;
}
.p-option__table table thead tr:first-child th:first-child {
  width: 122px;
}
.p-option__table table thead tr:first-child th:last-child {
  padding: 4px;
}
.p-option__table table thead tr:last-child th {
  color: #fff;
  padding: 4px;
  width: 86px;
  font-weight: bold;
}
.p-option__table table thead tr:last-child th:nth-child(1) {
  background: #97C3DE;
}
.p-option__table table thead tr:last-child th:nth-child(2) {
  background: #97C493;
}
.p-option__table table thead tr:last-child th:nth-child(3) {
  background: #9B8FCC;
}
.p-option__table table thead tr:last-child th:nth-child(4) {
  background: #E3A04F;
}
.p-option__table table tbody th {
  color: #fff;
  font-weight: bold;
  background: #97C3DE;
  padding-top: 20px;
}
.p-option__table table tbody td {
  height: 60px;
  padding: 3px 5px;
  vertical-align: middle;
  position: relative;
}
.p-option__table table tbody td small {
  font-size: 14px;
}
.p-option__table table tbody sub, .p-option__table table tbody sup {
  font-size: 10px;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(n+3) {
  text-align: center;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(2) {
  background: #EDF1F2;
  padding: 0 16px;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(3) {
  background: #EBF3F7;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(4) {
  background: #ECF7EB;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(5) {
  background: #EDEBF7;
}
.p-option__table table tbody tr:has(th[rowspan]) td:nth-child(6) {
  background: #F7F2EB;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(n+2) {
  text-align: center;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(1) {
  background: #EDF1F2;
  padding: 0 16px;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(2) {
  background: #EBF3F7;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(3) {
  background: #ECF7EB;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(4) {
  background: #EDEBF7;
}
.p-option__table table tbody tr:not(:has(th[rowspan])) td:nth-child(5) {
  background: #F7F2EB;
}
.p-option__table .new {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  text-transform: uppercase;
  background: #E9567B;
  border-radius: 8px;
  margin-right: 9px;
  font-weight: bold;
  padding: 5px;
}
.p-option__table .symbol {
  display: block;
}
.p-option__table .circle {
  font-size: 18px;
  color: #97C3DE;
}
.p-option__table .circle.green {
  color: #97C493;
}
.p-option__table .circle.violet {
  color: #9B8FCC;
}
.p-option__table .circle.orange {
  color: #E3A04F;
}
.p-option__table .time {
  color: #B3B3B3;
  font-size: 22px;
}
.p-option__table .triangle {
  font-size: 22px;
  color: #7E7E7E;
}
.p-option__table .gray {
  display: block;
  color: #7E7E7E;
  font-size: 10px;
  line-height: 1.2;
  font-weight: bold;
}
.p-option__table .badge-list {
  display: flex;
  gap: 3px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.p-option__table .badge-list li {
  background: #F4C949;
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 7px 6px;
  line-height: 1.1;
  border-radius: 8px;
}
.p-option__table .badge-list li.blue {
  background: #5B72B8;
}
.p-option__table .badge-list li.pink {
  background: #F44996;
}
.p-option__table .badge-list li.violet {
  background: #825BB8;
}
.p-option__note {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 24px;
}

/*------------------------------------------------------------
Recruit
------------------------------------------------------------*/
.p-recruit {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-recruit {
    padding: 40px 0 50px;
  }
}
.p-recruit__intro {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-recruit__intro {
    font-size: 16px;
  }
}
.p-recruit__box {
  padding: 40px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .p-recruit__box {
    padding: 23px 16px 7px;
    margin-top: 16px;
  }
}
.p-recruit__box-row {
  position: relative;
  display: grid;
  grid-template-columns: 74px 1fr 136px 1fr;
  gap: 0 9px;
}
@media screen and (max-width: 767px) {
  .p-recruit__box-row {
    grid-template-columns: 81px 1fr;
    gap: 0 5px;
    border-bottom: 1px solid #808080;
    margin-bottom: 16px;
    padding-bottom: 56px;
  }
}
@media screen and (min-width: 767px) {
  .p-recruit__box-row:not(:first-child) dt {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__box-row:last-child {
    border-bottom: 0;
    margin-bottom: 0;
  }
}
.p-recruit__box-cell {
  font-size: 16px;
  border-bottom: 1px solid #808080;
}
@media screen and (max-width: 767px) {
  .p-recruit__box-cell {
    font-size: 14px;
    border-bottom: 0;
  }
}
.p-recruit__box-cell dt {
  color: white;
  font-weight: bold;
  background: #97C3DE;
  padding: 7px 10px;
}
.p-recruit__box-cell dd {
  min-height: 72px;
  padding: 15px 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruit__box-cell dd {
    min-height: 0;
    padding: 10px;
  }
}
.p-recruit__box-cell dd a {
  display: inline-block;
  color: white;
  font-size: 14px;
  border-radius: 50vh;
  background: #B3B3B3;
  min-width: 160px;
  padding: 12px 20px;
  margin-left: auto;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-recruit__box-cell dd a {
    margin-left: 0;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__box-cell dd a {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 170px;
    margin: 0;
  }
}
.p-recruit__box-cell dd a::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  margin-top: 1px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-size: 10px;
  content: "\f054";
}
.p-recruit .c-heading01 {
  margin: 80px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-recruit .c-heading01 {
    margin: 40px 0 20px;
  }
}
.p-recruit__stop-wrap {
  position: relative;
}
.p-recruit__stop-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2F4F7;
  padding: 20px;
  opacity: 0.8;
}
.p-recruit__stop-txt {
  font-size: 16px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: bold;
  background-color: #FFF;
  padding: 10px 20px;
}
.p-recruit__table {
  display: grid;
  grid-template-columns: 346px 1fr;
  align-items: center;
  gap: 8px 24px;
  margin-top: 20px;
}
@media screen and (max-width: 1190px) {
  .p-recruit__table {
    grid-template-columns: 260px 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__table {
    grid-template-columns: 1fr;
  }
}
.p-recruit__table dt,
.p-recruit__table dd {
  font-size: 16px;
  line-height: 1.75;
  padding: 14px;
}
.p-recruit__table dt {
  font-weight: bold;
  background: #F2F4F7;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  height: 100%;
}
.p-recruit__table dd {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit__table dd {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

/*------------------------------------------------------------
Secondaryrosai
------------------------------------------------------------*/
.p-secondaryrosai {
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai {
    padding: 40px 0 50px;
  }
}
.p-secondaryrosai__text {
  font-size: 16px;
  line-height: 2;
  margin: 24px 0 40px;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__text {
    margin: 16px 0 30px;
  }
}
.p-secondaryrosai__notice {
  max-width: 740px;
  margin: 24px auto 40px;
  border-radius: 16px;
  background: #E6EEF2;
  overflow: hidden;
}
.p-secondaryrosai__notice-title {
  padding: 12px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  background: #004466;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__notice-title {
    font-size: 16px;
  }
}
.p-secondaryrosai__notice-content {
  padding: 18px 20px 24px;
}
.p-secondaryrosai__notice-wrap {
  display: flex;
  max-width: 646px;
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .p-secondaryrosai__notice-wrap {
    justify-content: space-between;
    gap: 10px;
    align-items: flex-end;
  }
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__notice-wrap {
    flex-direction: column;
  }
}
.p-secondaryrosai__notice-left {
  font-weight: bold;
  font-size: 24px;
}
.p-secondaryrosai__notice-left span {
  font-size: 16px;
  display: block;
  margin-bottom: 6px;
}
.p-secondaryrosai__notice-left small {
  font-size: 14px;
  display: inline-block;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__notice-left small {
    margin-left: 0;
    margin-top: 10px;
    margin-bottom: 12px;
    display: block;
  }
}
.p-secondaryrosai__notice-tel {
  color: #000;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}
.p-secondaryrosai__notice-tel span {
  font-size: 24px;
  display: inline-block;
  margin-right: 9px;
}
.p-secondaryrosai__notice-tel a {
  color: inherit;
}
.p-secondaryrosai__notice-time {
  font-size: 16px;
  font-weight: 500;
  margin-top: 8px;
}
.p-secondaryrosai__notice-note {
  text-align: center;
  font-size: 16px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__notice-note {
    font-size: 14px;
    text-align: left;
    text-indent: -1em;
    margin-left: 1em;
    margin-top: 10px;
  }
}
.p-secondaryrosai__list {
  background: #EDF1F2;
  border-radius: 16px;
  max-width: 732px;
  padding: 20px 26px;
}
.p-secondaryrosai__list-title {
  font-size: 16px;
  color: #004466;
  font-weight: bold;
  margin-bottom: 10px;
}
.p-secondaryrosai__list-detail {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 1.5;
  gap: 0 15px;
}
.p-secondaryrosai__card {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__card {
    gap: 8px 10px;
    flex-wrap: wrap;
  }
}
.p-secondaryrosai__card li {
  min-height: 123px;
  border-radius: 24px;
  background: #DAE8F2;
  padding: 10px 28px;
  font-size: 16px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__card li {
    width: calc(50% - 5px);
    min-height: 71px;
    padding: 10px;
  }
}
.p-secondaryrosai__warning {
  max-width: 590px;
  background: #FFF2E5;
  border-radius: 16px;
  padding: 10px 16px 10px 52px;
  position: relative;
}
.p-secondaryrosai__warning::before {
  position: absolute;
  top: 50%;
  left: 13px;
  transform: translateY(-50%);
  width: 30px;
  height: 26px;
  background-image: url("../img/icon/icon-warning-pink.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.p-secondaryrosai__warning-text {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
}
.p-secondaryrosai__warning-list {
  font-size: 16px;
  line-height: 1.5;
}
.p-secondaryrosai__warning-list li {
  padding-left: 1.2em;
  position: relative;
}
.p-secondaryrosai__warning-list li::before {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 16px;
  color: #F29191;
  content: "●";
}
.p-secondaryrosai__eligible {
  display: flex;
  gap: 10px;
  margin-bottom: 40px;
  margin-top: 25px;
}
@media screen and (max-width: 1242px) {
  .p-secondaryrosai__eligible {
    flex-direction: column;
    align-items: center;
    gap: 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__eligible {
    gap: 0;
  }
}
.p-secondaryrosai__eligible-left .p-secondaryrosai__text {
  margin: 0;
}
.p-secondaryrosai__eligible-right {
  margin-left: auto;
}
@media screen and (max-width: 1242px) {
  .p-secondaryrosai__eligible-right {
    margin-left: 0;
  }
}
.p-secondaryrosai__eligible-right .p-secondaryrosai__warning {
  margin-top: 5px;
}
.p-secondaryrosai__content {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-top: 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1190px) {
  .p-secondaryrosai__content {
    flex-direction: column;
    align-items: center;
  }
  .p-secondaryrosai__content .p-secondaryrosai__list {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-secondaryrosai__content {
    gap: 16px;
  }
}
.p-secondaryrosai__content .p-secondaryrosai__text {
  margin: 0;
}

/*------------------------------------------------------------
Secondary Inspection
------------------------------------------------------------*/
.p-secondarycheckup {
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup {
    padding: 40px 0 50px;
  }
}
.p-secondarycheckup__badge {
  color: #fff;
  font-size: 16px;
  line-height: 1;
  padding: 7px 13px;
  background: #555;
  border-radius: 8px;
  margin-left: 40px;
  vertical-align: 4px;
  display: inline-block;
  font-family: "Noto Sans JP", serif;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__badge {
    font-size: 12px;
    margin-left: 20px;
  }
}
.p-secondarycheckup .c-heading01 {
  margin-bottom: 24px;
}
.p-secondarycheckup__intro {
  display: flex;
  align-items: flex-start;
  gap: 55px;
  margin: 34px 0 60px;
}
@media screen and (max-width: 1190px) {
  .p-secondarycheckup__intro {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__intro {
    gap: 24px;
    margin: 20px 0 40px;
  }
}
.p-secondarycheckup__text {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__text {
    line-height: 1.625;
  }
}
.p-secondarycheckup__text.center {
  text-align: center;
}
.p-secondarycheckup__figure {
  flex-shrink: 0;
  width: 429px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__figure {
    width: 100%;
  }
}
.p-secondarycheckup__figure figcaption {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 10px;
}
.p-secondarycheckup__alphabet {
  margin-top: 30px;
  margin-bottom: 80px;
  counter-reset: alphabet;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__alphabet {
    margin-top: 15px;
    margin-bottom: 40px;
  }
}
.p-secondarycheckup__alphabet li {
  display: grid;
  grid-template-columns: 42px 220px 1fr;
  background: #EDF1F2;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__alphabet li {
    grid-template-columns: 42px 100px 1fr;
  }
}
.p-secondarycheckup__alphabet li::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 16px;
  color: white;
  line-height: 1;
  counter-increment: alphabet;
  background: #004466;
  width: 100%;
  height: 100%;
  border-bottom: 2px solid white;
  content: counter(alphabet, upper-alpha);
}
.p-secondarycheckup__alphabet-label {
  font-weight: bold;
  font-size: 16px;
  color: #004466;
  border-width: 0 2px 2px 2px;
  border-style: solid;
  border-color: white;
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
}
.p-secondarycheckup__alphabet-text {
  font-size: 16px;
  line-height: 1.25;
  border-bottom: 2px solid white;
  padding: 10px 12px;
}
.p-secondarycheckup__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 48px;
  line-height: 1.5;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.p-secondarycheckup__grid h3 {
  font-weight: bold;
  margin-bottom: 12px;
  padding-left: 1em;
  position: relative;
}
.p-secondarycheckup__grid h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: linear-gradient(to right, #1E2C5C 50%, #98B5D1 50%);
  content: "";
}
.p-secondarycheckup__highlight {
  font-size: 18px;
  font-weight: bold;
  color: #F29191;
  background: #FFF2E5;
  max-width: 726px;
  text-align: center;
  padding: 13px;
  margin: 40px auto 80px;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__highlight {
    font-size: 16px;
    margin: 20px 0 40px;
  }
}
.p-secondarycheckup__list {
  background: #DAE8F2;
  border-radius: 16px;
  max-width: 617px;
  flex-shrink: 0;
  padding: 24px 27px;
}
.p-secondarycheckup__list-title {
  font-weight: bold;
  font-size: 18px;
  color: #004466;
  margin-bottom: 10px;
}
.p-secondarycheckup__list-detail {
  font-size: 16px;
  line-height: 1.75;
  padding-left: 1.2em;
}
.p-secondarycheckup__list-detail li {
  list-style-type: disc;
}
.p-secondarycheckup__booking {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 80px;
}
@media screen and (max-width: 1190px) {
  .p-secondarycheckup__booking {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__booking {
    margin-bottom: 40px;
    gap: 20px;
  }
}
.p-secondarycheckup__booking-time {
  background: white;
  border-radius: 8px;
  text-align: center;
  font-size: 16px;
  padding: 20px;
  margin-top: 24px;
}
.p-secondarycheckup__booking-time-lead {
  font-weight: bold;
  color: #004466;
  margin-bottom: 14px;
}
.p-secondarycheckup__booking-time-working {
  font-weight: bold;
}
.p-secondarycheckup__booking-time-working > span {
  font-size: 18px;
  display: block;
}
.p-secondarycheckup__booking-time-text {
  font-size: 14px;
  margin-top: 4px;
}
.p-secondarycheckup__phone {
  text-align: center;
  background: #F2F2F2;
  width: 327px;
  border-radius: 16px;
  padding: 30px 26px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__phone {
    width: 100%;
  }
}
.p-secondarycheckup__phone-lead {
  font-weight: 900;
  font-size: 18px;
  color: #004466;
}
.p-secondarycheckup__phone-number {
  display: block;
  color: #000;
  line-height: 1;
  font-size: 40px;
  font-weight: bold;
  margin-top: 10px;
}
.p-secondarycheckup__checking {
  max-width: 859px;
  flex-grow: 1;
}
@media screen and (max-width: 1190px) {
  .p-secondarycheckup__checking {
    width: 100%;
    max-width: none;
  }
}
.p-secondarycheckup__checking-table {
  display: grid;
  grid-template-columns: 32.246798603% 1fr 43.5389988359%;
  gap: 2px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__checking-table {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.p-secondarycheckup__checking-cell {
  font-size: 16px;
  background: #EDF1F2;
  display: inline-flex;
  flex-direction: column;
}
.p-secondarycheckup__checking-cell dt {
  background: #004466;
  color: white;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  border-bottom: 2px solid #fff;
}
.p-secondarycheckup__checking-cell dd {
  line-height: 1.5;
  padding: 14px 20px;
  flex-grow: 1;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 767px) {
  .p-secondarycheckup__checking-cell:nth-child(n+4) dt {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__checking-cell:nth-child(3n+4) {
    margin-top: 20px;
  }
}
.p-secondarycheckup__checking-note {
  font-size: 16px;
  margin-top: 10px;
}
.p-secondarycheckup__warning {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  background: #FFF2E5;
  border-radius: 16px;
  padding: 15px 15px 15px 70px;
  margin-top: 30px;
  position: relative;
}
.p-secondarycheckup__warning::before {
  position: absolute;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  width: 38px;
  height: 33px;
  background-image: url("../img/icon/icon-warning-pink.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}
.p-secondarycheckup__result {
  background: #EDF1F2;
  padding: 38px 35px;
  margin: 52px 0 24px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__result {
    padding: 25px 20px;
    margin: 30px 0 24px;
  }
}
.p-secondarycheckup__result-heading {
  text-align: center;
  color: white;
  font-size: 24px;
  font-weight: bold;
  border-radius: 50vh;
  background: #004466;
  padding: 10px;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__result-heading {
    font-size: 20px;
  }
}
.p-secondarycheckup__result-ab {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__result-ab {
    grid-template-columns: 1fr;
  }
}
.p-secondarycheckup__result-ab-lead {
  text-align: center;
  color: white;
  line-height: 1;
  font-weight: bold;
  font-size: 26px;
  background: #478AB2;
  padding: 10px;
}
.p-secondarycheckup__result-ab-cell {
  background: white;
  display: inline-flex;
  flex-direction: column;
}
.p-secondarycheckup__result-ab-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 20px;
  flex-grow: 1;
}
.p-secondarycheckup__result-ab-content dt {
  color: #004466;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
}
.p-secondarycheckup__result-ab-content dd {
  font-weight: bold;
}
.p-secondarycheckup__result-ab-content dd .group {
  display: block;
}
.p-secondarycheckup__result-ab-content dd .gender {
  font-size: 16px;
  display: inline-block;
  margin-right: 9px;
}
.p-secondarycheckup__result-ab-content dd .number {
  font-size: 20px;
  display: inline-block;
  margin-right: 2px;
}
.p-secondarycheckup__result-ab-content dd .unit {
  font-size: 14px;
  display: inline-block;
}
.p-secondarycheckup__result-index {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media screen and (max-width: 1190px) {
  .p-secondarycheckup__result-index {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__result-index {
    grid-template-columns: 1fr;
  }
}
.p-secondarycheckup__result-index-cell {
  background: white;
  display: inline-flex;
  flex-direction: column;
}
.p-secondarycheckup__result-index-cell:first-child .group:first-child {
  padding-top: 5px;
}
.p-secondarycheckup__result-index-cell:first-child .group:last-child .number {
  margin: 0;
}
.p-secondarycheckup__result-index-cell:nth-child(3) .p-secondarycheckup__result-index-content {
  padding-left: 0;
}
.p-secondarycheckup__result-index-cell:nth-child(3) .group:first-child .unit small {
  margin-top: 4px;
}
.p-secondarycheckup__result-index-cell:nth-child(3) .text {
  margin: 0 0 0 -24px;
}
.p-secondarycheckup__result-index-lead {
  color: white;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  background: #478AB2;
  padding: 7px;
}
.p-secondarycheckup__result-index-content {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-grow: 1;
  padding: 12px 8px 18px;
}
.p-secondarycheckup__result-index-content .lead {
  font-size: 14px;
  line-height: 1.1428571429;
  font-weight: bold;
  color: #004466;
}
.p-secondarycheckup__result-index-content .text {
  font-size: 14px;
  line-height: 1;
  margin-left: 4px;
  margin-right: 4px;
  white-space: nowrap;
}
.p-secondarycheckup__result-index-content .number {
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
  margin: 3px 0;
}
.p-secondarycheckup__result-index-content .unit {
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
}
.p-secondarycheckup__result-index-content .unit small {
  display: block;
  font-size: 10px;
}
.p-secondarycheckup__result-index-content p {
  font-size: 16px;
  line-height: 1.375;
}
.p-secondarycheckup__result-index-content .blue {
  color: #004466;
  font-weight: bold;
}
.p-secondarycheckup__support {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 15px;
  margin-top: 30px;
}
@media screen and (max-width: 1210px) {
  .p-secondarycheckup__support {
    flex-direction: column;
    align-items: center;
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__support {
    gap: 30px;
  }
}
.p-secondarycheckup__support-item {
  width: 568px;
}
@media screen and (max-width: 1190px) {
  .p-secondarycheckup__support-item {
    width: 100%;
  }
}
.p-secondarycheckup__support-ab {
  display: flex;
  justify-content: center;
  gap: 14px;
  position: relative;
  margin-bottom: 60px;
}
.p-secondarycheckup__support-ab::after {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  margin: 12px auto 15px;
  border-style: solid;
  border-width: 22px 20px 0 20px;
  border-color: #004466 transparent transparent transparent;
  content: "";
}
.p-secondarycheckup__support-ab li {
  width: 164px;
  background: #EDF1F2;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  padding: 15px 10px;
}
.p-secondarycheckup__support-ab-lead {
  font-size: 14px;
  color: #004466;
}
.p-secondarycheckup__support-ab-text {
  font-size: 26px;
  margin: 5px 0 8px;
}
.p-secondarycheckup__support-ab-unit {
  font-size: 18px;
}
.p-secondarycheckup__support-ab-unit span {
  display: inline-block;
  margin-right: 5px;
  font-size: 15px;
}
.p-secondarycheckup__support-heading {
  font-weight: bold;
  text-align: center;
  font-size: 32px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__support-heading {
    font-size: 24px;
  }
}
.p-secondarycheckup__support-table {
  display: grid;
  grid-template-columns: 166px 1fr;
  gap: 2px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-secondarycheckup__support-table {
    grid-template-columns: 100px 1fr;
  }
}
.p-secondarycheckup__support-table dt, .p-secondarycheckup__support-table dd {
  font-size: 16px;
  line-height: 1.5;
  padding: 15px;
}
.p-secondarycheckup__support-table dt {
  color: white;
  background: #004466;
}
.p-secondarycheckup__support-table dd {
  background: #EDF1F2;
}

/*------------------------------------------------------------
Mobilecheck
------------------------------------------------------------*/
.p-mobilecheck {
  padding: 46px 0 80px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck {
    padding: 40px 0 50px;
  }
}
.p-mobilecheck .c-heading01 {
  margin-bottom: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck .c-heading01 {
    margin-top: 28px;
    margin-bottom: 12px;
  }
}
.p-mobilecheck .c-heading01 span {
  font-size: 20px;
  display: inline-block;
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck .c-heading01 span {
    font-size: 14px;
    display: block;
    margin-left: 0;
    margin-top: 5px;
  }
}
.p-mobilecheck .c-heading02 {
  margin-bottom: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck .c-heading02 {
    margin-top: 28px;
    margin-bottom: 12px;
  }
}
.p-mobilecheck__text {
  font-size: 16px;
  line-height: 1.75;
}
.p-mobilecheck__list {
  background: #E6EEF2;
  border-radius: 16px;
  counter-reset: list;
  padding: 28px 33px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__list {
    padding: 24px 20px;
  }
}
.p-mobilecheck__list li {
  font-size: 16px;
  position: relative;
  padding-left: 2em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__list li {
    padding-left: 1.4em;
  }
}
.p-mobilecheck__list li + li {
  margin-top: 10px;
}
.p-mobilecheck__list li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #004466;
  counter-increment: list;
  content: counter(list, decimal) ".";
}
.p-mobilecheck__image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__image {
    gap: 10px;
    margin-top: 20px;
  }
}
.p-mobilecheck__device {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
@media screen and (max-width: 1190px) {
  .p-mobilecheck__device {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}
.p-mobilecheck__device-text {
  font-size: 16px;
  line-height: 1.625;
}
.p-mobilecheck__device .p-mobilecheck__table {
  flex-shrink: 0;
}
.p-mobilecheck__table {
  width: 762px;
}
@media screen and (max-width: 830px) {
  .p-mobilecheck__table {
    width: 100%;
  }
}
.p-mobilecheck__table table {
  width: 100%;
  border: 2px solid #fff;
}
.p-mobilecheck__table thead th {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 6px solid #fff;
  height: 57px;
  box-sizing: content-box;
}
.p-mobilecheck__table thead th span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.p-mobilecheck__table thead th:first-child {
  width: 287px;
}
.p-mobilecheck__table thead th:first-child span {
  background: #004466;
  border-radius: 8px 0 0 8px;
}
.p-mobilecheck__table thead th:last-child span {
  border-radius: 0 8px 8px 0;
  background: #808080;
}
.p-mobilecheck__table tbody th, .p-mobilecheck__table tbody td {
  font-size: 16px;
  line-height: 1.25;
  text-align: left;
  vertical-align: middle;
  height: 68px;
  padding: 10px 20px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__table tbody th, .p-mobilecheck__table tbody td {
    padding: 10px;
  }
}
.p-mobilecheck__table tbody th {
  font-weight: bold;
  background: #EDF1F2;
  width: 287px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__table tbody th {
    width: 40%;
  }
}
.p-mobilecheck__table tbody td {
  background: #F2F2F2;
}
.p-mobilecheck__table tbody td small {
  font-size: 14px;
}
.p-mobilecheck__note {
  display: flex;
  font-size: 16px;
  line-height: 1.625;
  gap: 18px;
  margin-top: 24px;
  margin-bottom: 40px;
}
.p-mobilecheck__note span {
  white-space: nowrap;
}
.p-mobilecheck__figure {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__figure {
    flex-direction: column;
    gap: 10px;
  }
}
.p-mobilecheck__figure img {
  width: 347px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__figure img {
    width: 100%;
  }
}
.p-mobilecheck__figure figcaption {
  font-size: 16px;
  line-height: 1.75;
}
.p-mobilecheck__chart {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1190px) {
  .p-mobilecheck__chart {
    flex-direction: column-reverse;
    align-items: center;
    gap: 20px;
  }
}
.p-mobilecheck__chart-index {
  display: inline-flex;
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: #004466;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__chart-index {
    font-size: 14px;
    width: 30px;
    height: 30px;
    margin-right: 4px;
  }
}
.p-mobilecheck__chart-img {
  max-width: 614px;
}
.p-mobilecheck__chart-note {
  margin-top: 10px;
}
.p-mobilecheck__chart-note li {
  font-size: 14px;
  font-weight: bold;
  padding-left: 1.1em;
  position: relative;
}
.p-mobilecheck__chart-note li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
.p-mobilecheck__chart .p-mobilecheck__table {
  width: 530px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__chart .p-mobilecheck__table {
    width: 100%;
  }
}
.p-mobilecheck__chart .p-mobilecheck__table table {
  table-layout: fixed;
}
.p-mobilecheck__chart .p-mobilecheck__table th {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__chart .p-mobilecheck__table th {
    font-size: 16px;
  }
}
.p-mobilecheck__chart .p-mobilecheck__table th:first-child {
  width: 387px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__chart .p-mobilecheck__table th:first-child {
    width: 74%;
  }
}
.p-mobilecheck__chart .p-mobilecheck__table tbody th, .p-mobilecheck__chart .p-mobilecheck__table tbody td {
  height: 74px;
}
.p-mobilecheck__contact {
  background: #E6EEF2;
  border-radius: 16px;
  max-width: 740px;
  margin: 40px auto 0;
  padding: 28px 46px 16px 35px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__contact {
    padding: 18px 20px 24px;
  }
}
.p-mobilecheck__contact-lead {
  font-weight: bold;
  font-size: 18px;
  color: #004466;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__contact-lead {
    margin-bottom: 14px;
  }
}
.p-mobilecheck__contact-wrap {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__contact-wrap {
    flex-direction: column;
  }
}
.p-mobilecheck__contact-left {
  font-size: 24px;
  font-weight: bold;
}
.p-mobilecheck__contact-left span {
  font-size: 16px;
  display: block;
  margin-bottom: 6px;
}
.p-mobilecheck__contact-left small {
  font-size: 16px;
  display: inline-block;
  margin-left: 13px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__contact-left small {
    margin-left: 0;
    margin-top: 10px;
    display: block;
  }
}
.p-mobilecheck__contact-tel {
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
}
.p-mobilecheck__contact-tel a {
  color: #000;
  font-size: 32px;
  display: inline-block;
  margin-left: 9px;
}
.p-mobilecheck__contact-note {
  font-size: 16px;
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-mobilecheck__contact-note {
    text-align: left;
    font-size: 14px;
    margin-top: 10px;
    text-indent: -1em;
    margin-left: 1em;
  }
}

/*------------------------------------------------------------
Medical checkup
------------------------------------------------------------*/
.p-medical-checkup_sec01 {
  padding: 40px 0;
}
.p-medical-checkup_sec01--box--title {
  font-size: 14px;
  font-weight: 700;
  margin-top: 10px;
}
.p-medical-checkup_sec01--cont {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 57px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--cont {
    padding-top: 40px;
  }
}
.p-medical-checkup_sec01--txt1 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  width: 51%;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--txt1 {
    width: 100%;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 15px;
  }
}
.p-medical-checkup_sec01--txt2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
  width: 35%;
  max-width: 412px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--txt2 {
    width: 100%;
    margin-bottom: 24px;
  }
}
.p-medical-checkup_sec01--box2 {
  background: #DAE8F2;
  border-radius: 16px;
  padding: 30px 25px;
  width: 63%;
  max-width: 754px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--box2 {
    width: 100%;
    max-width: 100%;
    padding: 25px 20px;
  }
}
.p-medical-checkup_sec01--box2--title {
  font-size: 18px;
  font-weight: 700;
  color: #004466;
  margin-bottom: 14px;
}
.p-medical-checkup_sec01--box2--main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--box2--main {
    display: block;
  }
}
.p-medical-checkup_sec01--box2--txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.428;
  width: 35.9%;
  max-width: 251px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--box2--txt {
    width: 100%;
    max-width: 100%;
    margin-bottom: 10px;
  }
}
.p-medical-checkup_sec01--box2--cont {
  width: 60%;
  max-width: 419px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--box2--cont {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }
}
.p-medical-checkup_sec01--frame {
  width: 45%;
  max-width: 536px;
  background: #F7F7F7;
  border-radius: 16px;
  padding: 15px 29px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec01--frame {
    width: 100%;
    max-width: 100%;
  }
}
.p-medical-checkup_sec01--frame--title {
  font-size: 18px;
  font-weight: 700;
  color: #7F87A2;
  padding-bottom: 5px;
  border-bottom: 1px dashed #CDCDCD;
  margin-bottom: 10px;
}
.p-medical-checkup_sec01--list li {
  position: relative;
  padding-left: 25px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.286;
  margin-bottom: 9px;
}
.p-medical-checkup_sec01--list li:before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("../img/icon/circle_check.png") center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 1px;
}
.p-medical-checkup_sec01--list li:last-child {
  margin-bottom: 0;
}
.p-medical-checkup_sec02 .c-title5 {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02 .c-title5 {
    margin-bottom: 20px;
  }
}
.p-medical-checkup_sec02--box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.p-medical-checkup_sec02--box:last-child {
  margin-bottom: 0;
}
.p-medical-checkup_sec02--box--title {
  width: 16.66%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #97C3DE;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--title {
    width: 100%;
    font-size: 16px;
    padding: 11px 0;
    margin-bottom: 7px;
  }
}
.p-medical-checkup_sec02--box--title.green {
  background: #97C493;
}
.p-medical-checkup_sec02--box--title.violet {
  background: #9B8FCC;
}
.p-medical-checkup_sec02--box--title2 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background: #ADC3CC;
  border-radius: 16px;
  padding: 11px 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--title2 {
    font-size: 14px;
    padding: 9px 0;
    margin-bottom: 15px;
  }
}
.p-medical-checkup_sec02--box--title2.pk {
  background: #CCADAE;
}
.p-medical-checkup_sec02--box--cont {
  width: 81.25%;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--cont {
    width: 100%;
  }
}
.p-medical-checkup_sec02--box--link {
  margin-top: 8px;
  border-radius: 8px;
  background: #EBEFF2;
  padding: 6px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--link {
    justify-content: center;
    padding: 15px 0;
  }
}
.p-medical-checkup_sec02--box--link:last-child {
  margin-bottom: 0;
}
.p-medical-checkup_sec02--box--link--txt {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--link--txt {
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--link--btns {
    text-align: center;
  }
}
.p-medical-checkup_sec02--box--link--btns .btn-bdf {
  margin: 2px 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--link--btns .btn-bdf {
    width: 100%;
  }
}
.p-medical-checkup_sec02--box--link--btns .btn-bdf + .btn-bdf {
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec02--box--link--btns .btn-bdf + .btn-bdf {
    margin-left: 0;
  }
}
.p-medical-checkup_sec03 {
  padding: 80px 0 20px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec03 {
    padding: 60px 0 20px;
  }
}
.p-medical-checkup_sec03 .c-title5 {
  margin-bottom: 40px;
}
.p-medical-checkup_sec03--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-medical-checkup_sec03--list--item {
  width: 32%;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec03--list--item {
    width: 100%;
    margin-bottom: 30px;
  }
}
.p-medical-checkup_sec03--list--item--title {
  display: flex;
  align-items: center;
  background: #EDF1F2;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 16px;
}
.p-medical-checkup_sec03--list--item--title span {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  width: 51px;
  background: #004466;
  padding: 15px 0;
  margin-right: 15px;
}
.p-medical-checkup_sec03--list--item--txt {
  font-size: 16px;
  line-height: 1.5;
}
.p-medical-checkup_sec03--list--item ol {
  margin-top: 20px;
}
.p-medical-checkup_sec03--list--item ol li {
  font-size: 16px;
  line-height: 1.5;
  list-style: disc;
  list-style-position: inside;
}
.p-medical-checkup_sec04 {
  padding-bottom: 88px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04 {
    padding-bottom: 45px;
  }
}
.p-medical-checkup_sec04--box {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box {
    margin-top: 25px;
  }
}
.p-medical-checkup_sec04--box--title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  padding: 15px 20px;
  border-radius: 16px;
  background: #9295A2;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--title {
    margin-bottom: 8px;
  }
}
.p-medical-checkup_sec04--box--list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-medical-checkup_sec04--box--list li {
  width: 49.25%;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--list li {
    width: 100%;
    margin-bottom: 5px;
  }
  .p-medical-checkup_sec04--box--list li:last-child {
    margin-bottom: 0;
  }
}
.p-medical-checkup_sec04--box--list li a {
  display: block;
  background: #F4F5F7;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #000;
  padding: 25px;
  height: 120px;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--list li a {
    height: unset;
    padding: 10px 17px;
    min-height: 48px;
  }
}
.p-medical-checkup_sec04--box--list li a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--list li a:after {
    right: 15px;
  }
}
.p-medical-checkup_sec04--box--list li a span {
  background: #fff;
  border-radius: 8px;
  padding: 9px;
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--list li a span {
    font-size: 12px;
    text-align: center;
  }
}
.p-medical-checkup_sec04--box--list li a span b {
  color: #7F87A2;
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec04--box--list li a span b {
    font-size: 14px;
    margin-left: 0;
    display: block;
  }
}
.p-medical-checkup_sec04--box:nth-child(3) .p-medical-checkup_sec04--box--title {
  background: #99BFA0;
}
.p-medical-checkup_sec04--box:nth-child(3) .p-medical-checkup_sec04--box--list li a {
  background: #F4F7F5;
}
.p-medical-checkup_sec05 {
  padding-bottom: 100px;
}
.p-medical-checkup_sec05--title {
  padding: 55px 0;
  background: #9295A2;
  margin-bottom: 54px;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec05--title {
    padding: 38px 0;
    margin-bottom: 26px;
  }
}
.p-medical-checkup_sec05--title.green {
  background: #99BFA0;
}
.p-medical-checkup_sec05--title h2 {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-medical-checkup_sec05--title h2 {
    font-size: 24px;
    text-align: center;
  }
}
.p-medical-checkup--slide .swiper-wrapper {
  transition-timing-function: linear !important;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
margin
------------------------------------------------------------*/
.u-mg--0 {
  margin: 0;
}

.u-mg--auto {
  margin: auto;
}

.u-mgTop--auto {
  margin-top: auto;
}

.u-mgLeft--auto {
  margin-left: auto;
}

.u-mgRight--auto {
  margin-right: auto;
}

.u-mgBottom--auto {
  margin-bottom: auto;
}

.u-mgTop--0 {
  margin-top: 0px;
}

.u-mgTop--5 {
  margin-top: 5px;
}

.u-mgTop--10 {
  margin-top: 10px;
}

.u-mgTop--15 {
  margin-top: 15px;
}

.u-mgTop--20 {
  margin-top: 20px;
}

.u-mgTop--25 {
  margin-top: 25px;
}

.u-mgTop--30 {
  margin-top: 30px;
}

.u-mgTop--35 {
  margin-top: 35px;
}

.u-mgTop--40 {
  margin-top: 40px;
}

.u-mgTop--45 {
  margin-top: 45px;
}

.u-mgTop--50 {
  margin-top: 50px;
}

.u-mgTop--55 {
  margin-top: 55px;
}

.u-mgTop--60 {
  margin-top: 60px;
}

.u-mgTop--65 {
  margin-top: 65px;
}

.u-mgTop--70 {
  margin-top: 70px;
}

.u-mgTop--75 {
  margin-top: 75px;
}

.u-mgTop--80 {
  margin-top: 80px;
}

.u-mgTop--85 {
  margin-top: 85px;
}

.u-mgTop--90 {
  margin-top: 90px;
}

.u-mgTop--95 {
  margin-top: 95px;
}

.u-mgTop--100 {
  margin-top: 100px;
}

.u-mgLeft--0 {
  margin-left: 0px;
}

.u-mgLeft--5 {
  margin-left: 5px;
}

.u-mgLeft--10 {
  margin-left: 10px;
}

.u-mgLeft--15 {
  margin-left: 15px;
}

.u-mgLeft--20 {
  margin-left: 20px;
}

.u-mgLeft--25 {
  margin-left: 25px;
}

.u-mgLeft--30 {
  margin-left: 30px;
}

.u-mgLeft--35 {
  margin-left: 35px;
}

.u-mgLeft--40 {
  margin-left: 40px;
}

.u-mgLeft--45 {
  margin-left: 45px;
}

.u-mgLeft--50 {
  margin-left: 50px;
}

.u-mgLeft--55 {
  margin-left: 55px;
}

.u-mgLeft--60 {
  margin-left: 60px;
}

.u-mgLeft--65 {
  margin-left: 65px;
}

.u-mgLeft--70 {
  margin-left: 70px;
}

.u-mgLeft--75 {
  margin-left: 75px;
}

.u-mgLeft--80 {
  margin-left: 80px;
}

.u-mgLeft--85 {
  margin-left: 85px;
}

.u-mgLeft--90 {
  margin-left: 90px;
}

.u-mgLeft--95 {
  margin-left: 95px;
}

.u-mgLeft--100 {
  margin-left: 100px;
}

.u-mgRight--0 {
  margin-right: 0px;
}

.u-mgRight--5 {
  margin-right: 5px;
}

.u-mgRight--10 {
  margin-right: 10px;
}

.u-mgRight--15 {
  margin-right: 15px;
}

.u-mgRight--20 {
  margin-right: 20px;
}

.u-mgRight--25 {
  margin-right: 25px;
}

.u-mgRight--30 {
  margin-right: 30px;
}

.u-mgRight--35 {
  margin-right: 35px;
}

.u-mgRight--40 {
  margin-right: 40px;
}

.u-mgRight--45 {
  margin-right: 45px;
}

.u-mgRight--50 {
  margin-right: 50px;
}

.u-mgRight--55 {
  margin-right: 55px;
}

.u-mgRight--60 {
  margin-right: 60px;
}

.u-mgRight--65 {
  margin-right: 65px;
}

.u-mgRight--70 {
  margin-right: 70px;
}

.u-mgRight--75 {
  margin-right: 75px;
}

.u-mgRight--80 {
  margin-right: 80px;
}

.u-mgRight--85 {
  margin-right: 85px;
}

.u-mgRight--90 {
  margin-right: 90px;
}

.u-mgRight--95 {
  margin-right: 95px;
}

.u-mgRight--100 {
  margin-right: 100px;
}

.u-mgBottom--0 {
  margin-bottom: 0px;
}

.u-mgBottom--5 {
  margin-bottom: 5px;
}

.u-mgBottom--10 {
  margin-bottom: 10px;
}

.u-mgBottom--15 {
  margin-bottom: 15px;
}

.u-mgBottom--20 {
  margin-bottom: 20px;
}

.u-mgBottom--25 {
  margin-bottom: 25px;
}

.u-mgBottom--30 {
  margin-bottom: 30px;
}

.u-mgBottom--35 {
  margin-bottom: 35px;
}

.u-mgBottom--40 {
  margin-bottom: 40px;
}

.u-mgBottom--45 {
  margin-bottom: 45px;
}

.u-mgBottom--50 {
  margin-bottom: 50px;
}

.u-mgBottom--55 {
  margin-bottom: 55px;
}

.u-mgBottom--60 {
  margin-bottom: 60px;
}

.u-mgBottom--65 {
  margin-bottom: 65px;
}

.u-mgBottom--70 {
  margin-bottom: 70px;
}

.u-mgBottom--75 {
  margin-bottom: 75px;
}

.u-mgBottom--80 {
  margin-bottom: 80px;
}

.u-mgBottom--85 {
  margin-bottom: 85px;
}

.u-mgBottom--90 {
  margin-bottom: 90px;
}

.u-mgBottom--95 {
  margin-bottom: 95px;
}

.u-mgBottom--100 {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .u-sp-mg--0 {
    margin: 0;
  }
  .u-sp-mgTop--0 {
    margin-top: 0px;
  }
  .u-sp-mgTop--5 {
    margin-top: 5px;
  }
  .u-sp-mgTop--10 {
    margin-top: 10px;
  }
  .u-sp-mgTop--15 {
    margin-top: 15px;
  }
  .u-sp-mgTop--20 {
    margin-top: 20px;
  }
  .u-sp-mgTop--25 {
    margin-top: 25px;
  }
  .u-sp-mgTop--30 {
    margin-top: 30px;
  }
  .u-sp-mgTop--35 {
    margin-top: 35px;
  }
  .u-sp-mgTop--40 {
    margin-top: 40px;
  }
  .u-sp-mgTop--45 {
    margin-top: 45px;
  }
  .u-sp-mgTop--50 {
    margin-top: 50px;
  }
  .u-sp-mgTop--55 {
    margin-top: 55px;
  }
  .u-sp-mgTop--60 {
    margin-top: 60px;
  }
  .u-sp-mgTop--65 {
    margin-top: 65px;
  }
  .u-sp-mgTop--70 {
    margin-top: 70px;
  }
  .u-sp-mgTop--75 {
    margin-top: 75px;
  }
  .u-sp-mgTop--80 {
    margin-top: 80px;
  }
  .u-sp-mgTop--85 {
    margin-top: 85px;
  }
  .u-sp-mgTop--90 {
    margin-top: 90px;
  }
  .u-sp-mgTop--95 {
    margin-top: 95px;
  }
  .u-sp-mgTop--100 {
    margin-top: 100px;
  }
  .u-sp-mgLeft--0 {
    margin-left: 0px;
  }
  .u-sp-mgLeft--5 {
    margin-left: 5px;
  }
  .u-sp-mgLeft--10 {
    margin-left: 10px;
  }
  .u-sp-mgLeft--15 {
    margin-left: 15px;
  }
  .u-sp-mgLeft--20 {
    margin-left: 20px;
  }
  .u-sp-mgLeft--25 {
    margin-left: 25px;
  }
  .u-sp-mgLeft--30 {
    margin-left: 30px;
  }
  .u-sp-mgLeft--35 {
    margin-left: 35px;
  }
  .u-sp-mgLeft--40 {
    margin-left: 40px;
  }
  .u-sp-mgLeft--45 {
    margin-left: 45px;
  }
  .u-sp-mgLeft--50 {
    margin-left: 50px;
  }
  .u-sp-mgLeft--55 {
    margin-left: 55px;
  }
  .u-sp-mgLeft--60 {
    margin-left: 60px;
  }
  .u-sp-mgLeft--65 {
    margin-left: 65px;
  }
  .u-sp-mgLeft--70 {
    margin-left: 70px;
  }
  .u-sp-mgLeft--75 {
    margin-left: 75px;
  }
  .u-sp-mgLeft--80 {
    margin-left: 80px;
  }
  .u-sp-mgLeft--85 {
    margin-left: 85px;
  }
  .u-sp-mgLeft--90 {
    margin-left: 90px;
  }
  .u-sp-mgLeft--95 {
    margin-left: 95px;
  }
  .u-sp-mgLeft--100 {
    margin-left: 100px;
  }
  .u-sp-mgRight--0 {
    margin-right: 0px;
  }
  .u-sp-mgRight--5 {
    margin-right: 5px;
  }
  .u-sp-mgRight--10 {
    margin-right: 10px;
  }
  .u-sp-mgRight--15 {
    margin-right: 15px;
  }
  .u-sp-mgRight--20 {
    margin-right: 20px;
  }
  .u-sp-mgRight--25 {
    margin-right: 25px;
  }
  .u-sp-mgRight--30 {
    margin-right: 30px;
  }
  .u-sp-mgRight--35 {
    margin-right: 35px;
  }
  .u-sp-mgRight--40 {
    margin-right: 40px;
  }
  .u-sp-mgRight--45 {
    margin-right: 45px;
  }
  .u-sp-mgRight--50 {
    margin-right: 50px;
  }
  .u-sp-mgRight--55 {
    margin-right: 55px;
  }
  .u-sp-mgRight--60 {
    margin-right: 60px;
  }
  .u-sp-mgRight--65 {
    margin-right: 65px;
  }
  .u-sp-mgRight--70 {
    margin-right: 70px;
  }
  .u-sp-mgRight--75 {
    margin-right: 75px;
  }
  .u-sp-mgRight--80 {
    margin-right: 80px;
  }
  .u-sp-mgRight--85 {
    margin-right: 85px;
  }
  .u-sp-mgRight--90 {
    margin-right: 90px;
  }
  .u-sp-mgRight--95 {
    margin-right: 95px;
  }
  .u-sp-mgRight--100 {
    margin-right: 100px;
  }
  .u-sp-mgBottom--0 {
    margin-bottom: 0px;
  }
  .u-sp-mgBottom--5 {
    margin-bottom: 5px;
  }
  .u-sp-mgBottom--10 {
    margin-bottom: 10px;
  }
  .u-sp-mgBottom--15 {
    margin-bottom: 15px;
  }
  .u-sp-mgBottom--20 {
    margin-bottom: 20px;
  }
  .u-sp-mgBottom--25 {
    margin-bottom: 25px;
  }
  .u-sp-mgBottom--30 {
    margin-bottom: 30px;
  }
  .u-sp-mgBottom--35 {
    margin-bottom: 35px;
  }
  .u-sp-mgBottom--40 {
    margin-bottom: 40px;
  }
  .u-sp-mgBottom--45 {
    margin-bottom: 45px;
  }
  .u-sp-mgBottom--50 {
    margin-bottom: 50px;
  }
  .u-sp-mgBottom--55 {
    margin-bottom: 55px;
  }
  .u-sp-mgBottom--60 {
    margin-bottom: 60px;
  }
  .u-sp-mgBottom--65 {
    margin-bottom: 65px;
  }
  .u-sp-mgBottom--70 {
    margin-bottom: 70px;
  }
  .u-sp-mgBottom--75 {
    margin-bottom: 75px;
  }
  .u-sp-mgBottom--80 {
    margin-bottom: 80px;
  }
  .u-sp-mgBottom--85 {
    margin-bottom: 85px;
  }
  .u-sp-mgBottom--90 {
    margin-bottom: 90px;
  }
  .u-sp-mgBottom--95 {
    margin-bottom: 95px;
  }
  .u-sp-mgBottom--100 {
    margin-bottom: 100px;
  }
}
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
text
------------------------------------------------------------*/
b {
  font-weight: bold;
}

.u-text-read {
  font-size: 16px;
}

.u-text-center {
  text-align: center;
}

.u-text-bold {
  font-weight: bold;
}

.u-text-underline {
  text-decoration: underline;
}

.u-text-red {
  color: #B20003;
}

.u-text-white {
  color: #ffffff;
}

.u-text-blue {
  color: #0D3780;
}

.u-text-black {
  color: #000000;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

.u-no-link {
  cursor: default;
}

.u-no-link:hover {
  cursor: default;
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
display
------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}

.u-tb {
  display: none;
}
@media screen and (max-width: 1190px) {
  .u-tb {
    display: block;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block;
  }
}

.u-in {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-in {
    display: inline-block;
  }
}

@media screen and (max-width: 1190px) {
  .u-pc-only {
    display: none;
  }
}

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
align
------------------------------------------------------------*/
/*
------------------------------------------------------------*//*# sourceMappingURL=style.css.map */

.top-reservation__tel-number::before{
  display: none;
}

.p-faq__contact01-number::before,
.p-faq__contact02-number::before {
  display: none; 
}
@media screen and (min-width: 767px) {
  .p-faq__contact02-phone {
    text-align: left !important;
  }
}

.p-contact__info-box__tel > a::before {
  display: none;
}

/*------------------------------------------------------------
マイナポータル案内（保険証情報内）
------------------------------------------------------------*/
.p-myna-portal {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.p-myna-portal__title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__title {
    margin-bottom: 10px;
  }
}
.p-myna-portal__header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid #707070;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__header {
    flex-direction: column;
    gap: 4px;
  }
}
.p-myna-portal__header-title {
  font-size: 18px;
  font-weight: bold;
  color: #004466;
}
.p-myna-portal__header-note {
  font-size: 12px;
  color: #000;
}
.p-myna-portal__screenshots {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__screenshots {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
}
.p-myna-portal__screenshot-item {
  width: 200px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__screenshot-item {
    width: 100%;
    max-width: 200px;
  }
}
.p-myna-portal__screenshot-img {
  border: 1px solid #707070;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 10px;
}
.p-myna-portal__screenshot-img img {
  width: 100%;
  height: auto;
  display: block;
}
.p-myna-portal__screenshot-text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
.p-myna-portal__screenshot-text span {
  margin-right: 4px;
}
.p-myna-portal__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding-top: 150px;
  width: 29px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__arrow {
    padding-top: 0;
  }
}
.p-myna-portal__arrow svg.u-pc {
  display: block;
  width: 29px;
  height: 34px;
}
.p-myna-portal__arrow svg.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__arrow svg.u-pc {
    display: none;
  }
  .p-myna-portal__arrow svg.u-sp {
    display: block;
    width: 34px;
    height: 29px;
  }
}
.p-myna-portal__steps {
  background: #F7F7F7;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__steps {
    padding: 16px 14px;
  }
}
.p-myna-portal__step {
  display: flex;
  align-items: stretch;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .p-myna-portal__step {
    gap: 6px;
  }
}
.p-myna-portal__step-label {
  display: flex;
  align-items: center;
  background: #004466;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  padding: 4px 8px;
  flex-shrink: 0;
  min-width: 63px;
  text-align: center;
}
.p-myna-portal__step-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
