@charset "UTF-8";

/* @font-face {
    font-family: "TCCC-UnityText Regular";
    src: url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.eot");
    src: url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.eot?#iefix")format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.woff2")format("woff2"),
    url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.woff")format("woff"),
    url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/7d3930158276067e79e7e9b281b78976.svg#TCCC-UnityText Regular")format("svg");
    font-weight: 400;
} */
/*-----------------------------------------------------------
Reset
-----------------------------------------------------------*/
html {
  font-size: 100%;
}

div,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
img,
ins,
kbd,
q,
samp,
sub,
sup,
var,
b,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
mark,
audio,
video,
a {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  font: inherit;
}

span,
small,
em,
time,
i {
  font-style: normal;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

a {
  color: inherit;
  text-decoration: none;
  border: medium;
}

a:-webkit-any-link:focus-visible {
  outline-offset: 1px;
}

:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

legend {
  color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.7;
}

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

li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
select {
  vertical-align: middle;
}

abbr[title],
dfn[title] {
  cursor: help;
}

del {
  text-decoration: line-through;
}

ins {
  font-style: oblique;
  text-decoration: none;
}

mark {
  background: transparent;
  font-style: normal;
}

img {
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: inherit;
}

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

::-moz-selection {
  background: #d4dcd6;
}

::selection {
  background: #d4dcd6;
}

img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

body,
html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
  color: #0d3c7a;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

html {
  scroll-behavior: smooth;
}

:target {
  scroll-margin-top: 100px;
}

@media (max-width: 800px) {
  :target {
    scroll-margin-top: 60px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "游ゴシック体", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

@media (max-width: 800px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.4;
  }
}
th,
dt {
  font-family: "游ゴシック体", sans-serif;
  font-weight: 700;
}

a[href^="tel"] {
  cursor: default;
}

.container {
  margin: 0 auto;
  max-width: 1238px;
  width: 90%;
}
.container.narrow {
  max-width: 845px;
}

@media (max-width: 800px) {
  body {
    font-size: 15px;
    line-height: 1.8;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.4;
  }
  .container {
    margin: 0 auto;
    max-width: 90%;
    width: 90%;
  }
}
/* ======================
   Hero
====================== */
.hero {
  background: #e9edf3;
  width: 100%;
  position: relative;
}
.hero-desc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero-ttl {
  font-family: "游ゴシック体", sans-serif;
  font-size: 40px;
  color: #344d79;
  text-align: center;
  padding: 10px 20px;
  background-color: #fff;
}
.hero__img {
  width: 90%;
  margin-left: auto;
}
@media (max-width: 900px) {
  .hero__img {
    margin: 0 auto;
    text-align: center;
  }
}
.hero__info {
  background: #0d3c7a;
  color: #fff;
  margin-top: -9.9vw;
}
.hero__info-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 25px 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero__cta {
  text-align: center;
  margin-left: 45px;
}
@media (max-width: 1100px) {
  .hero__cta {
    margin-left: 5px;
  }
}
.hero__event {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  margin-top: -8px;
}
.hero__event__item {
  align-items: baseline;
  display: flex;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.hero__event__item + .hero__event__item {
  margin-top: 7px;
}
.hero__event .label {
  display: inline-block;
  background: #fff;
  color: #0d3c7a;
  font-size: 17px;
  padding: 4px 5px;
  margin-right: 12px;
  width: 48px;
}
.hero__event .num {
  font-size: 37px;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
}
.hero__event .num.small {
  font-size: 26px;
}
.hero__event .time {
  font-size: 15px;
  font-weight: bold;
}
.hero__deadline {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
}
.hero__button {
  display: inline-block;
  background: #e60000;
  color: #fff;
  padding: 15px 40px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 700;
  transition: 0.3s;
}
.hero__button:hover {
  opacity: 0.8;
}

@media (max-width: 910px) {
  .hero__info .btn-more {
    width: 100%;
  }
  .hero__info-inner {
    max-width: 100%;
    display: block;
  }
  .hero__info-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 13% 16px 30px;
  }
  .hero__cta {
    margin-left: 0;
    margin-top: 20px;
    width: 100%;
    text-align: center;
  }
  .hero__event {
    font-size: 18px;
  }
  .hero__event > p {
    font-size: 16px;
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .hero__event .num {
    font-size: 26px;
  }
  .hero__event .num.small {
    font-size: 18px;
  }
  .hero__event .time {
    font-size: 14px;
    margin-left: 0;
  }
  .hero__deadline {
    font-size: 16px;
  }
  .hero__button {
    width: 100%;
    padding: 14px 0;
  }
}
.intro {
  margin: 10px 0 auto;
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
}
.intro .intro-ttl {
  line-height: 1.5;
}
.intro span {
  font-size: 14px;
}

.sec01 {
  padding: 178px 0 110px;
}
.sec01-ttl {
  font-size: 46px;
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  margin-bottom: 50px;
}
.sec01-ttl span {
  color: #005edb;
}
.sec01-txt {
  font-size: 23px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 150px;
}
.sec01 .pt5 {
  padding-top: 5px;
}
.sec01-boxed {
  background-color: #0d3c7a;
  color: #fff;
  margin-right: 5px;
  padding: 2px 4px;
}
.sec01-inner {
  background: #f0f5ff;
  padding: 102px 8% 56px;
  margin-top: -10vw;
}
.sec01-intro {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}
.sec01-title {
  font-size: 34px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 24px;
}
.sec01-lead {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}
.sec01-intro-illust {
  position: absolute;
  top: -40px;
  width: 180px;
}
.sec01-intro-illust img {
  width: 100%;
  height: auto;
}
.sec01-intro-illust--left {
  left: 0;
}
.sec01-intro-illust--right {
  right: 0;
}
.sec01-label {
  text-align: center;
  margin-bottom: -20px;
  position: relative;
  z-index: 2;
}
.sec01-label span {
  display: inline-block;
  background: #0d3c7a;
  color: #fff;
  padding: 8px 24px;
  line-height: 1.2;
  border-radius: 6px;
  font-size: 20px;
  font-weight: bold;
}
.sec01-box {
  background: #fff;
  padding: 68px 40px 40px;
}
.sec01-items {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.sec01-item {
  flex: 1;
  text-align: center;
  position: relative;
}
.sec01-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 0;
  width: 1px;
  height: 100%;
  background: #ddd;
}
.sec01-item-title {
  font-size: 24px;
  line-height: 1.3;
  font-weight: bold;
  margin-bottom: 20px;
}
.sec01-item-img img {
  width: 140px;
  height: auto;
  margin-bottom: 20px;
}
.sec01-item-text {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  margin-top: 25px;
}
.sec01-message {
  text-align: center;
  margin-top: 45px;
}
.sec01-message-text {
  font-size: 37px;
  font-weight: bold;
  line-height: 1.6;
}
.sec01-message-text span {
  background: #0d3c7a;
  color: #fff;
  padding: 5px 10px;
  margin-right: 4px;
}
.sec01-event {
  margin-top: 105px;
}
.sec01-event-ttl {
  font-size: 40px;
  text-align: center;
  margin-bottom: 45px;
}
.sec01-list {
  display: flex;
  gap: 45px;
}
.sec01-list li {
  width: 48%;
  border: 1px solid #c1d1e5;
  position: relative;
}
.sec01-list li:nth-child(odd) {
  margin-right: 4%;
}
.sec01-list .list-ttl {
  /* font-family: "TCCC-UnityText regular", sans-serif; */
  font-size: 80px;
  letter-spacing: 0;
  color: rgba(249, 249, 244, 0.25);
  font-weight: 400;
  line-height: 1;
  position: absolute;
  left: 25px;
  top: -45px;
  z-index: 5;
  white-space: nowrap;
}
@media screen and (max-width: 1450px) and (min-width: 801px) {
  .sec01-list .list-ttl {
    font-size: 60px;
    top: -35px;
  }
}
.sec01-list .list-img {
  margin-bottom: 25px;
}
.sec01-list .btn-more {
  margin-left: auto;
}
.sec01-ttl-icon {
  margin-top: 75px;
  font-size: 28px;
  text-align: center;
  margin-bottom: 25px;
  line-height: 1;
}
.sec01-list-icon {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 40px;
  max-width: 848px;
  margin: 0 auto;
}
.sec01-list-icon li {
  width: -moz-fit-content;
  width: fit-content;
}
.sec01-list-icon li .list-item {
  width: 100%;
}
.sec01 .event-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 45px;
}
.sec01 .event-box {
  background: #fff;
  padding: 60px 20px 50px;
  position: relative;
  border: 3px solid #c1d1e5;
}
.sec01 .blue {
  border-color: #b7c7dd;
}
.sec01 .orange {
  border-color: #e8cdb4;
}
.sec01 .icon-circle {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 32px;
}
.sec01 .event-title {
  font-size: 32px;
  margin-top: 25px;
  line-height: 1;
  margin-bottom: 30px;
  text-align: center;
}
.sec01 .orange-text {
  color: #f07f07;
}
.sec01 .theme-row {
  margin-bottom: 26px;
  text-align: center;
}
.sec01 .theme-label {
  background: #0d3c7a;
  color: #fff;
  padding: 4px 10px;
  font-size: 20px;
}
.sec01 .theme-text {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0;
}
@media (max-width: 800px) {
  .sec01 .theme-text {
    display: block;
    font-size: 17px;
  }
}
.sec01 .event-txt {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #232323;
  text-align: left;
  max-width: 454px;
  margin: 0 auto;
  line-height: 1.6;
}
.sec01 .description {
  text-align: left;
  line-height: 1.8;
  font-size: 16px;
  color: #232323;
  margin-bottom: 20px;
  font-weight: bold;
  text-align: center;
}
.sec01 .highlight {
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.5;
}

.sec02 {
  background-color: #f8f8f8;
  padding: 110px 0;
}
.sec02 .program {
  max-width: 1200px;
  text-align: center;
  margin-bottom: 55px;
}
.sec02.program-bg {
  background: #f3f3f3;
}
.sec02 .program__title {
  font-size: 40px;
  margin-bottom: 70px;
  font-weight: bold;
  text-align: center;
}
.sec02 .program__box {
  background: #fff;
  max-width: 1250px;
  margin: 0 auto;
  padding: 80px 60px;
  margin-bottom: 100px;
  margin-top: 40px;
  position: relative;
}
.sec02 .program__box::before {
  position: absolute;
  content: "";
  background: url(../img/sec01_icon01.png) center/cover no-repeat;
  width: 83px;
  height: 83px;
  z-index: 5;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.sec02 .program__heading {
  font-size: 34px;
  line-height: 1;
}
.sec02 .program__time {
  font-size: 22px;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
  margin-bottom: 50px;
  font-weight: 600;
  margin-top: 15px;
}
.sec02 {
  /* テーマ部分 */
}
.sec02 .program__theme {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.sec02 .program__label {
  background: #0d3c7a;
  color: #fff;
  padding: 5px 10px;
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
}
.sec02 .program__theme-text {
  font-size: 24px;
  font-weight: bold;
}
.sec02 .program-speaker {
  background: #f0f5ff;
  padding: 80px 90px;
  text-align: center;
  margin-bottom: 70px;
}
.sec02 .program-speaker.facilitator {
	position: relative;
	text-align: left;
	background: #EEFBF9;
	padding: 45px 90px;
	margin-bottom: 0;
}
.sec02 .program-speaker.office {
  position: relative;
}
.sec02 .program-speaker.office::before {
  position: absolute;
  content: "";
  background: url(../img/illustration01.png) center/cover no-repeat;
  width: 177px;
  height: 143px;
  z-index: 5;
  top: 30px;
  right: 12%;
}

@media (max-width: 1100px) {
  .sec02 .program-speaker.office::before {
    right: 2%;
  }
}
.sec02 .program-speaker.eat {
  position: relative;
}
.sec02 .program-speaker.eat::before {
  position: absolute;
  content: "";
  background: url(../img/illustration02.png) center/cover no-repeat;
  width: 177px;
  height: 143px;
  z-index: 5;
  top: 30px;
  left: 150px;
}

@media (max-width: 1100px) {
  .sec02 .program-speaker.eat::before {
    left: 2%;
  }
}
.sec02 .program-speaker.sports {
  position: relative;
}
.sec02 .program-speaker.sports::before {
  position: absolute;
  content: "";
  background: url(../img/illustration03.png) center/cover no-repeat;
  width: 177px;
  height: 143px;
  z-index: 5;
  top: 30px;
  right: 150px;
}
@media (max-width: 1100px) {
  .sec02 .program-speaker.sports::before {
    right: 2%;
  }
}
.sec02 .program-speaker__title {
  text-align: center;
  font-size: 22px;
  margin: 35px 0 10px;
}
.sec02 .program-speaker-office {
  /* font-size: 38px; */
  font-size: 2.5vw;
  text-align: center;
  line-height: 1;
  margin-bottom: 10px;
}
.sec02 .program-speaker-office.program-speaker-office--facilitator {
	font-size: 28px;
	color: #20A492;
	margin-bottom: 25px;
}

.sec02 .program-speaker__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 35px;
}

.sec02 .program-speaker__grid.program-speaker__grid--single {
	grid-template-columns: 1fr;
}

.sec02 .speaker-card {
	background: #fff;
	position: relative;
}

.sec02 .speaker-card.speaker-card--single {
	max-width: 403px;
	width: 100%;
	margin: 0 auto;
}
.sec02 .speaker-card__body {
  display: flex;
  gap: 20px;
  padding: 25px 25px 70px 25px;
  align-items: center;
  text-align: left;
}
.sec02 .speaker-card__img {
  width: 110px;
  background: #d9dde6;
}
.sec02 .speaker-card__company {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 6px;
}
.sec02 .speaker-card__role {
  font-size: 12px;
  color: #777777;
  margin: 5px 0 13px;
	line-height: 1.2;
}
.sec02 .speaker-card__name {
  font-size: 18px;
  font-weight: 500;
  color: #244a7c;
}
.sec02 .speaker-card__name.cs-name {
  color: #c7c7c7;
	font-weight: 500;
}
.sec02 .speaker-card__btn {
  width: 100%;
  background: #183b6d;
  color: #fff;
  border: none;
  padding: 12px;
  font-size: 14px;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  left: 0;
}
.sec02 .speaker-card__btn-facilitator {
	background: #20A492;
}

.sec02 .content-box.content-box--facilitator {
	display: flex;
	align-items: center;
}

.content-box-ttl-facilitator {
	color: #20A492;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 10px;
}

.job-name-facilitator {
	font-size: 14px;
	font-weight: 500;
	display: block;
	color: #20A492;
	line-height: 1;
	margin-bottom: 5px;
}

.content-box__img {
	max-width: 320px;
	width: 100%;
	margin-right: 35px;
}

.content-box__desc {
	flex: 1;
}

@media (max-width: 768px) {
	.sec02 .program-speaker-office.program-speaker-office--facilitator {
		font-size: 21px;
		margin-bottom: 20px;
	}

	.sec02 .content-box.content-box--facilitator {
		display: block;
		padding: 20px;
	}

	.content-box-ttl-facilitator {
		font-size: 18px;
	}

	.content-box__img {
		max-width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.content-box__desc {}
}

.speaker-card__btn:disabled {
  background: #c7c7c7;
  cursor: auto;
}

.speaker-note {
  text-align: right;
  font-size: 12px;
  margin-top: 10px;
}

@media (min-width: 768px) {
  .speaker-center {
    grid-column: span 2;
    justify-self: center;
    width: 50%;
  }
}

.sec02 .header h3 {
  font-size: 32px;
  color: #1f3c88;
  margin: 0 0 15px;
}
.sec02 .time-badge {
  display: inline-block;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
  font-weight: 700;
  padding: 6px 14px;
  background-color: #e1e8f8;
  font-size: 18px;
  margin-bottom: 35px;
}
.sec02 .content-box {
  background-color: #ffffff;
  padding: 35px 40px;
  border-radius: 6px;
  margin: 0 auto;
}
.sec02 .content-box-ttl {
  font-size: 22px;
  margin-bottom: 10px;
  text-align: center;
}
.sec02 .content-box-txt {
  font-size: 16px;
  text-align: left;
  line-height: 1.5;
  color: #232323;
}
.sec02 .content-box-txt.content-box-txt--facilitator {
	font-size: 13px;
	line-height: 1.84;
}
.sec02 .illustration01 {
  position: absolute;
  top: -10px;
  right: 0;
}
.sec02 .illustration02 {
  position: absolute;
  top: -10px;
  right: 0;
}
.sec02 .illustration03 {
  position: absolute;
  top: -10px;
  right: 0;
}
.sec02 .illustration img {
  width: 177px;
}
.sec02 .event-box02 {
  background: #fff;
  max-width: 1238px;
  width: 100%;
  padding: 80px 40px;
  text-align: center;
  position: relative;
  margin: 0 auto;
}
.sec02 .event-box02.event {
  position: relative;
}
.sec02 .event-box02.event::before {
  position: absolute;
  content: "";
  background: url(../img/event.png) center/cover no-repeat;
  width: 158px;
  height: 186px;
  z-index: 5;
  top: -30px;
  right: 23%;
}

@media (max-width: 1100px) {
  .sec02 .event-box02.event::before {
    right: 10%;
  }
}

.sec02 .event-icon {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 32px;
}
.sec02 .event-title02 {
  color: #f07f07;
  font-size: 34px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
}
.sec02 .event-time {
  color: #f07f07;
  font-size: 22px;
  margin-bottom: 30px;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
  font-weight: 700;
  margin-top: 15px;
}
.sec02 .event-illustration {
  position: absolute;
  right: 40px;
  top: 30px;
}
.sec02 .event-illustration img {
  width: 150px;
}
.sec02 .event-text02 {
  font-size: 20px;
  line-height: 1.5;
  color: #232323;
}

.modal,
.modal-fa {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 9999;
}

.modal.is-active,
.modal-fa.is-active {
	display: block;
}

.modal__container,
.modal__container-fa {
	position: relative;
	background: #fff;
	width: 780px;
	max-width: 90%;
	margin: 120px auto;
	padding: 40px 50px;
	z-index: 10000;
}

.modal__close,
.modal__close-fa {
	position: absolute;
	top: -48px;
	right: -5px;
	font-size: 50px;
	border: none;
	background: none;
	cursor: pointer;
	color: #fff;
}

.modal__overlay,
.modal__overlay-fa {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
}

.modal__name,
.modal__name-fa {
	font-size: 24px;
	line-height: 1;
	margin: 7px 0 16px;
}

.modal__name-fa {
	color: #20A492;
}

.modal__company-fa {
	color: #20A492;
}

.modal__text,
.modal__text-fa {
	font-size: 15px;
	color: #000000;
	line-height: 1.5;
}
.cta-inner {
  text-align: center;
}
.cta-title {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.cta-date {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 25px;
  letter-spacing: 0;
  line-height: 1;
}
.cta-button {
  display: inline-block;
  background: #d60000;
  color: #fff;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: 30px;
  font-weight: bold;
  font-size: 16px;
  transition: 0.3s;
}
.cta-button:hover {
  background: #b80000;
}
.cta-area {
  padding: 40px 0;
  position: relative;
}
.cta-area::before {
  position: absolute;
  content: "";
  background: url(../img/sec03_bg.jpg) top center/cover no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
}

.arrow {
  margin-left: 10px;
  font-size: 20px;
}

.sec04 {
  padding: 80px 0;
  background: #fff;
}

.comingsoon {
  font-size: 32px;
  font-weight: bold;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
	text-align: center;
	border-top: 1px solid #F0F5FF;
	border-bottom: 1px solid #F0F5FF;
	padding: 30px;
}

.sec04-ttl {
  font-size: 38px;
  text-align: center;
  margin-bottom: 40px;
  line-height: 1;
}

.sec06 {
  padding: 40px 0;
  position: relative;
}
.sec06::before {
  position: absolute;
  content: "";
  background: url(../img/sec03_bg.jpg) center/cover no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
}

.tabs {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-bottom: 45px;
}

.tab {
  padding: 3px 20px;
  border-radius: 20px;
  background: #e9e9e9;
  cursor: pointer;
  font-size: 14px;
  color: #232323;
}

/* .tab.active {
  background: #1f4a7c;
  color: white;
} */

.company {
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 15px;
}
.company-list {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 15px;
  margin: 0 auto 10px;
}
.company-list >li {
	color: #232323;
	font-size: 14px;
	background: #F5F5F5;
	padding: 25px 10px;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.company .people {
  font-size: 13px;
  color: #232323;
}
.company-note {
  text-align: right;
  font-size: 12px;
  color: #000000;
}

.note {
  max-width: 830px;
  margin: 0 auto;
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}

.sec05 {
  padding: 85px 0;
  background-color: #f9f9f9;
}
.sec05-ttl {
  font-size: 38px;
  text-align: center;
  line-height: 1;
  margin-bottom: 35px;
}
.sec05 > .container {
  width: 570px;
}

.info-row {
  display: flex;
  align-items: center;
  margin-bottom: 22px;
  align-items: center;
}

.label {
  background: #0d3c7a;
  color: #fff;
  line-height: 1;
  font-size: 14px;
  padding: 6px 10px;
  margin-right: 20px;
  width: 65px;
  text-align: center;
}

.value {
  font-size: 16px;
  color: #333;
	display: flex;
	align-items: center;
}

.map-link {
	font-size: 14px;
  color: #0d3c7a;
  text-decoration: none;
  border-bottom: 1px solid #0d3c7a;
  padding-bottom: 4px;
	display: inline-block;
	transition: .2s;
	margin-left: 15px;
}

.map-link:hover {
	opacity: .7;
  border-bottom: 1px solid transparent;
}

@media (max-width: 768px) {
  .sec01 {
    padding: 20px 0 40px;
    background: none;
  }
  .sec01-box {
    padding: 40px 20px;
  }
  .sec01-ttl {
    font-size: 23px;
    margin-bottom: 25px;
  }
  .sec01-txt {
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 80px;
  }
  .sec01-inner {
    padding: 45px 5% 40px;
  }
  .sec01-inner::before {
    width: 80px;
    height: 80px;
    z-index: 5;
    top: -40px;
    left: 10px;
  }
  .sec01-inner::after {
    width: 80px;
    height: 80px;
    z-index: 5;
    top: -55px;
    right: 10px;
  }
  .sec01-title {
    font-size: 25px;
  }
  .sec01-lead {
    font-size: 15px;
    text-align: left;
  }
  .sec01-items {
    display: block;
  }
  .sec01-item-text {
    font-size: 15px;
    text-align: left;
  }
  .sec01-item-title {
    font-size: 18px;
    margin-bottom: 15px;
    margin-top: 15px;
  }
  .sec01-item:not(:last-child)::after {
    right: 0;
    top: 190px;
    width: 100%;
    height: 1px;
  }
  .sec01-message-text {
    font-size: 19px;
  }
  .sec01-event {
    margin-top: 60px;
  }
  .sec01 .sec01-event-ttl {
    font-size: 25px;
  }
  .sec01 .event-wrapper {
    display: block;
  }
  .sec01 .event-box {
    width: 90%;
    margin: 0 auto;
    padding: 40px 20px;
    margin-bottom: 60px;
  }
  .sec01 .icon-circle {
    width: 70px;
    height: 70px;
  }
  .sec01 .event-title {
    font-size: 25px;
    margin-top: 10px;
    margin-bottom: 15px;
  }
  .sec01 .event-txt {
    text-align: left;
    font-size: 14px;
    line-height: 1.4;
  }
  .sec01 .description {
    font-size: 14px;
    text-align: left;
  }
  .sec01 .highlight {
    text-align: left;
    font-size: 17px;
  }
  .sec01-ttl-icon {
    margin-top: 50px;
    font-size: 23px;
  }
  .sec01-list-icon {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px;
    padding: 0 20px;
  }
  .sec01-list-icon li {
    width: 100%;
    margin: 0 auto;
  }
  .sec01-list-icon li:nth-child(3) {
    grid-column: 1/3;
    justify-self: center;
    width: 50%;
  }
  .sec02 {
    padding: 60px 0;
  }
  .sec02 .program__title {
    font-size: 25px;
    margin-bottom: 70px;
    font-weight: bold;
    text-align: center;
  }
  .sec02 .program__box {
    max-width: 90%;
    padding: 70px 15px 20px;
    margin-bottom: 70px;
  }
  .sec02 .program__heading {
    font-size: 25px;
  }
  .sec02 .program__time {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .sec02 .program__theme {
    display: block;
  }
  .sec02 .program__label {
    font-size: 16px;
  }
  .sec02 .program__theme-text {
    font-size: 20px;
  }
  .sec02 .program-speaker__grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .sec02 .program {
    margin-bottom: 30px;
  }
	.sec02 .speaker-card__role {
		font-size: 12px;
		margin: 0 0 10px;
	}
  .sec02 .speaker-card__company {
    font-size: 16px;
    line-height: 1.4;
		margin-bottom: 2px;
  }
  .sec02 .program-speaker {
		padding: 75px 20px 35px;
    text-align: center;
    margin-bottom: 40px;
  }
	.sec02 .program-speaker.facilitator {
		padding: 35px 20px;
		margin-bottom: 0;
	}
  .sec02 .program-speaker.office {
    position: relative;
  }
	.sec02 .speaker-card__name {
		font-size: 17px;
		line-height: 1.5;
		font-weight: 600;
	}
  .sec02 .program-speaker.office::before {
    width: 97px;
    height: 83px;
    z-index: 5;
    top: -20px;
    right: 10px;
  }
  .sec02 .program-speaker.eat::before {
    width: 77px;
    height: 76px;
    z-index: 5;
    top: -20px;
    left: 20px;
  }

  .sec02 .program-speaker.sports::before {
    width: 97px;
    height: 73px;
    z-index: 5;
		top: -17px;
    right: 10px;
  }
  .sec02 .program-speaker-office {
    font-size: 23px;
  }
  .sec02 .time-badge {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .sec02 .content-box {
    padding: 30px 15px;
  }
  .sec02 .content-box-ttl {
    font-size: 17px;
    letter-spacing: 0;
  }
  .sec02 .content-box-txt {
    font-size: 14px;
  }
  .sec02 .speaker-card__body {
    display: block;
		padding: 20px 20px 60px;
  }
  .sec02 .speaker-card__img {
    width: 100%;
    margin-bottom: 12px;
  }
  .modal__container,
  .modal__container-fa {
    padding: 30px 20px;
  }
  .modal__company,
  .modal__company-fa {
    font-size: 14px;
  }
  .modal__name,
  .modal__name-fa {
    font-size: 20px;
  }
  .modal__text,
  .modal__text-fa {
    font-size: 13px;
  }
  .modal__close {
    top: -50px;
    right: -5px;
  }
  .sec02 .event-box02 {
    max-width: 90%;
  }
  .sec02 .event-box02.event {
    padding: 70px 20px 40px;
  }
  .sec02 .event-box02.event::before {
    position: absolute;
    content: "";
    width: 68px;
    height: 86px;
    z-index: 5;
    top: -30px;
    right: 15px;
  }
  .sec02 .event-title02 {
    font-size: 25px;
  }
  .sec02 .event-time {
    font-size: 16px;
		margin-top: 5px;
    margin-bottom: 15px;
  }
  .sec02 .event-text02 {
    font-size: 15px;
    text-align: left;
  }
  .cta-title {
    font-size: 20px;
  }
  .cta-area {
    padding: 80px 0 40px;
    position: relative;
  }
  .cta-area::before {
    position: absolute;
    content: "";
    background: #f0f5ff url(../img/sec03_bg_sp.png) top center/cover no-repeat;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0;
  }
  .sec04 {
    padding: 50px 0 40px;
  }
  .sec04 .sec04-ttl {
    font-size: 25px;
    margin-bottom: 20px;
  }
  .sec04 .tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    justify-content: left;
  }
  .sec04 .tab {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sec04 .company-list {
    grid-template-columns: repeat(2,1fr);
    gap: 7px;
  }
	.sec04 .company-list >li {
		padding: 10px 5px;
		line-height: 1.3;
		font-size: 12px;
	}
  .company-note {
    width: 100%;
  }
  .sec05 {
    padding: 50px 0;
  }
  .sec05 .sec05-ttl {
    font-size: 25px;
  }
  .sec05 .label {
    font-size: 12px;
    width: 20%;
		font-weight: bold;
  }
  .sec05 .value {
    font-size: 14px;
		display: block;
  }
  .sec05 .info-row {
    display: grid;
		grid-template-columns: repeat(1,1fr);
    gap: 7px;
		line-height: 1.4;
		margin-bottom: 15px;
  }
  .map-link {
    margin-left: 0;
		padding-bottom: 1.5px;
		margin-top: 3px;
		font-size: 13px;
  }
	.comingsoon {
		font-size: 20px;
		border-top: 1px solid #F0F5FF;
		border-bottom: 1px solid #F0F5FF;
		padding: 15px;
	}
}
/*------------
Header
--------------*/
.header {
  width: 100%;
  background-color: #f6f6f6;
}
.header-inr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 30px;
  width: 100%;
  height: 42px;
}
.header .h-logo {
  width: 317px;
  max-width: 317px;
}
.header .h-logo a {
  display: block;
}
.header .h-logo img {
  width: 100%;
}

@media (max-width: 800px) {
  .header {
    position: static;
  }
  .header-inr {
    height: auto;
    display: block;
    padding: 10px 20px;
  }
  .header .h-logo {
    width: 80%;
    margin: 0 auto;
  }
  .header .h-right {
    display: none;
  }
}
.footer {
  position: relative;
  padding: 35px;
  background: #0d3c7a;
  text-align: center;
}
.footer-logo {
  margin-bottom: 10px;
  display: inline-block;
}
.footer-logo img {
  width: 348px;
}
.footer .copyright {
  font-size: 10px;
  line-height: 1;
  color: #fff;
  text-align: center;
}
.footer .pagetop {
  display: block;
  background-color: #344d79;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: absolute;
  bottom: 70px;
  right: 50px;
  z-index: 2;
  transition: 0.3s;
}
.footer .pagetop:hover {
  transform: translateY(-10px);
}
.footer .pagetop:after {
  content: "";
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 800px) {
  .footer {
    padding: 30px 20px;
  }
  .footer .copyright {
    font-size: 11px;
    padding: 5px;
  }
  .footer .pagetop {
    display: none;
  }
}
/*-----------------------------------------------------------
ボタン
-----------------------------------------------------------*/
.btn-more {
  display: block;
  width: 100%;
  max-width: 289px;
  padding: 10px 55px;
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  background-color: #cb0000;
  border-radius: 30px;
  transition: 0.3s;
  position: relative;
  font-weight: bold;
  border: 1px solid transparent;
}
.btn-more.gray {
	background: #dedede;
	font-size: 18px;
	color: #333;
	pointer-events: none;
	padding: 10px 20px;
}
@media (max-width: 950px) {
  .btn-more {
    width: 90%;
    font-size: 16px;
    margin: 0 auto;
  }
}
.btn-more:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
}
.btn-more.gray:before {
  display: none;
}
.btn-more:hover {
  color: #cb0000;
  background-color: #fff;
  border: 1px solid #cb0000;
}
.btn-more:hover:before {
  border-top: 1px solid #cb0000;
  border-right: 1px solid #cb0000;
}
.btn-more.center {
  margin-left: auto;
  margin-right: auto;
  width: 330px;
}
@media (max-width: 800px) {
  .btn-more.center {
    width: 90%;
  }
}
.company-link {
	display: inline-block;
	margin-top: 10px;
	font-size: 18px;
	text-decoration: underline;
	font-weight: bold;
	position: relative;
	z-index: 4;
}
.company-link:hover {
	text-decoration: none;
}
/*-----------------------------------------------------------
Common
-----------------------------------------------------------*/
.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

.fs11 {
  font-size: 11px;
}

.txt-large {
  font-size: 20px;
}

.bold,
strong {
  font-weight: bold;
}

.underline {
  text-decoration: underline;
}

.marker span {
  background: linear-gradient(transparent 60%, #f9f9f4 60%);
  padding-bottom: 3px;
}
.marker .large {
  font-size: 30px;
}
.marker .small {
  font-size: 20px;
}

.link {
  text-decoration: underline;
  word-break: break-all;
  position: relative;
}
.link[target="_blank"]::after {
  content: "";
  display: inline-block;
  background: url(../images/share/icon_out.svg) no-repeat center/contain;
  width: 12px;
  height: 10px;
  margin-left: 5px;
}
.link:is(:hover, :focus) {
  text-decoration: none;
}

.no-link {
  pointer-events: none;
}

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

.notice {
  font-size: 0.8rem;
  text-indent: -1.6em;
  padding-left: 1.6em;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.tal {
  text-align: left;
}

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

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

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

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

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

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

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

.pb0 {
  padding-bottom: 0 !important;
}

.hidden {
  display: none;
}

@media (max-width: 800px) {
  .txt-large {
    font-size: 18px;
  }
  .marker .large {
    font-size: 24px;
  }
  .marker .small {
    font-size: 18px;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  .sp-tac {
    text-align: center !important;
  }
  .sp-tar {
    text-align: right !important;
  }
  .sp-tal {
    text-align: left !important;
  }
  .mbL {
    margin-bottom: 30px !important;
  }
  .mbXL {
    margin-bottom: 50px !important;
  }
}
/*診療カレンダー*/
:root {
  --event01: #ef866b;
  --event02: #f7b46b;
  --event03: #a8dba8;
  --event04: #b0d7d5;
}

.business-calendar-box-wrap {
  margin-bottom: 15px;
}
.business-calendar-box-wrap .business-calendar {
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 0 !important;
}
.business-calendar-box-wrap .business-calendar caption {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  border: 0;
  margin: 0 0 10px;
}
.business-calendar-box-wrap .business-calendar caption span {
  line-height: 1;
  font-size: 25px;
  vertical-align: -1px;
}
.business-calendar-box-wrap .business-calendar-past a,
.business-calendar-box-wrap .business-calendar-future a {
  display: inline-block;
  cursor: pointer;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  width: 25px;
  height: 25px;
}
.business-calendar-box-wrap .business-calendar-past a::before,
.business-calendar-box-wrap .business-calendar-future a::before {
  display: inline-block;
  content: "";
  border-style: solid;
  border-width: 7px 6px 7px 0;
  border-color: transparent #333 transparent transparent;
  position: absolute;
  top: 10px;
  left: 10px;
}
.business-calendar-box-wrap .business-calendar-future a::before {
  transform: rotate(180deg);
}
.business-calendar-box-wrap .business-calendar th {
  background: #f1f3f4;
  border: 0;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  padding: 5px;
  width: 14%;
}
.business-calendar-box-wrap .business-calendar td {
  background: #ffffff;
  border: 0;
  position: relative;
  font-size: 13px;
  padding: 5px;
  z-index: 0;
}
.business-calendar-box-wrap .business-calendar td::before {
  content: "";
  background: #ccc;
  border-radius: 50px;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0;
}
.business-calendar-box-wrap.large .business-calendar th,
.business-calendar-box-wrap.large .business-calendar td {
  padding: 10px;
  font-size: 15px;
}
.business-calendar-box-wrap.col2 {
  grid-template-columns: 1fr;
}
.business-calendar-box-wrap.col2 .business-calendar-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 3%;
}
.business-calendar-box-wrap .business-calendar .today {
  text-decoration: underline;
  background: #fff;
  opacity: 1;
}
.business-calendar-box-wrap .business-calendar .attr0,
.business-calendar-box-wrap .business-calendar .attr1,
.business-calendar-box-wrap .business-calendar .attr2,
.business-calendar-box-wrap .business-calendar .attr3 {
  color: #fff;
}
.business-calendar-box-wrap .business-calendar .attr0::before,
.business-calendar-box-wrap .business-calendar .attr1::before,
.business-calendar-box-wrap .business-calendar .attr2::before,
.business-calendar-box-wrap .business-calendar .attr3::before {
  opacity: 1;
}
.business-calendar-box-wrap .business-calendar .attr0::before {
  background: var(--event01);
}
.business-calendar-box-wrap .business-calendar .attr1::before {
  background: var(--event02);
}
.business-calendar-box-wrap .business-calendar .attr2::before {
  background: var(--event03);
}
.business-calendar-box-wrap .business-calendar .attr3::before {
  background: var(--event04);
}

.list-event {
  display: flex;
}
.list-event li {
  font-size: 15px;
  line-height: 1;
  margin: 0 20px 0 0;
}
.list-event i {
  margin: 0 5px 0 0;
}
.list-event .event01 {
  color: var(--event01);
}
.list-event .event02 {
  color: var(--event02);
}
.list-event .event03 {
  color: var(--event03);
}
.list-event .event04 {
  color: var(--event04);
}

@media (max-width: 800px) {
  .business-calendar-box-wrap.col2 .business-calendar-box {
    grid-template-columns: 1fr;
    grid-gap: 30px;
  }
  .list-event {
    display: block;
  }
  .list-event li + li {
    margin-top: 5px;
  }
}
/*診療時間*/
.time-table {
  border: 1px solid #dfdfdf;
  background: #fff;
  text-align: center;
  overflow: hidden;
}
.time-table-head {
  background-color: #344d79;
  color: #fff;
}
.time-table-head .item {
  padding: 10px 0;
}
.time-table-body {
  border-top: 1px solid #dfdfdf;
}
.time-table-body .item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
.time-table-body .item:first-child {
  background-color: #344d79;
  color: #fff;
  letter-spacing: 0;
}
.time-table-head,
.time-table-body {
  display: grid;
  grid-template-columns: 120px repeat(6, 1fr) 60px;
}
.time-table.large .time-table-head,
.time-table.large .time-table-body {
  grid-template-columns: 220px repeat(6, 1fr) 100px;
}

.time-table-txt {
  line-height: 1.5;
  margin-top: 10px;
}

@media (max-width: 800px) {
  .time-table-head {
    font-size: 12px;
  }
  .time-table-head .item {
    padding: 5px 0;
  }
  .time-table-body .item {
    padding: 5px 0;
    font-size: 13px;
  }
  .time-table-body .item:first-child {
    line-height: 1.3;
    font-size: 10px;
  }
  .time-table-head,
  .time-table-body {
    grid-template-columns: 70px repeat(6, 1fr) 50px !important;
  }
  .time-table-txt {
    font-size: 13px;
  }
}
.map {
  position: relative;
  width: 100%;
  height: 500px;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tel {
  display: inline-block;
  font-size: 28px;
  /* font-family: "TCCC-UnityText regular", sans-serif; */
  color: #344d79;
  line-height: 1;
  padding-left: 25px;
  position: relative;
}
.tel:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url(../images/share/icon_tel.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 25px;
}

@media (max-width: 800px) {
  .map {
    height: 300px;
  }
  .tel {
    font-size: 24px;
    padding-left: 25px;
  }
  .tel:before {
    width: 20px;
    height: 25px;
  }
} /*# sourceMappingURL=style.css.map */
