@charset "UTF-8";
/*リセットCSS-------------------------------------------*/
/*!
 * rev. 2022-03-25
 * copyright © 2022
 * 
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html { line-height: 1.15; -webkit-text-size-adjust: 100%;}
main { display: block; }
h1 { font-size: 2em; margin: .67em 0;}
:root { font-size: 62.5%; height: 100%;}
@media only screen and (max-width: 767px) {
  :root { width: 100%;}
}
.wf-active [data-lazy-font] { visibility: visible;}
*,:after,:before { -webkit-box-sizing: border-box; box-sizing: border-box;}
::-moz-selection { background-color: #b3d4ff;}
::selection { background-color: #b3d4ff;}
.js-focus-visible :focus:not(.focus-visible) { outline: 0;}
body { min-width: 1100px; color: #000; font-family: FOT-UD角ゴ_ラージ Pr6N M,Noto Sans JP,sans-serif; font-size: 1.6rem; line-height: 1.7; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; margin: 0; padding: 0; position: relative;}
@media only screen and (max-width: 767px) {
  body { min-width: 100%; width: 100%;}
}
button { border-radius: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; -webkit-box-shadow: none; box-shadow: none; padding: 0; background-color: transparent;}
img { max-width: 100%; height: auto;}
ol,ul { list-style: none; padding: 0; margin: 0;}

@media only screen and (max-width: 767px) {
  div:not(.bge_contents) .pc-only { display: none!important;}
}

@media print,screen and (min-width: 768px) {
  div:not(.bge_contents) .sp-only { display: none!important;}
}

@media only screen and (max-width: 767px) {
  [data-device=pc] { display: none!important;}
}

@media print,screen and (min-width: 768px) {
  [data-device=sp] { display: none!important;}
}



/*共通*/
/* ============================================ */
html {font-size: 100%;}
body {color: #000; font-family: FOT-UD角ゴ_ラージ Pr6N M,Noto Sans JP,sans-serif;}
a {text-decoration: none;}
li {list-style: none;}
.text-h {font-family: FOT-UD角ゴ_ラージ Pr6N M,Noto Sans JP,sans-serif;}
pre { font-family: monospace,monospace; font-size: 1em; }
small { font-size: 80%; }

/*カラー*/
/* ============================================ */
:root { --color-primary: #005BAB; --color-secondary: #C5E5F6; --color-accent: #E50012; --color-background: #ECF4F8; --color-button-y: #fae336; --color-button-y-hover: #FFFF64; --color-white: #FFF; --color-text: #333333; --color-gray: #dedede; --color-gray-light: #ebebeb;}

/*フォントファミリー*/
/* ============================================ */
:root { --font-Dsp-B: FOT-UD角ゴ_スモール Pr6 B; --font-Dsp-DB: FOT-UD角ゴ_スモール Pr6 DB; --font-Dsp-M: FOT-UD角ゴ_スモール Pr6 M;}

/*余白*/
/* ============================================ */
.mt_30 { margin-top: 30px;}
.mt_50 { margin-top: 50px;}
.mt_80 { margin-top: 80px;}

/*ヘッダー*/
/* ============================================ */
header { padding: 20px 5px 20px 5px; width: 100%; text-align: center;}
.logo { display: inline-block; height:32px}

/*ページ全体*/
/* ============================================ */
.catalog-request-form { display: flex; align-items: stretch; width: 100%;}
.catalog-area { width: 52%; background-color: #005bab; padding-bottom: 100px;}
.request-area { width: 48%; background-color: #fff;}

@media only screen and (max-width: 767px) {
  .catalog-request-form { display: flex; flex-direction: column;}
  .catalog-area { width: 100%; padding-top: 20px; padding-bottom: 50px;}
  .request-area { width: 100%;}
  .br-sp-n { display: none;}
}
@media only screen and (min-width: 768px) {
  .br-sp-b { display: none;}
}

/*説明会の内容(.catalogクラス)*/
/*全体*/
/* ============================================ */
.catalog-area-innner { display: flex; flex-direction: column; float: right; max-width: 580px; padding: 5px 40px 5px 20px;}
.catalog-title h1 { width: 100%; font-family: var(--font-Dsp-B); font-size: 3rem; line-height: 1.35; color: #fff; letter-spacing: 2px;}
span.text-big { font-size: 5rem; }
span.text-small { font-size: 3rem; }

@media only screen and (max-width: 767px) {
.catalog-area-innner { width: 100%; float: none; margin: 0 auto; padding: 5px 7.33333vw; }
.catalog-title h1 { font-size: 3rem; line-height: 1.3;}
.catalog-title.set-setting--margin-a { margin-bottom: -10px;}
}

/*画像------------------------------*/
.catalog-caputure img { width: 100%;}


/*開催時間など------------------------------*/
.catalog-contents-title h2{ display: block; font-size: 2rem; letter-spacing: 3px;  border-bottom: 1px solid #fff;}
.catalog-contents-title h2 span { background-color: #fff; color: #005bab; border-radius: 8px 8px 0 0 ; padding: 7px 12px 7px 12px; }
.catalog-contents { margin-bottom: 15px; }
.contents-list-item { line-height: 2em; font-size: 2rem; font-family: var(--font-Dsp-DB); color:#fff;}
.contents-list-item a{ color:#fff;}
.contents-list-item.map a{ border:solid 1px #fff; border-radius: 999px; width: fit-content; padding: 10px 15px; font-size: 1.8rem;}
.contents-list-item.map a:hover{ opacity: 0.8;}
/*
.contents-list-item::before { content: ''; display: inline-block; width: 1.75rem; height: 1.75rem; margin: 0 5px 0 5px; background-image: url(../img/icon-1.svg); background-size: contain; vertical-align: -0.4rem; }
*/




@media only screen and (max-width: 767px) {
  .catalog-recommended-inner { flex-direction: column;}
  .catalog-recommended-inner-content-right { width: 100%;}
  .catalog-recommended-inner-content-left { width: 100%; margin-bottom: 10px;}
  .catalog-recommended { margin-bottom: 20px;}
}

/*申請欄////////////////////////////////////////////////*/
.request-area-inner { height: auto; padding: 0 40px; max-width: 500px; padding-bottom: 20px;}

@media only screen and (max-width: 767px) {
  .request-area-inner { max-width: 100%; padding: 10px 7.33333vw;}
}
/*吹き出し-------------------------------------------*/
.balloon {
  position: relative;
  margin-top: -10px;
  margin-bottom: 30px;
  color: white;
  font-size: 2.5rem;
  background: #005bab;
  border-radius: 15px;
  text-align: center;
  padding: -15px 0;
}

.balloon p {
  padding: 5px;
}
/*記入欄-------------------------------------------*/
label { font-size: 1.75rem; text-align: left; margin-bottom: 4px; display: block;}
.request-wrapper { margin-bottom: 15px;}
.request-wrapper-item.is-alert { display: block; background-color: #fff; border: 1px solid #c6c6c6; border-radius: 5px; height: 35px; padding: 5px 10px; width: 100%;}
.request-wrapper-item { display: block; background-color: #fff1f3; border: 3px solid #ffdadf; border-radius: 5px; height: 35px; padding: 5px 10px; width: 100%;}
::placeholder { color: #aaa;}
.request-wrapper-flex{ display: flex; flex-direction: row; justify-content: space-between;}
.request-wrapper-inner { width: 48%;}
.request-chk { display: block; color: red; font-size: 1.25rem; margin-top: 5px;}
.request-chk.is-show { display: none;}

@media only screen and (max-width: 767px) {
  .request-wrapper-item.is-alert { height: 50px;}
}

/*ボタン-------------------------------------------*/
.submit-text { font-size: 1.25rem ; margin-bottom: 15px; line-height: 1.75rem;}
.submit-alert p { display: inline-block; font-size: 1.5rem; color: red; border: 1px solid red; background-color: #fff; padding: 5px 20px; margin-top: -15px; margin-bottom: 15px;}
.submit-alert.is-show { display: none;}
input.request-btn { width: 100%; border: 2px solid #fff; background-color: #ff9e00; font-size: 2rem; display: block; color: #fff; padding: 10px 8px; border-radius: 9999px; cursor: pointer;}
.request-btn:hover{ transform: scale(1.05); transition: all ease 0.4s; font-size: 2.25rem; background-color: #fff; border: 2px solid #ff9e00; color: #ff9e00;}

@media only screen and (max-width: 767px) {
  input.request-btn { margin-top: 30px; font-size: 2.5rem;}
  .request-btn:hover{ transform: scale(1); transition: all ease 0s; border: 2px solid #fff; background-color: #ff9e00; font-size: 2rem; color: #fff;}
}


/*申込完了ページのスタイル*/
/* ============================================ */
.thanks-title {
  text-align: center;
  margin-bottom: 100px;
}
.thanks-title h1 {
font-family: var(--font-Dsp-B)
  font-size: 3rem;
  letter-spacing: 0.15rem;
}

.thanks-title p {
  font-size: 1.5rem;
  line-height: 2;
}




/*申込完了ページのボタン*/
.dedicated__button__content { display: flex; max-width: 100%; align-items: center; align-content: center; justify-content: center; gap: 50px; flex-wrap: wrap; z-index: 10;}
.dedicated__button__style-a a { display: inline-block; position: relative; width: fit-content; padding: 10px 50px 10px 50px; border-radius: 999px;  background-repeat: no-repeat; transition: all.3s; font-size: 20px;font-family: var(--font-Dsp-DB) }
.dedicated__button__style-a.type-y a { background-color: #FFB300; color: #fff; }
.dedicated__button__style-a a:hover { opacity: 0.95; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); transform: translateY(-7px); transition: box-shadow 0.3s, transform 0.3s;}

/*フッター*/
/* ============================================ */
.c-footer { font-size: 1.6rem; background-color: #005bab; border: 1px solid #005bab; color: #fff; padding: 30px 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; position: relative;}

@media only screen and (max-width: 767px) {
  .c-footer { display: block; margin-top: 5.33333vw; padding: 10.66667vw 7.33333vw 4.4vw;}
}

.c-footer__title { width: 210px;}

@media only screen and (max-width: 767px) {
  .c-footer__title { width: 38.66667vw; margin-bottom: 5.33333vw;}
}

.c-footer__title p { margin: 0;}
.c-footer__title p a { display: block;}
.c-footer__title p a img { width: 100%; height: auto;}
.c-footer__links { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin: 0 0 10px; padding: 0;}

@media only screen and (max-width: 767px) {
  .c-footer__links { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 8vw;}
}

.c-footer__links li { display: block; padding: 0;}

@media only screen and (max-width: 767px) {
  .c-footer__links li { width: 47%;}
}

@media print,screen and (min-width: 768px) {
  .c-footer__links li:not(:first-child) { margin-left: 30px;}
}

.c-footer__links a { color: #fff; display: block; font-size: 1.4rem; font-weight: 500; letter-spacing: .08em; text-decoration: none; padding: 0 0 0 20px; position: relative; -webkit-transition: opacity .3s; transition: opacity .3s;}

@media only screen and (max-width: 767px) {
  .c-footer__links a { font-size: 3.33333vw; padding-left: 4.66667vw;}
}

@media print,screen and (min-width: 768px) {
  .c-footer__links a:hover { opacity: .6;}
}

.c-footer__links a:after,.c-footer__links a:before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto 0;}
.c-footer__links a:before { width: 15px; height: 15px; border-radius: 50%; background-color: #fff;}

@media only screen and (max-width: 767px) {
  .c-footer__links a:before { width: 3.33333vw; height: 3.33333vw;}
}

.c-footer__links a:after { width: 5px; height: 5px; left: 4px; border: 1.5px solid #005bab; border-width: 1.5px 1.5px 0 0; -webkit-transform: rotate(45deg); transform: rotate(45deg);}

@media only screen and (max-width: 767px) {
  .c-footer__links a:after { width: 1.06667vw; height: 1.06667vw; left: .93333vw;}
}

.c-footer__links a[target=_blank] span { padding-right: 23px; position: relative; display: inline-block;}

@media only screen and (max-width: 767px) {
  .c-footer__links a[target=_blank] span { padding-right: 0; display: inline;}
}

.c-footer__links a[target=_blank] span:after { position: absolute; content: ""; top: 0; bottom: 0; margin: auto 0; right: 0; width: 15px; height: 15px; background-repeat: no-repeat; background-image: url(/smart/img/icon-blank.svg); background-size: cover;}

@media only screen and (max-width: 767px) {
  .c-footer__links a[target=_blank] span:after { width: 2.66667vw; height: 2.66667vw; position: relative; display: inline-block; margin-left: 1.33333vw;}
}

.c-footer__copyright { display: block; font-size: 1.3rem; font-weight: 300; font-family: Roboto,FOT-UD角ゴ_ラージ Pr6N M,Noto Sans JP,sans-serif; text-align: right; letter-spacing: .1em;}

@media only screen and (max-width: 767px) {
  .c-footer__copyright { text-align: center; font-size: 2.66667vw;}
}