@charset "utf-8";
/* CSS Document */
.tfz_logobg article{
  filter: drop-shadow(0px 0px 30px #c1ecf3);
  z-index: 2;
  position: relative;
}
.tfz_pgheader p.tfz_logo{
  max-width:200px;
  margin:auto;
  padding-top: 1em;
}

.tfz_pgheader{
  background-image:url("../../img/common/logo_bg.svg");
  background-repeat:no-repeat;
  background-size:100%;
  background-position:center top;
  max-width:1000px;
  margin:auto;
  min-height: 892px;
  text-align: center;
  font-size: clamp(0.875rem, 0.625rem + 0.83vw, 1.25rem)/*1200-480 20-14px*/;
  line-height: 2em;
  color: #000;
  font-weight: bold;
}

.tfz_pgheader h1{
  margin-top: -4em;
  margin-bottom: 1em;
}
.tfz_pgheader>p:first-of-type{margin-bottom: 1em;}

.tfz_pgheader>div{
  background: #FFF;
  padding-bottom: 1em;
}
.tfz_pgheader div.tfz_kv{
  aspect-ratio: 1000/334;
  background-image: url("../img/kv.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 1000px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.tfz_message{
  background: url("../img/bg_message.jpg") top center no-repeat;
}

.tfz_messagesub{
  width:100%;
  max-width: 828px;
  background: #f5f5f5;
  border: 1px solid #e2e2e2;
  margin: auto;
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: left;
  padding: 1em;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-weight: normal;
}

.tfz_contents{
  max-width: 1000px;
  width: 100%;
  padding: 1em;
  margin: 0 auto;
  border-radius: 0 0 20px 20px;
  background: #fff;
  text-align: center;
}

.tfz_mh_entryarea {
  background: url("../img/bg_entrybtn.png") no-repeat center center;
  padding: 1em;
}

.tfz_mh_entryarea a{
  display: block;
  max-width: 318px;
  border-radius: 100vh;
  background: #e30113;
  padding: 16px;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
  color: #fff;
  border: 1px solid #e30113;
  text-decoration: none;
  margin: auto;
  transition: all 0.2s linear;
}

.tfz_mh_entryarea a:hover{
  border: 1px solid #e30113;
  background:#FFF;
  color:#e30113;
}

.tfz_prarea{
  max-width: 940px;
  width: 100%;
  background: #f5f5f5;
  padding:1em;
  margin: auto;
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.tfz_prarea > p{
  font-size:clamp(1rem, 0.931rem + 0.26vw, 1.125rem)/*1200-428 18-16px*/;
  line-height:1.25;
  font-weight:bold;
}
.tfz_prarea_note{
  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  max-width: 940px;
  width: 100%;
  background: #ffd5d7;
  text-align: right;
  margin: auto;
  padding: 0.5em;
}

.tfz_prarea_seminar p{
  font-weight: bold;
  font-size: clamp(1rem, 0.861rem + 0.52vw, 1.25rem)/*1200-428 20-16px*/;
  text-align: center;
  margin-bottom: 1em
}
.tfz_prarea_seminar{
  max-width: 796px;
  width: 100%;
  background: #ffb2b6;
  border: 2px solid #ffb2b6;
  margin: 1em auto 2em;
}

.tfz_prarea_seminar a{
  display: block;
  max-width: 300px;
  width: 80%;
  padding: 1em;
  border-radius: 100vh;
  background: #dc000c;
  border: 1px solid #dc000c;
  text-align: center;
  font-weight: bold;
  font-size: 0.875rem;
  color: #fff;
  margin: 1em auto;
  text-decoration: none;
  transition: all 0.2s linear;
}

.tfz_prarea_seminar a:hover{
  border: 1px solid #dc000c;
  background-color: #fff;
  color:#dc000c;
}

.tfz_prarea_check{
  display: flex;
  justify-content: center;
  align-items: center;
  
}
.tfz_prarea_check a{
  display:flex;
  align-items: center;
  max-width: 380px;
  width: 48%;
  height: 110px;
  border-radius: 10px;
  border: 1px solid #d6d6d6;
  box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.16);
  padding: 1em 0.5em 1em 7em;
  margin: 1em 1%;
  font-weight: bold;
  font-size: clamp(1rem, 0.931rem + 0.26vw, 1.125rem)/*1200-428 18-16px*/;
  text-decoration: none;
  text-align: left;
  color: #000;
  line-height:1.375;
}

.tfz_prarea_check a:hover{
  opacity:0.5;
}

.tfz_prarea_check a:first-of-type{
  background: url("../img/ico_list.png") #fff no-repeat;
  background-position: 0.8em center;
  background-size: 30%;
}
.tfz_prarea_check a:last-of-type{
  background: url("../img/ico_calendar.png") #fff no-repeat;
  background-position: 1em center;
  background-size: 20%;
}

.tfz_prvideowrap{
  width:100%;
  max-width:800px;
  margin:auto;
  padding-top:20px;
}

.tfz_prvideo{
  width: 100%;
  aspect-ratio: 16 / 9;
}

.tfz_prvideo iframe{
  width: 100%;
  height: 100%;
}

.tfz_prbnr{
  width:100%;
  max-width:800px;
  margin:auto;
  padding-top:16px;
}

.tfz_prbnr a:hover{
  opacity:0.5;
}


/*参考*/

.tfz_msgarea{background: #FFF;}

.tfz_about{
  margin: -2em auto 0;
  max-width: 710px;
  width: calc(100% - 32px);
  height: 216px;
  border-radius: 140px 140px 0px 0px;
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, #fdffc9 49.79%, #fff 100%);
  line-height: 1.8;
}
h2{margin-bottom: 1em;}
.tfz_about p:first-of-type{
  font-size: clamp(0.875rem, 0.708rem + 0.56vw, 1.125rem)/*1200-480 14-18px*/;
  color: #000;
  margin-bottom: 1em;
  font-weight: bold;
}

.tfz_about p:last-of-type{
  font-size: clamp(1rem, 0.667rem + 1.11vw, 1.5rem)/*1200-480 16-24px*/;
  font-weight: bold;
}
.tfz_about span,
.tfz_box span{display: block;}
.tfz_txt-red{color: #f66031;}
.tfz_box{
  background: url("../img/bg2.jpg") center top no-repeat;
  background-size: 100%;
  padding: 3em 0.5em 0;
  margin-bottom: 1em;
}
.tfz_box p,
.tfz_box2 p{
  font-size: clamp(0.875rem, 0.708rem + 0.56vw, 1.125rem)/*1200-480 14-18px*/;
  line-height: 1.8;
  font-weight: bold;
}
.tfz_box p:first-of-type{margin-bottom: 1em;}
.tfz_box div{margin-bottom: 1em;}

p.tfz_note{font-size:clamp(0.75rem, 0.667rem + 0.28vw, 0.875rem)/*1200-480 12-14px*/ }

.tfz_box2{
  background: url("../img/bg3.jpg") center top no-repeat;
  padding: 3em 0.5em 0;
  margin-bottom: 3em;
  min-height: 612px;
}

.tfz_entrybtn {  
  background: linear-gradient(180deg, #49c7ef 0%, #49c7ef 0%, #dbfefd 20.28%, #fff 36.87%, #fff 56.27%, #fef29f 82.81%, #f68dc9 100%);
  border-radius: 100vh;
  padding: 3px;
  max-width: calc(344px + 6px);
  box-shadow: 0px 3px 6px #D8D8D8;
  margin: 0 auto 3em;
}
.tfz_entrybtn a {
  display: block;
  width: 100%;
  max-width: 344px;
  min-height: 64px;
  padding: 1.2em 1em 1em;
  text-align: center;
  text-decoration: none;
  font-family: Meiryo;
  font-size: 1.25rem;
  font-weight: bold;
  color: #3b3b3b;
  text-shadow: 0px 2px 0px #fff;
  border-radius: 100vh;
  background: linear-gradient(120deg, #49c7ef 0%, #49c7ef 0%, #dbfefd 20.28%, #fff 36.87%, #fff 56.27%, #fef29f 82.81%, #f68dc9 100%);
}
.tfz_entrybtn:hover {opacity: 0.5;}

.tfz_contactbox{
  background: #f5f5f5;
  padding: 3em 2em;
  margin-bottom: 2em;
  font-size:  clamp(0.875rem, 0.792rem + 0.28vw, 1rem)/*1200-480 14-16px*/;
}
.tfz_contactbox h3{
  font-size: clamp(0.875rem, 0.708rem + 0.56vw, 1.125rem)/*1200-480 14-18px*/;
  font-weight: bold;
  margin-bottom:1em;
  line-height: 1.6;
}
.tfz_contactbox ul{
  font-family: Meiryo;
  text-align: left;
  line-height: 1.8;
}
.tfz_contactbox ul li{
  margin-left: 0.5em;
  text-indent: -1em;
}

.tfz_backbtn a{
  display: block;
  margin: 0 auto 3em;
  max-width: 308px;
  width: calc(100% - 2em);
  padding: 1em 0.5em;
  border-radius: 8px;
  border: 1px solid #bcbcbc;
  background: #fff;
  text-decoration: none;
  color: #000;
}

.tfz_backbtn a:hover{
  background: #F5F5F5;
}

.tfz_gotop{
  background-color:transparent;
}

.tfz_grdbg{
  padding-bottom:0;
}

@media screen and (max-width:1024px){  
    .tfz_pgheader {min-height: 87.5vw;}
  }
@media screen and (max-width:800px){
    .tfz_contents{padding-bottom: 10vw;}
    .tfz_pgheader {min-height: 87vw;}
    .tfz_pgheader p.tfz_logo{max-width:22vw;}
    .tfz_about{height:auto;}
    .tfz_box{
      background-position: center center;
      background-size: 110%;
  }

    .tfz_pgheader>p:first-of-type {margin-bottom: 0.6em;}
    .tfz_box2{
      padding: 1em 0.5em 0;
      margin-bottom: 0;
      min-height: 90vw;
      background-size: 128vw;
    }
  
  .tfz_contactbox {padding: 2em 1.5em;}
  
  .tfz_prarea > p{
    font-size:1rem;
  }
  
  
}

@media screen and (max-width:600px){
  .tfz_prarea_check{display:block;}
  .tfz_message{
    text-align: left;
    padding: 1em;
  }
  .tfz_message>p>br:not(:first-of-type){display: none;}
  .tfz_prarea_check a{
    width:100%;
    padding-left: 36vw;
    max-width: inherit;
  }
  .tfz_prarea_check a:first-of-type{
    background-size: 20%;
    background-position: 2.8em center;
  }
  .tfz_prarea_check a:last-of-type {
    background-position: 3em center;
    background-size: 18%;
  }
  .tfz_prarea > p{
    text-align: left;
    line-height: 1.4;
  }
}

@media screen and (max-width:428px){
  .tfz_prarea_check a{font-size: 0.875rem;}
  .tfz_prarea_check a:first-of-type{
    background-size:30%;
    background-position: 1.4em center;
  }
  .tfz_prarea_check a:last-of-type {
    background-position: 2.1em center;}
}


.accg_imgpopup ul{
  display:flex;
}
.accg_imgpopup ul li{
  display:block;
}


.ri-grid{
	margin: 30px auto 30px;
	position: relative;
	height: auto;
}

.ri-grid ul {
	list-style: none;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

/* Clear floats by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */

.ri-grid ul:before,
.ri-grid ul:after{
	content: '';
    display: table;
}

.ri-grid ul:after {
    clear: both;
}

.ri-grid ul {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
} 

.ri-grid ul li {
	-webkit-perspective: 400px;
	-moz-perspective: 400px;
	-o-perspective: 400px;
	-ms-perspective: 400px;
	perspective: 400px;	
	margin: 0;
	padding: 0;
	float: left;
	position: relative;
	display: block;
	overflow: hidden;
	background: #000;
}

.ri-grid ul li a{
	display: block;
	outline: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-o-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-o-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-background-size: 100% 100%;
	-moz-background-size: 100% 100%;
	background-size: 100% 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #333;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

/* Grid wrapper sizes */
.ri-grid-size-1{
	width: 55%;
}
.ri-grid-size-2{
	width: 100%;
}
.ri-grid-size-3{
	width: 100%;
	margin-top: 0px;
}

/* Shadow style */
.ri-shadow:after,
.ri-shadow:before{
	content: "";
	position: absolute;
	z-index: -2;
	bottom: 15px;
	left: 10px;
	width: 50%;
	height: 20%;
	max-width: 300px;
	max-height: 100px;
	box-shadow: 0 15px 10px rgba(0, 0, 0, 0.7);
	-webkit-transform: rotate(-3deg);
	-moz-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	-o-transform: rotate(-3deg);
	transform: rotate(-3deg);
}
.ri-shadow:after{
	right: 10px;
	left: auto;
	-webkit-transform: rotate(3deg);
	-moz-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	-o-transform: rotate(3deg);
	transform: rotate(3deg);
}

.ri-grid-loading:after,
.ri-grid-loading:before{
	display: none;
}

.ri-loading-image{
	display: none;
}

.ri-grid-loading .ri-loading-image{
	position: relative;
	width: 30px;
	height: 30px;
	left: 50%;
	margin: 100px 0 0 -15px;
	display: block;
}
