/* -------------------------------------------- */
/* Style.css                                    */
/* Ver.1.0.0 2022/2/04                          */
/* -------------------------------------------- */
@charset "UTF-8";

/* -------------------------------------------- */
/*    Base                                      */
/* -------------------------------------------- */
:root {
  --color-text: #333;
  --color-main: #F3CD30;
  --color-main-dark: #FEDE47;
  --color-sub: #DD2217;
  --color-white: #fff;
  --color-grey: #bfbfbf;
  --color-darkgrey: #4B4B4B;
  --color-bg-grey: #F4F4F4;
  --color-black:#000;
  --max-content-width: 1080px;
  --max-content-inner-width: 775px;
}
html {
	font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  max-width: 100%;
  overflow-x: hidden;
  height: auto;
  overflow-y: auto;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text);
}
h1 {
  margin: 0;
}
h2, h3, h4, h5, h6, strong, em, .font-bold, .title, .button {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
  font-weight: bold;
}
h2 {
  font-size: 2.4rem;
  letter-spacing: -0.5px;
  line-height: 1.2;
  text-align: center;
}
h2.heading_title {
  display: inline-block;
  position: relative;
  padding-bottom: 2rem;
  width: 200px;
}
.heading-wrapper {
  text-align: center;
}
.subtitle {
  color: var(--color-main);
  font-family: "Century Gothic", "CenturyGothic", "Futura", sans-serif;
  font-size: 1.4rem;
	left: 0;
	position: absolute;
	top: 2.8rem;
  text-align: center;
  width: 100%;
}
.subtitle::before,
.subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 6px;
    background-color: var(--color-main);
}
.subtitle.color-white::before,
.subtitle.color-white::after {
    background-color: var(--color-white);
}
.subtitle::before {
  left: 1rem;
}
.subtitle::after {
  right: 1rem;
}
.heading_speech {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.heading_speech::before,
.heading_speech::after {
	content: '';
	width: 3px;
	height: 104px;
	background-color: var(--color-main);
}
.heading_speech::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.heading_speech::after {
	margin-left: 30px;
	transform: rotate(35deg)
}
h3 {
  padding: 1rem 0;
  font-size: clamp(1.6rem, 2.3vw, 2.2rem);
  line-height: 1.73;
  text-align: center;
}
h3 .underline {
  line-height: 1.5;
}
.underline {
  border-bottom: 3px solid var(--color-main);
}
h4 {
  font-size: 1.8rem;
  color: var(--color-main);
  padding: 1rem 0;
}
.h4_subtitle {
  background-color: var(--color-main);
  color: var(--color-white);
  display: inline-block;
  margin-bottom: 1rem;
  letter-spacing: 1px;
  padding: 1rem 2rem 1rem 6rem;
}
h5 {
  font-size: 1.4rem;
}
a {
  text-decoration: none;
  color: var(--color-white);
  transition: .5s;
}
strong {
  background-color: var(--color-main);
  padding: 2px 0;
}
strong.bg-darkgrey {
  background-color: var(--color-darkgrey);
}
em {
  color: var(--color-sub);
  font-style: normal;
}
em.bg-color-white {
  background-color: var(--color-white);
}
.indent-4 {
  text-indent: -4rem;
  padding-left: 3rem;
}
ul, ol {
  counter-reset: number 0;
  text-decoration: none;
  list-style: none;
  padding: 0;
}
ol {
  text-indent: 0rem;
  margin-left: clamp(5rem, 6vw ,8rem);
  font-size:clamp(1.8rem, 2.6vw, 2.7rem);
}
.point-counter li, ol li {
  position: relative;
}
.point-counter li {
  margin-left: clamp(9rem, 10vw, 10rem);
  font-size: clamp(1.6rem, 2vw, 2.3rem);
}
.point-counter li.underline-dot {
  padding-bottom: 1rem;
  border-bottom: 1px dotted #707070;
}
ul.point-counter li::before, ol li::before {
  color: var(--color-white);
  counter-increment: number 1;
  content: "0" counter(number);  
  font-weight: bold;
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background-color: var(--color-main);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
ol li::before {
  font-family: "Century Gothic", "CenturyGothic", sans-serif;
  font-size: 2rem;
  left: -7rem;
  width: 49px;
  height: 49px;
}
ul.point-counter li::before {
  content: "特典" '\d\a' "\0020" "0" counter(number);
  font-family: "Century Gothic", "CenturyGothic", YuGothic, "Yu Gothic", sans-serif;
  font-size: 2rem;
  line-height: 1;
  left: -10rem;
  width: 76px;
  height: 76px;
  white-space: pre-wrap;
}
li.line-double {
  margin-bottom: 3rem;
}
.list-sub {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  display: block;
}
li.check {
  background: url(../img/check.png) left 0 top 3px no-repeat;
  background-size: 20px auto;
  padding: 0 0 10px 40px;
  position: relative;
}
.underline-dashed::after {
  content: '';
  position: absolute;
  left: 4rem;
  bottom: 0;
  width: 85%;
  height: 100%;
  border-bottom: dashed 3px var(--color-grey);
}
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: auto;
}
a img:hover {
  opacity: 0.8;
}
.align_left {
  text-align: left;
}
span.align_center {
  display: block;
}
.align_center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.padding_left {
  padding-left: .5rem;
}
.padding_top {
  padding-top: 4rem;
}
.box, .table {
  padding: 1rem;
}
.box {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.box.bgcolor-white {
  box-shadow: 0px 5px 0px var(--color-main);
}
.bg-color.color-main {
  color: var(--color-text);
  background-color: var(--color-main);
}
.bgcolor-white {
  background-color: var(--color-white);
}
.bg-color.wide {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
.add-arrow {
  position: relative;
}
.add-arrow::after {
  content: '';
  position: absolute;
  top: -16px;
  width: 100%;
  height: 100%;
  background : url(../img/arrow_down.png) no-repeat top center;
  background-size: 30%;
}
.color-main {
  color: var(--color-main);
}
.color-white {
  color: var(--color-white);
}
.color-text {
  color: var(--color-text);
}
.font-large {
  font-size: 2rem;
}
.font-larger {
  font-size: 2rem;
  line-height: 1.25;
}
.font-small {
  font-size: clamp(1.3rem, 1.8vw, 1.6rem);
}
.letter-packing {
  letter-spacing: -1px;
}
.table table {
  margin: auto;
}
.table td {
  text-align: left;
  padding-bottom: 3rem;
}
.table th {
  word-break: keep-all;
  background-color: var(--color-main);
  color: var(--color-white);
}
.pc-disp {
  display: none;
}
.sp-disp {
  display: inline;
}
.add-pad-top {
  padding-top: 4rem;
}
.add-pad-btm {
  padding-bottom: 4rem;
}
/* -------------------------------------------- */
/*    Contact Button                            */
/* -------------------------------------------- */
.flow-navi {
  position: fixed;
  background-color: var(--color-sub);
  opacity: .9;
  z-index: 3;
  transition: all .5s;
  bottom: 0;
  border-radius: 0;
  width: 100%;
}
.flow-navi:hover {
  background-color: var(--color-darkgrey);
}
.flow-navi a {
  color: var(--color-white);
}
.contact-btn {  
  cursor: pointer;
  display: block;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}
.contact-btn::after {
  content: '';
  background: url(../img/btn-arrow.png) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-left: 1rem;
  transform: rotate(-90deg) translatex(-8px);
}
.footer_contact {
  margin-bottom: 38px;
}
/* -------------------------------------------- */
/*    Footer                                    */
/* -------------------------------------------- */
footer {
  background-color: var(--color-grey);
  text-align: center;
  padding: 0.2rem 0 3rem 0;
}
.thankspage {
  padding-bottom: 0.2rem;
}
.thankspage .footer_contact {
  margin-bottom: 0;
}
#copyright {
  color: var(--color-white);
  font-size: 1.4rem;
}
/* -------------------------------------------- */
/*    Contents                                  */
/* -------------------------------------------- */
.main-img {
    object-fit: cover;
  width: 100%;
  height: 100%;
}
.msg {
  line-height: 2.1;
  font-weight: bold;
  text-align: center;
}
.hero-msg {
  padding: 4rem 0;
}
.flex_wrapper {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.content-inner-width, .content-width {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  width: 92%;
}
.flexbox {
  display: flex;
  flex-direction: column;
}
#instructor .flexbox {
  flex-direction: column-reverse;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
}
section:not(#schedule).flexbox {
  padding: 5rem 1.5rem 0 1.5rem;
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
}
.flex-wrap {
  flex-flow: wrap;
}
.flex25 {
  width: 48%;
}
.flex25:nth-child(even) {
  margin-bottom: 0px;
}
.flex25:nth-child(-n+2) {
  margin-bottom: 2rem;
}
.flex_child.flexbox {
  align-items: center;
  flex-direction: row;
  margin-bottom: 1rem;
}
.flex_child.flexbox:nth-child(3) {
  margin-bottom: 2rem;
}
.contents-title {
  background-color: var(--color-darkgrey);
  color: var(--color-white);
  padding: 0.5rem clamp(1rem, 1.5vw, 3rem);
  font-weight: 600;
  font-size: clamp(1.6rem, 2.5vw, 2.3rem);
}
.bg-arrow {
  background-color: var(--color-darkgrey);
  color: var(--color-white);
  position: relative;
  display: table-caption;
  width: 80px;
  height: 50px;
  display: flex;
  align-items: center;
  padding-left: 1rem;
}
.bg-arrow::after {
  position: absolute;
  content: '';
  right: -15.1px;
  top: 0;
  border-style: solid;
  border-color: transparent transparent transparent var(--color-darkgrey);
  border-width: 25px 0 25px 1em;
  z-index: 2;
}
.tbl-data {
  margin-left: 5rem;
  width: 65%;
}
.bg-ribbin {
  box-sizing: border-box;
  background: var(--color-darkgrey);
  display: inline-block;
  font-size: clamp(1.4rem, 5vw, 2.4rem);
  position: relative;
  height: 40px;
  line-height: 40px;
  text-align: center;
  padding: 0 40px 0 18px;
  margin: clamp(4rem,7.5vw, 8rem) 0 0 clamp(0rem, 4vw, 2rem);
  z-index: 2;
}
.bg-ribbin::before,
.bg-ribbin::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    bottom: -25px;
    border-style: solid;
}
.bg-ribbin::before {
  right: -25px;
  top: 0;
  border-width: 25px 25px 0 0;
  border-color: var(--color-darkgrey) transparent transparent transparent;
}
.bg-ribbin::after {
  right: -25px;
  bottom: 0;
  border-width: 0 25px 25px 0;
  border-color: transparent transparent var(--color-darkgrey) transparent;
}
.framebox {
  background-color: var(--color-white);
  border: 1px solid var(--color-grey);
  padding: 3rem 2rem;
  margin-top: -2rem;
  margin-left: 0;
  z-index: 1;
}
#organizer, #access, #contact, #schedule, #instructor {
  margin: 4rem auto;
}
.hero-wrapper {
  background: url(../img/msg-bg.png) no-repeat center /cover;
}
#about {
  background: url(../img/nayami-bg.png) no-repeat center / cover;
  padding-top: 5.8rem;
}
#seminor-contents {
  background-color: var(--color-bg-grey);
  padding: 4rem 0;
}
#voices {
  background: url(../img/msg-bg.png) no-repeat center / cover, var(--color-main);
  background-blend-mode: multiply;
  position: relative;
}
#voices::before {
  background: url(../img/Voice.png) no-repeat top right / contain;
  content: '';
	width: 100%;
	height: 100%;
  position: absolute;
}
#voices h2 {
  margin-top: 5.8rem;
}
#access {
  padding-top: 2rem;
}
.profile-desc {
  margin-top: 4rem;
}
.img-logo {
  width: 50%;
  height: auto;
}
/* -------------------------------------------- */
/*    Thanks Page                               */
/* -------------------------------------------- */
.thanks-msg {
  font-size: 1.6rem;
  line-height: 2;
  padding: 5rem 0;
}
/* -------------------------------------------- */
/*    movie Page                                */
/* -------------------------------------------- */

.movie-wrapper{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-wrapper iframe{
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}
/* -------------------------------------------- */
/*    Tablet                                    */
/* -------------------------------------------- */
@media screen and (min-width: 541px) {
    #instructor .flexbox {
    flex-direction: row;
  }
  .add-arrow::after {
    background-size: 15%;
  }
  .flex_child.flexbox:nth-child(3) {
    margin-bottom: 1rem;
  }
  .profile {
    margin-right: calc(64 / 1920 * 100vw);
  }
  #instructor img.SlideInRight {
    max-width: 40%;
  }
  .content-inner-width, .box.padding_left20 {
    width: 500px;
  }
  .tb-no-disp {
    display: none;
  }
  .padding_all {
    padding: 5rem 8rem;
  }
}
/* -------------------------------------------- */
/*    PC                                        */
/* -------------------------------------------- */
@media screen and (min-width: 1080px) {
  body {
    font-size: 2rem;
  }
  h2 {
    font-size: 3.6rem;
    line-height: 1.5;
  }
  h2.heading_title {
    padding-bottom: 5rem;
    width: 220px;
  }
  h2.smaller {
    font-size: 3rem;
  }
  .subtitle {
    font-size: 2rem;
    top: 5rem;
  }
  h3 {
    font-size: 3rem;
    line-height: 1.5;
  }
  h4 {
    font-size: 2.4rem;
    padding: 2rem 0;
  }  
  .msg {
    font-size: 2.3rem;
  }
  .solution-msg {
    font-size: 2.4rem;
  }
  #organizer, #access, #contact, #schedule, #instructor {
    margin: 7.5rem auto 9.5rem auto;
  }
  #seminor-contents {
    padding: 7.6rem 0 12rem 0;
  }
  #voices::before {
    background-size: auto;
}
  .flex_wrapper {
    max-width: var(--max-content-width, 1080px);
  }
  .flex-wrap {
    flex-flow: row;
  }
  .flexbox, #instructor .flexbox {
    flex-direction: row;
  }
  .flex-colomn {
    flex-direction: column;
  }
  .flex25 {
    width: 23%;
  }
  .flex25:nth-child(-n+2) {
    margin-bottom: 0;
  }
  .flex_child.flexbox {
    margin-bottom: 2.2rem;
  }
  .flex_child.flexbox:nth-child(3) {
    margin-bottom: 2.2rem;
  }
  .content-inner-width {
    width: var(--max-content-inner-width, 775px);
  }
  .content-width {
    width: var(--max-content-width, 1080px);
  }
  .sp-disp {
    display: none;
  }
  .pc-disp {
    display: inline;
  }
  li.check {
    background-size: 25px auto;
  }
  .underline-dashed::after {
    width: 100%;
  }
  .flow-navi {
    border-radius: 10px 0 0 10px;
    right: 0;
    bottom: 20%;
    height: 258px;
    width: 87px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
  .flow-navi a {
    font-size: 2.4rem;
    display: block;
    height: 100%;
    width: 100%;
  }
  .contact-btn {  
    padding: 49px 25px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
  }
  .contact-btn::after {
    margin: 1rem 0 0 0;
    transform: rotate(0) translatex(0);
  }
  .box, #instructor .flexbox {
    max-width: 96%;
  }
  .box, .table {
    padding: 0 5rem;
  }
  .box.padding_left20 {
    padding: 0 5rem 0 14rem;
    width: initial;
  }
  .bg-arrow {
    width: 125px;
    height: 56px;
  }
  .bg-arrow::after {
    right: -20px;
    border-width: 28px 0 28px 1em;
  }
  .tbl-data {
    width: 100%;
  }
  .add-arrow::after {
    background-size: 10%;
    top: -25px;
  }
  .framebox {
    margin-left: 4rem;
  }
  .bg-ribbin {
    margin-left: 8rem;
  }
  .point-counter li .counter-txt {
    left: -6.5rem;
  }
  .img-logo {
    width: 321px;
    height: 66px;
  }
  footer {
    padding: 1rem 0 0.5rem 0;
  }
  #copyright {
    font-size: 2rem;
  }
  .font-larger {
    font-size: 2.4rem;
  }
  .font-small {
    font-size: 2rem;
  }
  footer {
    padding: 0.2rem 0;
  }
  .thanks-msg {
    font-size: 1.8rem;
    padding: 10rem 0;
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 65%;
  }
  .flex_wrapper {
    max-width: 1300px;
  }
  .content-inner-width {
    width: 1120px;
  }
  .box, .table {
    width: 100%;
  }
  .add-arrow::after {
    top: -27px;
  }
  h2.heading_title {
    width: 300px;
  }
  .subtitle::before {
    left: 5rem;
  }
  .subtitle::after {
    right: 5rem;
  }
  .profile-desc {
    margin-top: 0;
  }
  .add-pad-top {
    padding-top: 6rem;
  }
  .add-pad-btm {
    padding-bottom: 6rem;
  }
}
