/*
Theme Name: m-lab
Theme URL:
Description:
Author: スリーグッド鹿児島
Version: 1.0
Tags:
License:
License URI:
Template:
*/

/* --------------------------
    variables
-------------------------- */
:root {
    --content-width: 1150px;
    --middle-width: 960px;
    --narrow-width: 800px;
    --wide-width: 1200px;
    --color: #333;
    --color-red: #af4745;
    --color-red-light: #ffeeee;
    --color-red-pale: #f4e0d5;
    --color-red-pale2: #fff5f0;
    --color-beige-pale: #fcf9f5;
    --color-blue: #004380;
    --line-height: 2;
    --font-size: 16px;
    --font-size-sp: 16px;
    --letter-spacing: 1px;
    --font-family: 'Montserrat Regular', 'Montserrat', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    --display-font: 'Montserrat Regular', 'Montserrat', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    --serif-font: '游明朝', 'YuMincho', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	--ornament-issue1: url(/wp-content/themes/m-lab/src/fix/meikai-ornament-issue1.svg);
	--ornament-issue2: url(/wp-content/themes/m-lab/src/fix/meikai-ornament-issue2.svg);
	--ornament-issue3: url(/wp-content/themes/m-lab/src/fix/meikai-ornament-issue3.svg);
	--ornament-issue4: url(/wp-content/themes/m-lab/src/fix/meikai-ornament-issue4.svg);
	--ornament-issue5: url(/wp-content/themes/m-lab/src/fix/meikai-ornament-issue5.svg);
    --icon-arrow: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY0IDMyIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogI2EyNGU0OTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSI2NCAyOS4yMTQgMCAyOS4yMTQgMCAyNi42NDMgNTcuNDA3IDI2LjY0MyAzMy41MTQgNC42NzkgMzUuMjU0IDIuNzg2IDY0IDI5LjIxNCIvPgo8L3N2Zz4=);
    --icon-swipe-white: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTQuMSw1LjdsMS4yLDEuMmMuMi4yLjIuMy4yLjVzMCwuNC0uMi41LS4zLjItLjUuMi0uNCwwLS41LS4ybC0yLjMtMi4zYy0uMi0uMi0uMy0uNC0uMy0uN3MuMS0uNS4zLS43bDIuMy0yLjNjLjItLjIuMy0uMi41LS4ycy40LDAsLjUuMi4yLjMuMi41LDAsLjQtLjIuNWwtMS4yLDEuMmgzLjVjLjIsMCwuNCwwLC41LjJzLjIuMy4yLjUsMCwuNC0uMi41LS4zLjItLjUuMmgtMy41Wk0xMy45LDUuN2gtMy41Yy0uMiwwLS40LDAtLjUtLjJzLS4yLS4zLS4yLS41LDAtLjQuMi0uNS4zLS4yLjUtLjJoMy41bC0xLjItMS4yYy0uMi0uMi0uMi0uMy0uMi0uNXMwLS40LjItLjUuMy0uMi41LS4yLjQsMCwuNS4ybDIuMywyLjNjLjIuMi4zLjQuMy43cy0uMS41LS4zLjdsLTIuMywyLjNjLS4yLjItLjMuMi0uNS4ycy0uNCwwLS41LS4yLS4yLS4zLS4yLS41LDAtLjQuMi0uNWwxLjItMS4yWk0xMS4zLDIzYy0uNCwwLS44LDAtMS4yLS4ycy0uNy0uNC0xLS43bC00LjQtNC40Yy0uMi0uMi0uMy0uNC0uMy0uN3MuMS0uNS4zLS43LjYtLjQuOS0uNS43LDAsMS4xLDBsMS43LjVWOGMwLS4zLDAtLjUuMy0uN3MuNC0uMy43LS4zLjUsMCwuNy4zLjMuNC4zLjd2N2gxdi0zYzAtLjMsMC0uNS4zLS43LjItLjIuNC0uMy43LS4zcy41LDAsLjcuM2MuMi4yLjMuNC4zLjd2M2gxdi0yYzAtLjMsMC0uNS4zLS43cy40LS4zLjctLjMuNSwwLC43LjMuMy40LjMuN3YyaDFjMC0uMywwLS41LjMtLjdzLjQtLjMuNy0uMy41LDAsLjcuMy4zLjQuMy43djRjMCwxLjEtLjQsMi0xLjIsMi44LS44LjgtMS43LDEuMi0yLjgsMS4yaC00LjJaIi8+Cjwvc3ZnPg==);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 2em;
}

body {
  font-size: var(--font-size);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  font-family: var(--font-family);
  font-weight: 400;
  opacity: 1;
  transition: opacity 1s ease 0.5s;
}

body.hide {
  opacity: 0;
  transition: opacity 1s ease 0.5s;
}

body.admin {
  margin-top: 32px;
}

@media all and (max-width: 768px) {
	body {
		font-size: var(--font-size-sp);
	}
}

p {
  text-align: justify;
  text-justify: inter-ideograph;
}

main.page {
  display:block;
  padding-top: 80px;
}

h2 {
	letter-spacing: 0.1em;
}

.lozad > * {
	opacity: 0;
	transform: translatey(100px);
}

.lozad-single {
	opacity: 0;
	transform: translatey(100px);
}

.lozad-show {
	opacity: 1;
	transform: translatey(0);
	transition: all 1s ease;
}


/* --------------------------
    common
-------------------------- */
.content-width {
	margin: 0 auto;
	width: 100%;
	max-width: var(--content-width);
}

.middle-width {
	margin: 0 auto;
	width: 100%;
	max-width: var(--middle-width);
}

.narrow-width {
	margin: 0 auto;
	width: 100%;
	max-width: var(--narrow-width);
}

.section-padding {
	padding: 4em 1em;
}

.button-wrap2 {
	margin-top: 2em;
}

.button-wrap2.center {
	text-align: center;
}

.button-arrow {
	display: inline-block;
	border: 1px solid var(--color-red);
	padding: 0.25lh 2lh 0.25lh 1lh;
	border-radius: 0.75lh;
	color: var(--color-red);
	text-decoration: none;
	position: relative;
	transition: all 0.3s ease;
}

.button-arrow:hover {
	background-color: var(--color-red-pale2);
	transition: all 0.3s ease;
}

.button-arrow:before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	border: 1px solid var(--color-red);
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}

.button-arrow:hover:before {
	right: 0.75em;
	transition: all 0.3s ease;
}

.button-arrow:after {
	content: '';
	display: block;
	width: 0.325em;
	height: 0.325em;
	border-top: 1px solid var(--color-red);
	border-right: 1px solid var(--color-red);
	position: absolute;
	top: 50%;
	right: 1.45em;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease;
}

.button-arrow:hover:after {
	right: 1.2em;
	transition: all 0.3s ease;
}

.heading-en {
	display: flex;
	flex-flow: column;
	font-size: 1em;
	font-weight: 500;
	margin-bottom: 2em;
}

.heading-en:before {
	content: attr(data-text);
	font-family: var(--display-font);
	font-size: 2.25em;
	font-weight: 500;
	line-height: 1;
	margin-bottom: calc(1em / 2);
}

.heading-en.center {
	align-items: center;
}

.heading-en > div > span {
	display: inline-block;
	color: var(--color-red);
	border: 1px solid var(--color-red);
	padding: 0 0.5em;
	margin-left: 0.5em;
}

.button-more {
	display: inline-block;
	border: 1px solid var(--color-red);
	padding: 0.25lh 1lh;
	border-radius: 0.75lh;
	color: var(--color-red);
	text-decoration: none;
	font-size: clamp(0.875em, 2vw, 1em);
	position: relative;
	transition: all 0.3s ease;
}

.button-more.reverse {
	background-color: var(--color-red);
	color: #fff;
}

.button-more.blue {
	border: 1px solid var(--color-blue);
	color: var(--color-blue);
}

.button-more.blue.reverse {
	background-color: var(--color-blue);
	color: #fff;
}

.button-more:hover {
	background-color: var(--color-red);
	color: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
	text-decoration: none;
	transition: all 0.3s ease;
}

.button-more.reverse:hover {
	background-color: #fff;
	color: var(--color-red);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
	text-decoration: none;
	transition: all 0.3s ease;
}

.button-more.blue:hover {
  background-color: var(--color-blue);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.3s ease;
}

.button-more.reverse.blue:hover {
	background-color: #fff;
	color: var(--color-blue);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
	text-decoration: none;
	transition: all 0.3s ease;
}

.button-no-border {
	text-align: right;
	color: var(--color-red);
	padding-right: 3em;
	position: relative;
}

.button-no-border:before {
	content: '';
	display: block;
	width: 1.5em;
	height: 0.75em;
	background-image: var(--icon-arrow);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.col2 {
	display: flex;
	justify-content: space-between;
}

.col2 > div {
	width: calc(50% - 1em);
}

.mt1 {
	margin-top: 1em;
}

.mt2 {
	margin-top: 2em;
}

.mt4 {
	margin-top: 4em;
}

.mb0 {
	margin-bottom: 0;
}

.mb1 {
	margin-bottom: 1em;
}

.mb2 {
	margin-bottom: 2em;
}

.mb4 {
	margin-bottom: 4em;
}

.aspect1-1 {
	padding-top: 100%;
	background-color: #eee;
	position: relative;
}

.aspect3-2 {
	padding-top: calc(100% / 3 * 2);
	background-color: #eee;
	position: relative;
}

.aspect1-1 > img,
.aspect3-2 > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

.bg-red-pale {
	background-color: var(--color-red-pale);
}

.clearfix {
	clear: both;
}

a.download {
  padding: 0.75em 3em 0.75em 1.5em;
  border: 1px solid var(--color-red);
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: var(--color-red);
  color: #fff;
  transition: all 0.3s ease;
	position: relative;
}

a.download:before {
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	font-weight: 700;
	position: absolute;
	right: 1.5em;
	top: 50%;
	transform: translateY(-50%);
}

a.download:hover {
  background-color: #fff;
  color: var(--color-red);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.3s ease;
}

#page-header.gradient,
#page-header.gradient2 {
  padding: 4rem 1rem;
	position: relative;
	overflow: hidden;
}

#page-header.image {
  padding: 20rem 1rem;
	position: relative;
	overflow: hidden;
}

#page-header.image:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	background-image: url(/wp-content/uploads/2019/02/meikai-page-header2.jpg);
	background-size: cover;
  animation: page-header 3s ease forwards;
	z-index: -1;
}

#page-header.gradient:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	background: linear-gradient(to right, #cd4745, #cd4745, #d38542);
	z-index: -1;
}

#page-header.gradient2:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	background: linear-gradient(to right, #014481, #014f96, #0562b7, #4694d4, #4ea5ed);
	z-index: -1;
}

@keyframes page-header {
	0% {
		transform: scale(1.2);
	}
	100% {
		transform: scale(1);
	}
}

#page-header.gradient > div,
#page-header.gradient2 > div,
#page-header.image > div {
  text-align: center;
}

#page-header.gradient > div > h1,
#page-header.gradient2 > div > h1,
#page-header.image > div > h1 {
  display: inline-block;
  background-color: #fff;
  padding: 1em 2em;
  margin: 0 1em;
  color: #333;
  font-size: 24px;
}

/* #page-header.gradient > div > h1.red {
  border-top: 5px solid #af4745;
}

#page-header.gradient > div > h1.yellow {
  border-top: 5px solid #bea136;
}

#page-header.gradient > div > h1.blue {
  border-top: 5px solid #004380;
} */

#page-header.gradient > div .sub-title,
#page-header.gradient2 > div .sub-title,
#page-header.image > div .sub-title {
  font-size: 14px;
}

@media all and (max-width: 768px) {
	#page-header.gradient,
	#page-header.gradient2 {
		padding: 1.5rem 1rem;
	}
	
	#page-header.image {
		padding: 1.5rem 1rem;
	   background: linear-gradient(to right, #cd4745, #cd4745, #d38542);
		background-image: none;
	}
	
	#page-header.image:before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		position: absolute;
		background: linear-gradient(to right, #cd4745, #cd4745, #d38542);
		z-index: -1;
	}
}

#page-content-wrap {
  width: 100%;
  max-width: 1150px;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  align-items: flex-start;
}

#page-content-wrap.no-sidebar {
	width: 100%;
	max-width: unset;
}

#page-content {
  width: calc(100% - 290px - 45px);
  padding: 2rem 1rem;
}

#page-content-wrap.no-sidebar > #page-content {
	width: 100%;
	padding: 0;
}


#sidebar {
  width: 290px;
  padding: 2rem 0;
  top: calc(80px + 1rem);
  position: -webkit-sticky;
  position: sticky;
}

#sidebar .column-banner {
  display: flex;
  border: 3px solid #af4745;
  background-color: #fff;
  padding: 0 0 0 20px;
  position: relative;
  font-weight: 700;
  color: #444;
  font-size: 16px;
  line-height: 1.5rem;
  text-align: left;
  align-items: center;
  justify-content: space-around;
}

#sidebar .column-banner:before {
  content: '';
  width: 48px;
  height: 48px;
  background-image: url(/wp-content/uploads/2019/01/cross.png);
  background-size: cover;
  position: absolute;
  top: 50%;
  margin-top: -24px;
  left: 1rem;
  animation: cross 5s ease infinite;
}

#sidebar .column-banner:after {
  content: '';
  width: 100%;
  height: 100%;
  border: 3px solid #af4745;
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: -1;
}

#sidebar .sidebar-heading {
  padding: 5px 0;
  border-bottom: 1px solid #af4745;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#sidebar .sidebar-heading > h2 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #333;
}

#sidebar .sidebar-heading > a {
  text-decoration: none;
  color: #666;
  font-size: 14px;
}

#sidebar .sidebar-blog-list {
  list-style-type: none;
  margin-bottom: 4rem;
}

#sidebar .sidebar-blog-list li {
  padding: 1rem 0;
  border-bottom: 1px solid #ccc;
}

#sidebar .sidebar-blog-list a {
  display: flex;
  text-decoration: none;
  color: #333;
}

#sidebar .sidebar-blog-list a > div {
  width: 80px;
  height: 60px;
  background-color: #eee;
  margin-right: 10px;
  background-position: center;
  background-size: cover;
}

#sidebar .sidebar-blog-list a > h3 {
  font-size: 14px;
  width: 68%;
}

#sidebar .category-list {
  list-style-type: none;
  padding: 1rem;
  margin-bottom: 2rem;
}

#sidebar .category-list a {
  color: #444;
  text-decoration: none;
  display: block;
  margin-bottom: 0.5em;
}

#sidebar .category-list a:hover {
  color: #666;
  text-decoration: underline;
}

#sidebar .sidebar-heading2 {
  color: #333;
  text-align: center;
  font-size: 20px;
  padding: 1rem;
  border: 2px solid #333;
}

#sidebar .seminar-list {
  list-style-type: none;
  margin: 1rem 0 2rem 0;
}

#sidebar .seminar-list li {
  border-bottom: 1px solid #ccc;
}

#sidebar .seminar-list li a {
  text-decoration: none;
  color: #444;
  padding: 0.5rem 0;
  display: block;
  opacity: 1;
  transition: all 0.3s ease;
}

#sidebar .seminar-list li a .date {
  color: #888;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2px;
}

#sidebar .seminar-list li a:hover {
  opacity: 0.5;
  transition: all 0.3s ease;
}

#sidebar .seminar-list li a h3 {
  font-weight: 700;
	font-size: 0.875em;
}

#sidebar .seminar-list > li > a h3[data-vacancy],
#sidebar .seminar-list > li > a h3[data-vacancy] {
	display: flex;
	align-items: center;
}

#sidebar .seminar-list > li > a h3[data-vacancy]:before,
#sidebar .seminar-list > li > a h3[data-vacancy]:before {
	content: attr(data-vacancy);
	background-color: #af4745;
	color: #fff;
	font-size: 0.75em;
	white-space: nowrap;
	padding: 0.25em 1em;
	border-radius: 0.25em;
	margin-right: 1em;
}

@media all and (max-width: 768px){
  #page-header > div > h1 {
    font-size: 18px;
  }

  #page-content-wrap {
    flex-flow: column;
  }

  #page-content {
    width: 100%;
    margin-bottom: 2rem;
  }

	#page-content-wrap #sidebar {
		display: none;
	}

  #sidebar {
    width: 100%;
    padding: 1rem;
  }
}

#slider {
  margin-top: 160px;
  text-align: center;
}

#slider .slider-pc {
  width: 100%;
  max-width: 1260px;
}

#slider .slider-sp {
  display: none;
  width: 100%;
  max-width: 375px;
  margin: 0;
}

#slider p {
  display: none;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  padding: 0.5rem 1rem;
}

@media all and (max-width: 1024px) {
  #slider {
    margin-top: 80px;
  }
}

@media all and (max-width: 768px) {
  #slider .slider-pc {
    display: none;
  }

  #slider .slider-sp {
    display: inline-block;	
  }

  #slider p {
    display: block;
  }
}

#slider2 {
  margin-top: 160px;
}

#slider2 > ul {
	list-style-type: none;
}

#slider2 li {
	display: flex !important;
	justify-content: space-between;
}

#slider2 .slick-track > div:nth-of-type(2) li,
#slider2 .slick-track > div:nth-of-type(3) li,
#slider2 .slick-track > div:nth-of-type(4) li {
	flex-flow: row-reverse;
}

#slider2 li > div:last-of-type {
	background-color: #ccc;
	width: 80%;
	padding-top: 50%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#slider2 li > div:first-of-type {
	width: 20%;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-orientation: upright;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2vw;
	letter-spacing: 0.25em;
	line-height: 2;
	font-weight: 700;
	position: relative;
}

#slider2 li > div:first-of-type .double-quote:before {
	content: '”';
	display: inline-block;
	width: 1em;
	height: 0.75em;
	position: relative;
	left: 0.5em;
}

#slider2 li > div:first-of-type .double-quote:after {
	content: ' “';
	display: inline-block;
	width: 1em;
	height: 1em;
	position: relative;
	top: -0.25em;
	right: 0.5em;
}

#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type {
	writing-mode: horizontal-tb;
	-ms-writing-mode:lr-tb;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: flex-start;
	line-height: 1.75;
}

#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(1) {
/* 	position: absolute;
	margin-top: -14em;
	left: 6vw; */
	white-space: nowrap;
	font-size: 1.5vw;
	margin-left: 9vw;
}

#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(2) {
/* 	position: absolute;
	margin-top: -5em;
	left: 6vw; */
	font-size: 2.5vw;
	white-space: nowrap;
	margin-left: 9vw;
}

#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(3) {
/* 	position: absolute;
	margin-top: -1em;
	left: 6vw; */
	white-space: nowrap;
	font-size: 1.5vw;
	margin-left: 9vw;
}

@media all and (max-width: 1024px) {
  #slider2 {
    margin-top: 80px;
  }
}

@media all and (max-width: 768px) {
	#slider2.test .slick-track > div:nth-of-type(1) li,
	#slider2.test .slick-track > div:nth-of-type(2) li,
	#slider2.test .slick-track > div:nth-of-type(3) li,
	#slider2.test .slick-track > div:nth-of-type(4) li,
	#slider2.test .slick-track > div:nth-of-type(5) li {
		flex-flow: column-reverse;
	}
	
	#slider2.test li > div:first-of-type {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	#slider2.test li > div:last-of-type {
		width: 100%;
	}
	
	#slider2.test p {
		display: inline-block;
		background-color: #fff;
		padding: 0.5em;
		margin: 0.5em;
		font-size: 3vw;
	}
	
	#slider2.test .slick-track > div:nth-of-type(5) li > div:first-of-type {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		padding: 2vw;
	}
	
	#slider2.test .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(1) {
/* 		position: static;
		margin-top: 0;
		left: 0; */
		font-size: 3vw;
		margin-left: 12vw;
	}
	
	#slider2.test .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(2) {
/* 		position: static;
		margin-top: 0;
		left: 0; */
		font-size: 3vw;
		margin-left: 12vw;
	}
	
	#slider2.test .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(3) {
/* 		position: static;
		margin-top: 0;
		left: 0; */
		font-size: 3vw;
		margin-left: 12vw;
	}
	

	#slider2 li > div:first-of-type {
		font-size: 3vw;
	}
	
	#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(1) {
		font-size: 3vw;
/* 		left: 3em;
		margin-top: -5em; */
		line-height: 1.75;
	}
	
	#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(2) {
		font-size: 4vw;
/* 		left: 9vw;
		margin-top: -2.25em; */
		line-height: 1.75;
	}
	
	#slider2 .slick-track > div:nth-of-type(5) li > div:first-of-type > p:nth-of-type(3) {
		font-size: 3vw;
/* 		left: 3em;
		margin-top: 0; */
		line-height: 1.75;
	}
}

#top-main-banner {
	margin-top: 160px;
	overflow: hidden;
}

#top-main-banner > div {
	max-width: 1150px;
	width: 100%;
	margin: 0 auto;
}

#top-slider .swiper-slide {
	width: 100%;
	padding-top: 50%;
	position: relative;
	overflow: hidden;
}

#top-slider .swiper-slide > picture {
	width: 100%;
	height: 100%;
}

#top-slider .swiper-slide > picture > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: brightness(0.7);
	position: absolute;
	top: 0;
	left: 0;
}

#top-slider .swiper-slide-active > picture > img,
#top-slider .swiper-slide-duplicate-active > picture > img {
	transform: scale(1.1);
	transition: transform 7s linear;
}

#top-slider .swiper-slide-prev > picture > img,
#top-slider .swiper-slide-duplicate-prev > picture > img {
	transform: scale(1.1);
}

#top-slider .swiper-slide > img {
	object-fit: contain;
	object-position: center;
	position: absolute;
	bottom: 6%;
	left: 4%;
}

#top-slider .swiper-slide > div {
	display: flex;
	flex-flow: column;
	font-size: clamp(1.5em, 3vw, 2em);
	font-weight: 700;
	white-space: nowrap;
	line-height: 3;
	color: #fff;
	position: absolute;
	z-index: 1;
}

#top-slider .swiper-slide > div > span + span {
	margin-right: 0.25em;
}

#top-slider .swiper-slide > .text1 {
	bottom: 2em;
	left: 2em;
}

#top-main-text > h3 {
	word-break: keep-all;
	font-family: var(--serif-font);
	font-size: 2em;
	font-weight: 500;
	padding: 0 0.5em;
}

#top-main-text > h3 > div {
	line-height: 2;
}

@media (max-width: 1024px) {
	#top-main-banner {
		margin-top: 80px;
	}
}

@media (max-width: 768px) {
	#top-main-text > h3 {
		font-size: 1.5em;
	}

	#top-main-text > h3 > div + div {
		margin-top: 1em;
	}

	#top-slider .swiper-slide {
		padding-top: calc(100% / 3 * 4);
	}

	#top-slider .swiper-slide > div {
		font-size: clamp(1.5em, 6vw, 2em);
	}

	#top-slider .swiper-slide > .text1 {
		bottom: 1em;
		left: 1em;
	}

	#top-slider .swiper-slide > img {
		bottom: 4%;
		left: 6%;
	}
}

#top-for-manager > div > h3 {
	text-align: center;
	white-space: nowrap;
	font-size: 1.5em;
	font-weight: 500;
}

#issue-slider-wrap {
	padding: 0 3em 3em 3em;
	margin-bottom: 3em;
}

#issue-slider {
	position: relative;
}

#issue-slider .swiper-slide {
	background-color: #fff;
	border: 2px solid var(--color-red);
	border-radius: 2em;
	opacity: 0;
	transition: opacity 0.3s ease;
}

#issue-slider .swiper-slide.swiper-slide-active {
	opacity: 1;
	transition: opacity 0.3s ease;
}

#issue-slider .swiper-slide > .header {
	display: flex;
	align-items: center;
	height: 5em;
	border-bottom: 2px solid var(--color-red);
	padding: 0 3em;
}

#issue-slider .swiper-slide > .header > h3 {
	display: flex;
	align-items: center;
	font-size: 1.5em;
	color: var(--color-red);
}

#issue-slider .swiper-slide > .header > h3 > img {
	width: 2.5em;
	height: auto;
	margin-right: 1em;
}

#issue-slider .swiper-slide > .header > h3 > span {
	font-size: 0.5em;
	margin-left: 2em;
}

#issue-slider .swiper-slide > .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2em 3em;
}

#issue-slider .swiper-slide > .content > figure {
	width: calc(40% - 1.5em);
	margin-bottom: 0;
}

#issue-slider .swiper-slide > .content > figure > img {
	display: block;
	width: 100%;
	height: auto;
}

#issue-slider .swiper-slide > .content > div {
	width: calc(60% - 1.5em);
}

#issue-slider .swiper-slide > .content > div > ul > li {
	display: flex;
	flex-flow: column;
	align-items: flex-start;
}

#issue-slider .swiper-slide > .content > div > ul > li + li {
	margin-top: 1.5em;
}

#issue-slider .swiper-slide > .content > div > ul > li > br {
	display: none;
}

#issue-slider .swiper-slide > .content > div > ul > li:first-of-type:before {
	content: 'before';
	width: 4em;
	padding: 0 0.5lh;
	border-radius: 0.5lh;
	line-height: 1.5;
	border: 1px solid var(--color-red);
	font-size: 1em;
	font-weight: 700;
	text-align: center;
	color: var(--color-red);
	margin-bottom: 0.5em;
}

#issue-slider .swiper-slide > .content > div > ul > li:last-of-type {
	font-weight: 700;
	color: var(--color-red);
}

#issue-slider .swiper-slide > .content > div > ul > li:last-of-type:before {
	content: 'after';
	width: 4em;
	padding: 0 0.5lh;
	border-radius: 0.5lh;
	line-height: 1.5;
	font-size: 1em;
	font-weight: 700;
	background-color: var(--color-red);
	text-align: center;
	color: #fff;
	margin-bottom: 0.5em;
}

#issue-slider .swiper-slide > .content > div > div {
	font-size: 0.875em;
	margin-top: 1em;
}

#issue-slider .swiper-slide > .content > div > div > a {
	width: 15em;
	text-align: center;
}

#issue-slider .swiper-navigation {
	width: 100%;
	position: absolute;
	top: 50%;
}

#issue-slider .swiper-navigation > * {
	width: 2em;
	height: 2em;
	background-color: var(--color-red);
	border-radius: 50%;
	position: absolute;
	z-index: 1;
}

#issue-slider .swiper-navigation > *:before {
	content: '';
	display: block;
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-right: 0.707em solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-66%, -50%);
}

#issue-slider .swiper-navigation > *:hover {
	cursor: pointer;
}

#issue-slider .swiper-navigation > .prev {
	left: -1em;
	transform: translate(-100%, -50%);
}

#issue-slider .swiper-navigation > .next {
	right: -1em;
	transform: translate(100%, -50%) scaleX(-1);
}

#issue-slider > .swiper-pagination {
	bottom: -1em;
	transform: translateY(100%);
}

#issue-slider > .swiper-pagination .swiper-pagination-bullet {
	background-color: var(--color-red);
	margin: 0 0.5em;
}

#issue-slider > .swiper-pagination .swiper-pagination-bullet-active {
	background-color: var(--color-red);
}

@media (max-width: 768px) {
	#top-for-manager > div {
		display: block;
		overflow: hidden;
	}

	#top-for-manager > div > h3 {
		height: 3em;
		text-align: center;
		margin-bottom: 4em;
		white-space: nowrap;
	}
}

@media (max-width: 960px) {
	#issue-slider-wrap {
		padding: 0;
	}
	
	#issue-slider .swiper-slide {
		border: none;
		border-radius: 0;
		padding: 0 2em;
	}

	#issue-slider .swiper-slide > .header {
		flex-flow: column;
		justify-content: center;
		align-items: center;
		height: auto;
		padding: 0;
		border-bottom: none;
	}

	#issue-slider .swiper-slide > .header > h3 {
		flex-flow: column;
		justify-content: center;
		align-items: center;
		white-space: nowrap;
	}

	#issue-slider .swiper-slide > .header > h3 > img {
		width: 3em;
		margin-right: 0;
		margin-bottom: 0.5em;
	}

	#issue-slider .swiper-slide > .header > h3 > div {
		line-height: 1.25;
	}

	#issue-slider .swiper-slide > .header > h3 > span {
		margin-left: 0;
	}

	#issue-slider .swiper-slide > .content {
		flex-flow: column;
		align-items: center;
		padding: 1em 0;
	}

	#issue-slider .swiper-slide > .content > figure {
		width: calc(100% - 2em);
		aspect-ratio: 1 / 1;
	}

	#issue-slider .swiper-slide > .content > figure > img {
		width: 100%;
		height: 100%;
		object-position: center;
		align-items: center;
	}

	#issue-slider .swiper-slide > .content > div {
		width: 100%;
		margin-top: 3em;
	}

	#issue-slider .swiper-slide > .content > div > ul > li > br {
		display: block;
	}

	#issue-slider .swiper-slide > .content > div > div > a {
		width: 100%;
	}
	
	#issue-slider .swiper-navigation {
		top: calc((100vw - 8em) / 2 + 8em);
	}

	#issue-slider > .swiper-pagination {
		bottom: unset;
		top: calc((100vw - 8em) + 10em);
		transform: unset;
	}

	#issue-slider .swiper-navigation > .prev {
		left: 1.5em;
	}

	#issue-slider .swiper-navigation > .next {
		right: 1.5em;
	}
}

#top-our-policy > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	grid-column-gap: 4em;
}

#top-our-policy > div > h2 {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
}

#top-our-policy > div > figure {
	grid-column: 1;
	grid-row: 1 / span　2;
	align-self: center;
	width: 100%
	aspect-ratio: 3 / 2;
	background-color: #eee;
}

#top-our-policy > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#top-our-policy > div > div {
	grid-column: 2;
	grid-row: 2;
	width: 100%;
}

#top-our-policy > div > div > h3 {
	white-space: nowrap;
	font-family: var(--serif-font);
	font-size: 2em;
	font-weight: 500;
	margin-bottom: 0.5em;
}

@media (max-width: 768px) {
	#top-our-policy > div {
		display: block;
	}

	#top-our-policy > div > figure {
		width: calc(100% + 2em);
		margin-left: -1em;
	}

	#top-our-policy > div > div {
		margin-top: 2em;
	}

	#top-our-policy > div > div > h3 {
		white-space: normal;
		font-size: 1.5em;
	}

	#top-our-policy > div > div > h3 > br {
		display: none;
	}
}

#part-accompanying-support-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#part-accompanying-support-list > li {
	width: calc(50% - 1em);
}

#part-accompanying-support-list > li:nth-of-type(odd) {
	margin-right: 2em;
}

#part-accompanying-support-list > li:nth-of-type(n+3) {
	margin-top: 2em;
}

#part-accompanying-support-list > li > a {
	display: flex;
	align-items: flex-start;
	text-decoration: none;
	color: unset;
}

#part-accompanying-support-list > li > a > figure {
	width: 30%;
	aspect-ratio: 1 / 1;
	background-color: #eee;
	margin-right: 1em;
}

#part-accompanying-support-list > li > a > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#part-accompanying-support-list > li > a > div {
	width: calc(70% - 1em);
}

#part-accompanying-support-list > li > a > div > h3 {
	font-size: 1em;
	font-weight: 500;
	margin: 1em 0;
}

#part-accompanying-support-list > li > a > div > span {
	font-size: 0.75em;
	margin-bottom: 1em;
}

#part-accompanying-support-list > li > a > div > span:before {
	content: '- ';
}

#part-accompanying-support-list > li > a > div > span:after {
	content: ' -';
}

@media (max-width: 768px) {
	#part-accompanying-support-list {
		flex-flow: column;
	}
	
	#part-accompanying-support-list > li {
		width: 100%;
	}

	#part-accompanying-support-list > li:nth-of-type(odd) {
		margin-right: unset;
	}

	#part-accompanying-support-list > li:nth-of-type(n+3) {
		margin-top: unset;
	}

	#part-accompanying-support-list > li + li {
		margin-top: 1em;
	}
}

#top-seminar > div > p {
	display: flex;
	justify-content: center;
	margin-bottom: 2em;
}

#top-seminar-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#top-seminar-list > li {
	width: calc(100% / 3 - (4em / 3));
}

#top-seminar-list > li:not(:nth-of-type(3n)) {
	margin-right: 2em;
}

#top-seminar-list > li:nth-of-type(n+4) {
	margin-top: 2em;
}

#top-seminar-list > li > a {
	display: block;
	color: unset;
	text-decoration: none;
}

#top-seminar-list > li > a > figure {
	width: 100%;
	aspect-ratio: 3 / 2;
	background-color: #eee;
	border-radius: 1rem;
	overflow: hidden;
}

#top-seminar-list > li > a > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#top-seminar-list > li > a > h3 {
	display: flex;
	justify-content: center;
	font-size: 1.5em;
	color: var(--color-red);
	text-align: center;
	margin: 0.5em 0;
}

#top-seminar-list > li > a > p {
	display: flex;
	justify-content: center;
	font-weight: 500;
	font-size: 1em;
	text-align: center;
}

@media (max-width: 960px) {
	#top-seminar-list {
		flex-flow: column;
		max-width: 360px;
		margin: 0 auto;
	}

	#top-seminar-list > li {
		width: 100%;
	}

	#top-seminar-list > li:not(:nth-of-type(3n)) {
		margin-right: unset;
	}

	#top-seminar-list > li:nth-of-type(n+4) {
		margin-top: unset;
	}

	#top-seminar-list > li + li {
		margin-top: 2em;
	}

	#top-seminar-list > li > a > h3,
	#top-seminar-list > li > a > p {
		justify-content: flex-start;
		text-align: left;
	}
}

.blog-list {
  list-style-type: none;
}

.blog-list li {
  border-bottom: 1px solid #aaa;
}

.blog-list li:first-of-type {
  border-top: 1px solid #aaa;
}

.blog-list li a {
  padding: 1em;
  color: #444;
  text-decoration: none !important;
}

.blog-list li a .date {
  font-family: 'Montserrat', sans-serif;
}

.blog-list li a {
	display: flex;
	flex-flow: column;
	justify-content: center;
	padding: 1em 3em 1em 0;
    color: #444;
	text-decoration: none;
	position: relative;
}

.blog-list li a:after {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	transform: rotate(45deg);
	position: absolute;
	right: 2em;
	top: 50%;
	margin-top: -0.25em;
}

.blog-list li a > div {
	display: flex;
	align-items: center;
	margin-right: 2em;
	margin-bottom: 0.5rem;
}

.blog-list li a > h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 1rem;
}

.blog-list > li > a h3[data-vacancy] {
	display: flex;
	align-items: center;
}

.blog-list > li > a h3[data-vacancy]:before {
	content: attr(data-vacancy);
	background-color: #af4745;
	color: #fff;
	font-size: 0.75em;
	white-space: nowrap;
	padding: 0.25em 1em;
	border-radius: 0.25em;
	margin-right: 1em;
}

.blog-list li a > div > .category {
	display: inline-flex;
	justify-content: center;
	max-width: calc(100% - 7rem);
	color: #fff;
	background-color: #af4745;
	font-size: 0.8rem;
	padding: 0.5em 1em;
	font-weight: 700;
}

.blog-list li a > div > .date {
	display: block;
	width: 6rem;
	color: #555;
	letter-spacing: 2px;
	font-size: 0.8em;
	margin-right: 1rem;
}

.blog-list li a .title {
  font-weight: 500;
}

@media (max-width: 768px) {
	.blog-list li a, #top-seminar ul.blog-list li a {
		flex-flow: column;
	}
	
	.blog-list li a > div, #top-seminar ul.blog-list li a > div {
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
	
	.blog-list li a > h3, #top-seminar ul.blog-list li a > h3 {
		width: 100%;
	}
}

/* --------------------------
    header
-------------------------- */
#header {
  width: 100%;
  height: 160px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  z-index: 250;
  transition: all 0.1s ease;
}

#header.admin {
  margin-top: 32px;
}

#header.hide {
	top: -80px;
	transition: all 0.1s ease;
}

#header.mini {
  height: 80px;
  transition: all 0.1s ease;
}

#header.mini > div {
  display: flex;
  transition: all 0.1s ease;
}

#header .logo {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
}

#header.mini .logo {
  width: auto;
  display: inline-flex;
}

#header .logo img {
  aspect-ratio: 10 / 3;
}

#header > div > div:nth-of-type(2) {
  justify-content: center;
}

#header .menu-header-container {
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
	font-size: 14px;
}

#header .menu-header-container > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
}

#header .menu-header-container > ul > li {
  height: 80px;
  line-height: 80px;
}

#header .menu-header-container > ul > li > a {
  color: #444;
  text-decoration: none;
  font-weight: 700;
  padding: 1em 2em 1em 1em;
  white-space: nowrap;
  position: relative;
}

#header .menu-header-container > ul > li {
  position: relative;
}

#header .menu-header-container > ul > li:hover:before {
  content: '';
  height: 5px;
  width: calc(100% - 3em);
  bottom: 0;
  left: 1em;
  background-color: #961e23;
  position: absolute;
}

#header .menu-header-container > ul > li.menu-item-has-children > a:after {
  content: '';
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
  transform: rotate(45deg);
  position: absolute;
  right: 0.75em;
  top: 50%;
  margin-top: -0.5em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul {
  display: none;
  line-height: 1.5em;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

#header .menu-header-container > ul > li.menu-item-has-children:hover > ul {
  display: inline-block;
  position: absolute;
  background-color: #fff;
  white-space: nowrap;
  top: 80px;
  list-style-type: none;
}

#header .menu-header-container > ul > li.menu-item-has-children:hover > ul {
  left: 1em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li {
  padding: 0.5em 2em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li > a {
  text-decoration: none;
  color: #444;
  position: relative;
  width: 100%;
  display: inline-block;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children > a:after {
  content: '';
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
  transform: rotate(45deg);
  position: absolute;
  right: -1em;
  top: 50%;
  margin-top: -0.5em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li:hover {
  background-color: #eee;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children > ul {
  display: none;
  position: absolute;
  left: 100%;
  background-color: #eee;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  list-style-type: none;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children:hover > ul {
  display: inline-block;
  padding: 0.5em 0;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children > ul > li {
  padding: 0.25em 1em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children > ul > li > a {
  display: inline-block;
  text-decoration: none;
  color: #444;
  width: 100%;
  border-radius: 3px;
  padding: 0 0.5em;
}

#header .menu-header-container > ul > li.menu-item-has-children > ul > li.menu-item-has-children > ul > li > a:hover {
  background-color: #fff;
}

#header > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
}

#header > div > div > a {
  padding: 1em !important;
}

#header .header-mail,
#header .header-tel {
  display: block;
}


#header.mini .header-mail,
#header.mini .header-tel {
  display: none;
}

@media all and (max-width: 1024px) {
  #header > div {
    display: flex;
    flex-wrap: nowrap;
	  justify-content: space-between;
  }

  #header {
    height: 80px;
  }

  #header .menu-header-container {
    display: none;
  }

  #header .header-mail,
  #header .header-tel {
    display: none;
  }

  #slider {
    margin-top: 80px;
  }
}

@media all and (max-width: 768px) {
  body.admin {
    margin-top: 46px;
  }

  #header.admin {
    margin-top: 46px;
  }
}

/* drawer menu */
#header > div > #nav-drawer {
  position: relative;
  display: none;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  background: #af4745;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(105%);
  transform: translateX(105%);/*左に隠しておく*/
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#drawer-header {
	background-color: #a01724;
	height: 70px;
	display: flex;
	justify-content: space-between;
}

#drawer-header .close {
	position: relative;
	right: 1rem;
	width: 2rem;
	height: 100%;
	display: inline-block;
}

#drawer-header .close:before {
	content: '';
	position: absolute;
	top: 35px;
	right: 0;
	width: 2rem;
	height: 2px;
	background-color: #fff;
	transform: rotate(45deg);
}

#drawer-header .close:after {
	content: '';
	position: absolute;
	top: 35px;
	right: 0;
	width: 2rem;
	height: 2px;
	background-color: #fff;
	transform: rotate(-45deg);
}

#nav-content #menu-mobile,
#nav-content #menu-mobile-bottom {
	list-style-type: none;
	font-size: 14px;
	position: relative;
}

#nav-content #menu-mobile a,
#nav-content #menu-mobile-bottom a {
	padding: 1em 2em;
	display: inline-block;
	width: 100%;
	color: #333;
	text-decoration: none;
}

#nav-content #menu-mobile li > ul,
#nav-content #menu-mobile-bottom li > ul{
	display: none;
/* 	height: 0; */
/* 	overflow: hidden;
	position: relative;
	transition: all 0.2s ease; */
}

#nav-content #menu-mobile li > ul.show,
#nav-content #menu-mobile-bottom li > ul.show{
/* 	height: auto; */
/* 	transition: all 0.2s ease; */
}

#nav-content #menu-mobile > li,
#nav-content #menu-mobile-bottom > li {
	border-bottom: 1px solid #eee;
}

#nav-content #menu-mobile > li > a {
	font-weight: 700;
}

#nav-content #menu-mobile li,
#nav-content #menu-mobile-bottom li {
	position: relative;
}

#nav-content #menu-mobile li.menu-item-has-children > span,
#nav-content #menu-mobile-bottom li.menu-item-has-children > span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16px;
	height: 16px;
	border-radius: 0.5em;
/* 	border: 1px solid #333; */
	position: absolute;
	right: 1em;
	top: 1.25em;
	background-position: center;
	background-repeat: no-repeat;
}

#nav-content #menu-mobile li.menu-item-has-children > span.plus,
#nav-content #menu-mobile-bottom li.menu-item-has-children > span.plus {
	background-image: url(/wp-content/uploads/2019/01/meikai-plus.png);
}

#nav-content #menu-mobile li.menu-item-has-children > span.minus,
#nav-content #menu-mobile-bottom li.menu-item-has-children > span.minus {
	background-image: url(/wp-content/uploads/2019/01/meikai-minus.png);
}

#nav-content #menu-mobile > li > ul,
#nav-content #menu-mobile-bottom > li > ul {
	background-color: #f2f2f2;
}

#nav-content #menu-mobile > li > ul > li > ul,
#nav-content #menu-mobile-bottom > li > ul > li > ul {
	background-color: #dbdbdb;
}

#nav-content #menu-mobile > li ul > li:before,
#nav-content #menu-mobile-bottom > li ul > li:before {
	content: '';
	position: absolute;
	border-bottom: 1px solid #ccc;
	bottom: 0;
	width: calc(100% - 2em);
   right: 0;
}

#nav-content #menu-mobile > li ul > li:last-of-type:before,
#nav-content #menu-mobile-bottom > li ul > li:last-of-type:before {
	border-bottom: none;
}

#nav-content #menu-mobile li:not(.menu-item-has-children):after,
#nav-content #menu-mobile-bottom li:not(.menu-item-has-children):after {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border-right: 1px solid #666;
	border-bottom: 1px solid #666;
	transform: rotate(-45deg);
	position: absolute;
	right: 1.25em;
	top: 50%;
	margin-top: -0.25em;
}

#drawer-contact-wrap {
	border-bottom: 1px solid #eee;
}

#drawer-contact-wrap > a {
	display: block;
	padding: 1em 2em;
	color: #fff;
	background-color: #b89b36;
	margin: 0 2em 2em 2em;
	text-decoration: none;
	text-align: center;
	letter-spacing: 0.2em;
	position: relative;
}

#drawer-contact-wrap > a:before {
	content: '';
	display: inline-block;
	width: 1rem;
	border-top: 1px solid #fff;
	position: absolute;
	top: 50%;
	right: 1rem;
}

#drawer-contact-wrap > a:after {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	margin-top: -0.25rem;
	right: 1rem;
}

@media all and (max-width: 1024px) {
  #header > div > #nav-drawer {
    display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 1rem;
  }
}

/* --------------------------
    top
-------------------------- */
#top-news2 > div {
	padding: 4rem 1rem;
	display: flex;
	justify-content: space-around;
}

#top-news2 .button-wrap.sp,
#top-seminar .button-wrap.sp {
	display: none;
}

@media (max-width: 768px) {
	#top-news > div {/* delete */
		padding: 4rem 1rem;
	}
	
	#top-news2 .heading-wrap .button-wrap{
		display: none;
	}
	
	#top-news2 .button-wrap.sp{
		display: block;
		margin-bottom: 2rem;
	}
}

#top-news2 > div > div {
	width: 100%;
	max-width: 800px;
	border-radius: 10px;
}

.heading-wrap {
	position: relative;
}

.heading-wrap .button-wrap {
	position: absolute;
	top: 0;
	right: 0;
	margin-top: 0;
}

.heading-wrap .button-wrap a.read-more {
	padding: 0.5em 1em;
	font-weight: 500;
	font-size: 14px;
}

h2.heading {
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 0.5rem;
  color: #333;
  line-height: 1.5em;
}

div.sub-heading {
  text-align: center;
  font-size: 14px;
  margin-bottom: 1rem;
  font-family: 'Montserrat', sans-serif;
  color: #333;
}

.page-section a {
	color: #af4745;
	text-decoration: none;
}

.page-section a:hover {
	text-decoration: underline;
}

a.read-more {
  padding: 0.75em 1.5em;
  border: 1px solid #af4745;
  display: inline-block;
  color: #af4745;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
}

a.read-more:hover {
  background-color: #af4745;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.3s ease;
}

.button-wrap {
  text-align: center;
  margin-top: 2em;
}

.column-banner {
  display: inline-block;
  border: 3px solid #af4745;
  background-color: #fff;
  padding: 2rem 2rem 5rem 100px;
  position: relative;
  height: 100px;
  font-weight: 700;
  color: #444;
  font-size: 18px;
  line-height: 1.5rem;
  text-align: left;
}

.column-banner:before {
  content: '';
  width: 64px;
  height: 64px;
  background-image: url(/wp-content/uploads/2019/01/cross.png);
  background-size: cover;
  position: absolute;
  top: 50%;
  margin-top: -32px;
  left: 1rem;
  animation: cross 5s ease infinite;
}

@keyframes cross {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(90deg);
  }

  50% {
    transform: rotate(180deg);
  }

  75% {
    transform: rotate(270deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.column-banner:after {
  content: '';
  width: 100%;
  height: 100%;
  border: 3px solid #af4745;
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: -1;
}

#top-column > div > div {
  display: flex;
  justify-content: space-around;
}

#top-column > div > div > div {
  width: 45%;
}

#top-column > div > div > div:last-of-type {
	display: flex;
	flex-flow: column;
	align-items: center;
}


#top-column > div > div > div:last-of-type > h3 {
	font-size: 1.5rem;
	margin-bottom: 1em;
	margin-top: 1.5em;
}

#top-column > div > div ul.column-list {
  list-style-type: none;
}

#top-column > div > div ul.column-list li:first-of-type {
  border-top: 1px solid #ccc;
}

#top-column > div > div ul.column-list li {
  border-bottom: 1px solid #ccc;
}

#top-column > div > div ul.column-list a {
  display: flex;
  justify-content: space-between;
  padding: 0.75em 0;
  align-items: center;
  text-decoration: none;
  color: #444;
}

#top-column > div > div ul.column-list a .thumb {
  width: 20%;
  padding-bottom: 13%;
  background-color: #eee;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#top-column > div > div ul.column-list a .text {
  width: 75%;
}

#top-column > div > div ul.column-list a .text > div {
  margin-bottom: 1em;
  font-size: 14px;
}

#top-column > div > div ul.column-list a .date {
  font-family: 'Montserrat', sans-serif;
}

#top-column > div > div ul.column-list a .text > .title {
  font-weight: 700;
  font-size: 18px;
	margin-bottom: 0;
}

@media all and (max-width: 768px) {
  #top-column > div > div {
    flex-wrap: wrap;  
  }

  #top-column > div > div > div{
    width: 100%;
  }
	
  #top-column > div > div ul.column-list a {
    padding: 1em 0;	
  }
	
  #top-column > div > div ul.column-list a .thumb {
    width: 27.5%;
    padding-bottom: 17.5%;
	 margin-right: 10px;
  }
}

#top-existence {
  background-color: #fdf6e7;
}

#top-existence > div {
  padding: 4rem 0;
}

.three-points {
  display: flex;
  justify-content: space-around;
  margin-top: 2rem;
}

.three-points > div {
  width: 31%;
  text-align: center;
}

.three-points > div > .circle {
  width: 80%;
  padding-top: 80%;
  border-radius: 50%;
  background-color: #fff;
  margin: 0 auto 2rem auto;
  position: relative;
  transition: all 0.3s ease;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.three-points > div:nth-child(1) > .circle {
  background-image: url(/wp-content/uploads/2019/01/meikai-top-existence1.png);
}

.three-points > div:nth-child(2) > .circle {
  background-image: url(/wp-content/uploads/2019/01/meikai-top-existence2.png);
}

.three-points > div:nth-child(3) > .circle {
  background-image: url(/wp-content/uploads/2019/01/meikai-top-existence3.png);
}

.three-points > div > .circle:before {
  content: '';
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 18px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  padding: 1em;
  box-sizing: border-box;
  top: 0;
  left: 0;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.three-points > div:hover > .circle:before {
  content: attr(data-text);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  white-space: pre;
}

.three-points > div:hover a {
  background-color: #af4745;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

.three-points > div > h3 {
  font-size: 18px;
  color: #444;
  line-height: 1.5em;
  height: 4.5em;
  transition: all 0.3s ease;
}

.three-points > div:hover > h3 {
	color: #888;
	transition: all 0.3s ease;
}

#top-program > div{
  padding: 4rem 0;
}

.program-heading {
  display: inline-block;
  padding: 1em 2em;
  color: #fff;
  background-color: #af4745;
  border-radius: 10px;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  position: relative;
}

.program-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: calc(6rem + 1px);
  position: relative;
}

.program-wrap:before {
	content: '';
	display: inline-block;
	width: 62%;
	height: 50px;
	left: 19%;
	border-left: 2px solid #af4745;
	border-right: 2px solid #af4745;
	border-bottom: 2px solid #af4745;
	border-radius: 0 0 33px 33px;
	position: absolute;
	bottom: -50px;
}

.program-wrap > div:first-of-type,
.program-wrap > div:last-of-type {
  width: 38%;
  border: 2px solid #af4745;
  background-color: #fdf6e7;
  border-radius: 25px;
  box-sizing: border-box;
  padding: 3em 2em 0 2em;
  position: relative;
	display: flex;
	flex-flow: column;
	align-items: center;
}

.program-wrap > div:first-of-type:before {
	content: '';
	display: inline-block;
	border-bottom: 6px solid #961e23;
	right: -300px;
	width: 300px;
	position: absolute;
	top: 50%;
	margin-top: 6px;
}

.program-wrap > div:last-of-type:before {
	content: '';
	display: inline-block;
	border-right: 6px solid #961e23;
	border-bottom: 6px solid #961e23;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	left: calc(-2rem - 7px);
	box-sizing: border-box;
	transform: rotate(-45deg);
}

/* 
.program-wrap > div:first-of-type:before,
.program-wrap > div:last-of-type:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 1px;
	height: 4rem;
	background-color: #af4745;
	left: 50%;
	top: -4rem;
}

.program-wrap > div:first-of-type:after {
	content: '';
	position: absolute;
	display: inline-block;
	width: 83%;
	height: 1px;
	background-color: #af4745;
	left: 50%;
	top: -4rem;
}

.program-wrap > div:last-of-type:after {
	content: '';
	position: absolute;
	display: inline-block;
	width: 83%;
	height: 1px;
	background-color: #af4745;
	right: 50%;
	top: -4rem;
} */

.program-wrap > div:first-of-type a ,
.program-wrap > div:last-of-type a {
	display: block;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
	width: 100%;
	padding-bottom: 75%;
	margin-bottom: 1rem;
	position: relative;
	transition: all 0.3s ease;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.program-wrap > div:first-of-type a:before,
.program-wrap > div:last-of-type a:before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(0, 0, 0, 0);
	color: #fff;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	font-size: 18px;
	transition: all 0.3s ease;
}

.program-wrap > div:first-of-type a:hover:before,
.program-wrap > div:last-of-type a:hover:before {
	content: attr(data-text);
	background-color: rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

.program-wrap > div:first-of-type h2,
.program-wrap > div:last-of-type h2 {
	background-color: #fff;
	border: 2px solid #af4745;
	border-radius: 10px;
	padding: 0.5em 2em;
	letter-spacing: 0.25em;
	font-size: 20px;
	display: inline-block;
	color: #af4745;
	position: absolute;
	top: -1.5em;
	left: 50%;
	margin-left: -5em;
	width: 10em;
	text-align: center;
}

.program-wrap > div:first-of-type h3,
.program-wrap > div:last-of-type h3 {
	font-size: 20px;
	color: #333;
	margin-bottom: 1rem;
	text-align: center;
}

.program-wrap > div:nth-of-type(2) {
	width: 20%;
	display: flex;
	flex-flow: column;
	justify-content: center;
}

.program-wrap > div:nth-of-type(2) > div {
	border: 2px solid #af4745;
	border-radius: 18px;
	margin: 4em 0;
	padding:1em;
	position: relative;
}

.program-wrap > div:nth-of-type(2) > div > h3 {
	text-align: center;
	color: #af4745;
	white-space: nowrap;
	margin-bottom: 1em;
	font-size: 20px;
}

.program-wrap > div:nth-of-type(2) > div > p {
	font-weight: 700;
	text-align: center;
	font-size: 14px;
}

.program-wrap > div:nth-of-type(2) > div:first-of-type:before {
	content: '';
	display: inline-block;
	border-left: 2px solid #961e23;
	height: 4rem;
	position: absolute;
	left: 30%;
	bottom: -4rem;
}

.program-wrap > div:nth-of-type(2) > div:first-of-type:after {
	content: '';
	display: inline-block;
	border: 2px solid #961e23;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px;
	width: 10px;
	height:10px;
	position: absolute;
	left: 30%;
	margin-left: -4px;
	bottom: -4rem;
	margin-bottom: -6px;
}

.program-wrap > div:nth-of-type(2) > div:last-of-type:before {
	content: '';
	display: inline-block;
	border-left: 2px solid #961e23;
	height: calc(4rem + 6px);
	position: absolute;
	right: 30%;
	top: -4rem;
	margin-top: -6px;
}

.program-wrap > div:nth-of-type(2) > div:last-of-type:after {
	content: '';
	display: inline-block;
	border: 2px solid #961e23;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px;
	width: 10px;
	height:10px;
	position: absolute;
	right: 30%;
	margin-right: -4px;
	top: -4rem;
	margin-top: -15px;
}

.program-wrap-sp {
	display: none;
}

.program-wrap-sp > .wrap1 {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em;
	display: flex;
	flex-flow: column;
	align-items: center;
	margin-bottom: 3rem;
}

.program-wrap-sp > .wrap1 > h3 {
	background-color: #af4745;
	border-radius: 10px;
	padding: 0.5em 1em;
	color: #fff;
	text-align: center;
	font-weight: 500;
	margin-bottom: 1em;
	min-width: 300px;
}

.program-wrap-sp > .wrap1 > div {
	display: inline-block;
	background-color: #fff;
	border: 2px solid #af4745;
	color: #af4745;
	border-radius: 10px;
	padding: 0.5em 1em;
	text-align: center;
	font-weight: 500;
	margin-bottom: 1em;
	font-size: 18px;
	position: relative;
}

.program-wrap-sp > .wrap1 > div:before {
	content: '';
	position: absolute;
	background-color: #af4745;
	top: 50%;
	left: -2rem;
	display: inline-block;
	width: 2rem;
	height: 1px;
}

.program-wrap-sp > .wrap1 > div:last-of-type:after {
	content: '';
	position: absolute;
	background-color: #af4745;
	bottom: 50%;
	left: -2rem;
	display: inline-block;
	width: 1px;
	height: 7rem;
}

.program-heading-sp {
	background-color: #af4745;
	padding: 0.5em 1em;
	border-radius: 13px;
	color: #fff;
	font-size: 18px;
	display: inline-block;
	margin-bottom: 4rem;
}

.program-wrap-sp > .wrap2 {
  padding: 3em 2em 2em 2em;
  background-color: #fdf6e7;
  border: 2px solid #af4745;
	border-radius: 10px;
	position: relative;
	display: flex;
	flex-flow: column;
	align-items: center;
}

.program-wrap-sp > .wrap2 > h2 {
	background-color: #fff;
	border: 2px solid #af4745;
	border-radius: 10px;
	padding: 0.5em 1em;
	font-size: 20px;
	display: inline-block;
	color: #af4745;
	position: absolute;
	top: -1.5em;
	left: 50%;
	margin-left: -3em;
	font-size: 18px;
	font-weight: 500;
}

.program-wrap-sp > .wrap2 a  {
	display: block;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
	width: 100%;
	padding-bottom: 75%;
	margin-bottom: 1rem;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}

.program-wrap-sp > .wrap2 a:before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(0, 0, 0, 0);
	color: #fff;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	font-size: 18px;
	transition: all 0.3s ease;
}

.program-wrap-sp > .wrap2 a:hover:before {
	content: attr(data-text);
	font-size: 18px;
	background-color: rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

.program-wrap-sp > .wrap2 h3 {
	margin-bottom: 2rem;
}

.program-wrap-sp > .wrap3 {
	margin: 2rem 0 4rem 4rem;
	position: relative;
}

.program-wrap-sp > .wrap3:before {
    content: '';
    display: inline-block;
    position: absolute;
    border-left: 4px solid #af4745;
    top: -2rem;
    left: -1px;
    height: calc(100% + 6rem);
}

.program-wrap-sp > .wrap3:after {
    content: '';
    display: inline-block;
    position: absolute;
    border-right: 4px solid #af4745;
    border-bottom: 4px solid #af4745;
    transform: rotate(45deg);
    bottom: calc(-4rem + 2px);
    margin-bottom: 2px;
    left: -0.5rem;
	margin-left: -1px;
	width: 1rem;
	height: 1rem;
}

.program-wrap-sp > .wrap3 > div {
	border-radius: 18px;
	border: 2px solid #af4745;
	padding: 2.5em 1.5em;
	margin: 2rem;
	text-align: center;
	position: relative;
}

.program-wrap-sp > .wrap3 > div:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 2rem;
	border-top: 2px solid #af4745;
	left: -2rem;
	top: 50%;
}

.program-wrap-sp > .wrap3 > div:after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	box-sizing: border-box;
	border: 2px solid #af4745;
	left: -2rem;
	margin-left: -5px;
	top: 50%;
	margin-top: -5px;
	background-color: #fff;
}

.program-wrap-sp > .wrap3 > div h3 {
	color: #af4745;
	margin-bottom: 1em;
}

.program-wrap-sp > .wrap3 > div p {
	font-weight: 700;
	white-space: nowrap;
}

@media all and (max-width: 768px) {
	.program-heading {
		display: none;
	}
	
	.program-wrap {
		display: none;
	}
	
	.program-wrap-sp {
		display: block;
	}
	
	.program-wrap-sp > .wrap2 a {
		padding-bottom: 100%;
		background-size: contain;
	}
}

.seminar-wrap {
  margin: 6rem 0 0 0;
  padding: 4rem 2rem 2rem 2rem;
  border: 2px solid #af4745;
  border-radius: 25px;
  position: relative;
  background-color: #fdf6e7;
  text-align: center;
  display: flex;
  flex-flow: wrap;
  justify-content: space-around;
}

.program-vnote-wrap {
  margin: 6rem auto 0 auto;
  padding: 3rem 2rem 0 2rem;
  box-sizing: border-box;
  border: 2px solid #af4745;
  border-radius: 25px;
  position: relative;
  background-color: #fdf6e7;
  text-align: center;
  display: flex;
  flex-flow: wrap;
  justify-content: space-around;
  max-width: 600px;
  width: 38%;
}

@media all and (max-width: 768px) {
	.program-vnote-wrap {
  		width: 100%;
  		box-sizing: border-box;
		border-radius: 10px;
	}
}

@media all and (min-width: 768px) {
	.program-vnote-wrap:before {
		content: '';
		display: inline-block;
		border-left: 2px solid #af4745;
		position: absolute;
		left: 50%;
		height: 3rem;
		top: -3rem;
	}
}

.seminar-wrap > h2 {
  position: absolute;
  top: -2rem;
  left: 50%;
  margin-left: -5rem;
  padding: 1.5rem 3rem;
  background-color: #af4745;
  border-radius: 10px;
  font-size: 18px;
  color: #fff;
  letter-spacing: 2px;
}

.program-vnote-wrap > h2 {
  background-color: #fff;
  border: 2px solid #af4745;
  border-radius: 10px;
  padding: 0.5em 1.5em;
  letter-spacing: 0.25em;
  font-size: 20px;
  display: inline-block;
  color: #af4745;
  position: absolute;
  top: -1.5em;
	left: 50%;
	margin-left: -4.5em;
}

.seminar-wrap > div {
  width: 45%;
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column;
}

.program-vnote-wrap > div {
  width: 100%;
  margin-bottom: 0.5rem;
}

.seminar-wrap > div h3,
.program-vnote-wrap > div > h3 {
  font-size: 20px;
  color: #444;
  margin-bottom: 1rem;
}

.seminar-wrap > div h4 {
  font-size: 16px;
  margin-bottom: 1em;
  color: #444;
}

.seminar-wrap > div > a,
.program-vnote-wrap > div > a {
  width: 100%;
/*   padding-top: 62.5%; */
  padding-top: calc(100% / 3 * 2);
  display: inline-block;
  background-color: #fff;
  border-radius: 30px;
  margin-bottom: 1rem;
  position: relative;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 20px;
  font-weight: 700;
}


.program-vnote-wrap > div > a {
	border-radius: 10px;
}

.seminar-wrap > div > a:before {
  content: '';
  display: flex;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0);
/*   border: 12px solid #fff; */
  position: absolute;
  border-radius: 30px;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding: 1em;
  box-sizing: border-box;
  font-size: 20px !important;
  transition: all 0.3s ease;
}

.program-vnote-wrap > div > a:before {
  content: '';
  display: flex;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0);
  position: absolute;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding: 1em;
  box-sizing: border-box;
  font-size: 20px !important;
  transition: all 0.3s ease;
}

.seminar-wrap > div > a:hover:before,
.program-vnote-wrap > div > a:hover:before {
  content: attr(data-text);
  font-size: 20px;
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

#top-vnote > div {
  padding: 4rem 0 0 0;
}

#top-vnote > div > .vnote-banner-wrap {
  text-align: center;
  margin: 4rem 0;
}

#top-vnote > div .vnote-banner {
  display: inline-block;
  border: 2px solid #004380;
  color: #004380;
  font-weight: 700;
  font-size: 22px;
  padding: 1em;
  line-height: 1.5em;
  text-align: center;
  white-space: nowrap;
	letter-spacing: 0.1em;
}

#top-vnote > div .vnote-banner > span {
  position: relative;
}

#top-vnote > div .vnote-banner > span:before {
  content: '';
  display: inline-block;
  height: 8px;
  width: 100%;
  background-color: #ccc;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#top-vnote h2 {
	color: #004380;
}

#top-vnote h2 br {
	display: none;
}

@media all and (max-width: 768px) {
  #top-vnote > h2 {
    font-size: 20px;
  }
	
	#top-vnote h2 br {
		display: block;
	}
}

.vnote-wrap {
  margin: 2rem auto;
  width: 100%;
  max-width: 500px;
}

.vnote-wrap > img {
  width: 100%;
}

a.read-more2 {
  padding: 0.75em 1.5em;
/*   border: 1px solid #c2a536; */
  border: 1px solid #004380;
  display: inline-block;
  color: #004380;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
}

a.read-more2:hover {
  background-color: #004380;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

#top-contact {
  padding: 4rem 0;
}

.contact-banner-wrap {
  display: flex;
  justify-content: center;
  margin: 2rem 0;
}

.contact-banner-wrap > a {
  display: inline-block;
  width: 30%;
  /* background-color: #35647c; */
  color: #fff;
  text-align: center;
  padding: 2rem 0 0 0;
  text-decoration: none;
  margin: 0 1rem;
  overflow: hidden;
  position: relative;
}

.contact-banner-wrap > a:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  background-color: #c2a536;
  z-index: -1;
  left: 0;
  top: 0;
  transition: all 0.3s ease;
}

.contact-banner-wrap > a:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #35647c;
  z-index: -2;
  left: 0;
  top: 0;
}

.contact-banner-wrap > a > img {
	margin: 0 auto;
}

.contact-banner-wrap > a:hover > img {
  animation: shake 1s linear infinite;
}

@keyframes shake {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(30deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-30deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.contact-banner-wrap > a:hover:before {
  transform: translateX(0);
  transition: all 0.3s ease;
}

.contact-banner-wrap > a > h3 {
  margin: 1rem;
}

.contact-banner-wrap > a > p {
  padding: 1rem;
  border-top: 1px solid #fff;
  text-align: justify;
  text-justify: inter-ideograph;
}

footer {
  background-color: #d9d9d9;
  padding: 2rem 1rem 4rem 1rem;
}

footer > div {
  display: flex;
  justify-content: space-around;
  color: #666;
  font-size: 14px;
}

footer > div h3 {
  color: #666;
  font-size: 14px;
  margin-bottom: 0.5em;
}

footer > div > div:first-of-type {
  margin-bottom: 2rem;
}

footer > div > div:last-of-type {
  width: 240px;
}

footer > div > div > ul {
  font-size: 12px;
  border-left: 1px solid #ccc;
  padding-left: 1em;
  list-style-type: none;
  margin-bottom: 2rem;
}

footer > div > div:last-of-type > ul:last-of-type {
  border-left: none;
  padding-left: 0;
}

footer > div > div > ul > li {
  padding: 0.25em 0;
}

footer > div > div > ul > li a {
  color: #666;
  text-decoration: none;
}

footer > div > div > ul > li a[href]:hover {
  color: #888;
  text-decoration: underline;
}

@media (max-width: 1024px) {
	footer > div > div:last-of-type {
		display: none;
	}
}

@media (max-width: 768px) {
	footer > div {
		flex-wrap: wrap;
	}

	footer > div > div {
		width: 100%;
	}

	footer > div > div:last-of-type {
		display: block;
		width: 240px;
	}

	#top-contact > div > div {
		flex-flow: column;
		padding: 1rem;
	}

	#top-contact > div > div > a {
		width: 100%;
		margin: 0 0 2rem 0;
	}
}

#fixed-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  opacity: 0;
  z-index: 3;
  transform: translateY(80px);
  transition: all 0.3s ease;
}

#fixed-contact > div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

#fixed-contact > div > a {
  display: flex;
  padding: 1em 1.5em;
  color: #fff;
  width: 300px;
  border-radius: 5px;
  text-decoration: none;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  position: relative;
  overflow: hidden;
}

#fixed-contact > div > a:before {
  content: '';
  background-color: #35647c;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}

#fixed-contact > div > a:after {
  content: '';
  background-color: #c2a536;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
  transition: all 0.3s ease;
}

#fixed-contact > div > a:hover:after {
  content: '';
  background-color: #c2a536;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(0);
  transition: all 0.3s ease;
}

#fixed-contact > div > a:first-of-type {
  margin-right: 3rem;
}

#fixed-contact > div > a > span {
  position: relative;
  display: flex;
  align-items: center;
}

#fixed-contact > div > a:first-of-type > span:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(/wp-content/uploads/2019/01/mail-w.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 0.5em;
}

#fixed-contact > div > a:last-of-type > span:before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(/wp-content/uploads/2019/01/phone-w.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 0.5em;
}

#fixed-contact.show {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.3 ease;
}

@media all and (max-width: 768px) {
  #fixed-contact > div {
    justify-content: space-around;
  }

  #fixed-contact > div > a {
    width: 48%;
    font-size: 10px;
  }

  #fixed-contact > div a:first-of-type {
    margin-right: 0;
  }

  #fixed-contact > div > a:first-of-type > span:before,
  #fixed-contact > div > a:last-of-type > span:before {
    width: 20px;
    height: 20px;
  }
}

/* 404 */
#page404 {
  padding: 4rem 1rem;
  text-align: center;
}

#page404 p {
  display: inline-block;
  max-width: 800px;
  padding: 2em;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  text-align: left;
  font-weight: 700;
  color: #444;
}

/* page */
section.page-section {
  margin-bottom: 4rem;
}

h2.page-heading {
  border-left: 5px solid #af4745;
  margin-bottom: 2rem;
  color: #333;
  padding: 0 0.5em;
  font-size: 24px;
}

h3.page-mini-heading {
  margin-bottom: 2rem;
  color: #333;
  padding: 0.5em 0;
  font-size: 20px;
  display: inline-block;
  border-bottom: 5px solid #af4745;
  position: relative;
  margin-bottom: 4rem;
}

h3.page-mini-heading:before {
  content: attr(data-text);
  display: block;
  text-align: center;
  position: absolute;
  bottom: -2.5rem;
  font-size: 14px;
  width: 100%;
  letter-spacing: 2px;
}

.page-mini-heading-wrap {
  text-align: center;
}

/* about */

.text-box-wrap {
  text-align: center;
}

.text-box {
  background-color: #fffbeb;
  padding: 1rem 2rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  display: inline-block;
  font-size: 16px;
  line-height: 2em;
  letter-spacing: 2px;
}

.text-box-wrap3 {
  text-align: center;
  max-width: 584px;
  width: 100%;
	margin: 0 auto;
}

.text-box3 {
  background-color: #fffbeb;
  padding: 1rem 2rem;
  border-radius: 5px;
  margin-bottom: 1rem;
  font-size: 16px;
  line-height: 2em;
  letter-spacing: 2px;
}

@media all and (max-width: 768px) {
  .text-box {
    text-align: left;
  }
	
  .text-box3 {
    text-align: left;
  }
	
  .text-box br,
  .text-box3 br {
    	display: none;
  }
}

table.about-table {
  width: 100%;
  max-width: 600px;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
}

table.about-table th {
  background-color: #ccc;
  padding: 1em;
  border-bottom: 1px solid #fff;
}

table.about-table td {
  background-color: #f8f8f8;
  padding: 1em;
  border-bottom: 1px solid #fff;
}

@media all and (max-width: 768px) {
  table.about-table th {
    text-align: left;
  }
}

.box2 {
  padding: 2rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  margin: 0 4rem;
  text-align: justify;
  text-justify: inter-ideograph;
}

@media all and (max-width: 768px) {
	.box2 {
	  margin: 0 auto;
	}
}

ul.about-list {
  list-style-type: none;
}

ul.about-list li:first-of-type {
  border-top: 1px dotted #333;
}

ul.about-list li {
  border-bottom: 1px dotted #333;
  padding: 1em;
}

ul.about-list a {
  font-size: 12px;
  text-decoration: none;
  color: #2196f3;
}

ul.career {
  list-style-type: none;
  position: relative;
  overflow: hidden;
	margin: 0 4rem;
}

ul.career:before {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  border-left: 1px solid #333;
  position: absolute;
  left: calc(4em + 4px);
}

ul.career li {
  position: relative;
  padding: 1em 1em 1em 6em;
}

ul.career li::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  position: absolute;
  border: 2px solid #af4745;
  background-color: #fff;
  margin-left: -2em;
  top: 1.5em;
  box-sizing: border-box;
}

ul.career li::after {
  content: attr(data-year)'';
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 0;
  color: #333;
}

.text-box2 {
  background-color: #eee;
  padding: 1rem 2rem;
  border-radius: 8px;
  margin: 0 4rem 1rem 4rem;
  display: inline-block;
  font-size: 14px;
}

img.fit {
  max-width: 100%;
}

.profile-position {
	margin: 0 4rem 1rem 4rem;
}

@media all and (max-width: 768px) {
	ul.career {
		margin: 0 auto;
	}
	
	.text-box2 {
		margin: 0 auto 1rem auto;
	}
	
	.profile-position {
		margin: 0 auto 1rem auto;
	}
}

/* archive, category */
#slug-name {
  text-align: center;
  white-space: nowrap;
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: 2rem;
}

ul.archive-list,
ul.archive-list2 {
  list-style-type: none;
}

ul.archive-list > li,
ul.archive-list2 > li {
  border-bottom: 1px solid #aaa;
}

ul.archive-list > li:first-of-type,
ul.archive-list2 > li:first-of-type {
  border-top: 1px solid #aaa;
}

ul.archive-list > li > a,
ul.archive-list2 > li > a {
  text-decoration: none;
  color: #444;
  padding: 1em 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
	justify-content: space-between;
}

ul.archive-list > li > a > div:first-of-type {
  width: 28%;
  height: 19%;
  padding-top: 19%;
  background-color: #eee;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

ul.archive-list > li > a > div:nth-of-type(2) {
	width: 68%;
}

ul.archive-list > li > a .meta,
ul.archive-list2 > li > a .meta {
  margin-bottom: 1rem;
  font-size: 12px;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
}

ul.archive-list > li > a .meta-sp {
	display: none;
	width: 100%;
}

ul.archive-list > li > a .meta-sp > ul {
  display: flex;
  list-style-type: none;
  margin-right: 1em;
}

ul.archive-list > li > a .meta > ul {
  display: flex;
  list-style-type: none;
  margin-left: 1em;
}

ul.archive-list > li > a .meta > ul li,
ul.archive-list > li > a .meta-sp > ul li {
  color: #fff;
  background-color: #af4745;
  border-radius: 3px;
  padding: 0.25em 1em;
  margin-right: 1em;
  display: inline-block;
  white-space: nowrap;
}

ul.archive-list > li > a h3 {
  margin-bottom: 1rem;
}

ul.archive-list2 > li > a h3[data-vacancy] {
	display: flex;
	align-items: center;
}

ul.archive-list2 > li > a h3[data-vacancy]:before {
	content: attr(data-vacancy);
	background-color: #af4745;
	color: #fff;
	font-size: 0.75em;
	padding: 0.25em 1em;
	border-radius: 0.25em;
	margin-right: 1em;
}

@media all and (max-width:768px) {
	ul.archive-list > li > a .meta {
		margin-bottom: 0.5em;
	}
	
	ul.archive-list > li > a h3 {
		margin-bottom: 0.5em;
	}
	
	ul.archive-list > li > a .excerpt {
		display: none;
	}
	
	ul.archive-list > li > a .meta .category {
		display: none;
	}
	
	ul.archive-list > li > a .meta-sp {
		display: block;
		font-size: 10px;
	}
	
	ul.archive-list > li > a > div:last-of-type {
		margin-top: 0.5rem;
	}
}

/* #pagination {
  list-style-type: none;
  display: flex;
  justify-content: space-around;
  margin: 2rem 0;
}

#pagination > li {
  width: 45%;
}

#pagination > li:first-of-type {
  text-align: left;
}

#pagination > li:last-of-type {
  text-align: right;
}

#pagination > li > a {
  text-decoration: none;
  font-weight: 700;
}

#pagination > li > a {
  padding: 0.75em 1.5em;
  border: 1px solid #af4745;
  display: inline-block;
  color: #af4745;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
}

#pagination > li > a:hover {
  background-color: #af4745;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
} */

#pagination {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

#pagination * {
	display: inline-block;
	border-radius: 25px;
	width: 50px;
	height: 50px;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #af4745;
	color: #af4745;
	text-decoration: none;
	margin: 0 0.5rem;
	transition: all 0.3s ease;
}

#pagination .paginate:hover {
	background-color: #af4745;
	color: #fff;
	transition: all 0.3s ease;
}

#pagination .current {
	background-color: #af4745;
	color: #fff;
}

/* single */
#single-category {
    text-align: center;
}

#single-category > div {
  display: inline-block;
  background-color: #fff;
  padding: 1em 2em;
  margin: 0 1em;
  color: #333;
  font-size: 24px;
  font-weight: 700;
  border-top: 5px solid #af4745;
}

#single-content {
  width: calc(100% - 290px - 45px);
  padding: 2rem 1rem;
}

#single-content a {
  word-break: break-all;
}

h1.single-title {
  border-left: 5px solid #af4745;
  margin-bottom: 1rem;
  color: #333;
  padding: 0 0.5em;
  font-size: 24px;
}

.single-date {
  font-size: 16px;
  color: #888;
  letter-spacing: 3px;
  margin-bottom: 3rem;
}

@media all and (max-width: 768px) {
	#single-content {
		width: 100%;
	}
}

/*
ul.single-category {
  display: flex;
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 2rem;
}

ul.single-category li {
  color: #fff;
  background-color: #af4745;
  border-radius: 3px;
  padding: 0.25em 1em;
  margin-right: 1em;
  display: inline-block;
  white-space: nowrap;
}
*/

section.tags h3 {
	margin-bottom: 1rem;
	font-weight: 500;
}

ul.single-tags {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 3rem;
}

ul.single-tags li {
  margin: 0.25em 0;
}

ul.single-tags li a {
  color: #fff;
  background-color: #fff;
  border-radius: 1em;
  border: 1px solid #af4745;
  padding: 0.25em 1em;
  margin-right: 1em;
  display: inline-block;
  white-space: nowrap;
	font-size: 12px;
	color: #af4745;
	text-decoration: none;
	transition: all 0.3s ease;
}

ul.single-tags li a:before {
	content: '#';
}

ul.single-tags li a:hover {
	color: #fff;
	background-color: #af4745;
	transition: all 0.3s ease;
}

div.post-thumb {
	margin-bottom: 3rem;
}

div.post-thumb img {
	width: 100%;
}

.single-post h2,
.single-post h3,
.single-post h4,
.single-post h5,
.single-post h6 {
	margin-bottom: 1em;
}


.single-post h2 {
	font-size: 24px;
	border-bottom: 2px solid #af4745;
	padding-bottom: 0.5em;
}

.single-post h3 {
	font-size: 22px;
	border-left: 2px solid #af4745;
	padding-left: 0.5em;
}

.single-post h4 {
	font-size: 20px;
}

.single-post h5 {
	font-size: 18px;
}

.single-post h6 {
	font-size: 16px;
}

.single-post img {
	max-width: 100%;
	height: auto;
	display: block;
}

.single-post img.aligncenter {
	margin: 0 auto;
}

.single-post img.alignright {
	max-width: 100%;
	margin-left: auto;
	margin-right: 0;
}

.single-post > p {
	margin-bottom: 0;
}

.single-post > ul {
	margin-bottom: 4em;
	list-style-type: none;
	background-color: #fcfaf2;
	padding:1em 1em 1em 3em;
}

.single-post > ul li {
	margin-bottom: 0.5em;
	position: relative;
	padding-left: 1em;
}

.single-post > ul li:before {
	content: '';
	position: absolute;
	display: inline-block;
	width: 5px;
	height: 5px;
	background-color: #af4745;
	top: 50%;
	margin-top: -2.5px;
	border-radius: 2.5px;
	left: 0;
}

@media all and (max-width: 768px) {
.single-post h2 {
	font-size: 21px;
}

.single-post h3 {
	font-size: 19px;
	border-left: 2px solid #af4745;
	padding-left: 0.5em;
}

.single-post h4 {
	font-size: 16px;
}

.single-post h5 {
	font-size: 14px;
}

.single-post h6 {
	font-size: 14px;
}

}

/* #single-content > ul li:after {
	content: '';
	position: absolute;
	display: inline-block;
	width: 5px;
	height: 5px;
	background-color: #af4745;
	top: 50%;
	margin-top: -2.5px;
	border-radius: 2.5px;
	left: 0;
	opacity: 1;
	animation: dot 1s 1s infinite;
}

@keyframes dot {
	0% {
		opacity: 1;
		transform: scale(1);
	}
	100% {
		opacity: 0;
		transform: scale(3);
	}
} */

.single-post > ol {
	margin-bottom: 4em;
	list-style-type: none;
	background-color: #fcfaf2;
	padding:2em 1em 1em 5em;
	counter-reset: order;
}

.single-content > ol li {
	position: relative;
	padding-top: 0.25em;
	margin-bottom: 2em;
}

.single-post > ol li:before {
	counter-increment: order;
	content: counter(order);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	border-radius: 8px;
	background-color: #fff;
	font-weight: 700;
	color: #af4745;
	border: 2px solid #af4745;
	box-sizing: border-box;
	left: -3em;
	top: 0;
	position: absolute;
	font-family: 'Montserrat', sans-serif;
}

.single-post > blockquote {
	margin-bottom: 4em;
	background-color: #f8f8f8;
	padding: 2em 1em 2em 5em;
	position: relative;
}

.single-post > blockquote:before {
	content: open-quote;
	quotes: "“" "”";
	position: absolute;
	font-size: 5rem;
	top: 3rem;
	left: 1rem;
	font-family: serif;
	color: #888;
}

.single-post > blockquote p {
	margin-bottom: 1em;
}

.single-post em {
	font-weight: 700;
}

.single-post strong {
	font-weight: 700;
}

@media all and (max-width: 768px) {
	.single-post {
		width: 100%;
	}
}

/* for-exective */
#exective-troubles > ul {
	list-style-type: none;
    background-color: #eee;
    border-radius: 10px;
    padding: 2rem;
}

#exective-troubles > ul > li {
  display: flex;
  align-items: center;
  margin-bottom: 2em;
}

#exective-troubles  > ul > li h3 {
    font-size: 18px;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 2rem;
}

#exective-troubles  > ul > li h3:before {
	content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    border: 2px solid #af4745;
    box-sizing: border-box;
    position: absolute;
    top: calc(20px - 1rem);
    left: 0;
}

#exective-troubles  > ul > li h3:after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 0.5rem;
    box-sizing: border-box;
    border-bottom: 2px solid #af4745;
    border-left: 2px solid #af4745;
    transform: rotate(-45deg);
}

#exective-troubles > ul > li > div:last-of-type  {
	width: 28%;
	margin-left: 4rem;
}

#exective-troubles > ul > li > div:first-of-type {
	width: 68%;
}

#exective-troubles > ul > li > div:first-of-type > img {
  display: none;
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
}

@media all and (max-width:768px){
	#exective-troubles > ul > li {
		flex-flow: column-reverse;
		margin-bottom: 4rem;
	}
	
	#exective-troubles > ul > li > div:last-of-type {
		margin: 0;
	}
	
	#exective-troubles > ul > li > div:first-of-type  {
		width: 100%;
	}
	
	#exective-troubles > ul > li > div:last-of-type  {
		width: 100%;
		display: none;
	}
	
	#exective-troubles > ul > li > div:first-of-type > img {
		display: block;
	}
} 

#exective-resolve {
  background-color: #fdf6e7;
  padding: 4rem 2em;
}

#exective-resolve > h2 {
  text-align: center;
  margin-bottom: 2em;
}

#exective-resolve > p {
  background-color: #fff;
  padding: 2em;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  line-height: 2em;
}

#exective-resolve .exective-resolve-pc {
  display: block;
}

#exective-resolve .exective-resolve-sp {
  display: none;
}

@media all and (max-width: 768px) {
  #exective-resolve .exective-resolve-pc {
    display: none;
  }

  #exective-resolve .exective-resolve-sp {
    display: block;
  }
}

#exective-approach h2 {
  text-align: center;
  margin-bottom: 1em;
}

#exective-approach .vision-figure-balloon {
	display: flex;
	justify-content: space-between;
}

#exective-approach .vision-figure-balloon > a {
	width: 30%;
	background-color: #fdf6e7;
	color: #333;
	text-decoration: none;
	padding: 1rem;
	border-radius: 10px;
	position: relative;
	font-weight: 700;
	transition: all 0.3s ease;
}

#exective-approach .vision-figure-balloon > a.top-center:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: #fdf6e7;
	transform: rotate(45deg);
	top: -0.5rem;
	left: 50%;
	margin-left: -0.5rem;
	z-index: -1;
	transition: all 0.3s ease;
}

#exective-approach .vision-figure-balloon > a.top-left:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: #fdf6e7;
	transform: rotate(45deg);
	top: -0.5rem;
	left: 30%;
	margin-left: -0.5rem;
	z-index: -1;
}

#exective-approach .vision-figure-balloon > a.bottom-center:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: #fdf6e7;
	transform: rotate(45deg);
	bottom: -0.5rem;
	left: 50%;
	margin-left: -0.5rem;
	z-index: -1;
	transition: all 0.3s ease;
}

#exective-approach .vision-figure-balloon > a.bottom-left:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: #fdf6e7;
	transform: rotate(45deg);
	bottom: -0.5rem;
	left: 30%;
	margin-left: -0.5rem;
	z-index: -1;
	transition: all 0.3s ease;
}

#exective-approach .vision-figure-balloon > a.bottom-right:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 1rem;
	height: 1rem;
	background-color: #fdf6e7;
	transform: rotate(45deg);
	bottom: -0.5rem;
	right: 30%;
	margin-right: -0.5rem;
	z-index: -1;
	transition: all 0.3s ease;
}

#exective-approach .vision-figure-balloon > a:hover {
	background-color: #af4745;
	color: #fff;
}

#exective-approach .vision-figure-balloon > a.top-center:hover:before,
#exective-approach .vision-figure-balloon > a.top-left:hover:before,
#exective-approach .vision-figure-balloon > a.bottom-center:hover:before,
#exective-approach .vision-figure-balloon > a.bottom-left:hover:before,
#exective-approach .vision-figure-balloon > a.bottom-right:hover:before {
	background-color: #af4745;
	transition: all 0.3s ease;
}

@media all and (max-width: 768px) {
	#exective-approach .vision-figure-balloon {
     -webkit-writing-mode: vertical-rl;
     -ms-writing-mode: tb-rl;
     writing-mode: vertical-rl;
    flex-flow: column-reverse;
    width: 100%;
	}

	#exective-approach .vision-figure-balloon a {
		height: 200px;
		display: flex;
      align-items: center;
	}
}

#exective-6box {
  background-color: #fdf6e7;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#exective-6box > * {
  width: 48%;
  background-color: #fff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  margin-bottom: 2rem;
  padding: 1rem;
}

#exective-6box > * > h2 {
  font-size: 20px;
  margin: 0 0 1rem 0;
}

#exective-6box > * > p {
  margin-bottom: 2em;
}

#exective-6box > * > a.read-more {
  margin: 0 0.25em 0.5em 0;
  font-size: 12px;
}

#exective-6box > a {
  text-decoration: none;
  color: #444;
}

#exective-6box > a > p {
 font-size: 12px;
 font-weight: 700;
 margin-bottom: 1em;
}

#exective-6box > a > h2 {
  font-size: 20px;
}

#exective-6box > a > h2 > span {
  font-size: 16px;
}

#exective-6box > a > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#exective-6box > a > div > * {
  width: 60%;
  color: #af4745;
  text-align: center;
}

#exective-6box > a > div > div {
	width: 125px;
	height: 125px;
	border-radius: 50%;
	border: 2px solid #af4745;
	text-align: center;
	line-height: 125px;
	white-space: nowrap;
	transition: all 0.3s ease;
}

#exective-6box > a:hover > div > div {
	background-color: #af4745;
	color: #fff;
   box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

span.underline {
  text-decoration: underline;
}

@media all and (max-width: 768px) {
  #exective-approach h2 {
    font-size: 18px;
    text-align: left;
  }

  #exective-6box {
    padding: 2rem 0.5rem;
  }

  #exective-6box > * {
    width: 100%;
    margin-bottom: 1em;
  }


  #exective-resolve {
    padding: 2em 0.5em;
  }

  #exective-resolve > p {
    padding: 0.5em;
  }

  #exective-troubles > div > div:last-of-type {
    display: none;
  }
	
  #exective-troubles > div > div:first-of-type > img {
    display: block;
  }

  #exective-resolve br,
  #exective-approach br,
  #exective-troubles br,
  #exective-6box br {
    display: none;
  }
}

/* seminar single */
table.seminar {
  width:100%;
  border-collapse: collapse;
  border-spacing: 0;
  box-sizing: border-box;
  margin-bottom: 4rem;
}

table.seminar th {
  background-color: #ccc;
  padding: 1em;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  width: 200px;
}

table.seminar td {
  background-color: #f8f8f8;
  padding: 1em;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
}

table.seminar td > iframe {
  width: 100%;
}

.seminar-text-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.seminar-text-wrap > div:first-of-type {
  width: 68%;
  margin-bottom: 2rem;
}

.seminar-text-wrap > div:last-of-type {
  width: 28%;
  margin-bottom: 2rem;
}

@media all and (max-width: 768px) {
  table.seminar td,
  table.seminar th {
    display: block;
    width: 100%;
  }

  .seminar-text-wrap {
    display: flex;
    flex-flow: column-reverse;
    justify-content: center;
  }

  .seminar-text-wrap > div:first-of-type,
  .seminar-text-wrap > div:last-of-type {
    width: 100%;
  }

  .seminar-text-wrap > div:last-of-type {
    text-align: center;
  }
}

.contactform-wrap {
  margin: 2rem 0;
}

table.contactform {
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  box-sizing: border-box;
  margin-bottom: 2rem;
  width: 100%;
}

table.contactform th {
  background-color: #ccc;
  padding: 1em 1em 1em 5em;
  border-bottom: 1px solid #fff;
  min-width: 200px;
  box-sizing: border-box;
	position: relative;
	text-align: left;
	
}

table.contactform th.required:before {
	content: '必 須';
	display: inline-block;
	background-color: #af4745;
	color: #fff;
	padding: 0.25em 1em;
	border-radius: 0.5em;
	position: absolute;
	font-size: 0.75rem;
	left: 1em;
	top: 50%;
	margin-top: -1.25em;
}

table.contactform td {
  background-color: #f8f8f8;
  padding: 1em;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
}

table.contactform td input[type=text],
table.contactform td input[type=email],
table.contactform td textarea {
  width: 100%;
  padding: 0.5em 1em;
  box-sizing: border-box;
  border: 1px solid #aaa;
  border-radius: 3px;
  font-size: 16px;
}

table.contactform td select {
  padding: 0.5em 3em 0.5em 1em;
  box-sizing: border-box;
  border: 1px solid #aaa;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 16px;
}

table.contactform td select::-ms-expand {
	display: none;
}

table.contactform td .select-wrap {
  position: relative;
	display: inline-block;
}

table.contactform td .select-wrap:before {
  content: '';
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid #444;
  border-bottom: 2px solid #444;
  transform: rotate(45deg);
  top: 50%;
  right: 1em;
  margin-top: -0.5em;
  z-index: 1;
}

.contactform-wrap .privacy-policy {
  overflow-y: scroll;
  height: 200px;
  border: 1px solid #888;
  margin: 1rem 0;
  padding: 1em;
}

.contactform-wrap .agreement {
  text-align: center;
}

.contactform-wrap .submit-wrap {
  margin-top: 2rem;
}

.contactform-wrap input[type=submit] {
  padding: 0.75em 1.5em;
  border: 1px solid #af4745;
  display: inline-block;
  color: #af4745;
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
  min-width: 300px;
  text-align: center;
}

.contactform-wrap input[type=submit]:hover {
  background-color: #af4745;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

#contactform-vnote-notice {
	display: none;
	line-height: 1;
}

#contactform-vnote-notice.show {
	display: inline;
}

@media all and (max-width: 768px) {
  table.contactform td,
  table.contactform th {
    display: block;
    width: 100%;
  }
}

/* partner consulting */
.partner-wrap {
	display: flex;
	justify-content: space-around;
	margin-bottom: 2rem;
}

.partner-wrap > p  {
	width: 45%;
}

.partner-wrap > div  {
	width: 45%;
}

span.emp {
	font-weight: 700;
}

#partner-4approaches {
	padding: 2rem;
	background-color: #fdf6e7;
}

#partner-4approaches .partner-approach-heading {
	text-align: center;
	margin-bottom: 3rem;
	position: relative;
	display: flex;
	justify-content: center;
}

#partner-4approaches .partner-approach-heading span {
	color: #af4745;
	font-weight: bold;
	border: 2px solid #af4745;
	background-color: #fff;
	padding: 0.75em 1em;
	font-size: 16px;
	display: inline-block;
	z-index: 1;
}

#partner-4approaches .partner-approach-heading:before {
	content: '';
	border: 1px solid #af4745;
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	top: 1.5rem;
	z-index: 0;
}

#partner-4approaches .partner-decoration {
	position: relative;
	padding: 1rem;
	background-color: #fff;
	display: inline-block;
	margin: 0 auto 2rem 0;
	text-align: center;
}

#partner-4approaches .partner-decoration:before {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-bottom: 4px solid #af4745;
	border-left: 4px solid #af4745;
	position: absolute;
	bottom: 0;
	left: 0;
}

#partner-4approaches .partner-decoration:after {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-bottom: 4px solid #af4745;
	border-right: 4px solid #af4745;
	position: absolute;
	bottom: 0;
	right: 0;
}

#partner-4approaches .partner-decoration h3 {
	font-size: 1rem;
}

#partner-4approaches .partner-decoration h2 {
	font-size: 1.5rem;
}

#partner-4approaches .partner-decoration h3:before {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 4px solid #af4745;
	border-left: 4px solid #af4745;
	position: absolute;
	top: 0;
	left: 0;
}

#partner-4approaches .partner-decoration h3:after {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 4px solid #af4745;
	border-right: 4px solid #af4745;
	position: absolute;
	top: 0;
	right: 0;
}

#partner-4approaches .approach-wrap {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-bottom: 4rem;
	width: 100%;
}

#partner-4approaches .approach-wrap > div:first-of-type {
	width: 45%;
	padding: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

#partner-4approaches .approach-wrap > div:first-of-type > img {
	width: 100%;
}

#partner-4approaches .approach-wrap > div:last-of-type {
	width: 45%;
	line-height: 1.75rem;
	text-align: justify;
	text-justify: inter-ideograph;
}

#partner-4approaches .approach-wrap > div:last-of-type > div {
	margin-top: 1rem;
}

#5approach a.button,
#partner-4approaches .approach-wrap a {
	display: block;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	text-align: center;
	font-size: 16px;
	border: 1px solid #af4745;
	text-decoration: none;
	transition: all 0.3s ease;
}

#5approach a.button:hover,
#partner-4approaches .approach-wrap a:hover {
	background-color: #af4745;
	color: #fff;
	border: 1px solid #af4745;
	transition: all 0.3s ease;
}

#flow .partner-flow {
	padding: 1rem;
	border-radius: 10px;
	background-color: #eee;
}

#flow .partner-flow dl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#flow .partner-flow dt {
	width: 29%;
	padding: 0.25rem 1rem;
	border-radius: 8px;
	border: 1px solid #af4745;
	color: #af4745;
	background-color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}

#flow .partner-flow dd {
	width: 69%;
	position: relative;
	z-index: 0;
}

#flow .partner-flow dd:before {
	content: '';
	position: absolute;
	display: inline-block;
	border-left: 5px solid #af4745;
	height: 100%;
	top: 1rem;
	left: -24.5%;
	z-index: -1;
}

#flow .partner-flow dd p {
	padding: 0.25rem 1rem;
	background-color: #fff;
	border-radius: 8px;
	margin-bottom: 1rem;
}

#flow .partner-flow dd div {
	padding: 0 1rem 1rem 1rem;
}

#flow .partner-flow > dl {
	margin-bottom: 1rem;
}

#flow .partner-flow > div {
	background-color:#af4745;
	color: #fff;
	padding: 0.5rem 1rem;
	border-radius: 8px;
	text-align: center;
	width: 100%;
	margin-bottom: 1rem;
	position: relative;
}

#flow .partner-flow > div.arrow:before {
	content: '';
	position: absolute;
	display: inline-block;
	border-left: 5px solid #af4745;
	height: 1rem;
	bottom: -1rem;
	left: 14%;
}

@media all and (max-width: 768px) {
	#flow .partner-flow dd {
		width: 100%;
		margin-left: 2rem;
	}
	
	#flow .partner-flow dd:before {
		height: calc(100% + 2rem);
		top: -1rem;
		left: -1rem;
		z-index: -1;
	}
	
	#flow .partner-flow dt {
		width: 100%;
		margin-bottom: 1rem;
	}
	
	#flow .partner-flow > div.arrow:before {
		left: 1rem;
	}
}

#partner-keywords {
	padding: 2rem;
	background-color: #fdf6e7;
}

#partner-keywords > ul {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
	flex-wrap: wrap;
	counter-reset: num;
}

#partner-keywords > ul > li {
	counter-increment: num;
	width: 48%;
	background-color: #fff;
	border-radius: 10px;
	padding: 1.5em;
	margin-bottom: 1.5em;
}

#partner-keywords > ul > li:before {
	content: counter(num);
	display: block;
	color: #af4745;
	font-size: 48px;
	text-align: center;
	margin: 1rem 0;
	font-weight: 600;
}

#partner-keywords > ul > li > h2 {
	text-align: center;
	margin-bottom: 1em;
	font-size: 1.25rem;
	color: #af4745;
}

#partner-keywords > ul > li:last-of-type {
	background-color: transparent;
	padding: 0;
}

#partner-keywords > ul > li:last-of-type:before {
	content: '';
}

#partner-keywords > ul > li:last-of-type > div {
	background-color: #fff;
	width: 250px;
	height: 250px;
	border-radius: 125px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #af4745;
}

#partner-keywords > ul > li:last-of-type > div > a {
	font-size: 18px;
	white-space: nowrap;
	font-weight: 600;
	text-align: center;
}

@media all and (max-width: 768px) {
	.partner-wrap {
		flex-flow: column;
		align-items: center;
	}
	
	.partner-wrap > div  {
		width: 100%;
		margin-bottom: 1rem;
	}
	
	.partner-wrap > p {
		width: 100%;
	}
	
	.partner-wrap > img {
		margin-bottom: 1rem;
	}
	
	#partner-4approaches .approach-wrap {
		flex-flow: column;
	}
	
	#partner-4approaches .approach-wrap > div:first-of-type,
	#partner-4approaches .approach-wrap > div:last-of-type {
		width: 100%;
		margin-bottom: 1rem;
	}
	
	#partner-keywords > ul > li {
		width: 100%;
	}
}

/* for financial */
h2.financial-heading {
  border-left: 5px solid #004380;
  margin-bottom: 1rem;
  color: #333;
  padding: 0 0.5em;
  font-size: 24px;
}

h3.financial-heading {
  background-color: #004380;
  display: inline-block;
  margin-bottom: 1rem;
  color: #fff;
  padding: 0.5em 1em;
  font-size: 1rem;
}

#financial-wrap ul {
	margin-bottom: 2rem;
	list-style-type: none;
}


#financial-wrap ul > li {
	position: relative;
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 1.75em;
	padding-left: 2em;
}

.financial-vnote-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.financial-vnote-wrap > div {
	width: 32%;
	height: auto;
}

#financial-wrap ul > li:before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border: 1px solid #333;
	position: absolute;
	top: 0.4rem;
	left: 0.5rem;
}

#financial-wrap ul > li:after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0.5rem;
    left: 0.75rem;
    width: 1rem;
    height: 0.5rem;
    box-sizing: border-box;
    border-bottom: 2px solid #333;
    border-left: 2px solid #333;
    transform: rotate(-45deg);

}


#financial-wrap p {
	margin-bottom: 4rem;
}

#financial-wrap a {
  padding: 0.5em 3.5em 0.5em 2.5em;
  border: 3px solid #004380;
  display: inline-block;
  color: #004380;
  font-size: 18px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
	position: relative;
  transition: all 0.3s ease;
}

#financial-wrap a:before {
	content: '';
	display: inline-block;
	border-right: 2px solid #004380;
	border-bottom: 2px solid #004380;
	transform: rotate(-45deg);
	position: absolute;
	right: 1rem;
	top: 50%;
	width: 0.75rem;
	height: 0.75rem;
	margin-top: -0.375rem;
  transition: all 0.3s ease;
}

#financial-wrap a:hover:before {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transition: all 0.3s ease;
}

#financial-wrap a:hover {
  background-color: #004380;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.3s ease;
}

#financial-wrap a > div:nth-of-type(2) {
  color: #666;
  transition: all 0.3s ease;
}

#financial-wrap a:hover > div:nth-of-type(2) {
  color: #fff;
  transition: all 0.3s ease;
}

@media all and (max-width: 768px) {
	.financial-vnote-wrap {
		flex-wrap: wrap;
		padding: 0 2rem;
	}
	
	.financial-vnote-wrap > div {
		width: 100%;
		margin-bottom: 0.5rem;
	}
}

/* about-seminar */
#seminar-wrap > .three-seminar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#seminar-wrap > .three-seminar > a {
	width: 46%;
	display: block;
	margin-bottom: 4rem;
	text-decoration: none;
}

#seminar-wrap > .three-seminar > a > h2 {
	text-align: center;
	font-size: 16px;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	border: 2px solid #af4745;
	background-color: #fff;
	color: #af4745;
	white-space: nowrap;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
}

#seminar-wrap > .three-seminar > a:hover > h2 {
	text-align: center;
	font-size: 16px;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	border: 2px solid #af4745;
	background-color: #af4745;
	color: #fff;
	white-space: nowrap;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
}

#seminar-wrap > .three-seminar > a > h3 {
	text-align: center;
	font-size: 16px;
	color: #333;
	margin-bottom: 0.5rem;
}


#seminar-wrap > .three-seminar > a > div {
	position: relative;
	margin-bottom: 1rem;
	overflow: hidden;
	border-radius: 25px;
}

#seminar-wrap > .three-seminar > a > div:before {
	content: '';
	position: absolute;
	display: block;
	background-color: rgba(0, 0, 0, 0);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all 0.3s ease;
}

#seminar-wrap > .three-seminar > a > div:after {
	content: '詳しくみる';
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
	color: #fff;
	opacity: 0;
	font-size: 16px;
	transition: all 0.3s ease;
}

#seminar-wrap > .three-seminar > a:hover > div:after {
	opacity: 1;
	transition: all 0.3s ease;
}

#seminar-wrap > .three-seminar > a > div > img {
	display: block;
}

#seminar-wrap > .three-seminar > a:hover > div:before {
	content: '';
	background-color: rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

a.read-more-bk {
  padding: 0.75em 1.5em;
  border: 1px solid #444;
  display: inline-block;
  color: #444;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 1px;
  background-color: #fff;
  transition: all 0.3s ease;
}

a.read-more-bk:hover {
  background-color: #444;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.3s ease;
}

@media all and (max-width: 768px) {
	#seminar-wrap > .three-seminar > a {
		width: 100%;
	}
	
	#seminar-wrap > .three-seminar > a h2 {
		font-size: 16px;
		margin-bottom: 1rem;
	}
	
	#seminar-wrap > .three-seminar > a:hover h2 {
		font-size: 16px;
		margin-bottom: 1rem;
	}
}

/* vnote */
#vnote .slider-for img {
	width: 100%;
	border: 1px solid #ccc;
}

#vnote .slider-nav img {
	width: 100%;
}

#vnote .slider-for {
	margin-top: 2rem;
	margin-bottom: 1rem;
}

#vnote .slider-nav {
	margin-bottom: 4rem;
}

#vnote .slider-nav img {
	box-shadow: 0 0 3px rgba(0,0,0,0.1);
}

#vnote .slider-nav .slick-slide {
	margin: 5px;
}

#vnote .slick-next {
	right: 1rem;
	z-index: 1;
}

#vnote .slick-prev {
	left: 1rem;
	z-index: 2;
}

#vnote h2.page-heading {
  border-left: 5px solid #004380;
  margin-bottom: 2rem;
  color: #333;
  padding: 0 0.5em;
  font-size: 24px;
}

#vnote-troubles > div {
  display: flex;
  align-items: center;
  margin-bottom: 2em;
}

#vnote-troubles > div h2.page-heading {
  font-size: 20px;
  margin-bottom: 1em;
}

#vnote-troubles > div > img {
  width: 200px;
  margin-left: 1rem;
}

#vnote-troubles > div > div > div {
  display: none;
  margin-bottom: 1em;
}

@media all and (max-width: 768px) {
  #vnote-troubles > div > div > div {
    display: block;
    margin-bottom: 1em;
  }
}

#vnote-troubles2 > ul {
	list-style-type: none;
	background-color: #eee;
	border-radius: 10px;
	padding: 2rem;
}

#vnote-troubles2 > ul > li {
	display: flex;
	justify-content: space-between;
}

#vnote-troubles2 > ul > li > div:first-of-type {
	width: 68%;
}

#vnote-troubles2 > ul > li > div:last-of-type {
	width: 28%;
}

#vnote-troubles2 > ul > li > div:last-of-type > img {
	width: 100%
}

#vnote-troubles2 > ul > li > div:first-of-type > div > img {
	display: none;
}

#vnote-troubles2 > ul > li h3 {
	font-size: 18px;
	margin-bottom: 1rem;
	position: relative;
	padding-left: 2rem;
}

#vnote-troubles2 > ul > li h3:before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: #fff;
	border: 2px solid #004380;
	box-sizing: border-box;
	position: absolute;
	top: calc(20px - 1rem);
	left: 0;
}

#vnote-troubles2 > ul > li h3:after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.25rem;
	left: 0.25rem;
	width: 1rem;
	height: 0.5rem;
	box-sizing: border-box;
	border-bottom: 2px solid #004380;
	border-left: 2px solid #004380;
	transform: rotate(-45deg);
}

@media all and (max-width: 768px) {
  #vnote-troubles2 > ul > li {
    flex-flow: column-reverse;
	  margin-bottom: 2rem;
  }
	
  #vnote-troubles2 > ul > li > div:first-of-type,
  #vnote-troubles2 > ul > li > div:last-of-type {
    width: 100%;
  }
	
	#vnote-troubles2 > ul > li > div:first-of-type > div > img {
		display: inline-block;
	}
	
	#vnote-troubles2 > ul > li > div:last-of-type {
		display: none;
	}
}

#vnote-5-effects ol {
	list-style-type: none;
	counter-reset: efforts;
}

#vnote-5-effects ol li {
	margin-bottom: 4rem;
	display: flex;
	justify-content: space-between;
}

#vnote-5-effects ol li h2 {
	padding-left: 3.5em;
	position: relative;
	counter-increment: efforts;
	color: #004380;
	margin-bottom: 1rem;
}

#vnote-5-effects ol li h2:before {
	content: counter(efforts);
	padding: 0.35em 0.5em;
	font-size: 1.5em;
	display: inline-block;
	position: absolute;
	top: 50%;
	margin-top: -1em;
	left: 0;
	color: #004380;
	font-weight: 600;
	border: 4px solid #004380;
	border-radius: 15px;
}

@media all and (max-width: 768px) {
	#vnote-5-effects ol li h2 {
		font-size: 20px;
		padding-left: 0;
		padding-top: 2.5em;
	}

	#vnote-5-effects ol li h2:before {
		left: 50%;
		margin-left: -1em;
		top: 0;
	}
	
	#vnote-5-effects ol li h2 br {
		display: none;
	}
}

#vnote-5-effects ol li > div:first-of-type {
	width: 68%;
}

#vnote-5-effects ol li > div:last-of-type {
	width: 28%;
}

#vnote-constitution img.vnote-constitution-pc {
	display: inline-block;
}
	
#vnote-constitution img.vnote-constitution-sp {
	display: none;
}

#vnote-step > div {
	display: flex;
	justify-content: space-between;
}

#vnote-step > div > p {
	width: 38%;
}

#vnote-step > div > div {
	width: 58%;
}

#vnote-case > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#vnote-case > div > div {
	width: 38%;
	text-align: center;
}

#vnote-case > div > div > img {
	width: 250px;
	height: 250px;
	border-radius: 125px;
}

#vnote-case > div > div > * {
	margin-bottom: 0.5rem;
}

#vnote-case > div > dl {
	width: 58%;
	border-radius: 20px;
	background-color: #f8f8f8;
	padding: 2rem;
}

#vnote-case > div > dl > dt {
	color: #004380;
	font-size: 20px;
	margin-bottom: 1em;
	font-weight: 600;
	padding-left: 30px;
	position: relative;
}

#vnote-case > div > dl > dt:before {
	content: 'Q';
	position: absolute;
	left: -3rem;
	top: 2rem;
	font-size: 4rem;
	color: #ffe500;
	font-weight: 600;
	font-family: serif;
	text-shadow: 5px 5px 0 #fff;
}

#vnote-case > div > dl > dd {
	padding: 1rem 2rem;
	background-color: #fff;
	border-radius: 20px;
	position: relative;
}

#vnote-case > div > dl > dd:before {
	content: 'A';
	position: absolute;
	left: -3rem;
	top: 2rem;
	font-size: 4rem;
	color: #ffe500;
	font-weight: 700;
	font-family: serif;
	text-shadow: 5px 5px 0 #fff;
}

#vnote-association .vnote-association-sp {
	display: none;
}

.association-heading {
	color: #004380;
	display: inline-block;
	background-color: #fff;
	border: 2px solid #004380;
	border-radius: 10px;
	padding: 0.5em 1em;
	margin-bottom: 1.5em;
	position: relative;
}

.association-heading:before {
	content: '';
    display: inline-block;
    height: 100%;
    width: calc(100% + 4px);
    border: 2px solid #004380;
    border-radius: 10px;
    background-color: #86bae0;
    position: absolute;
    top: 0.4em;
    left: -2px;
    z-index: -1;
    box-sizing: border-box;
}

.vnote-association-sp > div > h3 {
	color: #004380;
	font-size: 18px;
	text-align: left;
	margin-bottom: 0.5rem;
}

.vnote-association-sp > div > p {
	background-color: #ffe500;
	padding: 1rem 0.5rem;
	margin-bottom: 0.5rem;
	text-align: left;
}

.vnote-association-sp > div > table {
	border-right: 2px solid #ffe500;
	border-bottom: 2px solid #ffe500;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	margin-bottom: 2rem;
}

.vnote-association-sp > div > table th,
.vnote-association-sp > div > table td {
	border-top: 2px solid #ffe500;
	border-left: 2px solid #ffe500;
	text-align: center;
	color: #004380;
	padding: 0.5rem 1rem;
	font-weight: 700;
	font-size: 1rem;
}

@media all and (max-width: 768px) {
	#vnote-association .vnote-association-pc {
		display: none;
	}

	#vnote-association .vnote-association-sp {
		display: block;
	}
}

#vnote-association .vnote-case-button-wrap {
	background-color: #eee;
	padding: 0.75rem 2rem;
	text-align: center;
}

#vnote-association .vnote-case-button-wrap > a {
	display: inline-block;
	margin: 0.5em;
	padding: 1em 3em 1em 1em;
	background-color: #004380;
	border: 2px solid #004380;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	position: relative;
	transition: all 0.3s ease;
}

#vnote-association .vnote-case-button-wrap > a:hover {
	background-color: #fff;
	color: #004380;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

#vnote-association .vnote-case-button-wrap > a:before {
	content: '';
	display: inline-block;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
	position: absolute;
	width: 0.5em;
	height: 0.5em;
	top: 50%;
	margin-top: -0.25em;
	right: 1em;
	transition: all 0.3s ease;
}

#vnote-association .vnote-case-button-wrap > a:hover:before {
	color: #004380;
	border-right: 2px solid #004380;
	border-bottom: 2px solid #004380;
	transition: all 0.3s ease;
}

#vnote-application .vnote-application-button-wrap {
	text-align: center;
	margin: 4em 0 0 0;
}

#vnote-application .vnote-application-button-wrap > a {
	border: 3px solid #004380;
	color: #004380;
	font-weight: 700;
	display: inline-block;
	padding: 1em 3em 1em 2em;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}

#vnote-application .vnote-application-button-wrap > a > div:nth-of-type(2) {
	font-size: 24px;
}

#vnote-application .vnote-application-button-wrap > a > div:nth-of-type(3) {
	color: #888;
}

#vnote-application .vnote-application-button-wrap > a:before {
	content: '';
	display: inline-block;
	border-right: 2px solid #004380;
	border-bottom: 2px solid #004380;
	transform: rotate(-45deg);
	width: 0.5rem;
	height: 0.5rem;
	right: 1em;
	top: 50%;
	margin-top: -0.25rem;
	color: #fff;
	position: absolute;
	transition: all 0.3s ease;
}

#vnote-application .vnote-application-button-wrap > a:hover:before {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transition: all 0.3s ease;
}

#vnote-application .vnote-application-button-wrap > a:hover {
	background-color: #004380;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

#vnote-application .vnote-application-button-wrap > a:hover > * {
	color: #fff !important;
	transition: all 0.3s ease;
}

#vnote-others .vnote-others-button-wrap > a {
	border: 3px solid #af4745;
	color: #af4745;
	font-weight: 700;
	display: inline-block;
	padding: 0.75em;
	margin: 0.5em 0;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}

#vnote-others .vnote-others-button-wrap > a:hover {
	background-color: #af4745;
	color: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

@media all and (max-width:768px) {
	#vnote-others .vnote-others-button-wrap > a {
		width: 100%;
	}
	
	#vnote-troubles > div > img {
    display: none;
  }
	
	#vnote-troubles2 > ul {
		padding: 2rem 0.5rem;
	}

	#vnote h2.page-heading br {
		display: none;
	}
	
	#vnote-5-effects ol li > div:first-of-type {
		width: 100%;
	}
	
	#vnote-5-effects ol li > div:last-of-type {
		display: none;
	}
	
	#vnote-constitution img.vnote-constitution-pc {
		display: none;
	}
	
	#vnote-constitution img.vnote-constitution-sp {
		display: inline-block;
	}
	
	#vnote-step > div {
		flex-flow: column-reverse;
		align-items: center;
	}
	
	#vnote-step > div > p {
		width: 100%;
		margin-bottom: 2rem;
	}
	
	#vnote-step > div > div {
		width: 100%;
	}
	
	#vnote-case > div {
		flex-flow: column;
	}
	
	#vnote-case > div  > div,
	#vnote-case > div  > dl {
		width: 100%;
	}
	
	#vnote-case > div > dl {
		padding: 2rem 0.5rem;
	}
	
	#vnote-case > div > dl > dt {
		padding-left: 4rem;
		font-size: 18px;
	}
	
	#vnote-case > div > dl > dd {
		padding: 1rem;
		margin-top: 4rem;
	}
	
	#vnote-case > div > dl > dd:before {
		left: 0;
		top: -1.75rem;
	}
	
	#vnote-case > div > dl > dt:before {
		left: 0;
	}
	
	#vnote-others .vnote-others-button-wrap {
		text-align: center;
	}
}

#vnote-constitution h2 {
	color: #004380;
	margin-bottom: 1em;
}

.vnote-notice {
	padding: 2em;
	margin-top: 1em;
	background-color: #eee;
	font-size: 0.875em;
}

.vnote-notice > ul {
	padding-left: 1em;
	margin-bottom: 1em;
}

/* datsudonburi seminar */
#datsudonburi-troubles ul {
	background-color: #eee;
	border-radius: 10px;
	padding: 2rem;
	list-style-type: none;
	margin-bottom: 2rem;
}

#datsudonburi-troubles ul > li {
	font-size: 18px;
	font-weight: 700;
	padding-left: 2em;
	margin: 0.75em 0;
	position: relative;
}

#datsudonburi-troubles ul > li:before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	margin-top: 0.25em;
	left: 0;
	width: 1em;
	height: 1em;
	box-sizing: border-box;
	border: 2px solid #af4745;
	background-color: #fff;
}

#datsudonburi-troubles ul > li:after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.25em;
	left: 0.25em;
	width: 1em;
	height: 0.5em;
	box-sizing: border-box;
	border-bottom: 2px solid #af4745;
	border-left: 2px solid #af4745;
	transform: rotate(-45deg);
}

h2.heading-underline,
h2.heading-underline2 {
	font-size: 24px;
	margin-bottom: 3em;
	display: inline-block;
	position: relative;
}

h2.heading-underline:before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 5px;
	background-color: #af4745;
	position: absolute;
	bottom: -1em;
	left: 0;
}


h2.heading-underline2:before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 5px;
	background-color: #004380;
	position: absolute;
	bottom: -1em;
	left: 0;
}

#datsudonburi-outline > div > h3 {
	font-size: 1rem;
	margin-bottom: 1em;
}

#datsudonburi-outline ol {
	list-style-type: none;
	counter-reset: step;
	font-weight: 700;
}

#datsudonburi-outline ol > li {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em 1em 1.5em 5em;
	font-size: 18px;
	margin-bottom: 3rem;
	position: relative;
	counter-increment: step;
	box-shadow: 5px 5px 0 #ddd;
}

#datsudonburi-outline ol > li:before {
	content: counter(step);
	position: absolute;
	left: 0.5em;
	top: 50%;
	margin-top: -1em;
	padding: 0.5em;
	font-size: 1.5em;
	border-radius: 10px;
	background-color: #fff;
	color: #af4745;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

#datsudonburi-outline ol > li.arrow:after {
	content: '';
	display: inline-block;
	border-top: 0.75rem solid #af4745;
	border-left: 0.75rem solid rgba(255, 255, 255, 0);
	border-right: 0.75rem solid rgba(255, 255, 255, 0);
	border-bottom: 0.75rem solid rgba(255, 255, 255, 0);
	position: absolute;
	left: calc(50%);
	bottom: -2.75rem;
	transform: translateX(-50%);
}

#datsudonburi-outline > div > div {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em 2em;
	box-shadow: 5px 5px 0 #ddd;
}

#datsudonburi-outline > div > div > * + h4 {
	margin-top: 2em;
}
#datsudonburi-outline > div > div > * + p {
	margin-top: 1em;
}

#datsudonburi-3effects ol {
	list-style-type: none;
   counter-reset: efforts;
}

#datsudonburi-3effects ol > li {
	display: flex;
	justify-content: space-between;
}

#datsudonburi-3effects ol > li + li {
	margin-top: 4rem;
}

#datsudonburi-3effects ol > li > div:first-of-type {
	width: calc(70% - 1em);
}

#datsudonburi-3effects ol > li > div:last-of-type {
	width: calc(30% - 1em);
}

#datsudonburi-3effects ol > li > div {
	display: flex;
	flex-flow: column;
	justify-content: center;
}

#datsudonburi-3effects ol > li > div > h3 {
	color: #af4745;
	font-size: 1.25rem;
	position: relative;
	counter-increment: efforts;
	padding-left: 3.5em;
	margin-bottom: 1rem;
}

#datsudonburi-3effects ol > li > div > h3:before {
	 content: counter(efforts);
    padding: 0.35em 0.5em;
    font-size: 1.5em;
    display: inline-block;
    position: absolute;
    top: 50%;
    margin-top: -1em;
    left: 0;
    color: #af4745;
    font-weight: 600;
    border: 3px solid #af4745;
    border-radius: 10px;
	 background-color: #fff;
}

@media all and (max-width: 768px) {
	#datsudonburi-3effects ol > li {
		flex-flow: column-reverse;
	}

	#datsudonburi-3effects ol > li + li {
		margin-top: 2rem;
	}

	#datsudonburi-3effects ol > li > div:first-of-type {
		width: 100%;
	}

	#datsudonburi-3effects ol > li > div:last-of-type {
		width: 100%;
		max-width: 300px;
		margin: 0 auto 1rem auto;
	}
}

#datsudonburi-merit ul {
	list-style-type: none;
	font-weight: 700;
}

#datsudonburi-merit ul > li {
	padding-left: 1.5em;
	position: relative;
}

#datsudonburi-merit ul > li + li {
	margin-top: 1em;
}

#datsudonburi-merit ul > li:before {
	content: '';
	display: block;
	width: 0.75em;
	height: 0.75em;
	border-radius: 50%;
	border: 2px solid #af4745;
	position: absolute;
	top: 0.25em;
	left: 0;
}

#datsudonburi-3effects ol > li > p {
	padding: 1em;
}

#datsudonburi-profile > div > div:nth-of-type(1) {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2em;
}

#datsudonburi-profile > div > div:nth-of-type(1) > figure {
	width: 25%;
	padding-top: 25%;
	background-color: #eee;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}

#datsudonburi-profile > div > div:nth-of-type(1) > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

#datsudonburi-profile > div > div:nth-of-type(1) > div {
	width: calc(75% - 2em);
}

#datsudonburi-profile > div > div:nth-of-type(1) > div > h3 {
	font-size: 1.5rem;
	margin-bottom: 0.5em;
}

#datsudonburi-profile > div > div:nth-of-type(2) {
	border-radius: 16px;
	background-color: #eee;
	padding: 1.5em 2em;
}

#datsudonburi-profile > div > div:nth-of-type(2)> h3 {
	margin-bottom: 0.5em;
}

#datsudonburi-profile > div > div:nth-of-type(2) > p {
	font-size: 0.875em;
}

#datsudonburi-profile > div > div:nth-of-type(3) {
	text-align: center;
	margin-top: 2em;
}

#datsudonburi-profile > div > div:nth-of-type(3) > a {
	display: inline-block;
	background-color: #af4745;
	border-radius: 0.5em;
	padding: 0.75em 1.5em;
	color: #fff;
	font-weight: 700;
	border: 2px solid #af4745;
	transition: all 0.3s ease;
}

#datsudonburi-profile > div > div:nth-of-type(3) > a:hover {
	background-color: #fff;
	color: #af4745;
	text-decoration: none;
	transition: all 0.3s ease;
}

#datsudonburi-testimonials ul {
	list-style-type: none;
}

#datsudonburi-testimonials ul > li {
	background-color: #eee;
	border-radius: 25px;
	padding: 1em 2em;
	margin-bottom: 3em;
	position: relative;
}

#datsudonburi-testimonials ul > li > div {
	text-align: right;
}

#datsudonburi-testimonials ul > li:nth-of-type(2n-1) {
	margin-left: 60px;
}

#datsudonburi-testimonials ul > li:nth-of-type(2n-1):before {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	left: -60px;
	top: 50%;
	margin-top: -30px;
	position: absolute;
	background-image: url(/wp-content/uploads/2019/01/balloon-tail-left.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#datsudonburi-testimonials ul > li:nth-of-type(2n) {
	margin-right: 60px;
}

#datsudonburi-testimonials ul > li:nth-of-type(2n):before {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	right: -60px;
	top: 50%;
	margin-top: -30px;
	position: absolute;
	background-image: url(/wp-content/uploads/2019/01/balloon-tail-right.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

/* #datsudonburi-testimonials ul > li > div:first-of-type {
	width: 28%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#datsudonburi-testimonials ul > li > div:first-of-type > img {
	width: 150px;
	height: 150px;
	background-color: #eee;
	border-radius: 75px;
}

#datsudonburi-testimonials ul > li > div:last-of-type {
	width: 68%;
}

#datsudonburi-testimonials ul > li > div:last-of-type > h3 {
	margin-bottom: 1rem;
	font-size: 20px;
}

#datsudonburi-testimonials ul > li > div:last-of-type > div {
	margin-bottom: 1rem;
	font-size: 16px;
}

#datsudonburi-testimonials ul > li > div:last-of-type > div > span {
	font-weight: 700;
	margin-right: 1em;
	font-size: 18px;
} */

@media all and (max-width: 768px) {
/* 	#datsudonburi-testimonials ul > li {
		flex-flow: column;
	}
	
	#datsudonburi-testimonials ul > li > div:first-of-type {
		width: 100%;
		margin-bottom: 1rem;
	}
	
	#datsudonburi-testimonials ul > li > div:last-of-type {
		width: 100%;
	} */
}

/* visionary plan */
#visonaryplan-whatis > div {
	display: flex;
	justify-content: space-between;
}

#visonaryplan-whatis > div > div {
	width: 48%;
}

#visonaryplan-whatis > div > div > h3 {
	margin-bottom: 1rem;
	font-size: 24px;
}

@media all and (max-width: 768px) {
	#visonaryplan-whatis > div {
		flex-flow: column;
	}
	
	#visonaryplan-whatis > div > div {
		width: 100%;
		margin-bottom: 2rem;
	}
	
	#visonaryplan-whatis > div > div {
		width: 100%;
	}
}

#visonaryplan-pattern > div {
	display: flex;
	justify-content: space-between;
}

#visonaryplan-pattern > div > div {
	width: 48%;
	margin-bottom: 2rem;
}

#visonaryplan-pattern > div > div:first-of-type > ol {
	list-style-type: none;
	font-size: 16px;
	counter-reset: donburi;
}

#visonaryplan-pattern > div > div:first-of-type > ol > li {
	background-color: #eee;
	padding: 1em 6em 1em 4em;
	border-radius: 10px;
	margin-bottom: 3rem;
	position: relative;
	counter-increment: donburi;
}

#visonaryplan-pattern > div > div:first-of-type > ol > li:before {
	content: counter(donburi);
	color: #888;
	background-color: #fff;
	border-radius: 5px;
	font-size: 1.5rem;
	box-sizing: border-box;
	padding: 12px;
	position: absolute;
	left: 0.5rem;
	top: 50%;
	margin-top: -1.25rem;
	display:flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
}

#visonaryplan-pattern > div > div:first-of-type > ol > li.arrow:after {
	content: '';
	display: inline-block;
	position: absolute;
	left: 50%;
	margin-left: -0.5rem;
	bottom: -2.5rem;
	border-top: 0.75rem solid #888;
	border-left: 0.75rem solid rgba(255, 255, 255, 0);
	border-right: 0.75rem solid rgba(255, 255, 255, 0);
	border-bottom: 0.75rem solid rgba(255, 255, 255, 0);
}

#visonaryplan-pattern > div > div:first-of-type > ol > li > span {
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -1.25em;
	color: #fff;
	border-radius: 10px;
	background-color: #af4745;
	padding: 0.5em 1em;
	width: 5em;
	text-align: center;
}

#visonaryplan-pattern > div > div:first-of-type > ol > li > span.dot {
	background-color: unset;
	border: 2px dotted #af4745;
	color: #af4745;
}

#visonaryplan-pattern > div > div:first-of-type > h3 {
	margin-bottom: 0.5rem;
}

#visonaryplan-pattern > div > div:last-of-type > p {
	margin-bottom: 2rem;
}

#visonaryplan-pattern > div > div:last-of-type > ul {
	background-color: #fff;
	border-radius: 10px;
	padding: 1.5em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	list-style-type: none;
}

#visonaryplan-pattern > div > div:last-of-type > ul > li {
	margin-bottom: 1rem;
}

@media all and (max-width: 768px) {
	#visonaryplan-pattern > div {
		flex-flow: column;
	}
	
	#visonaryplan-pattern > div > div:first-of-type {
		width: 100%;
		margin-bottom: 2rem;
	}
	
	#visonaryplan-pattern > div > div:last-of-type {
		width: 100%;
	}
}

#visonaryplan-map > div {
	display: flex;
	justify-content: space-between;
}


#visonaryplan-map > div > div {
	width: 48%;
}

#visonaryplan-map > div > div:last-of-type > h2 {
	margin-bottom: 1em;
}

#visonaryplan-map > div > div:last-of-type > div {
	display: none;
}

@media all and (max-width: 768px) {
	#visonaryplan-map > div {
		flex-flow: column;
	}
	
	#visonaryplan-map > div > div:first-of-type {
		display: none;
	}
	
	#visonaryplan-map > div > div:last-of-type {
		width: 100%;
	}
	
	#visonaryplan-map > div > div:last-of-type {
		width: 100%;
	}
	
	#visonaryplan-map > div > div:last-of-type > div {
		display: block;
	}
}

#cashflow-3point > div {
	display: flex;
	justify-content: space-between;
	counter-reset: cashflow;
}

#cashflow-3point > div > div {
	width: 32%;
	background-color: #fcfaf2;
	border-radius: 10px;
	margin-bottom: 1rem;
	padding: 1em 1em 0 1em;
	display: flex;
	flex-flow: column;
	justify-content: center;
}

#cashflow-3point > div > div > h3 {
	color: #af4745;
	font-size: 16px;
	position: relative;
	counter-increment: cashflow;
	padding-left: 3.5em;
	margin-top: 1rem;
}

#cashflow-3point > div > div > h3:before {
    content: counter(cashflow);
    padding: 0.35em 0.5em;
    font-size: 1.5em;
    display: inline-block;
    position: absolute;
    top: 50%;
    margin-top: -1em;
    left: 0;
    color: #af4745;
    font-weight: 600;
    border: 3px solid #af4745;
    border-radius: 10px;
    background-color: #fff;

}

@media all and (max-width: 768px) {
	#cashflow-3point > div {
		flex-flow: column;
	}
	
	#cashflow-3point > div > div {
		width: 100%;
	}
}

/* #cashflow-troubles > h2 {
	font-size: 18px;
	margin: 0 auto 1rem auto;
	max-width: 700px;
}

#cashflow-troubles > p {
	margin: 0 auto 3rem auto;
	max-width: 700px;
} */

#cashflow-troubles > ul {
	list-style-type: none;
    background-color: #eee;
    border-radius: 10px;
    padding: 2rem;
}

#cashflow-troubles > ul li:not(:last-of-type) {
	margin-bottom: 4rem;
}

#cashflow-troubles > ul li h2 {
    font-size: 18px;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 2rem;
}

#cashflow-troubles > ul li h2 {
    font-size: 18px;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 2rem;
}

#cashflow-troubles > ul li h2:before {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    border: 2px solid #af4745;
    box-sizing: border-box;
    position: absolute;
    top: calc(20px - 1rem);
    left: 0;
}

#cashflow-troubles > ul li h2:after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 0.5rem;
    box-sizing: border-box;
    border-bottom: 2px solid #af4745;
    border-left: 2px solid #af4745;
    transform: rotate(-45deg);
}

#cashflow-block > p {
	margin: 0 auto 3rem auto;
	max-width: 700px;
}

#cashflow-step > ol {
	list-style-type: none;
	counter-reset: step;
}

#cashflow-step > ol > li {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em 1em 1.5em 5em;
	font-size: 18px;
	margin-bottom: 2rem;
	position: relative;
	counter-increment: step;
	box-shadow: 5px 5px 0 #ddd;
}

#cashflow-step > ol > li:before {
	content: counter(step);
	position: absolute;
	left: 0.5em;
	top: 50%;
	margin-top: -1em;
	padding: 0.5em;
	font-size: 1.5em;
	border-radius: 10px;
	background-color: #fff;
	color: #af4745;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

#cashflow-step > ol > li.arrow:after {
	content: '';
	display: inline-block;
	border-top: 0.75rem solid #af4745;
	border-left: 0.75rem solid rgba(255, 255, 255, 0);
	border-right: 0.75rem solid rgba(255, 255, 255, 0);
	border-bottom: 0.75rem solid rgba(255, 255, 255, 0);
	position: absolute;
	left: 100px;
	bottom: -2rem;
}

#cashflow-detail > div > a {
	border: 3px solid #af4745;
	box-sizing: border-box;
	background-color: #af4745;
	color: #fff;
	padding: 1em 2em;
	display: inline-block;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
}

#cashflow-detail > div > a:hover {
	background-color: #fff;
	color: #af4745;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#cashflow-detail > div > a > div:first-of-type {
	font-size: 16px;
	margin-bottom: 0.5em;
}

#cashflow-detail > div > a > div:last-of-type {
	font-size: 24px;
}

#ordermade-training1,
#ordermade-training2 {
	display: flex;
	justify-content: space-between;
}

#ordermade-training1 > div:first-of-type,
#ordermade-training2 > div:first-of-type {
	width: 58%;
}

#ordermade-training1 > div:first-of-type > div,
#ordermade-training2 > div:first-of-type > div {
	display: none;
	margin-bottom: 1rem;
}

#ordermade-training1 > div:last-of-type,
#ordermade-training2 > div:last-of-type {
	width: 38%;
}

#ordermade-training1 > div > h2 > div,
#ordermade-training2 > div > h2 > div {
	font-size: 16px;
}

#ordermade-training1 p {
	margin-bottom: 1rem;
}

#ordermade-training3 > table,
#ordermade-training4 > table {
	border-top: 1px solid #666;
	border-left: 1px solid #666;
	border-collapse: collapse;
	border-spacing: 0;
	max-width: 500px;
	width: 100%;
}

#ordermade-training3 > table td,
#ordermade-training4 > table td {
	border-right: 1px solid #666;
	border-bottom: 1px solid #666;
	background-color: #f3f3f3;
	padding: 1em;
	display: block;
}

#ordermade-training5 .ordermade-training5-button-wrap {
	text-align: center;
	margin: 4em 0 0 0;
}

#ordermade-training5 .ordermade-training5-button-wrap > a {
	border: 3px solid #af4745;
	color: #af4745;
	font-weight: 700;
	display: inline-block;
	padding: 1em 3em 1em 2em;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
}

#ordermade-training5 .ordermade-training5-button-wrap > a > div:nth-of-type(2) {
	font-size: 24px;
}

#ordermade-training5 .ordermade-training5-button-wrap > a > div:nth-of-type(3) {
	color: #888;
}

#ordermade-training5 .ordermade-training5-button-wrap > a:before {
	content: '';
	display: inline-block;
	border-right: 2px solid #af4745;
	border-bottom: 2px solid #af4745;
	transform: rotate(-45deg);
	width: 0.5rem;
	height: 0.5rem;
	right: 1em;
	top: 50%;
	margin-top: -0.25rem;
	color: #fff;
	position: absolute;
	transition: all 0.3s ease;
}

#ordermade-training5.ordermade-training5-button-wrap > a:hover:before {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transition: all 0.3s ease;
}

#ordermade-training5 .ordermade-training5-button-wrap > a:hover {
	background-color: #af4745;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

#ordermade-training5 .ordermade-training5-button-wrap > a:hover > * {
	color: #fff !important;
	transition: all 0.3s ease;
}

@media all and (max-width: 768px) {
	#ordermade-training1 > div:first-of-type,
	#ordermade-training2 > div:first-of-type {
		width: 100%;
	}

	#ordermade-training1 > div:first-of-type > div,
	#ordermade-training2 > div:first-of-type > div {
		display: block;
	}
	
	#ordermade-training1 > div:last-of-type,
	#ordermade-training2 > div:last-of-type {
		display: none;
	}
}

#cashflowcoach-effects > dl > dt {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em 1em 1.5em 5em;
	font-size: 18px;
	margin-bottom: 3rem;
	box-shadow: 5px 5px 0 #ddd;
	position: relative;
}

#cashflowcoach-effects > dl > dt:before {
	content: attr(data-text);
	position: absolute;
	left: 0.5em;
	top: 50%;
	margin-top: -1em;
	padding: 0.5em;
	font-size: 1.5em;
	border-radius: 10px;
	background-color: #fff;
	color: #af4745;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

#cashflowcoach-effects > dl > dt.arrow:after {
	content: '';
	display: inline-block;
	border-top: 0.75rem solid #af4745;
	border-left: 0.75rem solid rgba(255, 255, 255, 0);
	border-right: 0.75rem solid rgba(255, 255, 255, 0);
	border-bottom: 0.75rem solid rgba(255, 255, 255, 0);
	position: absolute;
	left: 5rem;
	bottom: -2.5rem;
}

#cashflowcoach-effects > dl > dd > ul {
	font-size: 18px;
	padding-left: 8rem;
	margin-bottom: 2rem;
}

@media all and (max-width: 768px) {
	#cashflowcoach-effects > dl > dd > ul {
		font-size: 1rem;
		padding-left: 4rem;
	}
}

#visionary-coach-session > dl > dt {
	background-color: #eee;
	border-radius: 10px;
	padding: 1.5em 1em 1.5em 5em;
	font-size: 18px;
	margin-bottom: 2rem;
	font-weight: 700;
	position: relative;
	box-shadow: 5px 5px 0 #ddd;
}

#visionary-coach-session > dl > dt:before {
	content: attr(data-text);
	position: absolute;
	left: 0.5em;
	top: 50%;
	margin-top: -1em;
	padding: 0.5em;
	font-size: 1.5em;
	border-radius: 10px;
	background-color: #fff;
	color: #af4745;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

#visionary-coach-session > dl > dt.arrow:after {
	content: '';
	display: inline-block;
	border-top: 0.75rem solid #af4745;
	border-left: 0.75rem solid rgba(255, 255, 255, 0);
	border-right: 0.75rem solid rgba(255, 255, 255, 0);
	border-bottom: 0.75rem solid rgba(255, 255, 255, 0);
	position: absolute;
	left: 1.5rem;
	bottom: -4rem;
}

#visionary-coach-session > dl > dd {
	font-size: 18px;
	padding-left: 7rem;
	margin-bottom: 2rem;
	margin-right: 2rem;
	text-align: justify;
	text-justify: inter-ideograph;
}

@media all and (max-width: 768px) {
	#visionary-coach-session > dl > dd {
		font-size: 1rem;
		padding-left: 5rem;
	}
}

#privacy-policy p {
	margin-bottom: 2rem;
}

#sitemap ul {
	display: flex;
	margin-bottom: 4rem;
	flex-wrap: wrap;
	list-style-type: none;
}

#sitemap ul > li {
	width: 48%;
	padding-left: 2rem;
	margin-bottom: 2rem;
	position: relative;
	margin-right: 3%;
}

#sitemap ul > li:nth-of-type(2n) {
	margin-right: 0;
}

#sitemap ul > li:before {
	content: '';
	display: inline-block;
	position: absolute;
	background-color: #333;
	width: 6px;
	height: 6px;
	border-radius: 3px;
	top: 0.5lh;
	margin-top: -3px;
	left: 1rem;
}

#sitemap ul > li > a {
	text-decoration: none;
	color: #333;
	transition: all 0.2s ease;
	font-size: 14px;
}

#sitemap ul > li > a:hover {
	text-decoration: none;
	color: #888;
	transition: all 0.2s ease;
	font-size: 14px;
}

@media all and (max-width: 768px) {
	#sitemap ul > li {
		width: 100%;
		margin-bottom: 1rem;
	}
	
	#sitemap ul > li,
	#sitemap ul > li:nth-of-type(2n) {
		margin-right: 0;
	}
}

/* column */

.column-main-banner {
	text-align: center;
	margin: 1rem 0 8rem 0;
}

@media all and (max-width: 768px) {
	.column-main-banner {
		margin: 1rem 0 2rem 0;
	}
}

#related-post {
	padding-top: 4rem;
}

#vnote-seminar-troubles > ul,
#vnote-seminar-benefit ul {
	list-style-type: none;
	background-color: #eee;
	border-radius: 30px;
	padding: 2rem;
}

#vnote-seminar-troubles > ul > li,
#vnote-seminar-benefit ul > li {
	display: flex;
	justify-content: space-between;
}

#vnote-seminar-troubles > ul > li h3,
#vnote-seminar-benefit ul > li p {
	font-size: 18px;
	margin-bottom: 1rem;
	position: relative;
	padding-left: 2rem;
}

#vnote-seminar-benefit ul > li p {
	font-size: 17px;
	margin-bottom: 2rem;
}

#vnote-seminar-troubles > ul > li h3:before,
#vnote-seminar-benefit ul > li p:before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: #fff;
	border: 2px solid #004380;
	box-sizing: border-box;
	position: absolute;
	top: calc(20px - 1rem);
	left: 0;
}

#vnote-seminar-troubles > ul > li h3:after,
#vnote-seminar-benefit ul > li p:after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.25rem;
	left: 0.25rem;
	width: 1rem;
	height: 0.5rem;
	box-sizing: border-box;
	border-bottom: 2px solid #004380;
	border-left: 2px solid #004380;
	transform: rotate(-45deg);
}

#vnote-seminar-benefit ul > li:last-of-type p {
	margin-bottom: 0;
}

@media all and (max-width: 768px) {
  #vnote-seminar-troubles > ul > li,
  #vnote-seminar-benefit ul > li {
    flex-flow: column-reverse;
	  margin-bottom: 2rem;
  }
	
	#vnote-seminar-benefit ul > li p {
		font-size: 15px;
		margin-bottom: 1rem;
	}
	
	#vnote-seminar-benefit ul > li:last-of-type p {
		margin-bottom: 0;
	}
}

#vnote-seminar-troubles .catch {
	font-weight: 700;
	font-size: 18px;
	margin-top: 4rem;
}

@media all and (max-width: 768px) {
	#vnote-seminar-troubles .catch {
		font-size: 15px;
	}
	
	
	#vnote-seminar-troubles .catch br {
		display: none;
	}
}

#vnote-seminar-time-management ol {
	list-style-type: none;
}


#vnote-seminar-time-management ol li {
	margin-bottom: 0.5rem;
}

/* single report*/
.report-wrap {
	margin-bottom: 4rem;
}

.report-date,
.report-teacher {
	margin-bottom: 1rem;
}

.report-thumb {
	width: 100%;
	margin-bottom: 2rem;
}

.report-content img {
	width: 100%;
	margin-bottom: 2rem;
}

.report-pagination {
	list-style-type: none;
	display: flex;
	justify-content: space-between;
}

.report-pagination li {
	width: 30%;
}

.report-pagination li:last-of-type {
	text-align: right;
}

.report-pagination li a {
	display: block;
	position: relative;
	color: #af4745;
	text-decoration: none;
}

.report-pagination li a:hover {
	color: #fff;
	background-color: #af4745;
	transition: all 0.3s ease;
}

.report-pagination li:first-of-type a {
	padding: 0.5rem 3rem;
	border: 1px solid #af4745;
	border-radius: 1.5em;
	text-align: center;
	transition: all 0.3s ease;
}

.report-pagination li:first-of-type a:before {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	transform: rotate(45deg);
	border-bottom: 2px solid #af4745;
	border-left: 2px solid #af4745;
	position: absolute;
	left: 1em;
	top: 50%;
	margin-top: -0.25rem;
	transition: all 0.3s ease;
}

.report-pagination li:last-of-type a {
	padding: 0.5rem 3rem;
	border: 1px solid #af4745;
	border-radius: 1.5em;
	text-align: center;
	transition: all 0.3s ease;
}

.report-pagination li:last-of-type a:before {
	content: '';
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	transform: rotate(45deg);
	border-top: 2px solid #af4745;
	border-right: 2px solid #af4745;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -0.25rem;
	transition: all 0.3s ease;
}

.report-pagination li:first-of-type a:hover:before {
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	transition: all 0.3s ease;
}

.report-pagination li:last-of-type a:hover:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transition: all 0.3s ease;
}

.report-wrap .pdfemb-viewer {
	margin-bottom: 2rem;
}

@media (max-width: 768px) {
	.report-pagination {
		flex-wrap: wrap;
	}

	.report-pagination li {
		width: 100%;
	}
}

/* partner profile */
.profile {
	border: 1px solid #aaa;
	padding: 1em 2em;
	display: flex;
	align-items: center;
	font-size: 0.9rem;
	margin-top: 4rem;
}

.profile .profile-thumb {
	width: 128px;
	height: 128px;
	background-color: #eee;
	border-radius: 64px;
	background-image: url(/wp-content/uploads/2019/09/meikai-profile-img.jpg);
	background-size: cover;
	background-position: center;
	display: block;
	margin-right: 2rem;
	opacity: 1;
	transition: all 0.3s ease;
}

.profile .profile-thumb:hover {
	opacity: 0.7;
	transition: all 0.3s ease;
}

.profile .profile-name > a {
	font-size: 1.25rem;
	margin-top: 0.5em;
	color: #af4745;
	font-weight: 700;
	text-decoration: none;
	display: block;
}

.profile .profile-name > a:hover {
	text-decoration: underline;
}

.profile > div:not(:last-of-type) {
	margin-right: 2rem;
}

@media (max-width: 768px) {
	.profile {
		flex-flow: column;
	}

	.profile > div:not(:last-of-type) {
		margin-right: 0;
	}
	
	.profile .profile-thumb {
		margin-right: 0;
	}

	.profile .profile-name {
		margin-top: 1rem;
		text-align: center;
	}

	.profile .profile-text {
		margin-top: 1rem;
	}
}

/* meikai biz academy */
#mba-testimonials ul {
	list-style-type: none;
}

#mba-testimonials ul > li {
	background-color: #eee;
	border-radius: 25px;
	padding: 1em 2em;
	margin-bottom: 3em;
	position: relative;
}

#mba-testimonials ul > li > div {
	text-align: right;
}

#mba-testimonials ul > li:nth-of-type(2n-1) {
	margin-left: 60px;
}

#mba-testimonials ul > li:nth-of-type(2n-1):before {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	left: -60px;
	top: 50%;
	margin-top: -30px;
	position: absolute;
	background-image: url(/wp-content/uploads/2019/01/balloon-tail-left.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#mba-testimonials ul > li:nth-of-type(2n) {
	margin-right: 60px;
}

#mba-testimonials ul > li:nth-of-type(2n):before {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	right: -60px;
	top: 50%;
	margin-top: -30px;
	position: absolute;
	background-image: url(/wp-content/uploads/2019/01/balloon-tail-right.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

/*refact*/
/* ----------------
   reset
---------------- */
img {
	display: inline-block;
	max-width: 100%;
}

/* ----------------
   single
---------------- */
.alignright {
	float: right;
	margin: 0 0 2em 2em;
}

.aligncenter {
	float: none;
	margin: 0 auto 2em auto;
}

@media (max-width: 768px) {
	.alignright {
		float: none;
		margin: 0 auto 2em auto;
	}
}


/* ----------------
   seminar
---------------- */
.seminar-section-padding {
	padding: 2em;
}

.seminar-catchcopy {
	font-size: 1.5em;
	margin-bottom: 1em;
}

.seminar-guide-heading,
.seminar-training-heading {
	border: 2px solid var(--color-red);
	color: #af4745;
	background-color: #fff;
	border-radius: 0.5em;
	padding: 0.5em 1em;
	margin-bottom: 1em;
}

.seminar-guide-sub-heading {
	color: var(--color-red);
	border-bottom: 2px solid var(--color-red);
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}

.seminar-guide-target-card-wrap {
	display: flex;
	flex-wrap: wrap;
}

.seminar-guide-target-card-wrap > dl:nth-of-type(odd) {
	margin-right: 1em;
}

.seminar-guide-target-card-wrap > dl:nth-of-type(n+3) {
	margin-top: 1em;
}

.seminar-guide-target-card-wrap > dl {
	display: flex;
	width: calc(50% - 0.5em);
	border: 2px solid var(--color-red);
	overflow: hidden;
	border-radius: 0.5em;
}

.seminar-guide-target-card-wrap > dl > dt {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 4em;
	writing-mode: vertical-rl;
	white-space: nowrap;
	padding: 2em 0;
	background-color: var(--color-red);
	color: #fff;
	font-weight: 700;
	font-size: 1.125em;
}

.seminar-guide-target-card-wrap > dl > dd {
	width: calc(100% - 4em);
	padding: 1em;
}

.seminar-guide-target-card-wrap > dl > dd > h4 {
	font-size: 1.25em;
	color: var(--color-red);
	margin-bottom: 1em;
}

.seminar-guide-target-card-wrap > dl > dd > h5 {
	font-size: 0.875em;
	color: var(--color-red);
}

.seminar-guide-target-card-wrap > dl > dd > ul {
	font-size: 0.875em;
	padding-left: 1em;
}

.seminar-guide-target-card-wrap > dl > dd > ul > li {
	margin-top: 0.25em;
}

/* @media (max-width: 768px) { */
	.seminar-guide-target-card-wrap > dl {
		flex-flow: column;
	}
	
	.seminar-guide-target-card-wrap > dl > dt {
		width: 100%;
		writing-mode: horizontal-tb;
		padding: 1em;
	}
	.seminar-guide-target-card-wrap > dl > dd {
		width: 100%;
	}
/* } */

/* training */
.seminar-training-sub-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	background-color: var(--color-red);
	padding: 0.5em 1em;
	margin-bottom: 1em;
}

.seminar-training-sub-heading > div:first-of-type {
	white-space: nowrap;
	margin-right: 1em;
}

.seminar-training-sub-heading > div:last-of-type {
	font-size: 0.75em;
}

.seminar-training-flow-list {
	display: flex;
	flex-wrap: wrap;
}

.seminar-training-flow-list > dt {
	display: flex;
	justify-content: center;
	align-self: center;
	width: 6em;
	font-weight: 700;
	border: 2px solid var(--color-red);
	color: var(--color-red);
	border-radius: 0.5em;
	margin-right: 1em;
	position: relative;
}

.seminar-training-flow-list > dd {
	width: calc(100% - 7em);
	position: relative;
}

.seminar-training-flow-list > dt:nth-of-type(n+1),
.seminar-training-flow-list > dd:nth-of-type(n+1) {
	margin-top: 2em;
}

.seminar-training-flow-list > dt:not(:last-of-type):before {
	content: '';
	display: block;
	border-top: 8px solid var(--color-red);
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid transparent;
	position: absolute;
	bottom: -2em;
	left: 50%;
	transform: translateX(-50%);
}

.seminar-training-card-wrap {
	display: flex;
	flex-wrap: wrap;
}

.seminar-training-card-wrap > * {
	width: calc(50% - 0.5em);
	background-color: #fff;
	border-radius: 0.5em;
	padding: 1em;
}

.seminar-training-card-wrap > *:nth-child(odd) {
	margin-right: 1em;
}
.seminar-training-card-wrap > *:nth-child(n+3) {
	margin-top: 1em;
}

.seminar-training-card-wrap > * > div:nth-of-type(1) {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1em;
}

.seminar-training-card-wrap > * > div:nth-of-type(1) > div {
	font-weight: 700;
	border: 1px solid var(--color-red);
	color: var(--color-red);
	padding: 0.5em 1em;
	font-size: 10px;
}

.seminar-training-card-wrap > * > div:nth-of-type(1) > div + div {
	white-space: nowrap;
	margin-left: 1em;
}

.seminar-training-card-wrap > * > div:nth-of-type(2) {
	margin-bottom: 1em;
}

.seminar-training-card-wrap > * > div:nth-of-type(2) > h4 {
	font-size: 1.25em;
	color: var(--color-red);
	margin-bottom: 0.5em;
}

.seminar-training-card-wrap > * > div:nth-of-type(2) > h5 {
	font-size: 0.875em;
	color: var(--color-red);
}

.seminar-training-card-wrap > * > div:nth-of-type(3) {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.seminar-training-card-wrap > * > div:nth-of-type(3) > figure {
	width: calc(30% - 0.5em);
	padding-top: calc(30% - 0.5em);
	position: relative;
}

.seminar-training-card-wrap > * > div:nth-of-type(3) > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

.seminar-training-card-wrap > * > div:nth-of-type(3) > ul {
	width: calc(70% - 0.5em);
	padding-left: 1em;
	font-size: 0.875em;
}

.seminar-training-card-wrap > * > div:nth-of-type(3) > ul > li + li {
	margin-top: 0.25em;
}

.seminar-training-card {
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	border-radius: 0.5em;
	padding: 1em;
}

.seminar-training-card > div {
	width: calc(50% - 0.5em);
}

.seminar-training-card > div > div {
	display: inline-block;
	border: 1px solid var(--color-red);
	color: var(--color-red);
	padding: 0.5em 1em;
	font-size: 10px;
	margin-bottom: 1em;
}

.seminar-training-card > div > h4 {
	font-size: 1.25em;
	color: var(--color-red);
	margin-bottom: 0.5em;
}

.seminar-training-card > ul {
	width: calc(50% - 0.5em);
	padding-left: 1em;
	font-size: 0.875em;
}

.seminar-training-card > ul > li + li {
	margin-top: 0.25em;
}

.seminar-theme-card-wrap {
	display: flex;
	flex-wrap: wrap;
}

.seminar-theme-card-wrap > dl {
	width: calc(50% - 0.5em);
}

.seminar-theme-card-wrap > dl:nth-of-type(odd) {
	margin-right: 1em;
}

.seminar-theme-card-wrap > dl:nth-of-type(n+3) {
	margin-top: 1em;
}

.seminar-theme-card-wrap > dl {
	border: 2px solid var(--color-red);
	border-radius: 1em;
	overflow: hidden;
	background-color: #fff;
}

.seminar-theme-card-wrap > dl dt {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	color: var(--color-red);
	font-weight: 700;
	font-size: 1em;
}

.seminar-theme-card-wrap > dl > dt > span {
	width: 80%;
	padding: 0.5em 1em;
	background-image: #fff;
	border-bottom: 2px solid var(--color-red);
}

.seminar-theme-card-wrap > dl > dt > i {
	width: 20%;
	padding-top: 20%;
	background-color: #fff;
	position: relative;
}

.seminar-theme-card-wrap > dl > dt > i > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

.seminar-theme-card-wrap > dl > dd {
	padding: 0 1em 1em 1em;
}

.seminar-theme-card-wrap > dl > dd > h3 {
	margin-bottom: 1em;
}

.seminar-theme-card-wrap > dl > dd > ul {
	padding-left: 1em;
	font-size: 0.875em;
}

.seminar-theme-card-wrap > dl > dd > ul > li + li {
	margin-top: 0.5em;
}

#seminar-button-list > div > a {
	text-align: center;
	width: 100%;
}

@media (max-width: 768px) {
	.seminar-section-padding {
		padding: 1em;
	}

	.seminar-guide-target-card-wrap {
		flex-flow: column;
	}
	
	.seminar-training-card-wrap > * > div:nth-of-type(1) > div {
		font-size: 0.875em;
	}

	.seminar-guide-target-card-wrap > dl:nth-of-type(odd) {
		margin-right: 0;
	}

	.seminar-guide-target-card-wrap > dl + dl {
		margin-top: 1em;
	}
	
	.seminar-guide-target-card-wrap > dl {
		width: 100%;
	}
	
	.seminar-training-sub-heading {
		flex-flow: column;
		align-items: flex-start;
	}

	.seminar-training-card-wrap {
		flex-flow: column;
	}

	.seminar-training-card-wrap > *:nth-child(odd) {
		margin-right: 0;
	}

	.seminar-training-card-wrap > * + * {
		margin-top: 1em;
	}
	
	.seminar-training-card-wrap > * {
		width: 100%;
	}
	
	.seminar-training-card {
		flex-flow: column;
	}
	
	.seminar-training-card > div,
	.seminar-training-card > ul {
		width: 100%;
	}

	.seminar-theme-card-wrap {
		flex-flow: column;
	}

	.seminar-theme-card-wrap > dl:nth-of-type(odd) {
		margin-right: 0;
	}

	.seminar-theme-card-wrap > dl + dl {
		margin-top: 1em;
	}
	
	.seminar-theme-card-wrap > dl {
		width: 100%;
	}
	
	.seminar-training-card > div > div {
		font-weight: 700;
		font-size: 0.875em;
	}
}

/* ----------------
   partner-consulting
---------------- */
.partner-consulting-heading {
	border-bottom: 2px solid var(--color-red);
	color: #af4745;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}

.partner-consulting-sub-heading {
	font-size: 1.25em;
	margin-bottom: 1em;
}

.scrollable-table-wrap {
	min-width: 100%;
	height: 80vh;
	border: 1px solid #ddd;
	overflow: scroll;
	position: relative;
}

.scrollable-table-wrap.notice:before {
	content: '上下左右にスクロールできます';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.scrollable-table-wrap.notice:after {
	content: '\f25a';
	display: inline-block;
	font-family: 'Font Awesome 5 Free';
	font-weight: 700;
	font-size: 3em;
	color: #fff;
	position: absolute;
	top: calc(50% - 0.5em - 2em);
	left: calc(50% - 0.5em);
	animation: swipe 2s ease infinite;
	z-index: 3;
}

@keyframes swipe {
	0% {
		opacity: 0;
		transform: translateX(100%);
	}
	20% {
		opacity: 1;
		transform: translateX(100%);
	}
	80% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(-100%);
	}
}

.scrollable-table-wrap > table {
	font-size: 0.75em;
	width: auto;
	white-space: nowrap;
	border-spacing: 0;
}

.scrollable-table-wrap > table > thead {
	background-color: #fff;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1;
}

#partner-consulting-menu-table th {
	background-color: #eee;
	padding: 1em;
	border: 1px solid #fff;
}

#partner-consulting-menu-table td {
	text-align: center;
	color: var(--color-red);
	background-color: #eee;
	font-size: 1.5em;
	border: 1px solid #fff;
}

#partner-consulting-menu-table > thead > tr:first-of-type > th:last-of-type,
#partner-consulting-menu-table > thead > tr:not(:first-of-type) > th:nth-last-of-type(-n+3),
#partner-consulting-menu-table td:nth-last-of-type(-n+3) {
	background-color: var(--color-red-pale);
}

#partner-consulting-menu-table thead th:empty {
	background-color: transparent;
}

#partner-consulting-menu-table thead > tr:nth-of-type(1) > th,
#partner-consulting-menu-table tbody > tr > th.color-red {
	color: var(--color-red);
}

#partner-consulting-menu-table .vertical {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	min-width: 3em;
	writing-mode: vertical-rl;
}

#partner-consulting-menu-table thead .vertical {
	text-align: left;
}

#partner-consulting-menu-table tbody > tr > th,
#partner-consulting-menu-table > thead > tr:nth-of-type(2) > th:nth-of-type(2),
#partner-consulting-menu-table > thead > tr:nth-of-type(3) > th:nth-of-type(2),
#partner-consulting-menu-table > thead > tr:nth-of-type(4) > th:nth-of-type(2) {
	position: sticky;
	left: 0;
}

#partner-consulting-stance-list {
	counter-reset: count;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#partner-consulting-stance-list > li {
	width: calc(50% - 1em);
	padding: 0 1em 1em 4em;
	border-right: 2px solid var(--color-red);
	border-bottom: 2px solid var(--color-red);
	position: relative;
}

#partner-consulting-stance-list > li:before {
	counter-increment: count;
	content: '0'counter(count);
	display: block;
	color: var(--color-red);
	font-size: 2em;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}

#partner-consulting-stance-list > li:nth-of-type(odd) {
	margin-right: 2em;
}

#partner-consulting-stance-list > li:nth-of-type(n+3) {
	margin-top: 2em;
}

#partner-consulting-menu-detail-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	counter-reset: count;
}

#partner-consulting-menu-detail-list > li {
	width: calc(50% - 0.5em);
	padding-left: 6em;
	border-bottom: 2px solid var(--color-red);
	position: relative;
}

#partner-consulting-menu-detail-list > li:nth-of-type(-n+2) {
	border-top: 2px solid var(--color-red);
}

#partner-consulting-menu-detail-list > li:before {
	counter-increment: count;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: calc(100% - 2rem);
	content: counter(count);
	font-weight: 700;
	color: var(--color-red);
	font-size: 2em;
	border-right: 2px solid var(--color-red);
	position: absolute;
	top: 1rem;
	left: 0;
}

#partner-consulting-menu-detail-list > li:nth-of-type(odd) {
	margin-right: 1em;
}

#partner-consulting-menu-detail-list > li:nth-of-type(n+3) {
	margin-top: 1em;
}

#partner-consulting-menu-detail-list > li > ul {
	list-style-type: disc;
	padding: 1em 0 1em 1em;
	font-size: 0.875em;
}

#partner-consulting-menu-detail-list > li > ul > li + li {
	margin-top: 0.5em;
}

@media (max-width: 768px) {
	#partner-consulting-stance-list {
		flex-flow: column;
	}
	
	#partner-consulting-stance-list > li {
		width: 100%;
	}

	#partner-consulting-stance-list > li:nth-of-type(odd) {
		margin-right: 0;
	}

	#partner-consulting-stance-list > li + li {
		margin-top: 2em;
	}
	
	#partner-consulting-menu-detail-list > li {
		width: 100%;
	}
	
	#partner-consulting-menu-detail-list > li:nth-of-type(odd) {
		margin-right: 0;
	}
	
	#partner-consulting-menu-detail-list > li:nth-of-type(-n+2) {
		border-top: none;
	}
	
	#partner-consulting-menu-detail-list > li:first-of-type {
		border-top: 2px solid var(--color-red);
	}
}

.grecaptcha-badge {
	visibility: hidden; 
}


/* --------------------------
    for manager
-------------------------- */
#for-manager-header > div > figure {
	aspect-ratio: 8 / 3;
	background-color: #eee;
}

#for-manager-header > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#part-for-manager-issue-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#part-for-manager-issue-list > li {
	width: calc(50% - 1em);
}

#part-for-manager-issue-list > li:nth-of-type(odd) {
	margin-right: 2em;
}

#part-for-manager-issue-list > li:nth-of-type(n+3) {
	margin-top: 2em;
}

#part-for-manager-issue-list > li > a {
	text-decoration: none;
	color: unset;
}

#part-for-manager-issue-list > li > a > span {
	display: inline-block;
	color: var(--color-red);
	border: 1px solid var(--color-red);
	padding: 0.125em 0.5em;
}

#part-for-manager-issue-list > li > a > h3 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

#part-for-manager-issue-list > li > a > h3 > span:first-of-type {
	margin-right: 1em;
}

#part-for-manager-issue-list > li > a > h3 > span:last-of-type {
	font-size: 0.75em;
	font-weight: 500;
	color: var(--color-red);
}

#part-for-manager-issue-list > li > a > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	padding: 1em 2.5em 1em 1em;
	border: 1px solid #fff;
	position: relative;
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a:hover > div {
	border: 1px solid var(--color-red);
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a > div:before {
	content: '';
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 0.7em solid var(--color-red);
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a:hover > div:before {
	transform: scale(1.2) translateY(-50%);
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a > div > figure {
	width: 30%;
	aspect-ratio: 1 / 1;
	margin-bottom: unset;
}

#part-for-manager-issue-list > li > a > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#part-for-manager-issue-list > li > a > div > dl {
	width: calc(70% - 1em);
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a:hover > div > dl {
	color: var(--color-red);
	transition: all 0.3s ease;
}

#part-for-manager-issue-list > li > a > div > dl > dt {
	font-size: 0.75em;
}

#part-for-manager-issue-list > li > a > div > dl > dd {
	font-size: 0.875em;
}

#part-for-manager-issue-list > li > a > div > dl > dt:not(:first-of-type) {
	margin-top: 1em;
}

@media (max-width: 768px) {
	#part-for-manager-issue-list {
		flex-flow: column;
	}

	#part-for-manager-issue-list > li {
		width: 100%;
	}

	#part-for-manager-issue-list > li:nth-of-type(odd) {
		margin-right: unset;
	}

	#part-for-manager-issue-list > li:nth-of-type(n+3),
	#part-for-manager-issue-list > li + li {
		margin-top: 2em;
	}
}


/* --------------------------
    for manager / issue
-------------------------- */
#custom-page-header > div {
	position: relative;
}

#custom-page-header > div:before {
	content: '';
	display: block;
	width: 20%;
	aspect-ratio: 8 / 5;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	right: 1em;
	top: 4em;
	z-index: -1;
}

#custom-page-header[data-num="1"] > div:before {
	background-image: var(--ornament-issue1);
}

#custom-page-header[data-num="2"] > div:before {
	background-image: var(--ornament-issue2);
}

#custom-page-header[data-num="3"] > div:before {
	background-image: var(--ornament-issue3);
}

#custom-page-header[data-num="4"] > div:before {
	background-image: var(--ornament-issue4);
}

#custom-page-header[data-num="5"] > div:before {
	background-image: var(--ornament-issue5);
}

#custom-page-header > div > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#custom-page-header > div > .reverse {
	flex-flow: row-reverse;
}

#custom-page-header > div > div > figure {
	width: calc(50% - 2em);
	background-color: #eee;
}

#custom-page-header > div > .col3-2 > figure {
	width: calc(100% / 3 * 2 - 2em);
}

#custom-page-header > div > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#custom-page-header > div > div > div {
	width: calc(50% - 2em);
}

#custom-page-header > div > .col3-2 > div {
	width: calc(100% / 3 - 2em);
}

#custom-page-header > div > div > div > h3 {
	font-family: var(--serif-font);
	font-size: 2em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 1em;
}

#custom-page-header > div > div > div > h4 {
	font-size: 1.25em;
	font-weight: 500;
	letter-spacing: 0;
	margin-bottom: 1em;
}

#custom-page-header > div > div > div > p {
	line-height: 2;
}

#custom-page-header > div > ul {
	list-style-type: none;
	display: flex;
	justify-content: space-around;
	margin-bottom: 4em;
}

#custom-page-header > div > ul > li {
	width: calc(50% - 5em);
	position: relative;
}

#custom-page-header > div > ul > li + li:before {
	content: '';
	display: block;
	border-top: 0.5em solid transparent;
	border-left: 0.7em solid var(--color-red);
	border-right: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	position: absolute;
	left: -2.2em;
	top: 4em;
	transform: translate(-50%, -50%);
}

#custom-page-header > div > ul > li > div {
	border: 1px solid var(--color-red);
	margin-bottom: 1em;
	font-size: 1.25em;
}

#custom-page-header > div > ul > li > div:before {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1em;
	border-bottom: 1px solid var(--color-red);
}

#custom-page-header > div > ul > li:first-of-type > div:before {
	content: 'before';
}

#custom-page-header > div > ul > li:last-of-type > div:before {
	content: 'after';
}

#custom-page-header > div > ul > li:first-of-type > div:before {
	color: var(--color-red);
}

#custom-page-header > div > ul > li:last-of-type > div:before {
	background-color: var(--color-red);
	color: #fff;
}

#custom-page-header > div > ul > li > div > span {
	display: block;
	text-align: center;
	padding: 1em;
	color: var(--color-red);
}

#custom-page-header > div > ul > li:last-of-type > div {
	font-weight: 700;
}

#custom-page-header > div > ul > li > ul {
	list-style-type: disc;
	color: var(--color-red);
}

#custom-page-header > div > ul > li > ul:before {
	content: 'other voice';
	display: block;
	margin-bottom: 0.5em;
}

#custom-page-header > div > ul > li > ul > li {
	margin-left: 1em;
}

#custom-page-header > div > ul > li:last-of-type > ul {
	font-weight: 700;
}

#custom-page-header > div > ul > li > ul > li + li {
	margin-top: 0.5em;
}

#custom-page-header > div > h3 {
	font-family: var(--serif-font);
	font-size: 2em;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	margin-bottom: 1em;
}

#custom-page-header > div > h3 > span {
	display: inline-block;
	padding: 1em 2em;
	position: relative;
}

#custom-page-header > div > h3 > span:before {
	content: '';
	display: block;
	width: 1em;
	height: 1.5em;
	border-top: 2px solid var(--color-red);
	border-left: 2px solid var(--color-red);
	position: absolute;
	top: 0;
	left: 0;
}

#custom-page-header > div > h3 > span:after {
	content: '';
	display: block;
	width: 1em;
	height: 1.5em;
	border-bottom: 2px solid var(--color-red);
	border-right: 2px solid var(--color-red);
	position: absolute;
	right: 0;
	bottom: 0;
}

#custom-page-header > div > p {
	line-height: 3;
	text-align: center;
	word-break: keep-all;
	letter-spacing: 0;
}

#issue-process-slider {
	overflow: hidden;
	position: relative;
}

#issue-process-slider .swiper-slide {
	width: calc(100% / 3);
	padding: 0 3em;
	position: relative;
}

#issue-process-slider .swiper-slide > div:first-of-type {
	color: var(--color-red);
	text-align: center;
	font-size: 1.5em;
	margin-bottom: 1em;
}

#issue-process-slider .swiper-slide > div:nth-of-type(2) {
	text-align: center;
	margin-bottom: 0.5em;
}

#issue-process-slider .swiper-slide > figure {
	width: 50%;
	aspect-ratio: 1 / 1;
	background-color: #fff;
	margin: 0 auto 3em auto;
	position: relative;
}

#issue-process-slider .swiper-slide > figure:before {
	content: '';
	display: block;
	width: calc(200% + 6em);
	border-top: 1px solid var(--color-red);
	position: absolute;
	top: 50%;
	left: calc(-50% - 3em);
	z-index: -1;
}

#issue-process-slider .swiper-slide + .swiper-slide > figure:after {
	content: '';
	display: block;
	width: 10%;
	aspect-ratio: 1 / 1;
	border-top: 1px solid var(--color-red);
	border-right: 1px solid var(--color-red);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: -100%;
	transform: translate(-50%, -50%) rotate(45deg);
	z-index: 1;
}

#issue-process-slider .swiper-slide > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#issue-process-slider .swiper-slide > h4 {
	text-align: center;
	font-size: 1.25em;
	font-weight: 500;
	margin-bottom: 1em;
}

#issue-process-slider .swiper-slide > p {
	font-size: 1em;
}

#issue-process-slider .prev {
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-right: 0.707em solid var(--color-red);
	position: absolute;
	top: calc(4.5em + 25vw);
	left: 0;
	z-index: 1;
	transform: translateY(-50%);
}

#issue-process-slider .next {
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 0.707em solid var(--color-red);
	position: absolute;
	top: calc(4.5em + 25vw);
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
}

#issue-process-slider .swiper-navigation .swiper-button-disabled {
	opacity: 0;
}

#issue-process-slider .swiper-pagination {
	position: static;
}

#issue-process-slider .swiper-pagination .swiper-pagination-bullet {
	background-color: var(--color-red);
	margin: 0 0.5em;
}

#issue-process-slider .swiper-pagination .swiper-pagination-bullet-active {
	background-color: var(--color-red);
}

.custom-col2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.custom-col2 + .custom-col2 {
	margin-top: 2em;
}

.custom-col2.reverse {
	flex-flow: row-reverse;
}

.custom-col2 > figure {
	width: calc(50% - 2em);
	margin-bottom: 0;
}

.custom-col2 > figure.shadow {
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
	border-radius: 1em;
}

.custom-col2 > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.custom-col2 > div {
	width: calc(50% - 2em);
}

.custom-col2 > div > h3 {
	font-family: var(--serif-font);
	font-weight:500;
	font-size: 1.5em;
	margin-bottom: 1em;
}

.custom-col2 > div > h4 {
	font-weight:500;
	font-size: 1.125em;
	letter-spacing: 0;
	margin-bottom: 1em;
}

#issue-menu > div > p {
	display: flex;
	justify-content: center;
	margin-bottom: 4em;
}

#menu-accordion-menu > input {
	display: none;
}

#menu-accordion-menu > div {
	height: 0;
	border-top: none;
	border-bottom: none;
	border-left: 1px solid var(--color-red);
	border-right: 1px solid var(--color-red);
	padding: 0 0.5em;
	overflow: hidden;
	transition: all 0.3s ease;
}

#menu-accordion-menu > input:checked + label + div {
	height: auto;
	padding: 0.5em 0.5em 1em 0.5em;
	transition: all 0.3s ease;
}

#menu-accordion-menu > input:checked + label + div:last-of-type {
	border-bottom: 1px solid var(--color-red);
}

#menu-accordion-menu > div > h3 {
	font-weight: 500;
	margin-bottom: 1em;
}

#menu-accordion-menu > div > figure > img {
	display: block;
	max-width: 240px;
	margin: 0 auto 1em auto;
}

#menu-accordion-menu > label {
	display: block;
	padding: 0.25em 3em 0.25em 0.5em;
	background-color: #fff;
	border-top: 1px solid var(--color-red);
	border-left: 1px solid var(--color-red);
	border-right: 1px solid var(--color-red);
	color: var(--color-red);
	font-size: 1.125em;
	position: relative;
	transition: all 0.3s ease;
}

#menu-accordion-menu > label:hover {
	cursor: pointer;
}

#menu-accordion-menu > label:last-of-type {
	border-bottom: 1px solid var(--color-red);
}

#menu-accordion-menu > input:checked + label {
	background-color: var(--color-red);
	color: #fff;
	transition: all 0.3s ease;
}

#menu-accordion-menu > input:not(:checked) + label:hover {
	background-color: var(--color-red-pale);
	transition: all 0.3s ease;
}

#menu-accordion-menu > label:before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	border: 1px solid var(--color-red);
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}

#menu-accordion-menu > input:checked + label:before {
	border: 1px solid #fff;
}

#menu-accordion-menu > label:after {
	content: '';
	display: block;
	width: 0.4em;
	height: 0.4em;
	border-left: 1px solid var(--color-red);
	border-bottom: 1px solid var(--color-red);
	position: absolute;
	right: 1.325em;
	top: 50%;
	transform: translateY(-75%) rotate(-45deg);
	transition: all 0.3s ease;
}

#menu-accordion-menu > input:checked + label:after {
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	position: absolute;
	transform: translateY(-25%) rotate(135deg);
	transition: all 0.3s ease;
}

#menu-accordion-menu .step-list {
	list-style-type: none;
	counter-reset: count;
}

#menu-accordion-menu .step-list > li {
	padding-left: 5em;
	position: relative;
}

#menu-accordion-menu .step-list > li:before {
	counter-increment: count;
	content: 'STEP0'counter(count);
	font-weight: 400;
	color: var(--color-red);
	position: absolute;
	top: 0;
	left: 0;
}

#menu-slider-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: row-reverse;
}

#menu-slider {
	width: calc(55% - 2em);
	border-radius: clamp(0.5em, 2vw, 1em);
	box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.1);
	background-color: #fff;
/* 	aspect-ratio: 3 / 2; */
	overflow: hidden;
}

#menu-slider .swiper-slide.training {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-self: center;
	padding: 2em;
}

#menu-slider .swiper-slide.training > h3 {
	font-weight: 500;
	margin-bottom: 1em;
}

#menu-slider .swiper-slide.training > div {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#menu-slider .swiper-slide.training > div > figure {
	width: 30%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

#menu-slider .swiper-slide.training > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#menu-slider .swiper-slide.training > div > p {
	width: calc(70% - 2em);
	font-size: 0.875em;
	line-height: 2;
}

#menu-slider .swiper-slide.consulting {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	padding: 2em;
	font-size: clamp(1em, 1.75vw, 1.125em);
}

#menu-slider .swiper-slide.consulting > div > h3 {
	font-weight: 500;
	text-align: center;
	margin-bottom: 1em;
}

#menu-slider .swiper-slide.consulting > div > ol {
	display: inline-block;
	list-style-type: none;
	counter-reset: counter;
}

#menu-slider .swiper-slide.consulting > div > ol > li {
	display: flex;
	counter-increment: count;
}

#menu-slider .swiper-slide.consulting > div > ol > li + li {
	margin-top: 1em;
}

#menu-slider .swiper-slide.consulting > div > ol > li:before {
	content: 'STEP'counter(count);
	color: var(--color-red);
	width: 5em;
}

#menu-slider .swiper-slide.consulting > div > h3 > span:before {
	content: '【';
}

#menu-slider .swiper-slide.consulting > div > h3 > span:after {
	content: '】';
}

#menu-nav {
	width: calc(45% - 2em);
	padding-left: 1em;
}

#menu-nav > ul {
	list-style-type: none;
}

#menu-nav > ul > li {
	margin-bottom: 1em;
	position: relative;
}

#menu-nav > ul > li.active:before {
	content: '';
	display: block;
	height: 100%;
	border-left: 0.25em solid var(--color-red);
	position: absolute;
	top: 0;
	left: -1em;
}

#menu-nav > ul > li:hover {
	color: var(--color-red);
	cursor: pointer;
}

#menu-nav > div:has(small) {
	display: flex;
}

#menu-nav > div:has(small):before {
	content: '※';
	font-size: 0.875em;
}

#part-gray {
	background-color: #eee;
}

#part-gray > div > h2 {
	text-align: center;
	font-weight: 500;
	margin-bottom: 1em;
}

#part-gray > div > div {
	display: flex;
	background-color: #fff;
}

#part-gray > div > div > figure {
	width: 50%;
	aspect-ratio: 3 / 2;
	background-color: #eee;
	margin-bottom: 0;
}

#part-gray > div > div > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#part-gray > div > div > div {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 50%;
	padding: 2em 3em;
}

#part-gray> div > div > div > span {
	display: inline-block;
	margin-bottom: 1em;
}

#part-gray > div > div > div > span:before {
	content: '- ';
}

#part-gray > div > div > div > span:after {
	content: ' -';
}

#part-gray > div > div > div > h3 {
	font-weight: 500;
	margin-bottom: 1em;
}

#part-gray > div > div > div > div {
	text-align: right;
}

@media (max-width: 768px) {
	#part-gray > div > div {
		flex-flow: column;
	}

	#part-gray > div > div > figure,
	#part-gray > div > div > div {
		width: 100%;
	}
}

#issue-seminar > div > p {
  display: flex;
  justify-content: center;
  margin-bottom: 4em;
}

#issue-seminar > div > div {
	display: flex;
	justify-content: space-between;
}

#issue-seminar > div > div > figure {
	width: calc(50% - 1em);
	aspect-ratio: 3 / 2;
	background-color: #eee;
	margin-bottom: 0;
}

#issue-seminar > div > div > figure.round {
	border-radius: 1em;
	overflow: hidden;
}

#issue-seminar > div > div > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#issue-seminar > div > div > div {
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: calc(50% - 1em);
}

#issue-seminar > div > div > div > h3 {
	color: var(--color-red);
	margin-top: 1em;
}

@media (max-width: 768px) {
	#issue-seminar > div > div {
		flex-flow: column;
	}

	#issue-seminar > div > div > figure {
		width: 100%;
	}

	#issue-seminar > div > div > div {
		align-items: center;
		width: 100%;
		margin-top: 1em;
	}

	#issue-seminar > div > div > div > h3 > br {
		display: none;
	}
}

#bansou-shien-will > div > div > p + p ,
#bansou-shien-about > div > div > p + p {
	margin-top: 2em;
}

#acommpanying-support-style-list {
	list-style-type: none;
	display: flex;
	justify-content: space-between;
}

#acommpanying-support-style-list > li {
	list-style-type: none;
	width: calc(50% - 2em);
}

#acommpanying-support-style-list > li > figure {
	width: 100%;
	aspect-ratio: 3 / 2;
	background-color: #eee;
	margin-bottom: 2em;
}

#acommpanying-support-style-list > li > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#acommpanying-support-style-list > li > span {
	display: flex;
	justify-content: center;
	font-size: 1.25em;
}

#acommpanying-support-style-list > li > span:before {
	content: '- ';
}

#acommpanying-support-style-list > li > span:after {
	content: ' -';
}

#acommpanying-support-style-list > li > h3 {
	text-align: center;
	font-size: 1.5em;
	font-weight: 500;
	margin-bottom: 1em;
}

#acommpanying-support-style-list > li > div {
	text-align: center;
}

#acommpanying-support-features-table {
	width: 100%;
	border-top: 1px solid #aaa;
	border-left: 1px solid #aaa;
	border-spacing: 0;
}

#acommpanying-support-features-table th {
	border-right: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	background-color: #eee;
	padding: 1em;
	text-align: center;
}

#acommpanying-support-features-table td {
	border-right: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	padding: 1em;
	text-align: center;
}

.keep-break {
	word-break: keep-all;
	text-align: left;
}

.keep-break.center {
	text-align: center;
}

#accompanying-support-voice-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#accompanying-support-voice-list > li {
	width: calc(50% - 2em);
}

#accompanying-support-voice-list > li:nth-of-type(odd) {
	margin-right: 4em;
}

#accompanying-support-voice-list > li:nth-of-type(n+3) {
	margin-top: 4em;
}

#accompanying-support-voice-list > li > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#accompanying-support-voice-list > li > div > figure {
	width: 20%;
}

#accompanying-support-voice-list > li > div > figure > img {
	display: block;
	width: 75%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
}

#accompanying-support-voice-list > li > div > figure > figcaption {
	display: flex;
	justify-content: center;
	font-size: 0.75em;
	margin-top: 1em;
}

#accompanying-support-voice-list > li > div > h3 {
	width: calc(80% - 2em);
	font-weight: 500;
	margin-bottom: 1em;
}

#accompanying-support-voice-slider {
	overflow: hidden;
	position: relative;
}

#accompanying-support-voice-slider .swiper-slide {
	padding: 0 1em;
}

#accompanying-support-voice-slider .swiper-slide > div > figure > img {
	display: block;
	width: 25vw;
	margin: 0 auto;
}

#accompanying-support-voice-slider .swiper-slide > div > figure > figcaption {
	text-align: center;
}

#accompanying-support-voice-slider .swiper-slide > div > h3 {
	font-weight: 500;
	margin-bottom: 1em;
}

#accompanying-support-leadership-training > div > h3 {
	font-size: clamp(1.25em, 2.5vw, 1.5em);
	font-weight: 500;
	text-align: center;
	margin-bottom: 3em;
}

#accompanying-support-voice-slider .prev {
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-right: 0.707em solid var(--color-red);
	position: absolute;
	top: 12.5vw;
	left: 0;
	z-index: 1;
}

#accompanying-support-voice-slider .next {
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 0.707em solid var(--color-red);
	position: absolute;
	top: 12.5vw;
	right: 0;
	z-index: 1;
}

#accompanying-support-voice-slider .swiper-navigation .swiper-button-disabled {
	opacity: 0;
}

#accompanying-support-voice-slider .swiper-pagination {
	position: static;
}

#accompanying-support-voice-slider .swiper-pagination .swiper-pagination-bullet {
	background-color: var(--color-red);
	margin: 0 0.5em;
}

#accompanying-support-voice-slider .swiper-pagination .swiper-pagination-bullet-active {
	background-color: var(--color-red);
}

#accompanying-support-leadership-training-list {
	list-style-type: none;
}

#accompanying-support-leadership-training-list > li {
	display: flex;
	border: 1px solid var(--color-red);
	position: relative;
}

#accompanying-support-leadership-training-list > li + li:before {
	content: '';
	display: block;
	border-top: 0.8em solid var(--color-red);
	border-left: 0.5em solid transparent;
	border-right: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	position: absolute;
	top: 0;
	left: 3.5rem;
	transform: translate(-50%, -2em);
}

#accompanying-support-leadership-training-list > li + li {
	margin-top: 3em;
}

#accompanying-support-leadership-training-list > li > dl {
	display: flex;
	border-right: 1px solid var(--color-red);
}

#accompanying-support-leadership-training-list > li > dl > dt {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	width: 7rem;
	height: 100%;
	padding: 0.5rem 1rem;
	font-size: 2.5em;
	color: #fff;
	line-height: 1;
	text-shadow: -1px -1px 0 var(--color-red), 0 -1px 0 var(--color-red), 1px -1px 0 var(--color-red), 1px 0 0 var(--color-red), 1px 1px 0 var(--color-red), 0 1px 0 var(--color-red),-1px 1px 0 var(--color-red), -1px 0 0 var(--color-red);
}

#accompanying-support-leadership-training-list > li > dl > dt:before {
	content: 'STEP';
	color: var(--color-red);
	width: 10rem;
	text-align: center;
	font-weight: 400;
	font-size: 0.5em;
	text-shadow: none;
}

#accompanying-support-leadership-training-list > li > dl > dd {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20rem;
	padding: 0.5rem 1rem;
	color: var(--color-red);
	text-align: center;
	font-size: 1.25em;
	border-left: 1px solid var(--color-red);
}

#accompanying-support-leadership-training-list > li > ul {
	list-style-type: disc;
	padding: 0.5em 1em 0.5em 2em;
}

#accompanying-support-price > div > p {
	display: flex;
	justify-content: center;
	font-size: clamp(1.125em, 2vw, 1.25em);
}

#acommpanying-type-consulting-merit-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#acommpanying-type-consulting-merit-list > li {
	width: calc(100% / 3 - 2em);
}

#acommpanying-type-consulting-merit-list > li:not(:nth-of-type(3n)) {
	margin-right: calc(6em / 2);
}

#acommpanying-type-consulting-merit-list > li:nth-of-type(n+4) {
	margin-top: calc(6em / 2);
}

#acommpanying-type-consulting-merit-list > li > figure {
	width: 50%;
	aspect-ratio: 1 / 1;
	margin: 0 auto 1em auto;
}

#acommpanying-type-consulting-merit-list > li > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#acommpanying-type-consulting-merit-list > li > h3 {
	font-size: clamp(1.125em, 2vw, 1.25em);
	font-weight: 500;
	text-align: center;
}

#acommpanying-type-consulting-merit-list > li > p {
	margin-top: 1em;
}

#acommpanying-type-consulting-tool > div > div > div > span {
	display: block;
	color: var(--color-blue);
	margin-bottom: 1em;
}

#acommpanying-type-consulting-tool > div > div > div > h3 {
	font-family: var(--font-family);
}

#acommpanying-type-consulting-process > div > figure {
	width: 100%;
	aspect-ratio: 2 / 1;
	background-color: #eee;
}

#acommpanying-type-consulting-process > div > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#acommpanying-type-consulting-process-list {
	list-style-type: none;
	counter-reset: count;
}

#acommpanying-type-consulting-process-list > li + li {
	margin-top: 2em;
}

#acommpanying-type-consulting-process-list > li > h3 {
	color: var(--color-red);
	font-size: 1.25em;
	font-weight: 500;
	padding-left: 2em;
	margin-bottom: 0.5em;
	position: relative;
}

#acommpanying-type-consulting-process-list > li > h3:before {
	counter-increment: count;
	content: '0'counter(count);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#acommpanying-type-consulting-process-list > li > dl {
	padding: 1em;
	background-color: var(--color-red-light);
	margin-top: 2em;
}

#acommpanying-type-consulting-process-list > li > dl > dt {
	color: var(--color-red);
	font-size: 1.25em;
	font-weight: 500;
	margin-bottom: 0.5em;
}

#acommpanying-type-consulting-process-list > li > dl > dd {
	display: flex;
	flex-wrap: wrap;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a {
	display: inline-block;
	width: calc(50% - 0.25em);
	border: 1px solid var(--color-red);
	padding: 0.125lh 1.5lh 0.125lh 0.5lh;
	border-radius: 0.625lh;
	background-color: #fff;
	color: var(--color-red);
	text-decoration: none;
	position: relative;
	transition: all 0.3s ease;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:nth-of-type(odd) {
	margin-right: 0.5em;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:nth-of-type(n+3) {
	margin-top: 0.5em;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:hover {
	background-color: var(--color-red);
	color: #fff;
	transition: all 0.3s ease;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	border: 1px solid var(--color-red);
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:hover:before {
	right: 0.75em;
	border: 1px solid #fff;
	transition: all 0.3s ease;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:after {
	content: '';
	display: block;
	width: 0.325em;
	height: 0.325em;
	border-top: 1px solid var(--color-red);
	border-right: 1px solid var(--color-red);
	position: absolute;
	top: 50%;
	right: 1.45em;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease;
}

#acommpanying-type-consulting-process-list > li > dl > dd > a:hover:after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	right: 1.2em;
	transition: all 0.3s ease;
}


@media (max-width: 768px) {
	#custom-page-header > div:before {
		display: none;
	}
	
	#custom-page-header > div > .reverse {
		flex-flow: column;
	}

	#custom-page-header > div > div {
		flex-flow: column;
	}

	#custom-page-header > div > .col3-2 > figure,
	#custom-page-header > div > div > figure {
		width: calc(100% + 2em);
		margin-bottom: 0;
	}

	#custom-page-header > div > .col3-2 > div,
	#custom-page-header > div > div > div {
		width: 100%;
		margin-top: 2em;
	}

	#custom-page-header > div > div > div > h4 {
		text-align: center;
	}

	#custom-page-header > div > ul {
		flex-flow: column;
	}

	#custom-page-header > div > ul > li {
		width: 100%;
	}

	#custom-page-header > div > ul > li + li {
		margin-top: 4em;
	}

	#custom-page-header > div > ul > li + li:before {
		border-left: 0.5em solid transparent;
		border-top: 0.7em solid var(--color-red);
		border-right: 0.5em solid transparent;
		border-bottom: 0.5em solid transparent;
		left: 50%;
		top: -1.7em;
		transform: translate(-50%, -50%);
	}
	
	#custom-page-header > div > ul > li > div {
		border: none;
		font-size: 1em;
	}

	#custom-page-header > div > ul > li > div:before {
		border-bottom: none;
		padding: 0;
	}
	
	#custom-page-header > div > ul > li:last-of-type > div:before {
		background-color: unset;
		color: var(--color-red);
	}

	#custom-page-header > div > ul > li:first-of-type > div > span {
		border: 1px solid var(--color-red);
		padding: 0.5em;
		margin-top: 0.25em;
	}

	#custom-page-header > div > ul > li:last-of-type > div > span {
		border: 1px solid var(--color-red);
		background-color: var(--color-red);
		color: #fff;
		padding: 0.5em;
		margin-top: 0.25em;
	}

	#custom-page-header > div > ul > li > ul:before {
		text-align: center;
	}

	#custom-page-header > div > h3 > span {
		padding: 0;
		text-align: left;
	}

	#custom-page-header > div > h3 > span > br {
		display: none;
	}

	#custom-page-header > div > h3 > span:before,
	#custom-page-header > div > h3 > span:after {
		display: none;
	}

	#custom-page-header > div > p {
		text-align: left;
		line-height: 2;
		word-break: unset;
	}

	#custom-page-header > div > p > br {
		display: none;
	}

	#custom-page-header > div > p + p {
		margin-top: 1em;
	}

	#issue-process-slider .swiper-slide {
		padding: 0 1em;
	}

	#issue-process-slider .swiper-slide > figure {
		width: 50vw;
		padding: 0 auto 1em auto;
	}

	#issue-process-slider .swiper-slide > figure:before {
		display: none;
	}

	#issue-process-slider .swiper-slide + .swiper-slide > figure:after {
		display: none;
	}

	.custom-col2.reverse,
	.custom-col2 {
		flex-flow: column;
	}

	.custom-col2 > figure {
		width: 100%;
	}

	.custom-col2 > div {
		width: 100%;
	}

	.custom-col2 > * + * {
		margin-top: 1em;
	}

	#menu-slider-wrap {
		flex-flow: column;
	}

	#menu-slider {
		width: 100%;
	}

	#menu-nav {
		width: 100%;
		margin-top: 2em;
	}

	#part-issue-accompanying-support > div > div {
		flex-flow: column;
	}

	#part-issue-accompanying-support > div > div > figure,
	#part-issue-accompanying-support > div > div > div {
		width: 100%;
	}

	#bansou-shien-will > div > div > p + p,
	#bansou-shien-about > div > div > p + p {
		margin-top: 1em;
	}

	#bansou-shien-will > div > div > div {
		text-align: center;
	}

	#acommpanying-support-style-list {
		flex-flow: column;
	}

	#acommpanying-support-style-list > li {
		width: 100%;
	}

	#acommpanying-support-style-list > li + li {
		margin-top: 2em;
	}

	#acommpanying-support-style-list > li > span {
		justify-content: flex-start;
	}

	#acommpanying-support-style-list > li > h3 {
		text-align: left;
	}

	#accompanying-support-voice-list {
		flex-flow: column;
	}

	#accompanying-support-voice-list > li {
		width: 100%;
	}

	#accompanying-support-voice-list > li:nth-of-type(odd) {
		margin-right: unset;
	}

	#accompanying-support-voice-list > li + li,
	#accompanying-support-voice-list > li:nth-of-type(n+3) {
		margin-top: 2em;
	}

	#accompanying-support-leadership-training-list > li {
		flex-flow: column;
	}

	#accompanying-support-leadership-training-list > li + li {
		margin-top: 1em;
	}

	#accompanying-support-leadership-training-list > li + li:before {
		display: none;
	}

	#accompanying-support-leadership-training-list > li > dl {
		border-right: none;
		border-bottom: 1px solid var(--color-red);
	}

	#accompanying-support-leadership-training-list > li > dl > dt {
		width: 6rem;
	}
	
	#accompanying-support-leadership-training-list > li > dl > dd {
		justify-content: flex-start;
		width: calc(100% - 6rem);
		text-align: left;
	}

	#acommpanying-type-consulting-merit-list {
		flex-flow: column;
	}

	#acommpanying-type-consulting-merit-list > li {
		width: 100%;
	}

	#acommpanying-type-consulting-merit-list > li:not(:nth-of-type(3n)) {
		margin-right: unset;
	}

	#acommpanying-type-consulting-merit-list > li:nth-of-type(n+4),
	#acommpanying-type-consulting-merit-list > li + li {
		margin-top: 2em;
	}

	#acommpanying-type-consulting-process-list > li > dl > dd {
		flex-flow: column;
	}

	#acommpanying-type-consulting-process-list > li > dl > dd > a {
		width: 100%;
	}
	
	#acommpanying-type-consulting-process-list > li > dl > dd > a:nth-of-type(odd) {
		margin-right: unset;
	}

	#acommpanying-type-consulting-process-list > li > dl > dd > a:nth-of-type(n+3),
	#acommpanying-type-consulting-process-list > li > dl > dd > a + a {
		margin-top: 0.5em;
	}

	#acommpanying-type-consulting-tool > div > div > figure {
		width: 100vw;
	}

	#acommpanying-type-consulting-tool > div > div > div > div {
		text-align: center;
	}

	.table-wrap {
		overflow-x: scroll;
		position: relative;
	}

	.table-wrap:before {
		content: 'スクロールできます';
		width: 12em;
		padding: 7em 1em 1em 1em;
		background-image: var(--icon-swipe-white);
		background-position: center 1em;
		background-size: auto 5em;
		background-repeat: no-repeat;
		background-color: rgba(0, 0, 0, 0.5);
		border-radius: 1em;
		font-size: 10px;
		letter-spacing: 0;
		line-height: 1;
		text-align: center;
		color: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		transition: opacity 0.2s ease;
	}

	.table-wrap.hide:before {
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.2s ease;
	}

	.table-wrap > table {
		min-width: 640px;
		white-space: nowrap;
	}
}

#meikai-biz-academy-theme > div > p {
	text-align: center;
}

#meikai-biz-academy-theme-list {
	list-style-type: none;
	display: flex;
}

#meikai-biz-academy-theme-list > li {
	width: calc(100% / 3 - 2em);
}

#meikai-biz-academy-theme-list > li:not(:nth-of-type(3n)) {
	margin-right: calc(6em / 2);
}

#meikai-biz-academy-theme-list > li > a {
	text-decoration: none;
	color: unset;
}

#meikai-biz-academy-theme-list > li > a > figure {
	width: 100%;
	aspect-ratio: 3 / 2;
	background-color: #eee;
	border-radius: clamp(0.5em, 2vw, 1em);
	overflow: hidden;
	margin-bottom: 1em;
}

#meikai-biz-academy-theme-list > li > a > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#meikai-biz-academy-theme-list > li > a > h3 {
	text-align: center;
	color: var(--color-red);
	font-size: 1em;
	margin-bottom: 1em;
}

#meikai-biz-academy-theme-list > li > a > p {
	text-align: center;
	font-size: 0.875em;
}

#meikai-biz-academy-others > div > p {
	text-align: center;
}

#meikai-biz-academy-others-list-wrap {
	display: flex;
	justify-content: space-between;
}

#meikai-biz-academy-others-list-wrap > div {
	width: calc(50% - 2em);
}

#meikai-biz-academy-others-list-wrap > div > h3 {
	font-weight: 500;
	line-height: 1;
	border-left: 3px solid var(--color-red);
	padding-left: 0.5em;
	margin-bottom: 1em;
}

#meikai-biz-academy-others-list-wrap > div > ul {
	list-style-type: none;
	font-size: 0.875em;
	margin-left: 1em;
}

#meikai-biz-academy-others-list-wrap > div > ul > li {
	padding-left: 1.5em;
	position: relative;
}

#meikai-biz-academy-others-list-wrap > div > ul > li + li {
	margin-top: 2em;
}

#meikai-biz-academy-others-list-wrap > div > ul > li:before {
	content: '';
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background-color: var(--color-red);
	position: absolute;
	top: 0.5lh;
	left: 0.25em;
	transform: translate(-50%, -50%);
}

#meikai-biz-academy-others-list-wrap > div > ul > li.double:before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: radial-gradient(circle, var(--color-red) 35%, transparent 35.1%, transparent 50%, var(--color-red) 50.1%);
	position: absolute;
	top: 0.5lh;
	left: 0.25em;
	transform: translate(-50%, -50%);
}

#meikai-biz-academy-report-list {
	list-style-type: none;
	display: flex;
}

#meikai-biz-academy-report-list > li {
	width: calc(100% / 3 - 2em);
}

#meikai-biz-academy-report-list > li:not(:nth-of-type(3n)) {
	margin-right: calc(6em / 2);
}

#meikai-biz-academy-report-list > li > a {
	text-decoration: none;
	color: unset;
}

#meikai-biz-academy-report-list > li > a > article > figure {
	width: 100%;
	aspect-ratio: 3 / 2;
	background-color: #eee;
	margin-bottom: 1em;
}

#meikai-biz-academy-report-list > li > a > article > figure > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#meikai-biz-academy-report-list > li > a > article > h3 {
	font-size: 1em;
	margin-bottom: 1em;
}

#meikai-biz-academy-report-list > li > a:hover > article > h3 {
	color: var(--color-red);
}

#meikai-biz-academy-report-list > li > a > article > time {
	font-size: 0.75em;
	color: #aaa;
}

@media (max-width: 768px) {
	#meikai-biz-academy-theme-list {
		flex-flow: column;
	}

	#meikai-biz-academy-theme-list > li {
		width: 100%;
	}

	#meikai-biz-academy-theme-list > li:not(:nth-of-type(3n)) {
		margin-right: 0;
	}

	#meikai-biz-academy-theme-list > li + li {
		margin-top: 2em;
	}

	#meikai-biz-academy-others-list-wrap {
		flex-flow: column;
	}

	#meikai-biz-academy-others-list-wrap > div {
		width: 100%;
	}

	#meikai-biz-academy-others-list-wrap > div + div {
		margin-top: 2em;
	}

	#meikai-biz-academy-report-list {
		flex-flow: column;
	}

	#meikai-biz-academy-report-list > li {
		width: 100%;
	}

	#meikai-biz-academy-report-list > li:not(:nth-of-type(3n)) {
		margin-right: unset;
	}

	#meikai-biz-academy-report-list > li + li {
		margin-top: 2em;
	}
}

.heading-left-line {
	font-weight: 500;
	border-left: 2px solid var(--color-red);
	line-height: 1.25;
	padding-left: 0.5em;
	margin-bottom: 1em;
}

#cultivate-future-recommend-list {
	list-style-type: none;
}

#cultivate-future-recommend-list > li + li {
	margin-top: 1em;
}

#cultivate-future-recommend-list > li {
	padding-left: 1.5em;
	position: relative;
}

#cultivate-future-recommend-list > li:before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border: 1px solid var(--color);
	position: absolute;
	top: calc((1lh - 1em) / 2);
	left: 0;
}

#cultivate-future-effect-list {
	list-style-type: none;
}

#cultivate-future-effect-list > li + li {
	margin-top: 1em;
}

#cultivate-future-effect-list > li > h4 {
	font-size: 1.125em;
	font-weight: 500;
	color: var(--color-red);
}

#cultivate-future-effect-list > li > p {
	font-size: 0.875em;
}

#cultivate-future-program-list {
	list-style-type: none;
	counter-reset: count;
}

#cultivate-future-program-list > li + li {
	margin-top: 1em;
}

#cultivate-future-program-list > li {
	counter-increment: count;
	padding-left: 6em;
	position: relative;
}

#cultivate-future-program-list > li:before {
	content: 'STEP'counter(count);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 5em;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#cultivate-future-voice-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

#cultivate-future-voice-list > li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: calc(50% - 2em);
}

#cultivate-future-voice-list > li:nth-of-type(odd) {
	margin-right: 4em;
}

#cultivate-future-voice-list > li:nth-of-type(n+3) {
	margin-top: 4em;
}

#cultivate-future-voice-list > li > figure {
	width: 5em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
}

#cultivate-future-voice-list > li > figure > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#cultivate-future-voice-list > li > div {
	width: calc(100% - 7em);
}

#cultivate-future-voice-list > li > div > span {
	font-size: 0.875em;
}

#cultivate-future-voice-list > li > div > span:before {
	content: '(';
}

#cultivate-future-voice-list > li > div > span:after {
	content: ')';
}

#cultivate-future-voice-list > li > div > p {
	font-size: 0.875em;
}

#cultivate-future-voice-list > li > div > p > span {
	color: var(--color-red);
	font-weight: 700;
}

.heading-horizontal-line {
	font-weight: 500;
	font-size: 1em;
	text-align: center;
	padding-top: 4em;
	margin-bottom: 4em;
	position: relative;
}

.heading-horizontal-line:before {
	content: attr(data-text);
	display: block;
	width: 100%;
	font-size: 2em;
	position: absolute;
	left: 0;
	top: 0;
}

.heading-horizontal-line:after {
	content: '';
	display: block;
	width: 4em;
	border-top: 1px solid var(--color-red);
	position: absolute;
	left: 50%;
	top: 3em;
	transform: translateX(-50%);
}

@media (max-width: 768px) {
	#cultivate-future-voice-list {
		flex-flow: column;
	}

	#cultivate-future-voice-list > li {
		width: 100%;
		flex-flow: column;
		
	}

	#cultivate-future-voice-list > li:nth-of-type(odd) {
		margin-right: unset;
	}

	#cultivate-future-voice-list > li:nth-of-type(n+3),
	#cultivate-future-voice-list > li + li {
		margin-top: 2em;
	}

	#cultivate-future-voice-list > li > div {
		width: 100%;
	}
}

#about-philosophy > div > p {
	font-family: var(--serif-font);
	font-size: clamp(1.25em, 2.5vw, 1.75em);
	text-align: center;
}

#about-spirits-list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#about-spirits-list > li {
	width: calc(100% / 3 - 4em);
	margin: 0 2em;
}

#about-spirits-list > li:nth-of-type(n+4) {
	margin-top: 4em;
}

#about-spirits-list > li > h3 {
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	min-height: 3lh;
	font-family: var(--serif-font);
	font-size: clamp(1.125em, 2vw, 1.25em);
	font-weight:500;
	text-align: center;
	margin-bottom: 1em;
}

#about-spirits-list > li > p {
	font-size: 0.875em;
}

#about-policy > div > p {
	font-family: var(--serif-font);
	font-size: clamp(1.25em, 2.5vw, 1.75em);
	text-align: center;
}

.simple-heading {
	font-size: clamp(1.25em, 2vw, 1.5em);
	font-weight:500;
	text-align: center;
	margin-bottom: 2em;
}

#about-company > div > dl {
	display: flex;
	flex-wrap: wrap;
}

#about-company > div > dl > dt {
	width: 6em;
	margin-right: 3em;
	border-top: 1px solid #aaa;
	padding: 1em 0;
}

#about-company > div > dl > dd {
	width: calc(100% - 9em);
	border-top: 1px solid #aaa;
	padding: 1em 0;
}

#about-company > div > dl > dt:last-of-type,
#about-company > div > dl > dd:last-of-type {
	border-bottom: 1px solid #aaa;
}

#about-greeting > div > div {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#about-greeting > div > div > figure {
	width: calc(50% - 3em);
	aspect-ratio: 1 / 1;
	background-color: #eee;
}

#about-greeting > div > div > figure > img {
	width: 100%;
	height: 100%;
}

#about-greeting > div > div > div {
	width: calc(50% - 3em);
}

#about-greeting > div > div > div > p {
	font-size: 0.875em;
	line-height: 2;
}

#about-greeting > div > div > div > p + p {
	margin-top: 2em;
}

#about-greeting > div > div > div > div {
	font-family: var(--serif-font);
	text-align: right;
	margin-top: 3em;
}

#about-greeting > div > div > div > div > div:first-of-type {
	margin-bottom: 1em;
}

#about-greeting > div > div > div > div > div:last-of-type {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	font-size: 0.875em;
}

#about-greeting > div > div > div > div > div:last-of-type > img {
	width: 160px;
	margin-left: 1em;
}

#about-profile-history-list {
	list-style-type: none;
	font-size: 0.875em;
	padding-left: 2em;
	position: relative;
}

#about-profile-history-list:before {
	content: '';
	display: block;
	height: calc(100% - 0.5lh);
	border-left: 1px solid var(--color-red);
	position: absolute;
	top: 0.5lh;
	left: 1em;
	transform: translateX(-50%);
}

#about-profile-history-list > li {
	position: relative;
}

#about-profile-history-list > li + li {
	margin-top: 2em;
}

#about-profile-history-list > li:before {
	content: '';
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background-color: var(--color-red);
	position: absolute;
	top: 0.5lh;
	left: -1em;
	transform: translate(-50%, -50%);
}

.about-dot-list {
	list-style-type: none;
	font-size: 0.875em;
	padding-left: 2em;
	position: relative;
}

.about-dot-list > li {
	position: relative;
}

.about-dot-list > li + li {
	margin-top: 2em;
}

.about-dot-list > li:before {
	content: '';
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background-color: var(--color-red);
	position: absolute;
	top: 0.5lh;
	left: -1em;
	transform: translate(-50%, -50%);
}

#about-license-belonging > div {
	display: flex;
	justify-content: space-between;
}

#about-license-belonging > div > div {
	width: calc(50% - 2em);
}

@media (max-width: 768px) {
	#about-spirits-list {
		flex-flow: column;
	}

	#about-spirits-list > li {
		width: 100%;
		margin: 0;
	}

	#about-spirits-list > li:nth-of-type(n+4),
	#about-spirits-list > li + li {
		margin-top: 2em;
	}

	#about-greeting > div > div {
		flex-flow: column;
		align-items: center;
	}

	#about-greeting > div > div > figure {
		width: 50%;
		max-width: 480px;
	}

	#about-greeting > div > div > div {
		width: 100%;
	}

	#about-company > div > dl > dt {
    	width: 6em;
		margin-right: 1em;
	}

	#about-company > div > dl > dd {
    	width: calc(100% - 7em);
	}

	#about-license-belonging > div {
		flex-flow: column;
	}

	#about-license-belonging > div > div + div {
		margin-top: 2em;
	}

	#about-license-belonging > div > div {
		width: 100%;
	}
}

.sp {
	display: none;
}

.pc {
	display: initial;
}

@media (max-width: 768px) {
	.sp {
		display: inherit !important;
	}

	.pc {
		display: none !important;
	}
}