@charset "UTF-8";
/*--------------------------------------------------
変数指定
--------------------------------------------------*/
/* フォント指定変数 */
/* カラー変数 */
/*--------------------------------------------------
要修正
--------------------------------------------------*/
/* 汎用フォントカラー指定 */
.f_red {
  color: #FF0001 !important;
}

.f_orange {
  color: #ff6600 !important;
}

.f_pink {
  color: #ef9191 !important;
}

.f_blue {
  color: #abc5ea !important;
}

.f_green {
  color: #dbedc6 !important;
}

.f_brown {
  color: #6d4f2b !important;
}

/*--------------------------------------------------
基本修正不要
--------------------------------------------------*/
/* テキスト装飾 */
.bold {
  font-weight: bold !important;
}

.pad01 {
  padding-left: 1em;
  text-indent: -1em;
}

.pad02 {
  padding-left: 2em;
  text-indent: -2em;
}

/* テキスト配置 */
.alignC {
  text-align: center !important;
}

.alignL {
  text-align: left !important;
}

.alignR {
  text-align: right !important;
}

.alignJ {
  text-align: justify !important;
}

/* padding */
.p0 {
  padding: 0 !important;
}

.p10 {
  padding: 10px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl50 {
  padding-left: 50px !important;
}

/* margin */
.m0 {
  margin: 0 !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb13 {
  margin-bottom: 13px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr11 {
  margin-right: 13px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr50 {
  margin-right: 50px !important;
}

/* 画像装飾 */
img.waku01 {
  border: solid 1px #ddd;
}
img.waku02 {
  padding: 4px;
  border: solid 1px #dddddd;
  background: #FFFFFF;
}

/* clearfix */
.clearfix,
.box01,
.flow_item {
  min-height: 1px;
}
.clearfix:after,
.box01:after,
.flow_item:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

* html .clearfix {
  height: 1px;
}

/*--------------------------------------------------
フェードイン
--------------------------------------------------*/
/*左フェードイン*/
.left-to-right {
  opacity: 0;
  transform: translateX(-20px);
  transition: all 0.8s;
}

.left-to-right.scrollin {
  opacity: 1;
  transform: translate(0);
}

/*右からフェードイン*/
.right-to-left {
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.8s;
}

.right-to-left.scrollin {
  opacity: 1;
  transform: translate(0);
}

/*上にフェードイン*/
.down-to-top {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s;
}

.down-to-top.scrollin {
  opacity: 1;
  transform: translateY(0);
}

/*上にフェードイン*/
.top-to-down {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.8s;
}

.top-to-down.scrollin {
  opacity: 1;
  transform: translateY(0);
}

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input[type=submit],
input[type=text],
optgroup,
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  box-shadow: none;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
  border: none;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*--------------------------------------------------
共通
--------------------------------------------------*/
/*--------------------------------------------------
トップ
--------------------------------------------------*/
/*--------------------------------------------------
下層
--------------------------------------------------*/
.sp {
  display: none !important;
}

header {
  width: 100%;
}

body {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4a4a4a;
  width: 100%;
  min-width: 1080px;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  background: #FFFFFF;
}

.container_front {
  width: 100%;
  margin: 0 auto;
}

.innerContents {
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
  font-family: "Noto Serif JP", serif;
  box-sizing: border-box;
}

.mobile-header {
  display: none !important;
}

.header_area {
  font-family: "Noto Serif JP", serif;
}

.header_inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-bottom: 14px;
  background-color: #fff;
}

.header_info .site_description {
  font-size: 13px;
  line-height: 16px;
  margin-bottom: 6px;
}
.header_btn {
  display: flex;
  justify-content: flex-end;
}
.header_btn .header_btn_item .btn_item {
  font-size: 14px;
  color: #fff;
  height: 54px;
  line-height: 54px;
  text-align: center;
  width: 180px;
  text-decoration: none;
  display: block;
}
.header_btn .header_btn_item .btn_item:hover {
  opacity: 0.8;
}
.header_btn .header_btn_item .header_btn_reserve {
  padding-top: 7px;
  box-sizing: border-box;
  background-color: #d2c152;
  line-height: 1.5;
}
.header_btn .header_btn_item .header_btn_reserve span {
  display: block;
  font-size: 12px;
}
.header_btn .header_btn_item .header_btn_online {
  background-color: #d4954c;
}

.header_contents .header_contents2 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 70px;
}
.header_contents .header_address {
  font-size: 14px;
}
.header_contents .header_sns {
  list-style: none;
  margin-left: 12px;
}
.header_contents .header_sns li {
  display: inline-block;
  margin-left: 6px;
}
.header_contact {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  height: 54px;
  background-color: rgba(255, 255, 255, 0.95);
}
.header_contact .header_tel {
  margin-right: 24px;
  margin-left: 16px;
}

.header_sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  right: 0;
  z-index: 100;
}
.header_sticky .header_contact {
  position: absolute;
  top: 0;
  right: 0;
}

.nav_area {
  background: rgba(255, 255, 255, 0.9);
  width: 100%;
}
.nav_area .nav_menu {
  list-style: none;
  display: flex;
  position: relative;
}
.nav_area .nav_menu > li {
  position: relative;
  flex-grow: 1;
}
.nav_area .nav_menu > li::after {
  position: absolute;
  content: "";
  top: 9px;
  right: 0;
  height: 60px;
  width: 1px;
  background-color: #d6d6d6;
}
.nav_area .nav_menu > li > a {
  padding-inline: 20px;
}
.nav_area .nav_menu > li > a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0);
}
.nav_area .nav_menu li {
  line-height: 78px;
  position: relative;
}
.nav_area .nav_menu li:first-child::before {
  position: absolute;
  content: "";
  top: 9px;
  left: 0;
  height: 60px;
  width: 1px;
  background-color: #d6d6d6;
}
.nav_area .nav_menu li .nav_menu_item {
  text-decoration: none;
  display: block;
  text-align: center;
  font-size: 18px;
  letter-spacing: 2px;
  position: relative;
}
.nav_area .nav_menu li .nav_menu_item:hover {
  color: #72c7c2;
}

.drop_down {
  position: relative;
}
.drop_down:hover .nav_children {
  top: 78px;
  visibility: visible;
  opacity: 1;
}
.drop_down .nav_children {
  visibility: hidden;
  opacity: 0;
  z-index: 10;
  position: absolute;
  top: 68px;
  width: 110%;
  background-color: #efefef;
  transition: all 0.2s ease;
}
.drop_down .nav_children .nav_children_menu {
  list-style: none;
}
.drop_down .nav_children .nav_children_menu li {
  border-bottom: 1px solid #ddd;
  line-height: 40px;
}
.drop_down .nav_children .nav_children_menu li::after, .drop_down .nav_children .nav_children_menu li ::before {
  display: none;
}
.drop_down .nav_children .nav_children_menu li a {
  text-decoration: none;
  display: block;
  padding: 4px 16px;
}
.drop_down .nav_children .nav_children_menu li a:hover {
  color: #72c7c2 !important;
}

.main_sub .h1_bg {
  background-color: #bdbdbd;
}
.main_sub .h1_bg h1 {
  font-size: 14px;
  line-height: 1.8;
  width: 1080px;
  margin: 0 auto;
}
.main_sub .main_sub_info .inner_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1080px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 30px 0;
}
.main_sub .main_sub_info .inner_contents .contents_center ul {
  display: flex;
  justify-content: space-between;
  width: 260px;
}
.main_sub .main_sub_info .inner_contents .contents_center ul li {
  font-size: 15px;
  text-align: center;
  color: #7ECEF4;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 100px;
  box-shadow: 0 0 15px 2px rgba(0, 0, 0, 0.1);
}
/*--------------------------------------------
トップページメインビジュアル
--------------------------------------------*/
.main_visual {
  position: relative;
}
.main_visual .main_front {
  width: 100%;
  height: 642px;
  margin: 0 auto;
  position: relative;
}
.main_visual .main_front .slide01 {
  background: url("../images/index/slide01.jpg") no-repeat center center;
}
.main_visual .main_front .slide02 {
  background: url("../images/index/slide02.jpg") no-repeat center center;
}
.main_visual .main_front .slide03 {
  background: url("../images/index/slide03.jpg") no-repeat center center;
}
.main_visual .main_front .slide04 {
  background: url("../images/index/slide04.jpg") no-repeat center center;
}
.main_visual .main_front .slide01, .main_visual .main_front .slide02, .main_visual .main_front .slide03, .main_visual .main_front .slide04 {
  background-size: cover;
}
.main_visual .main_front .slide_img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: #ddd;
  margin-top: -78px;
}
.main_visual .slide_text_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  left: 0;
}
.main_visual .slide_text_box .slide_text p {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  line-height: 1;
}
.main_visual .slide_text_box .slide_text p span {
  margin-bottom: 40px;
  background-color: #fff;
  padding: 5px 8px 8px;
}

.open_day {
  background-color: #6fbeba;
  padding: 0 0 8px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.open_day p {
  color: #fff;
  font-size: 32px;
  text-align: center;
}
.open_day p span {
  font-size: 48px;
}

.main_visual .line_bnr_area {
  position: relative;
  width: 1080px;
  margin: 0 auto;
}

.main_visual .line_bnr_area .line_bnr_contents {
  position: absolute;
  right: 0;
  bottom: 20px;
}

.main_visual .line_bnr_area .line_bnr_contents a {
  display: block;
  width: 400px;
  transition: all 0.3s;
}

.main_visual .line_bnr_area .line_bnr_contents a img {
  width: 100%;
}

.main_visual .line_bnr_area .line_bnr_contents a:hover {
  box-shadow: 0px 0px 15px -5px #777777;
  opacity: 0.7;
}

.main_visual .mail_bnr_contents {
  position: absolute;
  right: 430px;
  bottom: 20px;
}

.main_visual .mail_bnr_contents img {
  width: 400px;
}

/*--------------------------------------------
下層メインビジュアル
--------------------------------------------*/
.header_img {
  width: 100%;
  background-color: #bdbdbd;
  background: url(../images/common/header_bg.jpg) no-repeat center/cover;
  height: 273px;
}
.header_img .innerContents {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header_img .innerContents .header_title {
  margin-top: 100px;
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.header_img .innerContents .header_title::after {
  position: absolute;
  content: "";
  width: 214px;
  height: 1px;
  background-color: #6fbeba;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  z-index: 1;
}

.breadcrumb_wrapper .breadcrumb {
  font-size: 15px;
  line-height: 1;
}
.breadcrumb_wrapper .breadcrumb ol {
  display: flex;
  align-items: center;
  width: 1080px;
  height: 40px;
  margin: 0 auto;
  color: #4a4a4a;
}
.breadcrumb_wrapper .breadcrumb ol li {
  font-weight: bold;
  margin-right: 20px;
  list-style: none;
}
.breadcrumb_wrapper .breadcrumb ol li:first-child {
  padding-left: 0;
}
.breadcrumb_wrapper .breadcrumb ol li a {
  color: #4a4a4a;
  font-weight: bold;
  transition: all 0.3s;
}
.breadcrumb_wrapper .breadcrumb ol li a:hover {
  text-decoration: none;
}

.fa-map-marker-alt {
  margin-right: 3px;
}

.fa-caret-right {
  padding-right: 8px;
}

.arrow:after {
  content: "";
  width: 58px;
  height: 8px;
  border-right: solid 1.6px;
  border-bottom: solid 1px;
  transform: skew(45deg);
  display: block;
  transition: border-color 0.2s;
}

a {
  transition: color 0.2s, background-color 0.2s;
}

.section_area {
  width: 100%;
}
.section_area .sec_title {
  color: #4a4a4a;
  font-weight: 600;
}

/*--------------------------------------------
section_online オンライン診療
--------------------------------------------*/
.section_online {
  background-color: #d6edf9;
  padding: 60px 0 56px;
}
.section_online .innerContents {
  background-color: #fff;
  padding: 32px 32px 32px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section_online .innerContents .sec_title {
  font-size: 28px;
  margin-bottom: 16px;
}

.online_btn {
  position: relative !important;
  border: 1px solid #89bbff;
  background-color: #fff;
  width: 425px;
  padding: 40px 46px 34px;
  display: flex;
  text-decoration: none;
}
.online_btn:hover {
  background-color: #d6edf9;
}
.online_btn .item_icon {
  margin-right: 48px;
}
.online_btn .btn_link {
  text-align: center;
  font-size: 18px;
}
.online_btn .btn_link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -100;
  pointer-events: auto;
  background-color: rgba(0, 0, 0, 0);
}
.online_btn .btn_link .arrow {
  width: 58px;
  height: 8px;
  margin: 26px auto 0;
  display: block;
  position: relative;
}
.online_btn .btn_link .arrow:after {
  border-color: #89bbff;
  position: absolute;
  bottom: 0;
  left: 0;
}
.online_btn .btn_link .arrow:hover:after {
  border-color: #fff;
}

/*--------------------------------------------
section_future 当院について
--------------------------------------------*/
.section_future {
  background-color: #ffffff;
  padding: 116px 0 100px;
}
.section_future .innerContents .sec_title {
  color: #4a4a4a;
  font-size: 32px;
  text-align: center;
  margin-bottom: 130px;
}

.future_wrap .future_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.future_wrap .future_item:nth-child(odd) {
  flex-flow: row;
}
.future_wrap .future_item:nth-child(even) {
  flex-flow: row-reverse;
}
.future_wrap .future_item .future_item_text {
  flex-basis: 376px;
  display: flex;
  flex-direction: column;
}
.future_wrap .future_item .future_item_text .future_item_title {
  font-size: 28px;
  margin-bottom: 40px;
  font-weight: 600;
  line-height: 1.6;
}
.future_wrap .future_item .future_item_text .item_text {
  color: #4b4b4d;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 500;
}
.future_wrap .future_item .future_item_text .future_item_link {
  margin-top: 40px;
  position: relative;
  color: #72c7c2;
  text-decoration: none;
  border: 1px solid #72c7c2;
  width: 274px;
  height: 56px;
  line-height: 56px;
  display: block;
  padding-left: 45px;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s, background-color 0.2s;
}
.future_wrap .future_item .future_item_text .future_item_link:hover {
  background-color: #72c7c2;
  color: #fff;
}
.future_wrap .future_item .future_item_text .future_item_link.arrow:after {
  border-color: #72c7c2;
  position: absolute;
  top: calc(50% - 4px);
  right: 24px;
  transform: rotateY(-50%);
}
.future_wrap .future_item .future_item_text .future_item_link.arrow:hover:after {
  border-color: #fff;
}
.future_wrap .future_item .future_item_img {
  flex-basis: 662px;
  height: 335px;
  background-color: #ddd;
}
/*--------------------------------------------
section_information お知らせ
--------------------------------------------*/
.section_information {
  background-color: #ebf9ff;
  padding: 32px 0 44px;
}
.section_information .innerContents .sec_title {
  font-size: 30px;
  margin-bottom: 24px;
  margin-left: 24px;
}

.information {
  background-color: #fff;
  padding: 48px 50px 50px;
  max-height: 380px;
  overflow: auto;
}
.information dl .info_item {
  font-weight: bold;
  padding-bottom: 16px;
  margin-bottom: 25px;
  border-bottom: 1px dotted #bfbfbf;
}
.information dl .info_item dt {
  color: #4a4a4a;
  font-size: 13px;
  margin-bottom: 10px;
  color: #89bbff;
}
.information dl .info_item dd {
  font-size: 14px;
}
.information dl .info_item dd a {
  color: #4a4a4a;
  transition: all 0.2s;
}
.information dl .info_item dd a:hover {
  color: #4a4a4a;
}

/*--------------------------------------------
section_sns SNSオフィシャルアカウント
--------------------------------------------*/
.section_sns {
  padding: 150px 0 160px;
}
.section_sns .innerContents .sec_title {
  font-size: 32px;
  margin-bottom: 32px;
}

.timeline_box {
  width: 640px;
  height: 400px;
  overflow: auto;
  border: 1px solid #77c9c4;
  float: left;
  margin-right: 78px;
}
.section_sns_text {
  margin-bottom: 52px;
}

.sns_list {
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.sns_list li a {
  position: relative;
  display: block;
}
.sns_list li a:hover::after {
  position: absolute;
  content: "";
  background-color: rgb(0, 0, 0);
  opacity: 0.1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 18px;
}

/*--------------------------------------------
section_treatment 診療案内
--------------------------------------------*/
.section_treatment {
  margin-bottom: 145px;
  overflow: hidden;
}
.section_treatment .innerContents {
  padding: 45px 0 115px;
  position: relative;
}
.section_treatment .innerContents::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1636px;
  height: 100%;
  background: url(../images/index/sec_treatment_bg.jpg) no-repeat left top;
  background-size: cover;
  right: -136px;
  top: 0;
  z-index: -1;
}
.section_treatment .innerContents::before {
  content: "";
  background-color: #eff5ff;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 50%;
  top: 0;
  transform: rotateY(-50%);
  z-index: -2;
}
.section_treatment .innerContents .sec_title {
  font-size: 32px;
  margin-left: 20px;
  margin-bottom: 35px;
  letter-spacing: 2px;
}

.treatment_list {
  list-style: none;
  display: flex;
  justify-content: center;
}
.treatment_list.low_treatment_list li .treatment_item {
  border: 1px solid #a6b9ff;
  color: #4a4a4a;
}
.treatment_list li {
  margin: 0 10px;
}
.treatment_list li .treatment_item {
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid transparent;
  transition: color 0.2s, background-color 0.2s;
  width: 250px;
  height: 400px;
  padding-top: 50px;
  padding-bottom: 42px;
}
.treatment_list li .treatment_item:hover {
  border: 1px solid #a6b9ff;
}
.treatment_list li .treatment_item:hover .treatment_item_title {
  color: #a6b9ff;
}
.treatment_list li .treatment_item .treatment_item_icon {
  margin-bottom: 48px;
}
.treatment_list li .treatment_item .treatment_item_title {
  writing-mode: vertical-rl;
  font-size: 26px;
  letter-spacing: 2px;
  display: inline-block;
  transition: color 0.2s, background-color 0.2s;
}
.treatment_list li .treatment_item .arrow {
  margin-top: auto;
  position: relative;
}
.treatment_list li .treatment_item .arrow:after {
  border-color: #a6b9ff;
  position: absolute;
  bottom: 0;
  left: calc(50% - 25px);
  transform: rotateX(-50%);
}

/*--------------------------------------------
section_beauty 医療機関で行うたるみ治療
--------------------------------------------*/
.section_beauty {
  margin-top: 40px;
  overflow: hidden;
}
.section_beauty .innerContents {
  padding: 52px 0 36px;
  position: relative;
  display: flex;
  justify-content: flex-end;
}
.section_beauty .innerContents::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1636px;
  height: 100%;
  background: url(../images/index/sec_beauty_bg.jpg) no-repeat left top;
  background-size: cover;
  left: -136px;
  top: 0;
  z-index: -1;
}
.section_beauty .innerContents::before {
  content: "";
  background-color: #ecf9fc;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: rotateY(-50%);
  z-index: -2;
}
.section_beauty .innerContents .sec_title {
  font-size: 30px;
  margin-bottom: 30px;
}
.section_beauty .innerContents .sec_text {
  font-size: 16px;
  margin-bottom: 50px;
}
.section_beauty .inner_width {
  width: 746px;
}
.section_beauty .inner_width2 {
  width: 746px;
  position: relative;
}

.nayami_area {
  background-color: rgba(140, 216, 234, 0.9);
  width: 570px;
  padding: 20px 60px 16px;
  position: relative;
}
.nayami_area .sectiom_title_m {
  font-size: 20px;
  color: #fff;
  margin-bottom: 18px;
}
.nayami_area .trouble_list {
  list-style: none;
  margin-left: 14px;
}
.nayami_area .trouble_list li {
  font-size: 16px;
  color: #fff;
  margin-bottom: 7px;
}
.nayami_area .trouble_list li::before {
  content: url(../images/index/icon_check.png);
  margin-right: 10px;
}
.nayami_area .section_beauty_img {
  position: absolute;
  top: 22px;
  left: -46px;
}
.beauty_link {
  position: absolute;
  top: -26px;
  right: 0;
}
.beauty_link .treatment_item {
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid transparent;
  transition: color 0.2s, background-color 0.2s;
  width: 366px;
  height: 216px;
  padding-top: 30px;
  padding-bottom: 35px;
}
.beauty_link .treatment_item:hover {
  border: 1px solid #8cd8ea;
}
.beauty_link .treatment_item:hover .treatment_item_title {
  color: #8cd8ea;
}
.beauty_link .treatment_item .treatment_item_icon {
  margin-bottom: 14px;
}
.beauty_link .treatment_item .treatment_item_title {
  font-size: 22px;
  transition: color 0.2s, background-color 0.2s;
}
.beauty_link .treatment_item .arrow {
  margin-top: auto;
  position: relative;
}
.beauty_link .treatment_item .arrow:after {
  border-color: #8cd8ea;
  position: absolute;
  bottom: 0;
  left: calc(50% - 25px);
  transform: rotateX(-50%);
}

/*--------------------------------------------
section_endoscopy 当院の内視鏡検査
--------------------------------------------*/
.section_endoscopy {
  margin-top: 145px;
  overflow: hidden;
}
.section_endoscopy .innerContents {
  padding: 58px 0 70px;
  position: relative;
}
.section_endoscopy .innerContents::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1636px;
  height: 100%;
  background: url(../images/index/sec_endoscope_bg.jpg) no-repeat right top;
  background-size: cover;
  left: -136px;
  top: 0;
  z-index: -1;
}
.section_endoscopy .innerContents::before {
  content: "";
  background-color: #f2fbed;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 50%;
  top: 0;
  transform: rotateY(-50%);
  z-index: -2;
}
.section_endoscopy .innerContents .sec_title {
  font-size: 32px;
  margin-left: 26px;
  margin-bottom: 42px;
}

.endoscopy_type {
  display: flex;
  justify-content: space-between;
}
.endoscopy_type .endoscopy_type_item {
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  text-decoration: none;
  border: 1px solid transparent;
  transition: color 0.2s, background-color 0.2s;
  width: 514px;
  padding: 30px 28px 30px 36px;
  display: flex;
  align-items: center;
}
.endoscopy_type .endoscopy_type_item:hover {
  border-color: #cadb47;
}
.endoscopy_type .endoscopy_type_item:hover .endoscopy_type_title, .endoscopy_type .endoscopy_type_item:hover .endoscopy_type_name {
  color: #cadb47;
}
.endoscopy_type .endoscopy_type_item .endoscopy_icon {
  margin-right: 40px;
}
.endoscopy_type .endoscopy_type_item .endoscopy_text {
  margin-top: 0;
}
.endoscopy_type .endoscopy_type_item .endoscopy_text .endoscopy_type_title {
  font-size: 24px;
  transition: color 0.2s, background-color 0.2s;
}
.endoscopy_type .endoscopy_type_item .endoscopy_text .endoscopy_type_name {
  font-size: 16px;
  transition: color 0.2s, background-color 0.2s;
  margin: 16px 0 4px;
}
.endoscopy_type .endoscopy_type_item .endoscopy_text .item_text {
  font-size: 15px;
  margin-bottom: 8px;
}
.endoscopy_type .endoscopy_type_item .arrow {
  width: 58px;
  height: 8px;
  position: relative;
  margin-top: auto;
  margin-left: auto;
}
.endoscopy_type .endoscopy_type_item .arrow:after {
  border-color: #cadb47;
  position: absolute;
  bottom: 0;
  left: calc(50% - 25px);
  transform: rotateX(-50%);
}

/*--------------------------------------------
section_greeting ごあいさつ
--------------------------------------------*/
.section_greeting {
  background-color: #fff;
  margin-top: 157px;
  margin-bottom: 180px;
  position: relative;
}
.section_greeting::before {
  position: absolute;
  content: "";
  background-color: #f3fcfb;
  height: 378px;
  width: 50%;
  left: 0;
  top: 0;
}
.section_greeting::after {
  position: absolute;
  content: "";
  background-color: #f3fcfb;
  height: 378px;
  width: 50%;
  right: 0;
  bottom: 0;
}
.section_greeting .innerContents {
  padding: 160px 0 70px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  background-color: #fff;
}
.section_greeting .innerContents .sec_title {
  font-size: 32px;
  margin-bottom: 84px;
  margin-top: 6px;
  letter-spacing: 2px;
}
.section_greeting .greeting_text .item_text {
  font-size: 16px;
  line-height: 1.8;
}
.section_greeting .greeting_text .item_text.doctor_name {
  text-align: right;
  margin-top: 42px;
}
.section_greeting .doctor_img {
  background-color: #ddd;
  width: 422px;
  height: 466px;
  margin-left: 64px;
  position: relative;
}
.section_bgL, .section_bgR {
  background-color: #f3fcfb;
  height: 378px;
  position: absolute;
  content: "";
  z-index: -1;
}

.section_bgL {
  width: 348px;
  left: 0;
  top: 0;
}

.section_bgR {
  width: 88px;
  right: 0;
  bottom: 0;
}

.footer_area {
  border-top: 1px solid #d2d2d2;
}
.footer_area .gmap_box {
  height: 400px;
}

/*--------------------------------------------
フッターリンク
--------------------------------------------*/
.footer_menu {
  width: 100%;
  padding: 25px 0;
  background: #72c7c2;
}
.footer_menu .footermenulist {
  font-size: 17px;
  line-height: 64px;
  text-align: center;
}
.footer_menu .footermenulist li {
  display: inline-block;
}
.footer_menu .footermenulist li::after {
  content: "　|　";
  color: #fff;
}
.footer_menu .footermenulist li:last-child::after {
  content: "";
}
.footer_menu .footermenulist li a {
  color: #4a4a4a;
  transition: all 0.3s;
  text-decoration: none;
  color: #fff;
}
.footer_menu .footermenulist li a:hover {
  text-decoration: underline;
}
.footer_menu hr {
  border-style: none;
  border-top: dotted 1px #fff;
}

/*--------------------------------------------
フッター情報
--------------------------------------------*/
.inner_footer {
  padding: 120px 0 140px;
}
.inner_footer .footer_info {
  display: flex;
  justify-content: space-between;
}
.inner_footer .footer_info .footer_infoL {
  width: 500px;
}
.inner_footer .footer_info .footer_infoL .clinic_name {
  display: inline-block;
  margin-bottom: 24px;
}
.inner_footer .footer_info .footer_infoL .tell_text {
  display: inline-block;
  margin-bottom: 45px;
}
.inner_footer .footer_info .footer_infoL .footer_tel {
  margin-bottom: 28px;
}
.inner_footer .footer_info .footer_infoL .footer_tel .tel_icon {
  margin-right: 6px;
}
.inner_footer .footer_info .footer_infoL .footer_tel .tel_number {
  display: block;
  margin-top: 8px;
}
.inner_footer .footer_info .footer_infoL .clinic_info_txt {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 36px;
}
.inner_footer .footer_info .footer_infoL .clinic_info_txt .clinic_info_date .info_date_item dt {
  display: inline-block;
}
.inner_footer .footer_info .footer_infoL .clinic_info_txt .clinic_info_date .info_date_item dd {
  display: inline-block;
}
.inner_footer .footer_info .footer_infoR {
  width: 516px;
}
.map_img {
  max-width: 516px;
  height: 598px;
  background-color: #ddd;
}
.map_img img {
  width: 100%;
}

.schedule .scheduleTable {
  width: 100%;
  margin-bottom: 15px;
}
.schedule .scheduleTable th, .schedule .scheduleTable td {
  text-align: center;
  font-size: 16px;
}
.schedule .scheduleTable thead {
  background-color: #eef5ff;
}
.schedule .scheduleTable thead th, .schedule .scheduleTable thead td {
  line-height: 66px;
}
.schedule .scheduleTable thead th {
  width: 32%;
}
.schedule .scheduleTable thead td {
  width: 9.7%;
}
.schedule .scheduleTable tbody tr {
  line-height: 68px;
  border-bottom: 1px solid #bdbdbd;
}
.schedule .scheduleTable tbody tr th {
  width: 30%;
}
.schedule .scheduleTable tbody tr td {
  width: 10%;
  color: #89bbff;
  font-size: 18px;
}
.schedule .scheduleTable tbody tr td span {
  font-weight: bold;
  color: #4a4a4a;
  font-size: 16px;
}
.gmap_box {
  width: 100%;
}
.gmap_box iframe {
  width: 100%;
  height: 100%;
}

.copyright_box {
  font-size: 12px;
  font-weight: 400;
  line-height: 64px;
  text-align: center;
  background-color: #b1e4e1;
  font-family: "Noto Serif JP", serif;
}

.pagetop {
  position: fixed;
  bottom: 30px;
  right: 55px;
  opacity: 0;
  filter: alpha(opacity=0);
  transform: scale(0.3);
  transition: all 0.4s;
}
.pagetop:hover {
  cursor: pointer;
}
.pagetop.show {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1);
}

.low_page {
  width: 100%;
}
.low_page section {
  width: 100%;
  box-sizing: border-box;
  padding: 80px 0;
  background-color: #fff;
}
.low_page section .inner_section {
  width: 1080px;
  box-sizing: border-box;
  margin: 0 auto;
}
.low_page section .inner_section p {
  margin-bottom: 16px;
}
.low_page a {
  color: #518b88;
}
.low_page a:hover {
  text-decoration: none;
}

.s2_s {
  margin-bottom: 90px;
}

.s3_s {
  margin-bottom: 45px;
}

.low_ttl01 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 24px;
  padding: 8px 16px;
  background-color: #6fbeba;
  color: #fff;
}

.low_ttl02 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 20px;
  padding: 8px 16px;
  border: 1px solid #6fbeba;
  border-left: 12px solid #6fbeba;
}

.low_ttl03 {
  font-size: 17px;
  font-weight: bold;
  padding: 0 16px;
  margin-bottom: 10px;
  border-left: 4px solid #6fbeba;
  color: #518b88;
}

.marker {
  font-weight: bold;
  border-bottom: 2px dotted #bdbdbd;
  margin: 0 3px;
}

.contents_img {
  display: block;
  float: right;
  margin-left: 20px;
}
.contents_img.w40 {
  width: 400px;
}
.contents_img.w30 {
  width: 300px;
}
.contents_img.w20 {
  width: 200px;
}
.contents_img img {
  width: 100%;
}
.contents_img figcaption {
  padding: 10px 20px;
  background-color: #bdbdbd;
  margin-top: 5px;
}
.contents_img figcaption span {
  font-weight: bold;
  display: block;
}

.index_box {
  display: inline-block;
  box-sizing: border-box;
  padding: 60px 60px;
  background-color: #f5f5f5;
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.index_box .index_ttl {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
.index_box .index_ttl::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 300;
  content: "\f0ca";
  font-weight: bold;
  margin-right: 10px;
}
.index_box ol.chapter li {
  list-style: none;
}
.index_box ol.chapter li a {
  font-size: 20px;
  display: block;
  padding: 5px 10px;
  transition: all 0.2s;
  text-decoration: none;
}
.index_box ol.chapter li a:hover {
  background-color: #bdbdbd;
}
.index_box ol.chapter li a span.num {
  margin-right: 0.5em;
}
.index_box ol.chapter li ol.section {
  box-sizing: border-box;
  padding-left: 1em;
  margin-bottom: 5px;
}
.index_box ol.chapter li ol.section li a {
  font-size: 16px;
}
.index_box ol.chapter li ol.section li a span.num {
  margin-right: 0.5em;
}

.box01 {
  padding: 30px 40px 40px;
  border-radius: 8px;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
  min-height: 1px;
  background-color: #fff;
}
.box01:not(:last-child) {
  margin-bottom: 20px;
}
.box01 .box01_ttl {
  font-size: 22px;
  font-weight: bold;
  line-height: 40px;
  display: inline-block;
  margin-bottom: 10px;
  padding: 0 0 0 25px;
  border-radius: 20px;
  position: relative;
}
.box01 .box01_ttl::before, .box01 .box01_ttl::after {
  content: "";
  display: block;
  width: 17px;
  height: 3px;
  background-color: #696969;
  position: absolute;
  left: 0;
}
.box01 .box01_ttl::before {
  top: 15px;
}
.box01 .box01_ttl::after {
  top: 20px;
}

.link_btn {
  font-weight: bold;
  text-decoration: none;
  color: #fff !important;
  display: inline-block;
  padding: 15px 80px 17px 60px;
  background-color: #72c7c2;
  border-radius: 4px;
  position: relative;
  transition: all 0.3s;
}
.link_btn::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  transition: all 0.3s;
}
.link_btn:hover {
  background-color: #696969;
}
.link_btn:hover::before {
  right: 15px;
}

/*--------------------------------------------------
余白を付けたデザイン
--------------------------------------------------*/
.table01 {
  width: calc(100% + 10px);
  margin: -5px auto;
  border-collapse: separate;
  border-spacing: 5px;
  position: relative;
  left: -5px;
}
.table01 tr th, .table01 tr td {
  box-sizing: border-box;
  padding: 8px 16px;
  width: auto;
}
.table01 tr th {
  background: #DEEDFF;
}
.table01 tr th.w35 {
  width: 35%;
}
.table01 tr td {
  background-color: #f5f5f5;
}

/*--------------------------------------------------
ラインを付けたデザイン
--------------------------------------------------*/
.table02 {
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
}
.table02 tr th,
.table02 tr td {
  font-weight: 500;
  box-sizing: border-box;
  padding: 8px 16px;
  width: auto;
  border: 1px solid #5e95d7;
}
.table02 tr th {
  background: #DEEDFF;
}
.table02 tr th.w35 {
  width: 35%;
}
.doctor_image {
  width: 600px;
  margin-right: auto;
  margin-left: auto;
}
.doctor_image img {
  width: 100%;
}
.doctor_image figcaption {
  text-align: center;
  padding: 10px 20px;
  background-color: #bdbdbd;
  margin-top: 5px;
}
.doctor_image figcaption span {
  font-size: 22px;
  font-weight: bold;
  display: block;
}

.split_table_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -30px;
}
.split_table_box .split_table_item {
  box-sizing: border-box;
  padding: 40px 35px 50px;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background-color: #fff;
  margin-bottom: 30px;
}
.split_table_box .split_table_item .split_table_box_ttl {
  font-size: 24px;
  font-weight: bold;
  border-bottom: 3px dotted #bdbdbd;
  margin-bottom: 30px;
  padding-bottom: 20px;
  position: relative;
  padding-left: 20px;
}
.split_table_box .split_table_item .split_table_box_ttl::before {
  content: "";
  display: block;
  width: 5px;
  height: 90%;
  background-color: #bdbdbd;
  position: absolute;
  left: 0;
  top: -8px;
  margin-bottom: 15px;
}
.split_table_box .split_table_item.contents_50 {
  width: 49%;
}
.split_table_box .split_table_item.contents_50 table th {
  width: 40% !important;
}
.split_table_box .split_table_item.contents_50 table td {
  width: 60%;
}
.split_table_box .split_table_item.contents_50 table.one_way th {
  width: 100%;
}
.split_table_box .split_table_item.contents_100 {
  width: 100%;
}
.split_table_box .split_table_item.contents_100 th {
  width: 25%;
}
.split_table_box .split_table_item table {
  width: 100%;
}
.split_table_box .split_table_item table tr {
  border-bottom: 1px dotted #bdbdbd;
}
.split_table_box .split_table_item table tr th {
  font-size: 16px;
  font-weight: bold;
  width: 40%;
  padding: 15px 0;
}
.split_table_box .split_table_item table tr td {
  font-size: 16px;
  width: 60%;
  padding: 15px 0;
}
.split_table_box .split_table_item ul li {
  font-size: 18px;
  font-weight: bold;
  list-style: none;
  position: relative;
  padding-left: 25px;
  margin-bottom: 5px;
}
.split_table_box .split_table_item ul li::before {
  content: "\f14a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #696969;
  position: absolute;
  left: 0;
}

.list01 {
  list-style: none;
  margin-left: 15px;
}
.list01 li {
  font-weight: bold;
  position: relative;
  padding-left: 23px;
}
.list01 li::before {
  content: "\f14a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #696969;
  position: absolute;
  left: 0;
}

.list02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}
.list02 li {
  font-size: 18px;
  font-weight: bold;
  width: 48%;
  box-sizing: border-box;
  margin-bottom: 25px;
  padding: 15px;
  border-bottom: 2px dotted #bdbdbd;
}
.list02 li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138";
  font-weight: bold;
  color: #696969;
  margin-right: 13px;
}

.list03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: -15px;
  list-style: none;
}
.list03 li {
  width: 48%;
  margin-bottom: 15px;
}
.list03 li a {
  font-weight: bold;
  text-decoration: none;
  color: #4a4a4a;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 20px 40px;
  background-color: #bdbdbd;
  border-radius: 5px;
  position: relative;
  transition: all 0.3s;
}
.list03 li a::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -4px;
  margin-top: -4px;
  border: 0px;
  border-top: solid 2px #4a4a4a;
  border-right: solid 2px #4a4a4a;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  transition: all 0.3s;
}
.list03 li a:hover {
  background-color: #808080;
  box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.2);
}
.list03 li a:hover::before {
  right: 15px;
}

.counter01 {
  counter-reset: number;
  list-style-type: none;
  margin-left: 15px;
  margin-top: 3px;
}
.counter01 li {
  font-weight: bold;
  position: relative;
  padding-left: 40px;
  line-height: 1.5;
}
.counter01 li:not(:last-child) {
  margin-bottom: 10px;
}
.counter01 li:before {
  font-size: 16px;
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  color: #fff;
  display: inline-block;
  width: 30px;
  background: #696969;
  position: absolute;
  top: -3px;
  left: 0;
  counter-increment: number;
  content: counter(number);
}

.flex_gellery {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
.flex_gellery figure {
  display: block;
  box-sizing: border-box;
  padding: 2%;
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #72c7c2;
}
.flex_gellery figure img {
  width: 100%;
}
.flex_gellery figure figcaption {
  padding: 2%;
}
.flex_gellery figure figcaption span {
  font-weight: bold;
  color: #696969;
  display: block;
}
.flex_gellery.column_2 {
  justify-content: space-between;
}
.flex_gellery.column_2 figure {
  flex-basis: 49%;
}
.flex_gellery.column_3 figure {
  width: 346px;
  margin-right: 20px;
}
.flex_gellery.column_3 figure:nth-child(3n) {
  margin-right: 0;
}

.gallery_text {
  max-width: calc(100% - 60px);
  box-sizing: border-box;
  padding: 15px 25px 15px 25px;
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: 30px;
  left: 30px;
  z-index: 1000;
}
.gallery_text span {
  font-weight: bold;
}
.gallery_text p {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}

.sp-thumbnails img:hover {
  cursor: pointer;
}

.sp-selected-thumbnail:after {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  border: 4px solid #696969;
}

.googlemap_box {
  width: 100%;
  height: 600px;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
}

.faq_box ul .faq_item {
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
  list-style: none;
  background-color: #fff;
}
.faq_box ul .faq_item:not(:last-child) {
  margin-bottom: 15px;
}
.faq_box ul .faq_item .faq_item_Q,
.faq_box ul .faq_item .faq_item_A {
  display: flex;
  cursor: pointer;
}
.faq_box ul .faq_item .faq_item_Q .icon,
.faq_box ul .faq_item .faq_item_A .icon {
  font-weight: bold;
  text-align: center;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 50px;
  min-height: 50px;
  background-color: #bdbdbd;
  margin-right: 15px;
  box-sizing: border-box;
  padding: 15px;
  border-radius: 8px;
}
.faq_box ul .faq_item .faq_item_Q .text,
.faq_box ul .faq_item .faq_item_A .text {
  font-size: 18px;
  font-weight: bold;
}
.faq_box ul .faq_item .faq_item_Q {
  align-items: center;
}
.faq_box ul .faq_item .faq_item_A {
  align-items: flex-start;
  padding-top: 20px;
  margin-top: 20px;
  border-top: 2px dotted #bdbdbd;
}
.faq_box ul .faq_item .faq_item_A .text {
  font-weight: normal;
}

.flow_item {
  margin-bottom: 15px;
  box-sizing: border-box;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.1);
  list-style: none;
  background-color: #fff;
}
.flow_item .flow_item_title_box {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 25px;
  border-bottom: 2px dotted #bdbdbd;
}
.flow_item .flow_item_title_box:not(:last-child) {
  margin-bottom: 20px;
}
.flow_item .flow_item_title_box .icon {
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  min-height: 60px;
  background-color: #bdbdbd;
  margin-right: 15px;
  box-sizing: border-box;
  padding: 15px;
  border-radius: 8px;
}
.flow_item .flow_item_title_box .text {
  font-size: 22px;
  line-height: 1.5;
  font-weight: bold;
}
.flow_item .flow_item_text_box p:last-child {
  margin-bottom: 0 !important;
}

table.form-table {
  border-collapse: collapse;
  width: 100%;
}
table.form-table th,
table.form-table td {
  border: 1px solid #d7d7d7;
  padding: 20px;
}
table.form-table th {
  background: #bdbdbd;
  padding-left: 50px;
  position: relative;
  text-align: left;
  width: 300px;
}
table.form-table input[type=text],
table.form-table textarea {
  background: #fff;
  display: block;
  font-size: 15px;
  padding: 12px 15px;
  width: 480px;
  transition: 0.8s;
  border-radius: 0;
}
table.form-table input[type=text]:focus,
table.form-table textarea:focus {
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
table.form-table textarea[name=content] {
  display: inline-block;
  width: 100%;
  height: 200px;
}
table.form-table input::-moz-placeholder, table.form-table textarea::-moz-placeholder {
  color: #ccc;
}
table.form-table input::placeholder,
table.form-table textarea::placeholder {
  color: #ccc;
}
table.form-table ::-webkit-input-placeholder,
table.form-table ::-moz-placeholder,
table.form-table :-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}
table.form-table input[type=radio],
table.form-table input[type=checkbox] {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
}
table.form-table .radio_label,
table.form-table .check_item {
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-right: 18px;
  border-radius: 3px;
  transition: all 0.2s;
  border: 1px solid #696969;
}
table.form-table input[type=radio]:checked + .radio_label,
table.form-table input[type=checkbox]:checked + .check_item {
  background: #696969;
  color: #fff;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);
}
table.form-table input[type=radio]:focus + .radio_label,
table.form-table input[type=checkbox]:focus + .check_item {
  outline: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
table.form-table .dropdown {
  display: inline-block;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 0 0 2px rgb(204, 204, 204);
  transition: all 0.5s ease;
  position: relative;
  font-size: 14px;
  color: #474747;
  height: 100%;
  text-align: left;
}
table.form-table .dropdown:active {
  background-color: #f8f8f8;
}
table.form-table .dropdown:focus {
  outline: none;
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
table.form-table .dropdown.age {
  width: 200px;
}
table.form-table .dropdown.month, table.form-table .dropdown.date {
  width: 100px;
}
table.form-table .dropdown .select {
  cursor: pointer;
  display: block;
  padding: 10px;
}
table.form-table .dropdown .select i {
  font-size: 13px;
  color: #888;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  float: right;
  line-height: 20px;
}
table.form-table .dropdown .dropdown-menu {
  position: absolute;
  background-color: #fff;
  width: 100%;
  left: 0;
  margin-top: 1px;
  box-shadow: 0 1px 2px rgb(204, 204, 204);
  border-radius: 0 1px 2px 2px;
  overflow: hidden;
  display: none;
  max-height: 144px;
  overflow-y: auto;
  z-index: 9;
  padding: 0;
  list-style: none;
}
table.form-table .dropdown .dropdown-menu li {
  padding: 10px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
table.form-table .dropdown .dropdown-menu li:hover {
  background-color: #f2f2f2;
}
table.form-table .dropdown .dropdown-menu li:active {
  background-color: #e2e2e2;
}

.submit_button {
  text-align: center;
}
.submit_button input[type=submit] {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  display: inline-block;
  width: 400px;
  height: 70px;
  margin-top: 30px;
  background-color: #696969;
  transition: opacity 0.2s;
}
.submit_button input[type=submit]:hover {
  opacity: 0.8;
}

.loading_animation {
  width: 100vw;
  height: 100vh;
  background-color: #bdbdbd;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.loading_animation div {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.loaded {
  transition: all 0.5s;
  opacity: 0;
  visibility: hidden;
}

.loader,
.loader:before,
.loader:after {
  background: #ffffff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader {
  color: #ffffff;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: "";
}

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup .popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 800px;
  padding: 50px;
  background-color: #fff;
  z-index: 2;
}
.popup .popup-inner .close-btn {
  position: absolute;
  right: 0;
  top: 3px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
}
.popup .popup-inner .close-btn i {
  font-size: 20px;
  color: #333;
}
.popup .popup-inner ._title01 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 1px;
  border-bottom: 1px solid;
  padding-bottom: 5px;
  margin-bottom: 25px;
  text-align: center;
  color: #696969;
}
.popup .popup-inner ._title02 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px;
  border-left: 5px solid #696969;
  padding: 2px 0 2px 10px;
  margin-bottom: 15px;
}
.popup .popup-inner ._title03 {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  display: inline-block;
  padding-left: 20px;
  position: relative;
}
.popup .popup-inner ._title03::before {
  content: "■";
  color: #696969;
  left: 0;
  position: absolute;
}
.popup .popup-inner .layer_board_list01 {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 15px;
}
.popup .popup-inner .layer_board_list01 li {
  font-weight: bold;
  list-style: none;
  position: relative;
  padding-left: 18px;
}
.popup .popup-inner .layer_board_list01 li::before {
  content: "\f101";
  color: #696969;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  left: 0;
}
.popup .popup-inner .layer_board_table01 {
  border-collapse: separate;
  border-spacing: 5px;
  margin-bottom: 15px;
}
.popup .popup-inner .layer_board_table01 tr {
  font-size: 16px;
}
.popup .popup-inner .layer_board_table01 tr th, .popup .popup-inner .layer_board_table01 tr td {
  padding: 10px 15px;
}
.popup .popup-inner .layer_board_table01 tr th {
  background-color: #bdbdbd;
}
.popup .popup-inner .layer_board_table01 tr td {
  background-color: #f5f5f5;
}
.popup .black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  z-index: 1;
  cursor: pointer;
}

.column_layout {
  display: flex;
  flex-wrap: wrap;
}
.column_layout .column_item {
  margin-bottom: 32px;
}
.column_layout .column_item figcaption {
  margin-top: 16px;
}
.column_layout.justify_spaceBetween {
  justify-content: space-between;
}
.column_layout.justify_center {
  justify-content: center;
}
.column_layout.column2 .column_item {
  flex-basis: 49%;
}
.column_layout.column2 .gmap_box {
  height: 598px;
}
.column_layout.column3 .column_item {
  flex-basis: 30%;
}
.column_layout.column4 .column_item {
  flex-basis: 24.5%;
}

.img100p img {
  width: 100%;
}

.img240 img {
  width: 240px;
  margin: 0 auto;
  display: block;
}

.gallery_box_2way {
  display: flex;
  justify-content: space-between;
}
.gallery_box_2way .gallery_item {
  flex-basis: 48%;
  margin-bottom: 16px;
}
.gallery_box_2way .gallery_item img {
  width: 100%;
}
.gallery_box_2way .gallery_item .gallery_item_caption {
  background-color: #ddd;
  padding: 8px 16px;
}

.map_area {
  display: flex;
  justify-content: space-between;
}
.map_area div {
  flex-basis: 48%;
  height: 598px;
}

.career {
  font-size: 14px;
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 6fr;
}
.career .career_year, .career .career_text {
  padding: 8px;
  margin-bottom: 2px;
}
.career .career_year {
  background-color: rgba(34, 137, 255, 0.15);
  min-width: 90px;
}

.slider-pro {
  width: 880px !important;
  margin-left: auto;
  margin-right: auto;
}

.list_index {
  margin-left: 16px;
}
.list_index li {
  margin-bottom: 10px;
}

.section_corona {
  background-color: #fff;
  padding: 24px 0;
}
.section_corona .innerContents {
  background-color: #fff;
  border: 1px solid #c74f51;
  padding: 24px;
}
.section_corona .innerContents .sec_title {
  font-size: 24px;
  margin-bottom: 16px;
  text-align: center;
  color: #fff;
  background-color: #c74f51;
  padding: 12px 24px;
  margin-right: -24px;
  margin-left: -24px;
  margin-top: -24px;
}
.section_corona .innerContents .sec_title02 {
  background-color: #e56f75;
  color: #fff;
  padding: 10px;
  margin-bottom: 10px;
}
.section_corona .innerContents p {
  margin-bottom: 8px;
}
.section_corona .innerContents p:last-child {
  margin-bottom: 24px;
}
.section_corona .innerContents .text01 {
  font-size: 120%;
}

/* 汎用バックグラウンドカラー指定 */
.bgc_white {
  background-color: #fff !important;
}

.bgc_black {
  background-color: #222 !important;
}

.bgc_gray01 {
  background-color: #999 !important;
}

.bgc_gray02 {
  background-color: #e7e7e7 !important;
}

.bgc_blue01 {
  background-color: #DEEDFF !important;
}

.section_recruit {
  background-color: #fff;
  padding: 0 0 24px;
}
.section_recruit .innerContents {
  border: 1px solid #72c7c2;
  padding: 24px;
}
.section_recruit .innerContents .sec_title {
  font-size: 24px;
  margin-bottom: 16px;
  text-align: center;
  color: #fff;
  background-color: #72c7c2;
  padding: 8px 24px;
  margin-right: -24px;
  margin-left: -24px;
  margin-top: -24px;
}
.section_recruit .innerContents .sec_title02 {
  background-color: #72c7c2;
  color: #fff;
  padding: 10px;
  margin-bottom: 10px;
}
.section_recruit .innerContents p {
  margin-bottom: 8px;
}
.section_recruit .innerContents p:last-child {
  margin-bottom: 24px;
}
.section_recruit .innerContents p strong {
  font-weight: 900;
}
.section_recruit .innerContents .text01 {
  font-size: 120%;
}

.lineup_group .lineup_item {
  display: flex;
}
.lineup_group .lineup_item .lineup_item_name {
  width: 30%;
}
.section_notice01 {
  background-color: #fff;
  padding-top: 24px;
}
.section_notice01 .innerContents {
  background-color: #fff;
  border: 1px solid #89bbff;
  padding: 24px;
}
.section_notice01 .innerContents .sec_title {
  font-size: 24px;
  margin-bottom: 16px;
  text-align: center;
  color: #fff;
  background-color: #89bbff;
  padding: 12px 24px;
  margin-right: -24px;
  margin-left: -24px;
  margin-top: -24px;
}
.section_notice01 .innerContents .sec_title02 {
  background-color: #89bbff;
  color: #fff;
  padding: 10px;
  margin-bottom: 10px;
}
.section_notice01 .innerContents p {
  margin-bottom: 8px;
}
.section_notice01 .innerContents p:last-child {
  margin-bottom: 24px;
}
.section_notice01 .innerContents .text01 {
  font-size: 120%;
}

.column_2 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.section_calendar .innerContents {
  padding: 0px 0 70px;
}
.section_calendar .innerContents .sec_title {
  text-align: center;
  font-size: 32px;
  margin-bottom: 84px;
  margin-top: 6px;
  letter-spacing: 2px;
}

#calendar_contents {
  width: 100%;
}
#calendar_contents .calendar_wrapper {
  width: 100%;
}
#calendar_contents .calendar_wrapper .calendar_inner {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  margin-bottom: 52px;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar {
  width: 45%;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_monthly {
  position: relative;
  font-size: 20pxm;
  font-style: oblique 5deg;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 10px;
  text-align: center;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box {
  box-sizing: border-box;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_week,
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date {
  display: flex;
  flex-wrap: wrap;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_week div,
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date div {
  box-sizing: border-box;
  text-align: center;
  flex-basis: 14.2857142857%;
  max-width: 14.2857142857%;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_week {
  font-size: 16px;
  font-weight: 400;
  line-height: 50px;
  background-color: #fff;
  border-bottom: 1px solid #b1e4e1;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date {
  font-size: 18px;
  font-weight: 400;
  background-color: #fff;
  /*臨時休診日*/
  /*臨時診療日*/
  /*臨時診療日*/
  /*臨時診療日*/
  /*臨時診療日*/
  /*その他*/
  /*空の日付*/
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date div:nth-child(7n+6) {
  background-color: #ffe7e7;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date div {
  box-sizing: border-box;
  line-height: 50px;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date .cd {
  background-color: #ffe7e7 !important;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date .od {
  background-color: #fff !important;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date .ot {
  background-color: #ebd6ff !important;
}
#calendar_contents .calendar_wrapper .calendar_inner .calendar .calendar_box .calendar_date .ed {
  background-color: #fff !important;
}
#calendar_contents .calendar_wrapper .calendar_text ul {
  display: flex;
  justify-content: center;
  margin: 10px 0;
}
#calendar_contents .calendar_wrapper .calendar_text ul li {
  display: inline;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  padding-left: 30px;
}
#calendar_contents .calendar_wrapper .calendar_text ul li:not(:last-child) {
  margin-right: 30px;
}
#calendar_contents .calendar_wrapper .calendar_text ul li::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  left: 0;
  top: 2px;
  border: 1px solid #ddd;
}
#calendar_contents .calendar_wrapper .calendar_text ul li.closed_day::before {
  background-color: #ffe7e7;
}
#calendar_contents .calendar_wrapper .calendar_text ul li.t18::before {
  background-color: #d6e6ff;
}
#calendar_contents .calendar_wrapper .calendar_text ul li.t2030::before {
  background-color: #d6f7ff;
}
#calendar_contents .calendar_wrapper .calendar_text ul li.t21::before {
  background-color: #d9fff4;
}
#calendar_contents .calendar_wrapper .calendar_text ul li.other_day::before {
  background-color: #ebd6ff;
}
#calendar_contents .calendar_wrapper .calendar_text p {
  font-size: 14px;
  text-align: center;
}

.dl01 {
  display: flex;
}
.layout01 {
  display: grid;
  grid-template-columns: 25% 1fr;
}

.section_route_map {
  padding-block: 40px 80px;
}
.section_route_map .sec_title {
  text-align: center;
  font-size: 32px;
  margin-bottom: 64px;
  margin-top: 6px;
  letter-spacing: 2px;
}

.route_map {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.route_map .contents_img {
  margin-left: 0 !important;
}