/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

    @charset "UTF-8";
    /*CSSDocument*/
    @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
    /* html body base
    ===============================================================*/
    /*
    html ----------------------------------------------------------*/
		html {
		  font-size: 62.5%;
		}
		
		* {
		  margin: 0px;
		  padding: 0px;
		}
		
		body {
		  color: #57524A;
		  margin: 0;
		  padding: 0;
		  background: #fff;
		  font-family: 'Roboto', 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
		  text-align: center;
		  font-size: 1.6rem;
		  line-height: 1.6;
		  -webkit-text-size-adjust: 100%;
		  font-feature-setting: "palt";
		  min-width: 320px;
		  position: relative;
		}
		
		body.open {
		  position: fixed;
		}
		
		a {
		  color: #195c9e;
		  text-decoration: none;
		}
		
		a:visited {
		  color: #195c9e;
		  text-decoration: none;
		}
		
		a:hover {
		  color: #195c9e;
		  text-decoration: underline;
		}
		
		a:active {
		  color: #195c9e;
		  text-decoration: underline;
		}
		
		ul {
		  list-style: none;
		}
		
		a:hover img {
		  filter: alpha(opacity=70) !important;
		  -moz-opacity: 0.70 !important;
		  opacity: 0.70 !important;
		  -webkit-transition: all .2s linear;
		}
		
		img {
		  margin: 0;
		  padding: 0;
		  vertical-align: top;
		  max-width: 100%;
		  height: auto;
		  image-rendering: -webkit-optimize-contrast;
		}
		
		.sp {
		  display: none;
		}
		
		.pc {
		  display: block;
		}
		
		@media screen and (max-width: 749px) {
		  img {
		    max-width: 100%;
		    height: auto;
		  }
		  .sp {
		    display: block;
		  }
		  .pc {
		    display: none;
		  }
		}
		
		
		/*
		html ----------------------------------------------------------*/
		
		
		/* body base
		===============================================================*/
		
		header {
		  display: flex;
		  padding: 1%;
      min-height: 70px;
    }
		
		header h1 {
		  font-size: min(max(20px, calc(1.25rem + ((1vw - 4.8px) * 6.9444))), 40px);
      padding:.2em .5em .2em 15%;
      width:100%;
      text-align:center;
      box-sizing:border-box;
		}

    header .header-wrap{
      width: 1360px;
		  display: flex;
		  justify-content: space-between;
		  align-items: center;
      margin: 0 auto;
      position: relative;
		}

    header .header-logo{
      position: absolute;
      left: 0;
      max-width:15%;
    }

		@media screen and (max-width: 749px) {
		  header {
		    padding: 2%;
		  }

      header .header-wrap{
        width: 100%;
  		  display: flex;
        flex-direction: column;
      }
      
      header .header-logo{
        position: relative;
        left: auto;
        max-height: 40px;
      max-width:100%;
        
      }
     		header h1 {
      padding:.2em;
		} 
      

		}
		
    main{
      max-width: 1000px;
      margin: 0 auto;
      display: flex;
      flex-direction:column;
      padding: 5% 0 8%;
    }

    main .content{
      width: 100%;
      box-sizing:border-box;
      text-align: left;
      line-height: 1.8;
      font-size: min(max(13px, calc(0.8125rem + ((1vw - 4.8px) * 1.0417))), 16px);
    }

    main .content p,.finish p{
      margin-bottom: 1.5em;
    }
		
		main .form-content {
		  width: 100%;
		}
		
		main .content figure {
		  margin: 0 0 4%;
		  padding: 0;
		}
		
		main .content figure.img-center {
		  text-align: center;
		}
		
		main .content figure.img-center.lvl1 {
		  text-align: center;
		  padding: 10%;
		}
		 main .content figure.img-center.lvl0{
       text-align: center;
       padding:5% 0;
       margin: 0;
    }
     
      
		.finish {
		  padding: 10% 0;
		  text-align: left;
		  display: flex;
		  flex-direction: column;
		  justify-content: center;
		  font-size: min(max(13px, calc(0.8125rem + ((1vw - 4.8px) * 1.0417))), 16px);
		}
		
		@media screen and (max-width: 1260px) {
		  main {
		    box-sizing: border-box;
		    width: 100%;
		    padding: 5% 5% 8%;
		  }
		}
		
		@media screen and (max-width: 749px) {
		  header h1 {
		    font-size: max(1em);
  		}    
      main {
		    flex-direction: column;
		  }
		  main .content {
		    width: 100%;
		  }
		  main .form-content {
		    width: 100%;
		  }
		}
		
		form {
		  background: #F0F0F0;
		  border-radius: 10px;
		  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
		  padding: min(max(20px, calc(1.25rem + ((1vw - 4.8px) * 6.9444))), 40px);
		  text-align: left;
		}
		
		form input[type="text"], form input[type="tel"], form input[type="email"], form textarea, form select {
		  outline: none;
		  -webkit-appearance: none;
		  -moz-appearance: none;
		  appearance: none;
		  padding: .5em .8em;
		  box-sizing: border-box;
		  width: 100% !important;
		  background: #fff;
		  border: none;
		  border-radius: 5px;
		  margin: 0;
		  height: min(max(30px, calc(1.875rem + ((1vw - 4.8px) * 6.9444))), 50px);
		  font-size: min(max(12px, calc(0.75rem + ((1vw - 4.8px) * 1.3889))), 16px);
		  font-family: 'Roboto', 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
    }
		
		form input[type="text"]::placeholder, form input[type="tel"]::placeholder, form input[type="email"]::placeholder {
		  color: #C1C1C1;
		}
		
		.input {
		  margin: 0 !important;
		}
		
		form select {
		  padding: 0 .8em;
		  position: relative;
		  width: 100% !important;
		  background: #fff url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20%3F%3E%3Csvg%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%20width%3D%2248%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M14.83%2016.42l9.17%209.17%209.17-9.17%202.83%202.83-12%2012-12-12z%22%2F%3E%3Cpath%20d%3D%22M0-.75h48v48h-48z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E') no-repeat 98% 50% / 18px;
		}
		
		form textarea {
		  width: 100% !important;
		  height: min(max(90px, calc(5.625rem + ((1vw - 4.8px) * 17.3611))), 140px);
		}
		
		fieldset .hs-field-desc {
		  font-size: 10px;
		  position: absolute;
		  bottom: 5%;
		}
		
		.hs-richtext {
		  font-size: min(max(14px, calc(0.875rem + ((1vw - 4.8px) * 2.0833))), 14px);
		}
		
		.input+.no-list {
		  margin-top: 1em;
		}
		
		@media screen and (max-width: 749px) {
		  fieldset .hs-field-desc {
		    bottom: -1px;
		  }
		}
		
		.hs-form-required {
		  color: #960500;
		}
		
		form input[type="submit"] {
		  outline: none;
		  -webkit-appearance: none;
		  -moz-appearance: none;
		  appearance: none;
		  display: inline-block;
		  width: 150px;
		  height: 50px;
		  background: #f08600;
		  border: none;
		  color: #fff;
		  border-radius: 50px;
		  font-size: 16px;
		  font-family: 'Roboto', 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
		  cursor: pointer;
		  transition: all ease .4s;
		}
		
		form input[type="submit"]:hover {
		  opacity: .6;
		  transition: all ease .4s;
		}
		
		input[type="checkbox"], input[type="radio"] {
		  margin: 0;
		  padding: 0;
		  background: none;
		  border: none;
		  border-radius: 0;
		  outline: none;
		  -webkit-appearance: none;
		  -moz-appearance: none;
		  appearance: none;
		}
		
		input[type="checkbox"], input[type="radio"] {
		  cursor: pointer;
		  padding-left: 30px;
		  vertical-align: middle;
		  position: relative;
		  width: 20px;
		  height: 20px;
		}
		
		input[type="checkbox"]::before, input[type="checkbox"]::after, input[type="radio"]::before, input[type="radio"]::after {
		  content: "";
		  display: block;
		  position: absolute;
		}
		
		input[type="checkbox"]::before, input[type="radio"]::before {
		  background-color: #fff;
		  border-radius: 0%;
		  border: none;
		  width: 20px;
		  height: 20px;
		  transform: translateY(-50%);
		  top: 50%;
		  left: 5px;
		}
		
		.hs-form-booleancheckbox input[type="checkbox"]::before {
		  background-color: #fff;
		  border-radius: 0%;
		  border: none;
		  width: 30px;
		  height: 30px;
		  transform: translateY(-50%);
		  top: 50%;
		  left: 5px;
		}
		
		input[type="radio"]::before {
		  border-radius: 50px;
		}
		
		input[type="checkbox"]::after, input[type="radio"]::after {
		  border-bottom: 3px solid #666464;
		  border-left: 3px solid #666464;
		  opacity: 0;
		  height: 6px;
		  width: 11px;
		  transform: rotate(-45deg) translateY(50%);
		  top: 0;
		  left: 5px;
		}
		
		.hs-form-booleancheckbox input[type="checkbox"]::after {
		  border-bottom: 5px solid #666464;
		  border-left: 5px solid #666464;
		  opacity: 0;
		  height: 10px;
		  width: 20px;
		  transform: rotate(-45deg) translateY(50%);
		  top: -7px;
		  left: 3px;
		}
		
		input[type="checkbox"]:checked::after, input[type="radio"]:checked::after {
		  opacity: 1;
		}
		
		input[type="checkbox"]+span, input[type="radio"]+span {
		  display: inline-block;
		  padding-left: .5em;
		}
		
		.hs-form-booleancheckbox, .hs-form-booleancheckbox-display, .hs-form-checkbox-display, .hs-form-radio-display {
		  display: flex;
		  align-items: center;
		}
		
		.hs-form-checkbox-display, .hs-form-radio-display {
		  margin-bottom: .5em;
		}
		
		.hs-form-booleancheckbox {
		  padding-top: 1.5em;
		}

    .legal-consent-container > .hs-richtext:first-child {
      padding: 20px;
    }


    .legal-consent-container > .hs-richtext {
      max-height: 200px;
      padding: 10px;
      overflow: auto;
      background: #FFF;      
    }

    .legal-consent-container:last-of-type {
      margin-bottom: 30px;
    }

		.legal-consent-container .hs-form-booleancheckbox-display>span {
		  margin-left: 10px!important;
		}
		
		.hs-error-msg {
		  font-size: min(max(9px, calc(0.5625rem + ((1vw - 4.8px) * 1.0417))), 12px);
		  color: #ff0000;
		}
		
		div.hs-form-field {
		  padding: 0 0 1.5em;
		  position: relative;
		}

		div.hs-form-field {
		  padding: 0 0 1.5em;
		  position: relative;
		}

		fieldset.form-columns-2 {
		  display: flex;
		  justify-content: space-between;
		}
		
		fieldset.form-columns-2 div.hs-form-field {
		  width: 48% !important;
		}


		fieldset label {
		  color: #000;
		  font-weight: 400;
		  display: block;
		  margin-bottom: .2em;
		  font-size: 2vmin;
		}
		
		.hs_submit {
		  text-align: center;
		  padding-top: 5%;
		}
		
		footer {
		  background: ;
		  padding: 1%;
      height: 50px;
		  line-height: 20px;
		  color: #fff;
		  font-size: min(max(9px, calc(0.5625rem + ((1vw - 4.8px) * 1.0417))), 12px);
		}
      
    small {
      font-size: 12px;
    }
		
    .deadline_text{
      margin-top: 50px;
    }
  
		@media screen and (max-width: 749px) {
		  footer {
		    padding: 2%;
		  }
		}
      
      fieldset{
      max-width:100% !important;
      }
      
    /* new property */  
      
      .bgText{
      background: #F4F4F4;
      padding: 20px;
      margin-bottom: 30px;
     }
     .bgText p{
      margin: 0 !important;
     }

     .content h3{
      border-left: 10px solid #333333;
      padding-left: .5em;
      margin-bottom: .5em;
      font-size: 22px;
     }     
     
     .btnNormal {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 30px;
     }
     
     .btnNormal a{
      background: #FF9D00;
      width: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 20px;
      font-weight: bold;
      border-radius: 50px;
      padding: 12px;
      transition: all ease .4s;
     }     
  
      .btnNormal a:hover{
       text-decoration: none;
      color: #fff;
       opacity: .7;
     }    
     
     .normalTb{
      margin-bottom: 30px;
      width: 100%;
     }

     .normalTb th{
      width: 250px;
      background: #333333;
      color: #fff;
      border-bottom: 3px solid #fff;
      text-align: center;
      padding: 1em;
      box-sizing: border-box;
     }
     
     .normalTb td{
      width: calc(100% - 250px);
      background: #fff;
      border-bottom: 3px solid #fff;
      border-top: 1px solid #333333;
      text-align: left;
      padding: 1em;
      box-sizing: border-box;
     }

     .normalTb td iframe{
      width: 100%;
      min-height: 300px;
     }

     dl.programList{
     display: flex;
     flex-wrap: wrap;
      padding-top: 10px;
      margin-bottom: 50px;
     }
     
     dl.programList dt{
      width: 200px;
      font-size: 26px;
      font-weight: bold;
      position: relative;
      padding-left: 3em;
      box-sizing: border-box;
      margin-bottom: 25px;
     }
     dl.programList dt:before{
      content: "";
      width: 1em;
      height: 1em;
      border-radius: 50px;
      background: #333;
      display: flex;
      position: absolute;
      left: 0;
      top: .3em;
     }
     
     dl.programList dt:after{
      content: "";
      position: absolute;
      height: 2px;
      width: 1.5em;
      left: .9em;
      background: #333;
      top: .7em;
      
     } 
     
     dl.programList dd{
      width: calc(100% - 200px);
      margin-bottom: 25px;
     }
     
     dl.personList{
     display: flex;
     flex-wrap: wrap;
      padding-top: 10px;
      align-items: center;
     }
      
     dl.personList dt{
      width: 100px;
      margin-right: 30px;
      margin-bottom: 50px;
     }
     
    dl.personList dd{
      width: calc(100% - 130px);
      margin-bottom: 50px;
     }
     dl.personList dd strong{
      font-weight: bold;
      font-size: 22px;
      display: block;
      line-height: 1.2;
     }
     
     dl.personList dd p{
      margin-bottom: 0 !important;
      padding-top: .5em;
      line-height: 1.5;
     } 
     
     dl.personList dt figure {
      overflow: hidden;
      width: 100px;
      height: 100px;
      position: relative;
     }

     dl.personList dt figure.circle_cut{
      border-radius: 100px;
      object-fit: cover;
     }

     dl.personList dt figure.circle_cut img{
      min-width: 100px;
      min-height: 100px;
     }


     dl.personList dt figure img{
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto;
          width: auto;
          height: 100%;
       object-fit: cover;
     }  
     
     dl.personList dd + dd{
      width: 100%;
     }
      
@media screen and (max-width: 749px) {
  
  .btnNormal a{
      width: 80%;
     }
  
     .normalTb{
      margin-bottom: 30px;
      width: 100%;
      display: table;
      table-layout: fixed;
     }

     .normalTb th{
      width: 40%;
      height: auto;
      background: #333333;
      color: #fff;
      border-bottom: 3px solid #fff;
      text-align: center;
      padding: 1em;
      box-sizing: border-box;
     }
     
     .normalTb td{
      width: 60%;
      height: auto;
      background: #fff;
      border-bottom: 3px solid #fff;
      border-top: 1px solid #333333;
      text-align: left;
      padding: 1em;
      box-sizing: border-box;
     }
     
     .normalTb td iframe{
      width: 100% !important;
      min-width: auto !important;
      min-height: 200px;
     }

     dl.programList{
     display: flex;
     flex-wrap: wrap;
      padding-top: 10px;
      margin-bottom: 50px;
     }
     
     dl.programList dt{
      width: 100px;
      font-size: 16px;
      padding-left: 2em;
     }

     dl.programList dt:after{
      content: "";
      position: absolute;
      height: 2px;
      width: .8em;
      left: .9em;
      background: #333;
      top: .7em;
      
     } 
     
     dl.programList dd{
      width: calc(100% - 100px);
     }
     

      
     dl.personList dt{
      width: 80px;
      margin-right: 20px;
      margin-bottom: 40px;
     }
     
     dl.personList dd{
      width: calc(100% - 100px);
     }

     dl.personList dd strong{
      font-size: 16px;
     }
     
     dl.personList dt figure{
      width: 80px;
      height: 80px;
     } 

//

     dl.personList dt figure.circle_cut{
      border-radius: 80px;
      object-fit: cover;
     }

     dl.personList dt figure.circle_cut img{
      min-width: 80px;
      min-height: 80px;
     }


     dl.personList dt figure img{
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto;
          width: auto;
          height: 100%;
       object-fit: cover;
     }  

//
  

     fieldset.form-columns-2:has(.hs-field-desc[style="display: block;"]) {
  		 margin-bottom: 30px !important;
	   }

     fieldset label {
		   font-size: .7em;
		 }

     .legal-consent-container > .hs-richtext:first-child::-webkit-scrollbar {
       width: 10px;
     }

     .legal-consent-container > .hs-richtext:first-child::-webkit-scrollbar-thumb {
       background: #636363;
       border-radius: 5px;
     }

     .legal-consent-container > .hs-richtext:first-child::-webkit-scrollbar-track-piece:start,
     .legal-consent-container > .hs-richtext:first-child::-webkit-scrollbar-track-piece:end {
       background: #FCFCFC;
     }
      .hs-form-field{
      margin-top: 5px;
      line-height: 12px;
      }
  
 /*     .form-columns-1 .hs-field-desc {
	    bottom: 0px;
      }
*/
}
      
      
/* googlemap plus  */

.map-wrap{
  margin-bottom:50px;
}

.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%; /* 比率を4:3に固定 */
  margin-top:1.5em;
}
 
/* Google Mapのiframe */
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.map-img{
  margin-top:1.5em;
}