@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
--------------------*/

* {
  box-sizing: border-box;
}

body {
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
}

img {
  display: block;
  width: 100%;
  height: auto;
}

.contents_in {
  margin: 0 auto;
  max-width: 1000px;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.kosugi {
  font-family: 'Kosugi Maru',
    sans-serif;
}

.m_plus {
  font-family: 'M PLUS Rounded 1c',
    sans-serif;
}


/*ボタンCSS*/

.btn_ptn01 a {
  position: relative;
  display: inline-block;
  width: 100%;
  background: #fff;
  border: 2px solid #036EB8;
  border-radius: 20px;
  color: #036EB8;
  font-size: 15px;
  text-align: center;
  padding: 10px 30px 10px 22px;
  transition: all 0.3s;
}

.btn_ptn01 a:hover {
  background: #036EB8;
  color: #fff;
}

.btn_ptn01 a::before {
  content: "";
  position: absolute;
  top: 40%;
  right: 15px;
  display: block;
  width: 7px;
  height: 7px;
  border-bottom: 2px solid #036EB8;
  border-right: 2px solid #036EB8;
  transform: rotate(45deg);
  transition: all 0.3s;
}

.btn_ptn01 a:hover::before {
  top: 48%;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.btn_ptn02 a {
  position: relative;
  display: inline-block;
  width: 100%;
  background: #fff;
  border: 2px solid #036EB8;
  border-radius: 20px;
  color: #036EB8;
  font-size: 15px;
  text-align: center;
  padding: 10px 30px 10px 22px;
  transition: all 0.3s;
}

.btn_ptn02 a:hover {
  background: #036EB8;
  border: 2px solid #036EB8;
  color: #fff;
}

.btn_ptn02 a::before {
  content: "";
  position: absolute;
  top: 40%;
  right: 15px;
  display: block;
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #036EB8;
  transition: all 0.3s;
}

.btn_ptn02 a:hover::before {
  right: 10px;
  border-color: transparent transparent transparent #fff;
}

.btn_ptn03 a {
  position: relative;
  display: inline-block;
  width: 100%;
  background: #5BC2DA;
  border: 2px solid #5BC2DA;
  border-radius: 20px;
  color: #fff;
  font-size: 15px;
  text-align: center;
  padding: 3px 30px 3px 22px;
  transition: all 0.3s;
}

.btn_ptn03 a:hover {
  background: #fff;
  color: #5BC2DA;
}

.btn_ptn03 a::before {
  content: "";
  position: absolute;
  top: 40%;
  right: 15px;
  display: block;
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #fff;
  transition: all 0.3s;
}

.btn_ptn03 a:hover::before {
  right: 10px;
  border-color: transparent transparent transparent #5BC2DA;
}




/*header*/

header {
  position: absolute;
  top: 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 15px 10px 10px;
}

header .logo_g {
  display: flex;
  align-items: center;
  width: 201px;
}

header .logo_g img:first-child {
  width: 147px;
  margin-right: 10px;
}

header .logo_g img:last-child {
  width: 45px;
}

header .menu_g {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: calc(100% - 225px);
}

header .menu_g .menu_list {
  display: flex;
  margin-right: 5px;
}

header .menu_g .menu_list li {
  margin: 0 5px;
}

header .menu_g .btn_sns {
  width: 40px;
  margin: 0 0 0 10px;
}

header .menu_g .btn_sns a {
  display: block;
  transition: all 0.3s;
}

header .menu_g .btn_sns a:hover {
  opacity: 0.7;
}

main {
  display: block;
}

#top #mv_area {
  background-color: #FFFFFF;
  padding-top: 125px;
  margin-bottom: 40px;
  background-image: url(../img/mv_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#top #mv_area .mv_cnt {
  max-width: 680px;
  margin: 0 auto 50px;
}

img.mv_deco {
  margin-top: -150px;
}

#top #mv_area .mv {
  max-width: 950px;
  margin: 0 auto;
  position: relative;
  bottom: 30px;
}

#top .btn_fix {
  position: fixed;
  right: 15px;
  bottom: 102px;
  max-width: 200px;
  z-index: 99;
}

#top .btn_fix .btn_application {
  width: 100%;
  /* margin: -39px auto 0; */
  margin: -19px auto 0;
}

#top .btn_fix .btn_application.btn_ptn02 a:hover {
  border: 2px solid #fff;
}

/*about_area*/

#top #about_area .contents_in {
  position: relative;
  background-color: #FFFFFF;
  /* padding: 55px 30px; */
  border: 2px solid #F8B62D;
}

#top #about_area .about_title {
  color: #2F2725;
  background-color: #F8B62D;
  padding: 15px 0;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}

#top #about_area .about_title::before{
  content: "";
  position: absolute;
  top: -3vw;
  left: 3vw;
  width: 100%;
  height: 100%;
  max-width: 70px;
  min-width: 50px;
  width: 10vw;
  max-height: 80px;
  min-height: 60px;
  height: 10vw;
  background-image: url(../img/img_deco01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* #top #about_area .about_title span {
  position: relative;
}

#top #about_area .about_title span::before,
#top #about_area .about_title span::after {
  content: "";
  position: absolute;
  bottom: 5px;
  display: block;
  width: 43.35px;
  height: 25.2px;
  background: url(../img/img_deco01.svg) no-repeat;
  background-size: contain;
}

#top #about_area .about_title span::before {
  left: -105px;
  top:-61px;
  transform: scale(-1, 1);
}

#top #about_area .about_title span::after {
  right: -105px;
  top:-61px;
} */

#top #about_area p {
  color: #EB6100;
  line-height: 1.5;
  padding: 0 36px;
}

#top #about_area p.first_text {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 0.5em;
}

#top #about_area .note_text {
  font-size: 16px;
  padding: 0 36px 40px;
}

#top #about_area .note_text li {
  color: #231815;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}

#top #about_area .deco01 {
  position: absolute;
  width: 130px;
  top: -6%;
  right: 1%;
  /* left: -5%; */
  /* transform: rotate(-25deg); */
}

#top #about_area .deco02 {
  position: absolute;
  width: 90px;
  right: -7%;
  bottom: 12%;
}

#top #about_area .deco03 {
  position: absolute;
  width: 80px;
  left: -9%;
  bottom: -6%;
}

#top .page_nav {
  max-width: 650px;
  margin: 40px auto;
}

#top .page_nav .menu_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#top .page_nav .menu_list .btn_ptn01 {
  max-width: 205px;
  width: 32%;
}

#top .page_nav .menu_list .btn_ptn01 a {
  font-size: 18px;
}

/*schedule_area*/

#top #fukuyama_area {
  background: #eaf6fd;
  background-image: url(../img/bg.png);
}
@media (min-width: 768px) {
  #top #fukuyama_area {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

#top .schedule_area {
  padding: 143px 0 30px;
  margin-bottom: 50px;
}

#top .schedule_area .dates_g {
  position: relative;
  background-color: #FFFFFF;
  /* border-radius: 11px; */
  padding: 55px 30px 50px;
  margin: 0 auto 15px;
}

#top .schedule_area .dates_g .seminar_title {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 375px;
}

#top .schedule_area .dates {
  color: #231815;
  font-size: 38px;
  letter-spacing: 0.06em;
  text-align: center;
  margin-bottom: 5px;
}

#top .schedule_area .dates .text_big {
  font-size: 47px;
  font-weight: 700;
}

#top .schedule_area .dates .text_bold {
  font-weight: 700;
}

#top .schedule_area .dates .day {
  position: relative;
  top: -5px;
  display: inline-block;
  width: 52px;
  height: 51px;
  background-color: #00a0e9;
  border-radius: 50%;
  color: #fff;
  font-size: 28px;
  line-height: 55px;
  text-align: center;
  margin: 0 -7px 0 5px;
}

#top .schedule_area .place {
  color: #231815;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: center;
}

#top .schedule_area .place .text_small {
  font-size: 18px;
}

#top .schedule_area .seminar_wrap {
  padding-top: 60px;
}

#top .schedule_area .seminar_block {
  position: relative;
  padding-bottom: 55px;
  margin: 0 auto 35px;
}

#top .schedule_area .seminar_block .seminar_block_title {
  display: flex;
  margin-bottom: 10px;
  align-items: center;
}

#top .schedule_area .seminar_block .seminar_block_title_img{
  max-width: 750px;
  padding-bottom: 15px;
  /* margin: 40px auto 0; */
  margin: 0 auto;
  width: 80%;
}

#top .schedule_area .seminar_block .seminar_detail {
  margin: 0 auto 45px;
}

@media only screen and (min-width:768px){
  .seminar_detail p{
    padding-left: 1.5em;
  }
}

#top .schedule_area .seminar_block .fp_consultation {
  background-color: #FFFFFF;
  /* padding: 30px 40px; */
  padding-bottom: 30px;
  margin: 0 auto;
  /* border-radius: 11px; */
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g {
  /* max-width: 360px; */
  margin: 0 auto;
  background-color: #F39801;
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 {
  font-weight: 700;
  text-align: center;
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 .text_md {
  display: block;
  max-width: 360px;
  margin: 0 auto;
  padding: 20px 0;
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 .text_small {
  display: block;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.01em;
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon {
  position: relative;
  height: 85px;
  background: url(../img/bg_fp_title_balloon.svg) no-repeat center;
  background-size: contain;
  margin-bottom: 15px;
}

#top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon p{
  color: #FFFFFF;
  position: absolute;
  left: 18%;
  top: 31%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
}


#top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon span {
  font-size: 42px;
  display: inline-block;
  margin: -6px 2px 0 0;
  vertical-align: sub;
}


#top .schedule_area .seminar_block .fp_consultation ol {
  max-width: 378px;
  margin: 20px auto 25px;
  text-align: center;
}

#top .schedule_area .seminar_block .fp_consultation ol li {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  margin: 0 auto 15px;
}

#top .schedule_area .seminar_block .fp_consultation ol li .number {
  position: relative;
  top: -3px;
  display: inline-block;
  width: 48px;
  height: 48px;
  background-color: #036EB8;
  border-radius: 50%;
  color: #fff;
  font-size: 22px;
  line-height: 51px;
  letter-spacing: 0;
  text-align: center;
  margin-right: 10px;
}

#top .schedule_area .seminar_block .fp_application_title {
  position: relative;
  background-color: #231815;
  border-radius: 3px;
  color: #fff;
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  padding: 5px 10px;
  margin: 0 auto 15px;
  max-width: 700px;
}

#top .schedule_area .seminar_block .fp_application_title::before{
  content: "";
  position: absolute;
  left: 0px;
  bottom: 15px;
  display: block;
  width: 136px;
  height: 127px;
  background: url(../img/img_illust-deco.svg) no-repeat;
  background-size: contain;
}

#top .schedule_area .seminar_block .fp_application_title::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: 35px;
  display: block;
  width: 195px;
  height: 144px;
  background: url(../img/img_illust.svg) no-repeat;
  background-size: contain;
}

#top .schedule_area .seminar_block .fp_application_g {
  display: flex;
  align-items: center;
  justify-content: center;
}

#top .schedule_area .seminar_block .fp_application_g .tel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  margin-right: 30px;
}

#top .schedule_area .seminar_block .fp_application_g .tel .tel_icon {
  display: block;
  width: 41px;
  margin-right: 10px;
}

#top .schedule_area .seminar_block .fp_application_g .tel a {
  color: #231815;
}

#top .schedule_area .seminar_block .fp_application_g .time{
  margin: 5px 0 0 1em;
}

#top .schedule_area .seminar_block .fp_application_g .time span {
  display: inline-block;
  background: #231815;
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
  padding: 2px 10px;
  margin-right: 10px;
}

#top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a {
  border-radius: 24px;
  font-size: 18px;
  border: 2px solid #036EB8;
  background-color: #036EB8;
  color: #FFFFFF;
}

#top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a:hover{
  background-color: #FFFFFF;
  color: #036EB8;
}

#top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a::before{
  border-color: transparent transparent transparent #FFFFFF;
}

#top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a:hover::before{
  border-color: transparent transparent transparent #036EB8;
}

#top .schedule_area .seminar_block .badge {
  align-items: center;
  justify-content: center;
  width: 120px;
  /* height: 140px; */
  margin-right: 15px;
}


/*access_block*/

#top .access_block {
  background-color: #fff;
  border-radius: 0 0 11px 11px;
  margin: 0 auto 50px;
}

#top .access_block .access_block_title {
  background-color: #231815;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 5px 10px;
}

#top .access_block .access_g {
  display: flex;
  justify-content: center;
  max-width: 940px;
  padding: 20px 0;
  margin: 0 auto;
}

#top .access_block .access_g .cnt_img {
  max-width: 420px;
  width: 44.7%;
  margin-right: 5%;
}

#top .access_block .access_g .cnt_text {
  max-width: 455px;
  width: 48.4%;
}

#top .access_block .access_g .cnt_text .place_title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin: 0.8em 0 1em;
}

#top .access_block .access_g .cnt_text .place_title span {
  display: block;
  font-size: 22px;
  letter-spacing: 0;
}

#top .access_block .access_g .cnt_text ul li {
  display: flex;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em;
}

#top .access_block .access_g .cnt_text ul li span.transportation {
  display: inline-block;
  width: 65px;
}

#top .access_block .access_g .cnt_text ul li span.route {
  width: calc(100% - 65px);
}

#top .schedule_area .sponsorship {
  font-size: 12px;
  /* text-align: center; */
}

.mar-t15{
	margin-top: 10px;
	word-break: break-all;
}

/*application_area*/

#top #application_area {
  margin-bottom: 80px;
}

#top #application_area .application_title_g {
  background-color: #F39800;
  border-radius: 11px;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 10px;
  margin-bottom: 20px;
}

#top #application_area .application_title_g .note {
  font-size: 12px;
  font-weight: 400;
}

#top #application_area .cnt_g {
  display: flex;
  justify-content: space-between;
  /* margin-bottom: 45px; */
  margin-top: 80px;
  border: 1px solid #5BC2DA;
  border-radius: 18px;
  /* width: 60%; */
  width: fit-content;
  min-width: 480px;
  margin: 0 auto 45px;
}

#top #application_area .cnt_g .cnt_box {
  /* max-width: 480px; */
  /* width: 48%; */
  margin: 0 auto;
  /* border: 1px solid #5BC2DA; */
  /* border-radius: 18px; */
  color: #5BC2DA;
  line-height: 1.4;
  letter-spacing: 0.04em;
  padding: 13px 20px 20px;
  text-align: center;
}

#top #application_area .cnt_g .cnt_box h3 {
  font-size: 20px;
  margin-bottom: 3px;
}

#top #application_area .cnt_g .cnt_box .flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

#top #application_area .cnt_g .cnt_box .tel_number {
  font-size: 23px;
  /* font-weight: 700; */
  line-height: 1;
  margin-bottom: 8px;
}

#top #application_area .cnt_g .cnt_box .tel_number a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #5BC2DA;
}

#top #application_area .cnt_g .cnt_box .tel_number a .tel_icon {
  display: block;
  width: 40px;
  margin-right: 10px;
}

#top #application_area .cnt_g .cnt_box .time {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
}

#top #application_area .cnt_g .cnt_box .time span {
  display: block;
  /* background: #5BC2DA; */
  border-radius: 5px;
  /* color: #fff; */
  border: 1px solid;
  font-size: 12px;
  padding: 2px 10px;
  margin-right: 10px;
}

#top #application_area .cnt_g .cnt_box .btn_ptn03.btn_fax {
  max-width: 250px;
  margin: 0 auto;
}

#top #application_area .web_application_g {
  max-width: 745px;
  text-align: center;
  margin: 80px auto;
}

#top #application_area .web_application_g h3 {
  color: #036EB8;
  font-size: 19px;
  line-height: 1.4;
  margin-bottom: 40px;
}

#top #application_area .web_application_g h3 span {
  position: relative;
}

#top #application_area .web_application_g h3 span::before,
#top #application_area .web_application_g h3 span::after {
  content: "";
  display: inline-block;
  width: 1.5px;
  height: 50px;
  background-color: #036EB8;
  position: absolute;
  top: -10px;
}

#top #application_area .web_application_g h3 span::before {
  left: -20px;
  transform: rotate(-25deg);
}

#top #application_area .web_application_g h3 span::after {
  right: -20px;
  transform: rotate(25deg);
}

#top #application_area .web_application_g .btn_web_g {
  position: relative;
  margin-bottom: 20px;
}

#top #application_area .web_application_g .btn_ptn03.btn_web {
  max-width: 480px;
  margin: 0 auto;
}

#top #application_area .web_application_g .btn_ptn03.btn_web a {
  border-radius: 51px;
  font-size: 30px;
  padding: 25px;
  background: #036EB8;
    border: 2px solid #036EB8;
}

#top #application_area .web_application_g .btn_ptn03.btn_web a:hover{
  background-color: #FFFFFF;
  color: #036EB8;
}

#top #application_area .web_application_g .btn_ptn03.btn_web a::before {
  top: 43%;
  right: 30px;
  border-width: 6px 0 6px 12px;
}

#top #application_area .web_application_g .btn_ptn03.btn_web a:hover::before {
  right: 25px;
  border-color: transparent transparent transparent #036EB8;
}

/* #top #application_area .web_application_g .note {
  max-width: 745px;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 auto;
} */

#top #application_area .contents_in .note{
  max-width: 745px;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 auto;
  text-align: center;
}

#top #application_area .contents_in .note.nowrap{
  white-space:nowrap;
}

#top #application_area .web_application_g .btn_web_g::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 88px;
  height: 88px;
  background: url(../img/qr_code.svg) no-repeat;
  background-size: contain;
}

#top #attention_area {
  margin-bottom: 70px;
}

#top #attention_area .cnt_g {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #EA6094;
  border-radius: 11px;
  padding: 25px;
}

#top #attention_area .cnt_g .cnt_img {
  width: 84px;
  margin-right: 3%;
}

#top #attention_area .cnt_g .cnt_text .attention_title_g {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

#top #attention_area .cnt_g .cnt_text .attention_title_g .attention_title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}

#top #attention_area .cnt_g .cnt_text .attention_title_g .strong_text {
  background-color: #EA6094;
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  padding: 3px 10px;
}

#top #attention_area .cnt_g .cnt_text ol li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  padding-left: 2em;
  text-indent: -2.5em;
  margin-bottom: 3px;
}

/*footer*/

footer {
  position: relative;
  border-top: 1px solid #ddd;
  padding: 60px 0 25px;
}

footer .contents_in {
  display: flex;
}

footer .footer_logo {
  max-width: 147px;
  margin-right: 100px;
}

footer .contact_g {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 147px - 100px);
}

footer .contact_g .cnt_box {
  max-width: 300px;
  width: 48%;
  font-size: 13px;
  line-height: 1.4;
}

footer .contact_g .tel {
  display: flex;
  align-items: center;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.4;
}

footer .contact_g .tel .tel_icon {
  display: block;
  width: 41px;
  margin-right: 10px;
}

footer .contact_g .tel a {
  color: #231815;
}

footer .contact_g .sns-cts {
  margin: 0 auto;
}

footer .contact_g .btn_sns {
  width: 40px;
  margin: 5px auto;
}

footer .contact_g .btn_sns a {
  display: block;
  transition: all 0.3s;
}

footer .contact_g .btn_sns a:hover {
  opacity: 0.7;
}

footer .contact_g .web_box .search_img {
  max-width: 240px;
  margin: 3px 0;
}

footer .contact_g .note {
  width: 100%;
  font-size: 10px;
  line-height: 1.4;
  margin-top: 3px;
}

.page_top {
  position: absolute;
  right: 0;
  bottom: 0;
}

.page_top a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  background: #fff;
  border-radius: 10px;
  font-size: 12px;
  padding: 30px 0 10px;
  text-align: center;
}

.page_top a::before {
  position: absolute;
  top: 10px;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 auto;
  border-top: 4px solid #231815;
  border-left: 4px solid #231815;
  transform: rotate(45deg);
}

/* message */
.message{
  margin-top: 90px;
}

h4.message-cts__ttl {
  font-size: 22px;
  border-radius: 24px;
  border: 2px solid #036EB8;
  background-color: #036EB8;
  color: #FFFFFF;
  padding: 10px 30px 10px 22px;
  text-align: center;
  margin: 0 auto;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  text-align: center;
  margin-top: 1rem;
}
.youtube iframe {
  width: 90%;
  height: 90%;
}


@media only screen and (max-width:1500px) {
  /*----------
01.top
----------*/


}


@media only screen and (max-width:1280px) {
  /*----------
  01.top
  ----------*/

  #top .btn_fix {
    max-width: 157px;
  }

  #top .btn_fix .btn_application {
    width: 105%;
    margin: -29px auto 0;
  }

  #top .btn_fix .btn_application a {
    font-size: 14px;
    padding: 8px 22px 7px 5px;
  }

  /* #top #about_area .deco01 {
    right: -1%;
    width: 100px;
  } */

  #top #about_area .deco02 {
    right: 0%;
    bottom: 3%;
    width: 80px;
  }

  #top #about_area .deco03 {
    left: 0;
    bottom: -13%;
  }


}


@media only screen and (max-width:1024px) {


  .contents_in {
    width: 94%;
  }

  .btn_ptn01 a {
    font-size: 14px;
    padding: 8px 20px 7px 10px;
  }

  .btn_ptn01 a::before {
    right: 9px;
  }

  .btn_ptn02 a {
    font-size: 14px;
    padding: 8px 20px 7px 10px;
  }

  .btn_ptn02 a::before {
    right: 9px;
  }

  header .menu_g .menu_list li {
    margin: 0 2.5px;
  }

  #top .btn_fix {
    bottom: 126px;
  }

  #top #about_area .about_title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  #top #about_area .about_title::before{
    top: -50px;
  }

  #top #about_area .about_title span::before {
    left: -50px;
    top: -21px;
    transform: scale(-1, 1);
  }

  #top #about_area .about_title span::after {
    right: -50px;
    top: -21px;
  }

  #top #about_area p.first_text {
    font-size: 18px;
  }

  #top #about_area .note_text {
    font-size: 14px;
  }

  #top #about_area .deco01 {
    /* right: -1%; */
    top: -4%;
    width: 95px;
  }

  #top #about_area .deco03 {
    bottom: -5%;
    width: 65px;
  }

  /* #top .schedule_area .dates_g .seminar_title {
    font-size: 30px;
  } */

  #top .schedule_area .dates {
    font-size: 30px;
  }

  #top .schedule_area .dates .text_big {
    font-size: 40px;
  }

  #top .schedule_area .dates .day {
    width: 47px;
    height: 47px;
    font-size: 26px;
    line-height: 47px;
  }

  #top .schedule_area .place {
    font-size: 18px;
  }

  #top .schedule_area .place .text_small {
    font-size: 16px;
  }

  /* #top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application{
    margin: 10px auto;
  } */

  #top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a {
    font-size: 18px;
    padding: 8px 23px 7px 15px;
    white-space:nowrap;
  }

  #top .schedule_area .seminar_block .fp_application_title::after{
    right: 0px;
    width: 165px;
    height: 124px;
  }

  #top .access_block .access_block_title {
    font-size: 24px;
  }

  #top .access_block .access_g .cnt_text .place_title {
    font-size: 24px;
  }

  #top .access_block .access_g .cnt_text .place_title span {
    font-size: 16px;
  }

  #top .access_block .access_g .cnt_text ul li {
    font-size: 14px;
  }

  #top .access_block .access_g .cnt_text ul li span.transportation {
    width: 55px;
  }

  #top .access_block .access_g .cnt_text ul li span.route {
    width: calc(100% - 55px);
  }

  #top #application_area .application_title_g {
    font-size: 26px;
  }

  /* #top #application_area .cnt_g .cnt_box h3 {
    font-size: 20px;
  } */

  /* #top #application_area .cnt_g .cnt_box .time {
    font-size: 18px;
  }

  #top #application_area .cnt_g .cnt_box .time span {
    font-size: 16px;
  } */

  #top #application_area .web_application_g h3 {
    font-size: 18px;
    margin-bottom: 20px;
  }

  /* #top #application_area .cnt_g .cnt_box .tel_number {
    font-size: 31px;
  } */

  #top #application_area .web_application_g .btn_ptn03.btn_web a {
    font-size: 28px;
    padding: 20px;
  }

  #top #application_area .web_application_g .btn_web_g::after {
    right: 20px;
    width: 76px;
    height: 76px;
  }

  #top #attention_area .cnt_g .cnt_text ol li {
    font-size: 14px;
  }

  #top #application_area .web_application_g .note {
    font-size: 12px;
    max-width: 600px;
  }

  footer .footer_logo {
    margin-right: 15px;
  }

  footer .contact_g {
    width: calc(100% - 147px - 15px);
  }

  footer .contact_g .cnt_box:first-of-type {
    width: 36%;
    font-size: 12px;
  }

  footer .contact_g .cnt_box:last-of-type {
    width: 50%;
  }

  footer .contact_g .note {
    padding-right: 40px;
  }

  footer .contact_g .tel .tel_icon {
    width: 30px;
    margin-right: 5px;
  }

  footer .contact_g .tel {
    font-size: 22px;
  }
}

@media only screen and (max-width:767px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .contents_in {
    width: 90%;
  }


  /*header*/

  /*ハンバーガーボタン*/
  .openbtn {
    position: fixed;
    z-index: 9999;
    top: 17px;
    right: 15px;
    width: 35px;
    height: 28px;
    cursor: pointer;
  }

  .openbtn span {
    display: inline-block;
    background-color: #231815;
    transition: all .4s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
  }

  .openbtn span:nth-of-type(1) {
    top: 0;
  }

  .openbtn span:nth-of-type(2) {
    top: 12px;
  }

  .openbtn span:nth-of-type(3) {
    top: 24px;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 8px;
    left: 0;
    width: 90%;
    transform: translateY(6px) rotate(-45deg);
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 20px;
    left: 0;
    width: 90%;
    transform: translateY(-6px) rotate(45deg);
  }

  /*END　ハンバーガーボタン*/

  header {
    padding: 10px;
  }

  header .logo_g img:first-child {
    width: 120px;
  }

  header .logo_g img:last-child {
    width: 40px;
  }

  header .menu_g {
    display: none;
  }

  header .menu_g.active {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    display: block;
    width: 100%;
    background: #fff;
    padding: 70px 30px;
    z-index: 999;
  }

  header .menu_g .menu_list {
    display: block;
    margin: 0 auto 30px;
  }

  header .menu_g .menu_list li {
    margin: 0 auto;
  }

  header .menu_g .menu_list li.btn_ptn01 a {
    border: none;
    border-bottom: 2px solid;
    border-radius: 0;
    font-size: 18px;
    padding: 15px 20px 15px 10px;
  }

  header .menu_g .menu_list li.btn_ptn01 a::before {
    content: "";
    position: absolute;
    top: 40%;
    right: 15px;
    display: block;
    width: 7px;
    height: 7px;
    border-bottom: none;
    border-top: 2px solid;
    border-right: 2px solid;
    transform: rotate(45deg);
    transition: all 0.3s;
  }

  .btn_ptn02.btn_application.btn_ptn02 {
    margin: 0 auto 30px;
  }

  .btn_ptn02.btn_application.btn_ptn02 a {
    border-radius: 25px;
    font-size: 18px;
    padding: 12px 25px 12px 10px;
  }

  .btn_ptn02.btn_application.btn_ptn02 a::before {
    right: 15px;
  }

  header .menu_g .btn_sns {
    width: 50px;
    margin: 20px auto 0;
  }

  #top .btn_fix {
    max-width: none;
    width: 100%;
    bottom: 0;
    right: 0;
  }

  #top .btn_fix .btn_application {
    max-width: none;
    margin: 0 auto;
  }

  #top .btn_fix img {
    position: relative;
    width: 140px;
    left: 10px;
    bottom: -50px;
    z-index: 1;
  }

  #top .btn_fix .btn_application a {
    background: #036EB8;
    border: none;
    border-radius: 0;
    color: #fff;
    font-size: 18px;
    padding: 15px 65px 15px 5px;
    text-align: right;
  }

  #top .btn_fix .btn_application a::before {
    right: 50px;
    border-color: transparent transparent transparent #fff;
  }

  #top .btn_fix .btn_application.btn_ptn02 a:hover {
    border: none;
  }

  /*pageコンテンツ*/

  #top #mv_area {
    padding-top: 80px;
    margin-bottom: 25px;
  }

  #top #about_area .contents_in {
    /* padding: 35px 25px; */
    padding: 0 0 35px;
  }

  #top #mv_area .mv_cnt {
    max-width: 84vw;
    margin: 0px auto 7vw;
  }

  img.mv_deco {
    margin-top: -15vw;
  }

  #top #mv_area .mv {
    max-width: 90vw;
  }

  #top #about_area .about_title {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  #top #about_area .about_title span {
    display: block;
    padding: 0 5px;
  }

  #top #about_area .about_title span::after {
    right: -35px;
    top:-40px;
  }

  #top #about_area .about_title span::before {
    left: -35px;
    top: -40px;
    transform: scale(-1, 1);
  }

  #top #about_area .deco01 {
    right: 2%;
    width: 60px;
    top: 10%;
  }

  #top #about_area .deco02 {
    right: -3%;
    bottom: -1%;
    width: 50px;
  }

  #top #about_area .deco03 {
    bottom: -5%;
    width: 50px;
  }

  #top #about_area p {
    padding: 0 3px;
  }

  #top #about_area p.first_text {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
    padding: 0 25px;
  }

  #top #about_area .note_text {
    padding: 0 25px;
  }

  #top .page_nav {
    margin: 55px auto 40px;
  }

  #top .page_nav .menu_list {
    display: block;
  }

  #top .page_nav .menu_list .btn_ptn01 {
    max-width: 300px;
    width: 100%;
    margin: 0 auto 15px;
  }

  #top .page_nav .menu_list .btn_ptn01 a {
    padding: 8px 20px 7px 10px;
  }

  #top .page_nav .menu_list .btn_ptn01 a::before {
    top: 35%;
    right: 15px;
  }

  #top .schedule_area {
    padding: 70px 0 30px;
    margin-bottom: 40px;
  }

  #top .schedule_area .dates_g .seminar_title {
    top: -35px;
    /* font-size: 20px; */
    width: 260px;
  }

  #top .schedule_area .dates_g {
    padding: 45px 20px 30px;
  }

  #top .schedule_area .dates {
    font-size: 28px;
  }

  #top .schedule_area .dates .text_big {
    font-size: 32px;
  }

  #top .schedule_area .place {
    font-size: 17px;
  }

  #top .schedule_area .place .text_small {
    font-size: 14px;
  }

  #top .schedule_area .dates .day {
    width: 40px;
    height: 40px;
    font-size: 22px;
    line-height: 40px;
  }

  #top .schedule_area .seminar_block .fp_consultation {
    /* padding: 30px 13px; */
    padding: 0 0 30px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon {
    height: 65px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon p{
    font-size: 16px;
    left: 18%;
    top: 23%;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g {
    margin: 0 auto 30px;
    /* max-width: 260px; */
    padding: 0 13px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g .balloon span {
    font-size: 34px;
    margin: -1px 2px 0 0;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 {
    font-size: 28px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 .text_md {
    font-size: 22px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 .text_small {
    font-size: 14px;
    letter-spacing: -0.02em;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4::after {
    left: 56%;
    right: auto;
    transform: translateX(-50%);
    bottom: -83px;
    width: 295px;
    height: 107.9px;
    background: url(../img/bg_fp_title_sp.svg) no-repeat;
    background-size: contain;
  }

  #top .schedule_area .seminar_wrap{
    padding-top: 0px;
  }

  #top .schedule_area .seminar_block {
    padding-bottom: 25px;
  }

  #top .schedule_area .seminar_block .seminar_block_title{
    margin-bottom: 7vw;
    margin-top: 11vw;
  }

  #top .schedule_area .seminar_block .seminar_block_title_img{
    width: 100%;
    padding-bottom: 0px;
  }

  #top .schedule_area .seminar_block .badge {
    width: 17%;
    /* height: 125px; */
    position: absolute;
    right: -14px;
    top: 13.5vw;
  }

  #top .schedule_area .seminar_block .badge p {
    font-size: 13px;
  }

  #top .schedule_area .seminar_block .fp_consultation ol {
    margin: 20px auto 155px;
  }

  #top .schedule_area .seminar_block .fp_consultation ol li {
    font-size: 28px;
    text-align: center;
  }

  #top .schedule_area .seminar_block .fp_consultation ol li .number {
    width: 43px;
    height: 43px;
    font-size: 20px;
    line-height: 43px;
  }

  #top .schedule_area .seminar_block .fp_application_title {
    font-size: 16px;
  }

  #top .schedule_area .seminar_block .fp_application_title {
    max-width: 340px;
  }

  #top .schedule_area .seminar_block .fp_application_title::before{
    left: 20px;
    bottom: 62px;
    width: 114px;
    height: 106px;
  }

  #top .schedule_area .seminar_block .fp_application_title::after {
    top: -154px;
    bottom: auto;
    left: 65%;
    right: auto;
    transform: translateX(-50%);
    width: 141px;
  }

  #top .schedule_area .seminar_block .fp_application_g {
    /* display: block; */
    flex-direction: column-reverse;
  }

  #top .schedule_area .seminar_block .fp_application_g .tel {
    font-size: 24px;
    margin: 0 auto 5px;
  }

  #top .schedule_area .seminar_block .fp_application_g .tel .tel_icon {
    width: 35px;
  }

  #top .schedule_area .seminar_block .fp_application_g .time {
    font-size: 14px;
    line-height: 1;
    text-align: center;
    margin: 0 auto 15px;
  }

  #top .schedule_area .seminar_block .fp_application_g .time span {
    font-size: 12px;
    padding: 4px 10px;
  }

  .btn_ptn02.btn_application.btn_ptn02 {
    max-width: 290px;
    margin: 10px auto;
  }

  #top .schedule_area .seminar_block .fp_application_g .btn_ptn02.btn_application a {
    /* padding: 10px 33px 10px 15px; */
    padding: 14px 33px 14px 25px;
  }

  #top .access_block {
    margin: 0 auto 30px;
  }

  #top .access_block .access_block_title {
    font-size: 22px;
  }

  #top .access_block .access_g {
    display: block;
    padding: 20px 20px;
  }

  #top .access_block .access_g .cnt_img {
    width: 100%;
    margin: 0 auto 15px;
  }

  #top .access_block .access_g .cnt_text {
    max-width: none;
    width: 100%;
  }

  #top .access_block .access_g .cnt_text .place_title {
    font-size: 22px;
    margin: 0.8em 0;
  }

  #top .schedule_area .sponsorship {
    text-align: left;
  }

  #top #application_area .application_title_g {
    font-size: 24px;
  }

  /* #top #application_area .application_cts{
    display: flex;
    flex-direction: column-reverse;
  } */

  #top #application_area .cnt_g {
    display: block;
    margin-bottom: 30px;
    min-width: inherit;
    width: 100%;
    max-width: 400px;
  }

  #top #application_area .cnt_g .cnt_box {
    width: 100%;
    /* border: 1px solid; */
    padding: 10px 15px 14px;
    /* margin: 0 auto 15px; */
  }

  #top #application_area .cnt_g .cnt_box h3 {
    font-size: 16px;
    margin-bottom: 5px;
  }

  #top #application_area .cnt_g .cnt_box .flex{
    flex-direction: column;
    gap: 5px;
  }

  #top #application_area .cnt_g .cnt_box .tel_number {
    font-size: 22px;
    margin-bottom: 7px;
  }

  #top #application_area .cnt_g .cnt_box .tel_number a .tel_icon {
    width: 30px;
  }

  #top #application_area .cnt_g .cnt_box .time span {
    font-size: 12px;
    padding: 2px 10px 0;
  }

  #top #application_area .cnt_g .cnt_box .time {
    font-size: 15px;
  }

  #top #application_area .web_application_g{
    margin: 40px 0 20px;
  }

  #top #application_area .web_application_g h3 span::before,
  #top #application_area .web_application_g h3 span::after {
    height: 80px;
    top: -5px;
  }

  #top #application_area .web_application_g h3 span::before {
    left: -30px;
  }

  #top #application_area .web_application_g h3 span::after {
    right: -30px;
  }

  #top #application_area .web_application_g .btn_web_g {
    margin-bottom: 150px;
  }

  #top #application_area .web_application_g .btn_ptn03.btn_web a {
    font-size: 24px;
    padding: 16px 20px 14px 10px;
  }

  #top #application_area .web_application_g .btn_ptn03.btn_web a::before {
    top: 40%;
    right: 20px;
    border-width: 5px 0 5px 10px;
  }

  #top #application_area .web_application_g .btn_web_g::after {
    top: 90px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  #top #application_area .web_application_g .note {
    text-align: left;
  }

  #top #attention_area .cnt_g {
    display: block;
    border: 2px solid #EA6094;
    padding: 15px;
  }

  #top #attention_area .cnt_g .cnt_img {
    width: 60px;
    margin: 0 auto 10px;
  }

  #top #attention_area .cnt_g .cnt_text .attention_title_g {
    display: block;
    margin-bottom: 15px;
  }

  #top #attention_area .cnt_g .cnt_text .attention_title_g .attention_title {
    font-size: 18px;
    text-align: center;
  }

  #top #attention_area .cnt_g .cnt_text .attention_title_g .strong_text {
    width: 235px;
    padding: 4px 10px 2px;
    text-align: center;
    margin: 0 auto;
  }

  /*footer*/

  footer {
    padding: 20px 0 90px;
  }

  footer .contents_in {
    display: block;
  }

  footer .footer_logo {
    margin: 0 auto 15px;
  }

  footer .contact_g {
    display: block;
    width: 100%;
  }

  footer .contact_g .cnt_box {
    max-width: none;
    width: 100%;
    font-size: 14px;
    text-align: center;
    margin: 0 auto;
  }

  footer .contact_g .cnt_box:first-of-type {
    width: 100%;
    margin-bottom: 15px;
  }

  footer .contact_g .tel {
    display: inline-flex;
    font-size: 30px;
  }

  footer .contact_g .cnt_box:last-of-type {
    width: 100%;
    margin-bottom: 15px;
  }

  footer .contact_g .web_box .search_img {
    margin: 5px auto 0;
  }

  footer .contact_g .note {
    padding-right: 0;
  }

  .page_top {
    top: -55px;
    bottom: auto;
  }

  h4.message-cts__ttl {
    font-size: 19px;
  }
}

@media only screen and (max-width:360px) {

  #top #about_area .about_title {
    font-size: 16px;
  }

  #top #about_area p.first_text {
    font-size: 14px;
  }

  #top .schedule_area .dates {
    font-size: 24px;
  }

  #top .schedule_area .seminar_block .seminar_block_title {
    font-size: 20px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4 .text_small {
    font-size: 11px;
  }

  #top .schedule_area .seminar_block .fp_consultation .fp_title_g h4::after {
    width: 255px;
  }

  #top .schedule_area .seminar_block .fp_consultation ol li {
    font-size: 20px;
  }

  /* #top .schedule_area .seminar_block .fp_consultation ol li .text_small {
    font-size: 14px;
  } */

  #top .schedule_area .seminar_block .fp_application_title {
    font-size: 14px;
  }

  #top .schedule_area .seminar_block .fp_application_g .tel {
    font-size: 21px;
  }

  #top #application_area .application_title_g .note {
    font-size: 11px;
  }

  #top .btn_fix img {
    bottom: -43px;
    width: 120px;
  }

  #top .btn_fix .btn_application a {
    font-size: 16px;
  }




}