@charset "utf-8";
/*   
Theme Name: 聖腎会-wp
https://sample.ne.jp/
Description: 聖腎会のテーマです。
Author: VanguardNetworks co,. ltd.
Author URI:https://vanguard.ne.jp/
Version: 1.0
*/

/* ---------- */
/* デザイン共通 */
/* ---------- */
:root {
 /* --color-main: #0e9e2e;
 --color-sub: #c2da89;
 --color-sub-02: #fcf588;
 --color-bg-light: #f6f6df;
 --color-bg-dark: #eeefe7; */

 --color-main: #1D4E89;
 --color-accent-1: #8ec1e6;
 --color-accent-2: #C7E2F3;
 --color-bg-muted: #DCEAF5;
 --color-bg-light: #EAF4FB;

 --color-main-rgb: 29, 78, 137;
 --color-main-dark-rgb: 23, 62, 110;

 --font-family-body: "M PLUS 1", sans-serif;
 --font-family-heading: "Noto Sans JP", sans-serif;
 --font-family-accent: "Noto Sans JP", sans-serif;
 /* --font-family-heading: "Zen Maru Gothic", sans-serif;
 --font-family-accent: "Zen Maru Gothic", sans-serif; */
}

*::before,
*::after {
 box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
strong,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
fieldset,
form,
legend,
caption,
tbody,
tfoot,
thead,
table,
label,
tr,
th,
td,
p,
img,
figure,
ul,
ol,
dl,
dt,
dd {
 margin: 0;
 padding: 0;
 border: none;
}

body {
 overflow-y: scroll;
 background: #fff;
 color: #333;
 /* font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif; */
 /* font-weight: 400; */
 /* line-height: 1.75; */
 font-family: var(--font-family-body);
 font-weight: 400;
 font-style: normal;
 line-height: 1.6;
 letter-spacing: normal;
 -webkit-text-size-adjust: 100%;
}

a {
 color: var(--color-main);
}

img {
 vertical-align: top;
 max-width: 100%;
 height: auto;
}

.clear_both {
 float: none;
 clear: both;
 width: 100%;
 font-size: 0;
 height: 0;
 line-height: 0;
 background: none;
 border: none;
 margin: 0;
 padding: 0;
}

.font_serif_01 {
 font-family: var(--font-family-accent);
}

p.caoution,
ul.caoution li {
 position: relative;
 padding-left: 1.2em;
}

p.caoution::before,
ul.caoution li::before {
 content: "※";
 position: absolute;
 top: 0;
 left: 0;
}

@media screen and (max-width:767px) {
 html {
  font-size: 14px;
 }

 .sp_none {
  display: none !important;
 }
}

@media print,
screen and (min-width:768px) {
 html {
  font-size: 16px;
 }

 .pc_none {
  display: none !important;
 }
}

@media print,
screen and (min-width:768px) and (max-width:1024px) {
 .tb_none {
  display: none !important;
 }
}

@media print,
screen and (min-width:1025px) and (max-width:1599px) {
 .pc_l_none {
  display: none !important;
 }
}

@media print,
screen and (min-width:1600px) {
 .pc_ll_none {
  display: none !important;
 }
}

/* -------- */
/* #wrapper */
/* -------- */
#wrapper {
 width: 100%;
}

/* ------------ */
/* ローディング用 */
/* ------------ */
#loader_bg {
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0px;
 left: 0px;
 background: #fff;
 z-index: 1000;
}

/* ------------------------- */
/* コンテンツ　スクロールで出現用 */
/* ------------------------- */
/* 画面外にいる状態 */
.fadein {
 opacity: 0;
 transform: translate(0, 50px);
 transition: all 750ms;
}

.fadein.no_scroll {
 transform: none;
}

.fadein.slideleft {
 transform: translate(-50px, 0px);
}

.fadein.fadein2 {
 transition-delay: 100ms !important;
}

.fadein.fadein3 {
 transition-delay: 200ms !important;
}

.fadein.fadein4 {
 transition-delay: 300ms !important;
}

/* 画面内に入った状態 */
.fadein.scrollin {
 opacity: 1;
 transform: translate(0, 0);
}

.fadein.no_scroll.scrollin {
 transform: none;
}

/* ------ */
/* header */
/* ------ */
header {
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
 width: 100%;
 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
 background: rgba(255, 255, 255, 0.8);
}

header,
header * {
 box-sizing: border-box;
}

@media screen and (max-width:1024px) {
 header {
  height: 60px;
 }

 header>.inner {
  padding: 15px 10px;
 }


 header .logo_area {
  display: block;
  width: 225px;
  height: 30px;
 }

 header .header_info {
  display: none;
 }
}

@media print,
screen and (min-width:1025px) {
 header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
 }

 header>.inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
 }

 header .header_info {
  text-align: right;
 }

 header .hours {
  display: inline-block;
  margin: 0;
  font-size: calc(1rem - 2px);
  vertical-align: middle;
 }

 header .telnum {
  display: inline-block;
  margin-left: 1.5rem;
  color: var(--color-main);
  font-size: calc(1rem + 4px);
  font-weight: bold;
  vertical-align: middle;
 }

 header p.contact {
  display: inline-block;
  margin-left: 1.5rem;
  font-size: calc(1rem - 2px);
  vertical-align: middle;
 }

 header p.contact a {
  display: inline-block;
  transform: translate(0, 0);
  padding: 0.60rem 0.4rem 0.60rem 1.8rem;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 2px;
  color: #fff;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  background-color: var(--color-main);
  background-color: rgb(var(--color-main-rgb), 0.8);
  background-image: url(./images/mail_icon.png);
  background-repeat: no-repeat;
  background-size: 17px 17px;
  background-position: 8px center;
 }

 header p.contact a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: right;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  transition: 200ms transform;
 }

 header p.contact a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
 }
}

@media print,
screen and (min-width:1025px) and (min-width:1200px) {}

/* -------------- */
/* .header_nav_01 */
/* -------------- */
@media print,
screen and (min-width:1025px) {
 .header_nav_01 {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
 }

 .header_nav_01.fixed {
  margin: 0 -1rem;
  justify-content: center;
 }

 .header_nav_01>li {
  font-size: 0.875rem;
  margin-left: 0.75rem;
  position: relative;
 }

 .header_nav_01>li.nav_pc_none {
  display: none;
 }

 .header_nav_01>li:first-child {
  margin-left: 0;
 }

 .header_nav_01.fixed>li {
  margin: 0 1.5rem;
 }

 .header_nav_01>li>a,
 .header_nav_01>li>ul.sub-menu li a {
  display: block;
  position: relative;
  padding: 0.75rem 0;
  color: #000;
  text-decoration: none;
 }

 .header_nav_01>li.gnav_btn {
  padding: 0.5rem 0;
 }

 .header_nav_01>li.gnav_btn a {
  padding: 0.25rem 0.5rem;
  color: #fff;
  border-radius: 2px;
  background-color: #b7c900;
 }

 .header_nav_01>li.gnav_btn a:after {
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
 }

 .header_nav_01.fixed>li>a {
  color: #fff;
  /* font-weight: bold; */
  font-weight: 500;
  transition: 200ms color;
 }

 .header_nav_01.fixed>li>a:hover {
  color: var(--color-accent-2);
 }

 .header_nav_01>li>a::after,
 .header_nav_01>li>ul.sub-menu li a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: right;
  width: 100%;
  height: 2px;
  background: var(--color-main);
  transition: 200ms transform;
 }

 .header_nav_01.fixed>li>a::after {
  bottom: 5px;
  background: var(--color-accent-2);
 }

 .header_nav_01>li.current_page_item>a::after,
 .header_nav_01>li:not(.no_border)>a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
 }

 .header_nav_01.fixed>li.gnav_btn a:after {
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  bottom: 0;
 }

 .header_nav_01>li>ul.sub-menu {
  text-align: center;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  height: 0;
  position: absolute;
  top: 52px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
 }

 .header_nav_01>li:hover>ul.sub-menu {
  top: 62px;
  height: auto;
  visibility: visible;
  opacity: 1;
 }

 .header_nav_01>li>ul.sub-menu li {
  list-style: none;
  border-bottom: transparent 1px solid;
 }

 .header_nav_01>li>ul.sub-menu li a {
  color: #000;
  text-decoration: none;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.8);
  transition: all .2s ease;
 }

 .header_nav_01>li>ul.sub-menu li a:hover {
  color: var(--color-accent-2);
  background: rgba(9, 110, 32, 0.8);
 }

 .header_nav_01>li.relation_link>ul.sub-menu {
  right: 0;
 }

 .header_nav_01>li.relation_link>ul.sub-menu li {
  width: 10rem;

 }

}

@media print,
screen and (min-width:1025px) and (max-width:1240px) {
 header .hours {
  letter-spacing: -1px;
 }

 header .telnum {
  margin-left: 0.5rem;
  letter-spacing: -1px;
 }

 header p.contact {
  margin-left: 0.5rem;
 }
}

@media print,
screen and (min-width:1240px) {
 .header_nav_01>li {
  font-size: 1rem;
  margin-left: 1.5rem;
 }

 .header_nav_01>li.gnav_btn a {
  padding: 0.25rem 0.75rem;
 }

 .header_nav_01.fixed>li {
  margin: 0 2rem;
 }
}



/* ---------- */
/* #fixed_nav */
/* ---------- */
@media screen and (max-width:1024px) {
 #fixed_nav {
  display: none;
 }
}

@media print,
screen and (min-width:1025px) {
 #fixed_nav {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: -80px;
  left: 0;
  width: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  background-color: var(--color-main);
  background-color: rgb(var(--color-main-rgb), 0.95);
  transition: 200ms;
 }

 header.fixed #fixed_nav {
  visibility: visible;
  opacity: 1;
  top: 0;
 }

 header #fixed_nav>.inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
 }

 header #fixed_nav ul>li>ul.sub-menu {
  text-align: center;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  height: 0;
  position: absolute;
  top: 35px;
  left: 0;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
 }

 /*
	header #fixed_nav ul > li:last-child > ul.sub-menu {
		right: -3.2rem;
	}
*/

 header #fixed_nav ul>li:hover>ul.sub-menu {
  top: 45px;
  height: auto;
  visibility: visible;
  opacity: 1;
 }

 header #fixed_nav ul>li>ul.sub-menu li {
  list-style: none;
  border-bottom: transparent 1px solid;
 }

 header #fixed_nav ul>li>ul.sub-menu li a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 0.75rem 1rem;
  background-color: rgb(var(--color-main-rgb), 0.95);
  transition: all .2s ease;
 }

 header #fixed_nav ul>li>ul.sub-menu li a:hover {
  color: var(--color-accent-2);
  background-color: rgb(var(--color-main-rgb), 0.8);
 }

}

/* -------- */
/* #sp_menu */
/* -------- */
@media screen and (max-width:1024px) {

 #sp_menu,
 #sp_menu * {
  box-sizing: border-box;
 }

 #sp_menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 106;
  width: 60px;
  height: 60px;
  cursor: pointer;
  transition: background 200ms;
 }

 #sp_menu.bg {
  background: rgba(255, 255, 255, 0.8);
 }

 #sp_menu::after {
  display: block;
 }

 #sp_menu .btn_mark {
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 50%;
  height: 2px;
  background: var(--color-main);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
 }

 #sp_menu.open_menu .btn_mark {
  background: transparent;
 }

 #sp_menu .btn_mark::before,
 #sp_menu .btn_mark::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-main);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
 }

 #sp_menu .btn_mark::before {
  top: -10px;
 }

 #sp_menu.open_menu .btn_mark::before {
  top: 0;
  transform: rotate(45deg);
 }

 #sp_menu .btn_mark::after {
  top: 10px;
 }

 #sp_menu.open_menu .btn_mark::after {
  top: 0;
  transform: rotate(-45deg);
 }
}

@media print,
screen and (min-width:1025px) {
 #sp_menu {
  display: none;
 }
}

/* --------------- */
/* #sp_global_navi */
/* --------------- */
@media screen and (max-width:1024px) {

 #sp_global_navi,
 #sp_global_navi * {
  box-sizing: border-box;
 }

 #sp_global_navi {
  display: none;
  position: fixed;
  z-index: 105;
  top: 0;
  /*right: -100%;*/
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 60px 20px 20px;
  background: rgba(255, 255, 255, 0.95);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  transition: 200ms visibility;
 }

 #sp_global_navi .global_nav {
  list-style: none;
 }

 #sp_global_navi .global_nav li {
  border-top: 1px solid var(--color-main);
 }

 #sp_global_navi .global_nav li:nth-last-of-type(1) {
  border-bottom: 1px solid var(--color-main);
 }

 #sp_global_navi .global_nav li ul li:nth-last-of-type(1) {
  border-bottom: none;
 }

 #sp_global_navi .global_nav a {
  display: block;
  position: relative;
  padding: 1.25rem 0 1.25rem 2rem;
  color: var(--color-main);
  line-height: 1.25;
  text-decoration: none;
 }

 #sp_global_navi .global_nav a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translate(0, -50%);
  border: transparent 5px solid;
  border-left-color: var(--color-main);
  border-right: none;
 }

 #sp_global_navi .global_nav a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: right;
  width: 100%;
  height: 100%;
  background: var(--color-accent-2);
  transition: 200ms transform;
 }

 #sp_global_navi .global_nav a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
 }

 #sp_global_navi .global_nav .sub-menu {
  list-style: none;
 }

 #sp_global_navi .global_nav .sub-menu li a {
  padding-left: 3.5rem;
 }

 #sp_global_navi .global_nav .sub-menu li a::before {
  top: 46%;
  left: 2rem;
  border: transparent 1px solid;
  border-left-color: var(--color-main);
  border-right: none;
  border-bottom-color: var(--color-main);
  width: 7px;
  height: 9px;
 }

 #sp_global_navi .global_nav li.gnav_btn a {
  color: #fff;
  background-color: #b7c900;
 }

 #sp_global_navi .global_nav li.gnav_btn a::before {
  border-left-color: #fff;
 }

 /* ドロップダウンつける場合は使用 */
 /*
	#sp_global_navi > ul > li a.DropDownBtn {
		color:#fff;
		background:#90c230 url(/common/img/module/header/sp_global_icon_dropdown.png) 0 50% no-repeat;
		border-bottom:#fff 1px solid;
	}
	#sp_global_navi > ul > li a.DropDownBtn.open {
		background:#90c230 url(/common/img/module/header/sp_global_icon_dropdown_open.png) 0 50% no-repeat;
	}
	#sp_global_navi > ul > li a:hover {
		text-decoration:none;
	}
	#sp_global_navi > ul > li > ul {
		display:none;
		width:100%;
		margin:0;
		padding:0;
	}
	#sp_global_navi > ul > li > ul li { border-left:#90c230 1em solid; }
	#sp_global_navi > ul > li > ul a {
		padding-left:3em;
		color:#99864c;
		border-color:#999;
		background:url(/common/img/module/header/sp_global_icon_sub.png) 0 50% no-repeat;
	}
	*/
}

@media print,
screen and (min-width:1025px) {
 #sp_global_navi {
  display: none;
 }
}

/* ---- */
/* main */
/* ---- */
main {
 display: block;
 position: relative;
 z-index: 1;
}

main,
main * {
 box-sizing: border-box;
}

/* ------ */
/* main p */
/* ------ */
main p {
 margin-top: 1em;
 margin-bottom: 1em;
 text-align: justify;
 text-justify: inter-ideograph;
}

main .section_area p:nth-of-type(1) {
 margin-top: 0;
}

main .section_area p:nth-last-child(1) {
 margin-bottom: 0;
}

/* ------------------ */
/* .section_area_wrap */
/* ------------------ */
main .section_area_wrap:nth-child(odd) {
 background-color: var(--color-bg-muted);
}

main .section_area_wrap:nth-child(even) {
 background: #fff;
}

/* ------------- */
/* .section_area */
/* ------------- */
.section_area {
 max-width: 1600px;
 margin: 0 auto;
}

.section_area+.section_area {
 padding-top: 0;
}

.section_area.style_02 {
 padding-right: 0;
 padding-left: 0;
}

@media screen and (max-width:767px) {
 .section_area {
  padding: 3rem 20px;
 }
}

@media print,
screen and (min-width:768px) {
 .section_area {
  padding: 6rem 2rem;
 }
}

/* --------------- */
/* .block_style_01 */
/* --------------- */
.block_style_01 {
 background-color: var(--color-bg-muted);
}

main .section_area_wrap:nth-child(odd)>.section_area>.block_style_01,
.block_style_01.style_02 {
 background: #fff;
}

@media screen and (max-width:767px) {
 .block_style_01 {
  padding: 20px;
 }
}

@media print,
screen and (min-width:768px) {
 .block_style_01 {
  padding: 2rem;
 }
}

/* ----------- */
/* .heading_02 */
/* ----------- */
.heading_02 {
 position: relative;
 padding-bottom: 1.5rem;
 color: var(--color-main);
 font-family: var(--font-family-heading);
 font-size: 2rem;
 font-weight: 400;
 line-height: 1.25;
 text-align: justify;
 text-justify: inter-ideograph;
 display: flex;
 justify-content: center;
}

.heading_02::after {
 content: "";
 display: block;
 position: absolute;
 bottom: 0;
 right: 50%;
 transform: translate(50%, 0);
 width: 40px;
 height: 2px;
 background-color: var(--color-accent-1);
}

@media screen and (max-width:767px) {
 .heading_02 {
  margin-bottom: 2.5rem;
 }
}

@media print,
screen and (min-width:768px) {
 .heading_02 {
  margin-bottom: 3rem;
 }

 .layout_01 .heading_02 {
  display: block;
 }
}

/* ----------- */
/* .heading_03 */
/* ----------- */
.heading_03 {
 color: #634323;
 font-family: var(--font-family-heading);
 font-size: 1.5rem;
 font-weight: 400;
 line-height: 1.25;
 text-align: justify;
 text-justify: inter-ideograph;
 display: flex;
 justify-content: center;
}

@media screen and (max-width:767px) {
 .heading_03 {
  margin-bottom: 1.25rem;
 }
}

@media print,
screen and (min-width:768px) {
 .heading_03 {
  margin-bottom: 1.5rem;
 }

 .heading_03.pc_style_02 {
  display: block;
 }

 .layout_01 .heading_03 {
  display: block;
 }
}

/* ----------- */
/* .heading_04 */
/* ----------- */
.heading_04 {
 color: var(--color-main);
 font-family: var(--font-family-heading);
 font-size: calc(1rem + 4px);
 font-weight: 400;
 text-align: justify;
 text-justify: inter-ideograph;
}

/* ------ */
/* .ul_01 */
/* ------ */
.ul_01 {
 margin-left: 1.5rem;
}

/* ------ */
/* .ol_01 */
/* ------ */
.ol_01 {
 margin-left: 1.5rem;
}


/* ----------- */
/* .ul_date_01 */
/* ----------- */
.ul_date_01 {
 list-style: none;
 margin: 0;
 padding: 0;
 text-align: justify;
 text-justify: inter-ideograph;
}

.ul_date_01 .date {
 display: block;
 /* width: 6.5em; */
 width: 9em;
}

.ul_date_01 .contents {
 display: block;
}

.ul_date_01 a {
 color: #333;
 text-decoration: none;
 transition: 200ms color;
}

.ul_date_01 a:hover {
 color: var(--color-main);
 text-decoration: underline;
}

@media screen and (max-width:767px) {
 .ul_date_01>li:not(:nth-of-type(1)) {
  margin-top: 1.5rem;
 }

 .ul_date_01 .contents {
  margin-top: 0.25rem;
  line-height: 1.25;
 }
}

@media print,
screen and (min-width:768px) {
 .ul_date_01>li {
  display: flex;
  width: 100%;
  margin: 1rem 0;
 }

 .archive_layout_01>.main_area ul.ul_date_01>li {
  display: list-item;
  padding-top: 1rem;
  border-top: 1px dotted #ccc;
 }

 .archive_layout_01>.main_area ul.ul_date_01>li:nth-of-type(1) {
  padding: 0;
  border: none;
 }

 .archive_layout_01>.sidebar ul.ul_date_01>li {
  display: list-item;
  padding-top: 1rem;
  border-top: 1px dotted #ccc;
  font-size: calc(1rem - 2px);
 }

 .ul_date_01 .contents {
  width: calc(100% - 6.5em);
 }

 .archive_layout_01>.main_area ul.ul_date_01 .contents {
  display: block;
  width: auto;
  margin-top: 0.25rem;
  line-height: 1.5;
 }

 .archive_layout_01>.sidebar ul.ul_date_01 .contents {
  display: block;
  width: auto;
  margin-top: 0.25rem;
  line-height: 1.5;
 }
}

/* ----------- */
/* .ul_date_02 */
/* ----------- */
.ul_date_02 {
 list-style: none;
 margin: 0;
 padding: 0;
 text-align: justify;
 text-justify: inter-ideograph;
}

.ul_date_02>li {
 margin: 1rem 0;
 padding-top: 1rem;
 border-top: 1px dotted #ccc;
}

.ul_date_02>li:nth-of-type(1) {
 padding: 0;
 border: none;
}

.ul_date_02 .date {
 display: block;
}

.ul_date_02 .contents {
 display: block;
 margin-top: 0.25rem;
 line-height: 1.5;
}

.ul_date_02 a {
 color: #333;
 text-decoration: none;
 transition: 200ms color;
}

.ul_date_02 a:hover {
 color: var(--color-main);
 text-decoration: underline;
}

@media print,
screen and (min-width:768px) {
 .ul_date_02 .date {
  font-size: calc(1rem - 2px);
 }
}

/* ------ */
/* .hr_01 */
/* ------ */
.hr_01 {
 clear: both;
 margin: 2rem auto;
 padding: 0;
 background: none;
 border: none;
 border-bottom: 1px solid #ccc;
 line-height: 0;
}

.hr_01.style_02 {
 margin-top: 4rem;
 margin-bottom: 4rem;
}

/* ------- */
/* .btn_01 */
/* ------- */
.btn_01 {
 display: block;
 position: relative;
 padding: 1rem 1rem;
 overflow: hidden;
 border: none;
 border-radius: 2px;
 background: var(--color-main);
 font-size: 1rem;
 color: #fff;
 line-height: 1.25;
 text-align: center;
 text-decoration: none;
}

.btn_01.style_02 {
 max-width: 472px;
 margin-right: auto;
 margin-left: auto;
}

input.btn_01 {
 transition: 200ms background;
 cursor: pointer;
}

input.btn_01:hover {
 background-color: rgb(var(--color-main-rgb), 0.8);
}

.btn_01::after {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 transform: scaleX(0);
 transform-origin: right;
 width: 100%;
 height: 100%;
 background: rgba(255, 255, 255, 0.25);
 transition: 200ms transform;
}

.btn_01:hover::after {
 transform: scaleX(1);
 transform-origin: left;
}

.btn_01>.inner {
 position: relative;
 z-index: 2;
}

@media screen and (max-width:767px) {
 .form_btn_area .btn_01 {
  width: 120px;
 }
}

@media print,
screen and (min-width:768px) {
 .form_btn_area .btn_01 {
  width: 40%;
 }
}

/* --------- */
/* .table_01 */
/* --------- */
.table_01 {
 border-collapse: collapse;
}

/* メールフォーム用の設定 */
.table_01 .status {
 display: inline-block;
 margin-left: 1em;
 padding: 0.15em 0.5em;
 background: #999;
 font-size: 80%;
 font-weight: normal;
}

.table_01 .status.hissu {
 background: #ef7070;
 color: #fff;
}

.table_01 .status.ninni {
 background: #6a82b7;
 color: #fff;
}

.table_01 .explanation {
 margin-top: 0.5rem;
 font-size: calc(1rem - 2px);
}

.mw_wp_form_confirm .table_01 .explanation,
.mw_wp_form_preview .table_01 .explanation,
.mw_wp_form_preview .table_01 .td_status,
.mw_wp_form_preview .table_01 .confirm {
 display: none !important;
}

@media screen and (max-width:767px) {

 .table_01,
 .table_01>tbody,
 .table_01>tbody>tr,
 .table_01>tbody>tr>th,
 .table_01>tbody>tr>td {
  display: block;
 }

 .table_01 {
  border-top: 1px solid #ccc;
 }

 .table_01>tbody>tr>th {
  padding-top: 1rem;
  text-align: left;
 }

 .table_01.table_form>tbody>tr>th {
  display: inline-block;
 }

 .table_01>tbody>tr>td {
  margin-top: 0.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
  line-height: 1.25;
 }

 .table_01.table_form>tbody>tr>td.td_status {
  display: inline-block;
  margin-top: 0.85rem;
  padding-bottom: 0;
  border: none;
 }
}

@media print,
screen and (min-width:768px) {

 .table_01>tbody>tr>th,
 .table_01>tbody>tr>td {
  padding: 1rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
 }

 .table_01>tbody>tr>th {
  text-align: left;
 }

 .table_01.th_nowrap>tbody>tr>th {
  white-space: nowrap;
 }

 .table_01.th_nowrap>tbody>tr>td {
  width: 100%;
 }

 /* メールフォーム用の設定 */
 .table_01>tbody>tr>td.td_status {
  width: auto;
  white-space: nowrap;
 }
}

/* ------------ */
/* .table_hours */
/* ------------ */
.table_hours {
 border-collapse: collapse;
 line-height: 1.5;
}

.table_hours th,
.table_hours td {
 border: 1px solid #ccc;
}

.table_hours thead th,
.table_hours thead td {
 font-weight: normal;
 text-align: center;
}

.table_hours thead td,
.table_hours tbody td {
 min-width: 2.2em;
 text-align: center;
}

.table_hours thead td {
 white-space: nowrap;
}

.table_hours tbody th {
 font-weight: normal;
 text-align: center;
}

.table_hours tbody td {
 text-align: center;
}

.table_hours tbody td::after {
 content: "●";
 color: var(--color-main);
}

.table_hours tbody td.holiday::after {
 content: "休";
 color: #ff6666;
}

.table_hours tbody td.no_date::after {
 content: "―";
}

@media screen and (max-width:767px) {
 .table_hours {
  width: 100%;
 }

 .table_hours th,
 .table_hours td {
  padding: 0.5rem 0;
 }

 .table_hours thead td {
  padding-right: 0.1rem;
  padding-left: 0.1rem;
 }

 .table_hours tbody th {
  padding-right: 0.2rem;
  padding-left: 0.2rem;
 }
}

@media print,
screen and (min-width:768px) {
 .table_hours {
  width: 100%;

  table-layout: fixed;
 }

 #footer_hours .table_hours {
  max-width: 464px;
 }

 .table_hours th,
 .table_hours td {
  padding: 0.5rem 0;
 }
}

/* -------------- */
/* .font_small_01 */
/* -------------- */
.font_small_01 {
 font-size: calc(1rem - 2px);
}

/* -------------- */
/* .font_small02 */
/* -------------- */
.font_small_02 {
 font-size: calc(1rem - 4px);
}

/* -------------- */
/* .font_large_01 */
/* -------------- */
.font_large_01 {
 font-size: calc(1rem + 2px);
}

/* -------------- */
/* .font_large_02 */
/* -------------- */
.font_large_02 {
 font-size: calc(1rem + 4px);
}

/* -------------- */
/* .font_large_03 */
/* -------------- */
.font_large_03 {
 font-size: calc(1rem + 6px);
}

/* -------------- */
/* .font_large_04 */
/* -------------- */
.font_large_04 {
 font-size: calc(1rem + 8px);
}

/* ------------ */
/* .flex_center */
/* ------------ */
.flex_center {
 width: 100%;
 display: flex;
 justify-content: center;
}

/* ---------------- */
/* .anchor_point_01 */
/* ---------------- */
@media screen and (max-width:767px) {
 .anchor_point_01 {
  margin-top: -60px;
  padding-top: 60px;
 }
}

@media print,
screen and (min-width:768px) {
 .anchor_point_01 {
  margin-top: -52px;
  padding-top: 52px;
 }
}

/* ------------------- */
/* .attention_block_01 */
/* ------------------- */
.attention_block_01 {
 border: 2px solid #ef7070;
}

@media screen and (max-width:767px) {
 .attention_block_01 {
  padding: 20px;
 }
}

@media print,
screen and (min-width:768px) {
 .attention_block_01 {
  padding: 2rem;
 }
}

/* ------ */
/* footer */
/* ------ */
footer,
footer * {
 box-sizing: border-box;
}

/* .footer_hr {
 box-sizing: border-box;
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 2rem;
 border-top: 1px solid var(--color-bg-light);
} */
.footer_hr {
 box-sizing: border-box;
 /* max-width: 1200px;
 margin: 0 auto; */
 margin: 0;
 padding: 0;
 border-top: 1px solid var(--color-bg-light);
}

/* ----------- */
/* #footer_map */
/* ----------- */
#footer_map {
 line-height: 0;
}

#footer_map iframe {
 width: 100%;
}

@media screen and (max-width:767px) {
 #footer_map iframe {
  height: 260px;
 }
}

@media print,
screen and (min-width:768px) {
 #footer_map iframe {
  height: 400px;
 }
}

/* --------------- */
/* #footer_address */
/* --------------- */
#footer_address {
 position: relative;
 top: 0;
 left: 0;
 z-index: 0;
 overflow: hidden;
}

#footer_address::before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 width: 100%;
 height: 100%;
 background-image: url('images/footer_bg.jpg');
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
 background-color: var(--color-main);
 filter: blur(2px);
}

#footer_address::after {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 0;
 width: 100%;
 height: 100%;
 background-color: var(--color-accent-2);
 opacity: 0.6;
}

#footer_address>.inner {
 position: relative;
 inset: 0;
 z-index: 3;
}

@media screen and (max-width:767px) {
 #footer_address>.inner {
  padding: 3rem 20px;
 }

 #footer_address .logo_area {
  width: 100%;
  max-width: 314px;
  margin: 0 auto;
 }

 #footer_address .detail_area {
  margin-top: 1.5rem;
 }

 #footer_address .access {
  margin-top: 1.5rem;
 }

 #footer_address .access .heading {
  font-weight: bold;
  font-size: calc(1rem + 2px);
 }
}

@media print,
screen and (min-width:768px) {
 #footer_address>.inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 2rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
 }

 #footer_address .logo_area {
  width: 374px;
  margin: 1.0rem;
 }

 #footer_address .detail_area {
  margin: 1.0rem;
 }

 #footer_address .access {
  margin-top: 0.5rem;
  display: flex;
 }
}

/* ------------- */
/* #footer_hours */
/* ------------- */
#footer_hours .heading {
 color: var(--color-main);
 font-size: 1.5rem;
 font-family: var(--font-family-heading);
}

@media screen and (max-width:767px) {
 #footer_hours>.inner {
  padding: 3rem 20px;
 }

 #footer_hours>.inner>.contents_block:nth-of-type(2) {
  margin-top: 2rem;
 }

 #footer_hours .heading {
  margin-bottom: 1rem;
  line-height: 1.5;
  text-align: center;
 }
}

@media print,
screen and (min-width:768px) {
 #footer_hours>.inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 3rem 1rem;
  display: flex;
  justify-content: center;
 }

 #footer_hours>.inner>.contents_block {
  margin: 1rem;
 }

 #footer_hours .heading {
  margin-bottom: 1rem;
  line-height: 1.5;
 }
}

/* -------------- */
/* #footer_bottom */
/* -------------- */
#footer_bottom {
 background: rgb(var(--color-main-dark-rgb), 1);
 color: #fff;
}

#footer_bottom .bnr_area a {
 display: block;
 background: #fff;
}

#footer_bottom .bnr_area img {
 transition: 200ms opacity;
}

#footer_bottom .bnr_area a:hover img {
 opacity: 0.5;
}

@media screen and (max-width:767px) {
 #footer_bottom>.inner {
  padding: 3rem 20px;
 }

 #footer_bottom .bnr_area {
  list-style: none;
  width: calc(100% + 20px);
  margin-top: -10px;
  margin-left: -10px;
  display: flex;
  flex-wrap: wrap;
 }

 #footer_bottom .bnr_area li {
  max-width: 180px;
  margin: 10px;
  text-align: center;
 }

 #footer_bottom .footer_nav {
  list-style: none;
  margin-top: 2.0rem;
 }

 #footer_bottom .footer_nav li {
  border-top: 1px solid #fff;
 }

 #footer_bottom .footer_nav li:nth-last-of-type(1) {
  border-bottom: 1px solid #fff;
 }

 #footer_bottom .footer_nav a {
  display: block;
  position: relative;
  padding: 1.25rem 0 1.25rem 2rem;
  color: #fff;
  line-height: 1.25;
  text-decoration: none;
 }

 #footer_bottom .footer_nav a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translate(0, -50%);
  border: transparent 5px solid;
  border-left-color: #fff;
  border-right: none;
 }

 #footer_bottom .footer_nav a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transform: scaleX(0);
  transform-origin: right;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  transition: 200ms transform;
 }

 #footer_bottom .footer_nav a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
 }

 #footer_bottom .copy {
  display: block;
  margin-top: 2rem;
  font-size: calc(1rem - 4px);
 }
}

@media screen and (max-width:420px) {
 #footer_bottom .bnr_area li {
  width: calc(50% - 20px);
 }
}

@media print,
screen and (min-width:421px) and (max-width:620px) {
 #footer_bottom .bnr_area li {
  width: calc(100% / 3 - 20px - 0.1px);
 }
}

@media print,
screen and (min-width:621px) and (max-width:820px) {
 #footer_bottom .bnr_area li {
  width: calc(25% - 20px);
 }
}

@media print,
screen and (min-width:768px) {
 #footer_bottom>.inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 3rem 2rem;
 }

 #footer_bottom .bnr_area {
  list-style: none;
  width: calc(100% + 1%);
  margin-top: -0.5%;
  margin-left: -0.5%;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
 }

 #footer_bottom .bnr_area li {
  width: 180px;
  margin: 0.5%;
 }

 #footer_bottom .footer_nav {
  list-style: none;
  margin-top: 2rem;
  line-height: 1.25;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
 }

 #footer_bottom .footer_nav li {
  position: relative;
  margin: 0.5rem 0;
  padding: 0.1rem 1rem;
 }

 #footer_bottom .footer_nav li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 100%;
  background: #fff;
 }

 #footer_bottom .footer_nav li::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: #fff;
 }

 #footer_bottom .footer_nav a {
  color: #fff;
  text-decoration: none;
 }

 #footer_bottom .footer_nav a:hover {
  color: var(--color-accent-2);
 }

 #footer_bottom .copy {
  display: block;
  margin-top: 2rem;
  font-size: calc(1rem - 4px);
  text-align: center;
 }
}

@media print,
screen and (min-width:768px) and (max-width:1024px) {

 /*バナーの数が5以上になる場合は「.tb_num5」を同時に指定してください。*/
 #footer_bottom .bnr_area.tb_num5 {
  margin: 0 auto;
  justify-content: flex-start;
 }

 #footer_bottom .bnr_area.tb_num5 li {
  width: calc(20% - 1%);
  max-width: 180px;
 }
}

@media print,
screen and (min-width:1025px) {

 /*バナーの数が7以上になる場合は「.pc_num7」を同時に指定してください。*/
 #footer_bottom .bnr_area.pc_num7 {
  max-width: 1360px;
  margin: 0 auto;
  justify-content: flex-start;
 }

 #footer_bottom .bnr_area.pc_num7 li {
  width: calc(100% / 7 - 1% - 0.1px);
  max-width: 180px;
 }
}

/* --------- */
/* #page_top */
/* --------- */
#page_top {
 position: fixed;
 bottom: 0px;
 right: 0;
 display: none;
 z-index: 10;
}

#page_top a.Pagetop {
 display: block;
 position: relative;
 padding: 0;
 background: rgba(0, 0, 0, 0.25);
 transition: 200ms background;
}

#page_top a.Pagetop img {
 position: absolute;
 top: 50%;
 right: 50%;
 transform: translate(50%, -50%);
}

#page_top a.Pagetop:hover {
 background: rgba(0, 0, 0, 0.5);
}

#page_top a.Pagetop:hover::after {
 opacity: 0.6;
}

#page_top a.Pagetop img {
 position: relative;
 z-index: 1;
}

@media screen and (max-width:767px) {
 #page_top a.Pagetop {
  width: 44px;
  height: 44px;
 }
}

@media print,
screen and (min-width:768px) {
 #page_top a.Pagetop {
  width: 48px;
  height: 48px;
 }
}

/* ---- */
/* LAST */
/* ---- */

.wpcf7-submit:disabled:hover,
.wpcf7-submit:disabled{
 background-color: #cfcfcf;
}